mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 12:22:33 -05:00
feat: re-profile 20 emulators, add trident and vice_x128
This commit is contained in:
@@ -1,9 +1,10 @@
|
|||||||
emulator: Amiberry
|
emulator: Amiberry
|
||||||
type: standalone + libretro
|
type: standalone + libretro
|
||||||
|
core_classification: official_port
|
||||||
source: "https://github.com/BlitterStudio/amiberry"
|
source: "https://github.com/BlitterStudio/amiberry"
|
||||||
upstream: "https://github.com/tonioni/WinUAE"
|
upstream: "https://github.com/tonioni/WinUAE"
|
||||||
profiled_date: "2026-03-18"
|
profiled_date: "2026-03-25"
|
||||||
core_version: "v6.3.4"
|
core_version: "v8.1.1"
|
||||||
display_name: "Commodore - Amiga (Amiberry)"
|
display_name: "Commodore - Amiga (Amiberry)"
|
||||||
cores: [amiberry]
|
cores: [amiberry]
|
||||||
systems:
|
systems:
|
||||||
@@ -12,111 +13,179 @@ systems:
|
|||||||
- commodore-cdtv
|
- commodore-cdtv
|
||||||
|
|
||||||
notes: |
|
notes: |
|
||||||
Amiberry is an Amiga emulator based on WinUAE, available as both
|
Amiberry is an Amiga emulator based on WinUAE, available as both standalone
|
||||||
standalone and libretro core. No built-in kickstart fallback — a real
|
and libretro core. No built-in kickstart — requires a real Kickstart ROM or
|
||||||
Kickstart ROM is required.
|
external AROS replacement files (aros-ext.bin + aros-rom.bin).
|
||||||
|
|
||||||
Core option "amiberry_kickstart" selects the ROM file:
|
Core option "amiberry_kickstart" overrides ROM selection: auto, kick.rom,
|
||||||
auto, kick.rom, kick13.rom, kick20.rom, kick31.rom, kick205.rom,
|
kick13.rom, kick20.rom, kick31.rom, kick205.rom, kick40068.A1200,
|
||||||
kick40068.A1200, kick40068.A4000, cd32.rom, cdtv.rom.
|
kick40068.A4000, cd32.rom, cdtv.rom. "auto" selects per model.
|
||||||
"auto" selects based on the model option.
|
ref: libretro/libretro.cpp:558,621-640
|
||||||
ref: BlitterStudio/amiberry/libretro/libretro.cpp:558,621-634
|
|
||||||
|
|
||||||
Standalone mode ships with data/ directory (UI icons, virtual keyboards,
|
Default model is A500 (KS 1.3). ROM search directories:
|
||||||
floppy sounds, AmigaTopaz.ttf font, gamecontrollerdb.txt). These are
|
save_dir/Kickstarts, system_dir/Kickstarts, system_dir/save-data/Kickstarts,
|
||||||
compiled into the standalone binary but the libretro core may look for
|
then system_dir as fallback.
|
||||||
them in the system directory.
|
ref: libretro/libretro.cpp:2740-2756
|
||||||
|
|
||||||
|
ROM identification uses SHA1 against WinUAE database (340+ entries) but does
|
||||||
|
not reject unknown ROMs. Cloanto encrypted ROMs supported with rom.key.
|
||||||
|
|
||||||
|
Munt MT-32/CM-32L emulation compiled in (WITH_MIDIEMU). ROMs loaded from
|
||||||
|
mt32-roms/ subdirectory of the ROM path.
|
||||||
|
ref: src/midiemu.cpp:120-157
|
||||||
|
|
||||||
|
WHDLoad autoboot requires whdboot/ directory in system_dir with boot-data.zip,
|
||||||
|
WHDLoad, AmiQuit, JST, whdload_db.xml. These ship with the standalone build
|
||||||
|
but must be obtained separately for the libretro core.
|
||||||
|
ref: libretro/libretro.cpp:1151-1184
|
||||||
|
|
||||||
files:
|
files:
|
||||||
# --- Required Kickstart ROMs (from .info) ---
|
# --- Kickstart ROMs (searched by find_kickstart_in_system_dir) ---
|
||||||
# ref: BlitterStudio/amiberry/libretro/libretro.cpp:558
|
# ref: libretro/libretro.cpp:1502-1565
|
||||||
# ref: WinUAE rommgr.cpp for ROM identification
|
|
||||||
|
|
||||||
- name: kick34005.A500
|
- name: kick13.rom
|
||||||
system: commodore-amiga
|
system: commodore-amiga
|
||||||
required: true
|
required: true
|
||||||
size: 262144
|
size: 262144
|
||||||
crc32: c4f0f55f
|
note: "A500 Kickstart v1.3 rev 34.005, default for A500 model"
|
||||||
note: "A500 Kickstart v1.3 rev 34.5"
|
source_ref: "libretro/libretro.cpp:1516 candidates_a500"
|
||||||
source_ref: "libretro-super/dist/info/amiberry_libretro.info firmware0"
|
|
||||||
|
|
||||||
- name: kick37350.A600
|
- name: kick12.rom
|
||||||
system: commodore-amiga
|
|
||||||
required: true
|
|
||||||
size: 524288
|
|
||||||
crc32: 43b0df7b
|
|
||||||
note: "A600 Kickstart v2.05 rev 37.350"
|
|
||||||
source_ref: "amiberry_libretro.info firmware1"
|
|
||||||
|
|
||||||
- name: kick40068.A1200
|
|
||||||
system: commodore-amiga
|
|
||||||
required: true
|
|
||||||
size: 524288
|
|
||||||
crc32: 1483a091
|
|
||||||
note: "A1200 Kickstart v3.1 rev 40.68"
|
|
||||||
source_ref: "amiberry_libretro.info firmware2"
|
|
||||||
|
|
||||||
# --- Optional Kickstart ROMs ---
|
|
||||||
|
|
||||||
- name: kick33180.A500
|
|
||||||
system: commodore-amiga
|
system: commodore-amiga
|
||||||
required: false
|
required: false
|
||||||
size: 262144
|
size: 262144
|
||||||
crc32: a6ce1636
|
note: "A500 Kickstart v1.2 rev 33.180, for A500OG model"
|
||||||
note: "A500 Kickstart v1.2 rev 33.180"
|
source_ref: "libretro/libretro.cpp:1515 candidates_a500og"
|
||||||
source_ref: "amiberry_libretro.info firmware3"
|
|
||||||
|
- name: kick20.rom
|
||||||
|
system: commodore-amiga
|
||||||
|
required: false
|
||||||
|
size: 524288
|
||||||
|
aliases: [kick204.rom]
|
||||||
|
note: "A500+ Kickstart v2.04 rev 37.175"
|
||||||
|
source_ref: "libretro/libretro.cpp:1517 candidates_a500p"
|
||||||
|
|
||||||
|
- name: kick205.rom
|
||||||
|
system: commodore-amiga
|
||||||
|
required: false
|
||||||
|
size: 524288
|
||||||
|
note: "A600 Kickstart v2.05 rev 37.350, also used for WHDLoad"
|
||||||
|
source_ref: "libretro/libretro.cpp:1518 candidates_a600, 1479 pick_whdload_kickstart"
|
||||||
|
|
||||||
|
- name: kick31.rom
|
||||||
|
system: commodore-amiga
|
||||||
|
required: false
|
||||||
|
size: 524288
|
||||||
|
note: "Kickstart v3.1 (generic), first candidate for A1200 and A4000"
|
||||||
|
source_ref: "libretro/libretro.cpp:1519-1520 candidates_a1200/a4000"
|
||||||
|
|
||||||
|
- name: kick40068.A1200
|
||||||
|
system: commodore-amiga
|
||||||
|
required: false
|
||||||
|
size: 524288
|
||||||
|
note: "A1200 Kickstart v3.1 rev 40.68, fallback after kick31.rom"
|
||||||
|
source_ref: "libretro/libretro.cpp:1519 candidates_a1200"
|
||||||
|
|
||||||
- name: kick40068.A4000
|
- name: kick40068.A4000
|
||||||
system: commodore-amiga
|
system: commodore-amiga
|
||||||
required: false
|
required: false
|
||||||
size: 524288
|
size: 524288
|
||||||
crc32: d6bae334
|
note: "A4000 Kickstart v3.1 rev 40.68, fallback after kick31.rom"
|
||||||
note: "A4000 Kickstart v3.1 rev 40.68"
|
source_ref: "libretro/libretro.cpp:1520 candidates_a4000"
|
||||||
source_ref: "amiberry_libretro.info firmware4"
|
|
||||||
|
|
||||||
- name: kick40060.CD32
|
- name: kick.rom
|
||||||
system: commodore-cd32
|
|
||||||
required: false
|
|
||||||
size: 524288
|
|
||||||
crc32: 1e62d4a5
|
|
||||||
note: "CD32 Kickstart v3.1 rev 40.60"
|
|
||||||
source_ref: "amiberry_libretro.info firmware5"
|
|
||||||
|
|
||||||
- name: kick40060.CD32.ext
|
|
||||||
system: commodore-cd32
|
|
||||||
required: false
|
|
||||||
size: 524288
|
|
||||||
crc32: 87746be2
|
|
||||||
note: "CD32 Extended ROM rev 40.60"
|
|
||||||
source_ref: "amiberry_libretro.info firmware6"
|
|
||||||
|
|
||||||
# --- Alternative names accepted by core option ---
|
|
||||||
# these are common user-facing names, same ROMs as above
|
|
||||||
|
|
||||||
- name: kick13.rom
|
|
||||||
system: commodore-amiga
|
system: commodore-amiga
|
||||||
required: false
|
required: false
|
||||||
note: "alias for kick34005.A500 (v1.3)"
|
note: "Generic name, any Kickstart ROM. Last resort fallback for all models."
|
||||||
source_ref: "libretro.cpp:630"
|
source_ref: "libretro/libretro.cpp:1510-1521 last in all candidate lists"
|
||||||
|
|
||||||
- name: kick34005.CDTV
|
# --- CD32 ROMs ---
|
||||||
|
|
||||||
|
- name: cd32.rom
|
||||||
|
system: commodore-cd32
|
||||||
|
required: false
|
||||||
|
size: 524288
|
||||||
|
aliases: [amiga-os-310-cd32.rom, kick40060.CD32]
|
||||||
|
note: "CD32 Kickstart v3.1 rev 40.60"
|
||||||
|
source_ref: "libretro/libretro.cpp:1521 candidates_cd32"
|
||||||
|
|
||||||
|
- name: cd32ext.rom
|
||||||
|
system: commodore-cd32
|
||||||
|
required: false
|
||||||
|
size: 524288
|
||||||
|
aliases: [amiga-ext-310-cd32.rom, "CD32 Extended.ROM"]
|
||||||
|
note: "CD32 extended ROM rev 40.60. Not needed if using a combined 1MB ROM."
|
||||||
|
source_ref: "libretro/libretro.cpp:1579 candidates_cd32 (find_ext_rom_in_system_dir)"
|
||||||
|
|
||||||
|
# --- CDTV ROMs ---
|
||||||
|
|
||||||
|
- name: cdtv.rom
|
||||||
system: commodore-cdtv
|
system: commodore-cdtv
|
||||||
required: false
|
required: false
|
||||||
note: "CDTV extended ROM"
|
aliases: [kick34005.CDTV]
|
||||||
source_ref: "libretro.cpp:558 cdtv.rom option"
|
note: "CDTV extended ROM v1.00, used as kickstart candidate"
|
||||||
|
source_ref: "libretro/libretro.cpp:1522 candidates_cdtv"
|
||||||
|
|
||||||
# --- Standalone data files ---
|
- name: cdtvext.rom
|
||||||
|
system: commodore-cdtv
|
||||||
|
required: false
|
||||||
|
aliases: ["CDTV Extended.ROM"]
|
||||||
|
note: "CDTV extended ROM file"
|
||||||
|
source_ref: "libretro/libretro.cpp:1581 candidates_cdtv (find_ext_rom_in_system_dir)"
|
||||||
|
|
||||||
- name: AmigaTopaz.ttf
|
# --- AROS replacement ROMs ---
|
||||||
|
# ref: src/memory.cpp:1871-1930 load_kickstart_replacement
|
||||||
|
|
||||||
|
- name: aros-ext.bin
|
||||||
system: commodore-amiga
|
system: commodore-amiga
|
||||||
required: false
|
required: false
|
||||||
mode: standalone
|
hle_fallback: true
|
||||||
note: "Amiga Topaz font for UI rendering"
|
note: "AROS extended ROM replacement. Used when no Kickstart ROM is found."
|
||||||
source_ref: "BlitterStudio/amiberry/data/AmigaTopaz.ttf"
|
source_ref: "src/memory.cpp:1877 load_kickstart_replacement"
|
||||||
|
|
||||||
- name: gamecontrollerdb.txt
|
- name: aros-rom.bin
|
||||||
system: commodore-amiga
|
system: commodore-amiga
|
||||||
required: false
|
required: false
|
||||||
mode: standalone
|
hle_fallback: true
|
||||||
note: "SDL gamepad mapping database"
|
note: "AROS main ROM replacement. Used with aros-ext.bin as Kickstart fallback."
|
||||||
source_ref: "BlitterStudio/amiberry/controllers/gamecontrollerdb.txt"
|
source_ref: "src/memory.cpp:1910 load_kickstart_replacement"
|
||||||
|
|
||||||
|
# --- Cloanto key ---
|
||||||
|
|
||||||
|
- name: rom.key
|
||||||
|
system: commodore-amiga
|
||||||
|
required: false
|
||||||
|
note: "Decryption key for Cloanto Amiga Forever encrypted ROMs"
|
||||||
|
source_ref: "src/rommgr.cpp:1738 AMIROMTYPE1 decryption"
|
||||||
|
|
||||||
|
# --- Munt MT-32/CM-32L MIDI ROMs ---
|
||||||
|
# Located in mt32-roms/ subdirectory of the ROM path
|
||||||
|
# ref: src/midiemu.cpp:120-157 midi_emu_add_roms
|
||||||
|
|
||||||
|
- name: mt32-roms/mt32_control.rom
|
||||||
|
system: commodore-amiga
|
||||||
|
required: false
|
||||||
|
aliases: [mt32-roms/ctrl_mt32.rom, mt32-roms/MT32_CONTROL.rom]
|
||||||
|
note: "Roland MT-32 control ROM for Munt MIDI emulation"
|
||||||
|
source_ref: "src/midiemu.cpp:38-61 mt32ctl candidates, 151-156 load loop"
|
||||||
|
|
||||||
|
- name: mt32-roms/pcm_mt32.rom
|
||||||
|
system: commodore-amiga
|
||||||
|
required: false
|
||||||
|
aliases: [mt32-roms/mt32_pcm.rom, mt32-roms/MT32_PCM.rom, mt32-roms/PCM_MT32.rom]
|
||||||
|
note: "Roland MT-32 PCM ROM for Munt MIDI emulation"
|
||||||
|
source_ref: "src/midiemu.cpp:133-140 MT-32 PCM loading"
|
||||||
|
|
||||||
|
- name: mt32-roms/cm32l_control.rom
|
||||||
|
system: commodore-amiga
|
||||||
|
required: false
|
||||||
|
aliases: [mt32-roms/ctrl_cm32l.rom, mt32-roms/CM32L_CONTROL.rom]
|
||||||
|
note: "Roland CM-32L control ROM for Munt MIDI emulation"
|
||||||
|
source_ref: "src/midiemu.cpp:25-37 cm32lctl candidates, 151-156 load loop"
|
||||||
|
|
||||||
|
- name: mt32-roms/pcm_cm32l.rom
|
||||||
|
system: commodore-amiga
|
||||||
|
required: false
|
||||||
|
aliases: [mt32-roms/cm32l_pcm.rom, mt32-roms/PCM_CM32L.rom, mt32-roms/CM32L_PCM.rom]
|
||||||
|
note: "Roland CM-32L PCM ROM for Munt MIDI emulation"
|
||||||
|
source_ref: "src/midiemu.cpp:142-149 CM-32L PCM loading"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ type: libretro
|
|||||||
core_classification: frozen_snapshot
|
core_classification: frozen_snapshot
|
||||||
source: "https://github.com/libretro/bsnes2014"
|
source: "https://github.com/libretro/bsnes2014"
|
||||||
upstream: "https://github.com/bsnes-emu/bsnes"
|
upstream: "https://github.com/bsnes-emu/bsnes"
|
||||||
profiled_date: "2026-03-23"
|
profiled_date: "2026-03-25"
|
||||||
core_version: "v094"
|
core_version: "v094"
|
||||||
display_name: "Nintendo - SNES / SFC (bsnes 2014)"
|
display_name: "Nintendo - SNES / SFC (bsnes 2014)"
|
||||||
cores: [bsnes2014_accuracy, bsnes2014_balanced, bsnes2014_performance]
|
cores: [bsnes2014_accuracy, bsnes2014_balanced, bsnes2014_performance]
|
||||||
@@ -15,30 +15,23 @@ systems:
|
|||||||
|
|
||||||
notes: |
|
notes: |
|
||||||
Frozen at bsnes v094. Three build profiles: accuracy (dot-based PPU),
|
Frozen at bsnes v094. Three build profiles: accuracy (dot-based PPU),
|
||||||
balanced, performance (scanline PPU). All 3 share the same 18 firmware
|
balanced, performance (scanline PPU). All 3 share the same 16 firmware
|
||||||
files. Profiles only differ in PPU (sfc/profile-*.hpp), not coprocessors.
|
files. Profiles only differ in PPU (sfc/profile-*.hpp), not coprocessors.
|
||||||
Performance .info is wrong (firmware_count=17, missing cx4.data.rom).
|
|
||||||
SPC700 IPL ROM (64 bytes) embedded in target-libretro/libretro.cpp:31.
|
SPC700 IPL ROM (64 bytes) embedded in target-libretro/libretro.cpp:31.
|
||||||
No HLE fallback for any coprocessor in v094.
|
No HLE fallback for any coprocessor in v094.
|
||||||
Firmware loaded from system_dir via file::exists() + mmapstream.
|
Firmware loaded from system_dir via file::exists() + mmapstream.
|
||||||
DSP1 (non-b) names used via embedded database for specific SHA256-matched
|
No hash or size validation on any firmware file.
|
||||||
games; DSP1B names used via heuristic fallback for all DSP1/DSP1B games.
|
Libretro build uses heuristics only (ananke/heuristics/), not the SHA256
|
||||||
|
database (ananke/database/). All DSP1 games use DSP1B filenames via
|
||||||
|
heuristic fallback. The database dsp1.program.rom / dsp1.data.rom names
|
||||||
|
are only in the standalone build (target-ethos via ananke).
|
||||||
|
.info accuracy/balanced: firmware_count=18 (overcounts by 2, includes
|
||||||
|
phantom dsp1.* from unused database). Performance .info: firmware_count=17
|
||||||
|
(also missing cx4.data.rom).
|
||||||
Upstream v094 source is contained within the libretro repo (sfc/, ananke/).
|
Upstream v094 source is contained within the libretro repo (sfc/, ananke/).
|
||||||
bsnes-emu/bsnes is the modern rewrite (v115+).
|
bsnes-emu/bsnes is the modern rewrite (v115+).
|
||||||
|
|
||||||
files:
|
files:
|
||||||
- name: dsp1.program.rom
|
|
||||||
system: nintendo-snes
|
|
||||||
required: false
|
|
||||||
size: 6144
|
|
||||||
source_ref: "ananke/database/super-famicom.hpp:5658"
|
|
||||||
|
|
||||||
- name: dsp1.data.rom
|
|
||||||
system: nintendo-snes
|
|
||||||
required: false
|
|
||||||
size: 2048
|
|
||||||
source_ref: "ananke/database/super-famicom.hpp:5659"
|
|
||||||
|
|
||||||
- name: dsp1b.program.rom
|
- name: dsp1b.program.rom
|
||||||
system: nintendo-snes
|
system: nintendo-snes
|
||||||
required: false
|
required: false
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ type: libretro
|
|||||||
core_classification: enhanced_fork
|
core_classification: enhanced_fork
|
||||||
source: "https://github.com/libretro/bsnes-mercury"
|
source: "https://github.com/libretro/bsnes-mercury"
|
||||||
upstream: "https://byuu.org/higan"
|
upstream: "https://byuu.org/higan"
|
||||||
profiled_date: "2026-03-23"
|
profiled_date: "2026-03-25"
|
||||||
core_version: "v094 (Mercury)"
|
core_version: "v094 (Mercury)"
|
||||||
display_name: "Nintendo - SNES / SFC (bsnes-mercury)"
|
display_name: "Nintendo - SNES / SFC (bsnes-mercury)"
|
||||||
cores: [bsnes_mercury_accuracy, bsnes_mercury_balanced, bsnes_mercury_performance]
|
cores: [bsnes_mercury_accuracy, bsnes_mercury_balanced, bsnes_mercury_performance]
|
||||||
@@ -22,7 +22,7 @@ notes: |
|
|||||||
|
|
||||||
Firmware loaded from system_dir via file::exists + mmapstream.
|
Firmware loaded from system_dir via file::exists + mmapstream.
|
||||||
No hash or size validation on any firmware file.
|
No hash or size validation on any firmware file.
|
||||||
ref: target-libretro/libretro.cpp:241-263
|
ref: target-libretro/libretro.cpp:242-264
|
||||||
|
|
||||||
firmware_appended: firmware can be appended to end of ROM file.
|
firmware_appended: firmware can be appended to end of ROM file.
|
||||||
ref: ananke/heuristics/super-famicom.hpp:83
|
ref: ananke/heuristics/super-famicom.hpp:83
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ emulator: "Game & Watch"
|
|||||||
type: libretro
|
type: libretro
|
||||||
core_classification: pure_libretro
|
core_classification: pure_libretro
|
||||||
source: "https://github.com/libretro/gw-libretro"
|
source: "https://github.com/libretro/gw-libretro"
|
||||||
profiled_date: "2026-03-21"
|
upstream: "http://www.madrigaldesign.it/sim/"
|
||||||
|
profiled_date: "2026-03-25"
|
||||||
core_version: "Git"
|
core_version: "Git"
|
||||||
display_name: "Handheld Electronic (GW)"
|
display_name: "Handheld Electronic (GW)"
|
||||||
cores:
|
cores:
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ type: libretro
|
|||||||
core_classification: official_port
|
core_classification: official_port
|
||||||
source: "https://github.com/timoinutilis/lowres-nx"
|
source: "https://github.com/timoinutilis/lowres-nx"
|
||||||
upstream: "https://github.com/timoinutilis/lowres-nx"
|
upstream: "https://github.com/timoinutilis/lowres-nx"
|
||||||
profiled_date: "2026-03-22"
|
profiled_date: "2026-03-25"
|
||||||
core_version: "v1.2"
|
core_version: "v1.2"
|
||||||
display_name: "LowRes NX"
|
display_name: "LowRes NX"
|
||||||
cores:
|
cores:
|
||||||
@@ -18,9 +18,10 @@ notes: |
|
|||||||
the same repository.
|
the same repository.
|
||||||
|
|
||||||
retro_load_game() copies the .nx source code into memory
|
retro_load_game() copies the .nx source code into memory
|
||||||
(libretro_main.c:490) and compiles it with the built-in interpreter.
|
(libretro_main.c:490-493) and compiles it with the built-in interpreter.
|
||||||
The boot intro is a string constant embedded in boot_intro.c. The core
|
The boot intro is a string constant embedded in boot_intro.c:26. Default
|
||||||
never accesses the system directory. No BIOS, firmware, or external
|
characters and charsets are compiled-in C arrays. The core never calls
|
||||||
|
RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY. No BIOS, firmware, or external
|
||||||
files required.
|
files required.
|
||||||
|
|
||||||
files: []
|
files: []
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ type: libretro
|
|||||||
core_classification: community_fork
|
core_classification: community_fork
|
||||||
source: "https://github.com/libretro/ps2"
|
source: "https://github.com/libretro/ps2"
|
||||||
upstream: "https://github.com/PCSX2/pcsx2"
|
upstream: "https://github.com/PCSX2/pcsx2"
|
||||||
profiled_date: "2026-03-24"
|
profiled_date: "2026-03-25"
|
||||||
core_version: "Git"
|
core_version: "Git"
|
||||||
display_name: "Sony - PlayStation 2 (LRPS2)"
|
display_name: "Sony - PlayStation 2 (LRPS2)"
|
||||||
cores: [lrps2]
|
cores: [lrps2]
|
||||||
@@ -17,12 +17,14 @@ bios_directory: "pcsx2/bios/"
|
|||||||
resources_directory: "pcsx2/resources/"
|
resources_directory: "pcsx2/resources/"
|
||||||
|
|
||||||
notes: |
|
notes: |
|
||||||
Hard fork of PCSX2 ported to libretro. BIOS detection is filename-agnostic: the core
|
Hard fork of PCSX2 (pre-Qt, 1.7-dev era) ported to libretro. x86_64 only.
|
||||||
scans pcsx2/bios/ for any file between 4-8 MB with a valid romdir structure containing
|
BIOS detection is filename-agnostic: scans pcsx2/bios/ for any file between 4-8 MB
|
||||||
RESET and ROMVER entries. The ROMVER entry determines region and version.
|
with a valid romdir structure (RESET + ROMVER entries). No hash validation.
|
||||||
Companion files (.rom1, .rom2, .nvm, .mec) derive their paths from the selected BIOS.
|
Companion files (.rom1, .rom2, .nvm, .mec) derive paths from the selected BIOS.
|
||||||
DEV9 (network adapter) and USB are stubbed in the libretro port.
|
DEV9 (network/HDD) and USB are stubbed in the libretro port.
|
||||||
GameIndex.yaml in pcsx2/resources/ provides per-game patches for compatibility.
|
Widescreen patches are largely compiled into the core (libretro/patches.cpp).
|
||||||
|
.info firmware_count=2 counts the bios folder and GameIndex.yaml.
|
||||||
|
.info description mentions EROM.BIN but no EROM loading path exists in the code.
|
||||||
|
|
||||||
files:
|
files:
|
||||||
- name: "<bios>.bin"
|
- name: "<bios>.bin"
|
||||||
@@ -32,7 +34,7 @@ files:
|
|||||||
min_size: 4194304
|
min_size: 4194304
|
||||||
max_size: 8388608
|
max_size: 8388608
|
||||||
validation: [size]
|
validation: [size]
|
||||||
source_ref: "pcsx2/ps2/BiosTools.cpp:230-254,266-322"
|
source_ref: "pcsx2/ps2/BiosTools.cpp:231-254,267-322"
|
||||||
note: >
|
note: >
|
||||||
Scans pcsx2/bios/ for any file between 4 MB and 8 MB. Validates via romdir
|
Scans pcsx2/bios/ for any file between 4 MB and 8 MB. Validates via romdir
|
||||||
structure parsing (RESET + ROMVER entries). User selects BIOS via core option
|
structure parsing (RESET + ROMVER entries). User selects BIOS via core option
|
||||||
@@ -43,7 +45,7 @@ files:
|
|||||||
required: false
|
required: false
|
||||||
max_size: 4194304
|
max_size: 4194304
|
||||||
description: "DVD player ROM"
|
description: "DVD player ROM"
|
||||||
source_ref: "pcsx2/ps2/BiosTools.cpp:189-210,313"
|
source_ref: "pcsx2/ps2/BiosTools.cpp:190-211,314"
|
||||||
note: >
|
note: >
|
||||||
DVD player ROM. Tries <biospath>.rom1 (appended) then <biosbase>.rom1
|
DVD player ROM. Tries <biospath>.rom1 (appended) then <biosbase>.rom1
|
||||||
(extension replaced). Silently skipped if not found.
|
(extension replaced). Silently skipped if not found.
|
||||||
@@ -51,9 +53,9 @@ files:
|
|||||||
- name: "<bios>.rom2"
|
- name: "<bios>.rom2"
|
||||||
path: "pcsx2/bios/"
|
path: "pcsx2/bios/"
|
||||||
required: false
|
required: false
|
||||||
max_size: 4194304
|
max_size: 524288
|
||||||
description: "Chinese ROM extension"
|
description: "Chinese ROM extension"
|
||||||
source_ref: "pcsx2/ps2/BiosTools.cpp:189-210,314"
|
source_ref: "pcsx2/ps2/BiosTools.cpp:190-211,315"
|
||||||
note: >
|
note: >
|
||||||
Chinese region ROM extension. Same naming convention as rom1.
|
Chinese region ROM extension. Same naming convention as rom1.
|
||||||
Only present on Chinese region consoles.
|
Only present on Chinese region consoles.
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ type: libretro
|
|||||||
core_classification: embedded_hle
|
core_classification: embedded_hle
|
||||||
source: "https://github.com/libretro/pcsx_rearmed"
|
source: "https://github.com/libretro/pcsx_rearmed"
|
||||||
upstream: "https://github.com/notaz/pcsx_rearmed"
|
upstream: "https://github.com/notaz/pcsx_rearmed"
|
||||||
profiled_date: "2026-03-24"
|
profiled_date: "2026-03-25"
|
||||||
core_version: "r25"
|
core_version: "r25"
|
||||||
display_name: "Sony - PlayStation (PCSX ReARMed)"
|
display_name: "Sony - PlayStation (PCSX ReARMed)"
|
||||||
cores: [pcsx_rearmed, pcsx_rearmed_neon, pcsx_rearmed_interpreter]
|
cores: [pcsx_rearmed, pcsx_rearmed_neon, pcsx_rearmed_interpreter]
|
||||||
|
|||||||
39
emulators/trident.yml
Normal file
39
emulators/trident.yml
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
emulator: trident
|
||||||
|
display_name: "Nintendo - 3DS (Trident)"
|
||||||
|
type: libretro
|
||||||
|
core_classification: community_fork
|
||||||
|
source: https://github.com/DanAlexMorton/3dsTrident
|
||||||
|
upstream: https://github.com/wheremyfoodat/Panda3DS
|
||||||
|
profiled_date: 2026-03-25
|
||||||
|
core_version: git
|
||||||
|
|
||||||
|
cores:
|
||||||
|
- trident
|
||||||
|
|
||||||
|
systems:
|
||||||
|
- 3ds
|
||||||
|
|
||||||
|
notes: >-
|
||||||
|
Libretro core wrapping Panda3DS, an HLE Nintendo 3DS emulator.
|
||||||
|
Shared font, Mii data, country list and bad word list are embedded in
|
||||||
|
the binary via CMRC and compiled-in headers. DSP firmware is loaded from
|
||||||
|
the game ROM at runtime, not from an external file.
|
||||||
|
DSP modes: HLE (default), LLE (Teakra), Null.
|
||||||
|
Files are resolved from the RetroArch save directory
|
||||||
|
(<save_dir>/Emulator Files/sysdata/), not the system directory.
|
||||||
|
|
||||||
|
files:
|
||||||
|
- name: aes_keys.txt
|
||||||
|
description: AES encryption keys for decrypting encrypted 3DS ROMs
|
||||||
|
required: false
|
||||||
|
source_ref: >-
|
||||||
|
src/emulator.cpp:234,242-244 (path construction and existence check);
|
||||||
|
src/core/crypto/aes_engine.cpp:13-92 (loadKeys, parses key=value text);
|
||||||
|
src/core/loader/ncch.cpp:151-164 (panic if encrypted ROM loaded without keys)
|
||||||
|
|
||||||
|
- name: seeddb.bin
|
||||||
|
description: seed database for seed-encrypted 3DS games
|
||||||
|
required: false
|
||||||
|
source_ref: >-
|
||||||
|
src/emulator.cpp:235,246-248 (path construction and existence check);
|
||||||
|
src/core/crypto/aes_engine.cpp:94-153 (setSeedPath, loadSeeds, getSeedFromDB)
|
||||||
@@ -1,27 +1,25 @@
|
|||||||
emulator: TyrQuake
|
emulator: TyrQuake
|
||||||
type: libretro
|
type: libretro
|
||||||
|
core_classification: game_engine
|
||||||
source: "https://github.com/libretro/tyrquake"
|
source: "https://github.com/libretro/tyrquake"
|
||||||
profiled_date: "2026-03-18"
|
upstream: "http://disenchant.net/tyrquake/"
|
||||||
|
profiled_date: "2026-03-25"
|
||||||
core_version: "v0.62"
|
core_version: "v0.62"
|
||||||
display_name: "Quake (TyrQuake)"
|
display_name: "Quake (TyrQuake)"
|
||||||
cores: [tyrquake]
|
cores: [tyrquake]
|
||||||
systems: [quake]
|
systems: [quake]
|
||||||
verification: existence
|
|
||||||
notes: >
|
notes: >
|
||||||
Quake engine source port. Plays Quake (id1), mission packs Scourge of Armagon
|
Quake engine source port by Kevin Shanahan (Tyrann). Plays Quake (id1), mission
|
||||||
(hipnotic) and Dissolution of Eternity (rogue), Quoth mod, and custom mods via
|
packs Scourge of Armagon (hipnotic) and Dissolution of Eternity (rogue), Quoth
|
||||||
-game parameter. The core accepts .pak extensions (retro_get_system_info sets
|
mod, and custom mods via -game parameter. Content is loaded directly from the
|
||||||
valid_extensions = "pak"). Content is loaded directly from the PAK file path -
|
PAK file path — the directory containing the PAK becomes basedir
|
||||||
the directory containing the PAK becomes basedir (libretro.c:988,1050).
|
(libretro.c:988,1050). The engine auto-detects game variant by checking the
|
||||||
The engine auto-detects game variant by checking the content path for id1,
|
content path for id1, hipnotic, rogue, or quoth substrings
|
||||||
hipnotic, rogue, or quoth substrings (libretro.c:1030-1070) and passes the
|
(libretro.c:1030-1070). All engine assets (gfx/palette.lmp, gfx/colormap.lmp,
|
||||||
corresponding command-line flag. For non-standard paths it uses -game with the
|
gfx.wad, textures, models, sounds) are loaded from within PAK files via
|
||||||
directory basename. PAK files are game data (maps, textures, models, sounds)
|
COM_AddGameDirectory (common.c:1709), which tries pak0.pak through pak9.pak in
|
||||||
shipped with the original retail game, not engine firmware. The engine checks
|
both lowercase and uppercase. The core never calls
|
||||||
for gfx/pop.lmp inside pak0.pak to distinguish registered vs shareware
|
RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY. BGM as OGG tracks in music/ subfolder
|
||||||
(common.c:974-991). COM_AddGameDirectory (common.c:1709) loads pak0.pak through
|
of each game directory.
|
||||||
pak9.pak sequentially from the game directory, trying both lowercase and
|
|
||||||
uppercase filenames. No engine data files are required in the RetroArch system
|
|
||||||
directory. The core needs no BIOS or firmware.
|
|
||||||
|
|
||||||
files: []
|
files: []
|
||||||
|
|||||||
@@ -1,8 +1,64 @@
|
|||||||
emulator: "uae4arm"
|
emulator: uae4arm
|
||||||
type: alias
|
type: libretro
|
||||||
alias_of: "puae"
|
core_classification: community_fork
|
||||||
profiled_date: "2026-03-18"
|
cores: [uae4arm]
|
||||||
|
source: "https://github.com/libretro/uae4arm-libretro"
|
||||||
|
upstream: "https://github.com/PandTomB/uae4arm"
|
||||||
|
profiled_date: "2026-03-25"
|
||||||
core_version: "v0.5"
|
core_version: "v0.5"
|
||||||
display_name: "Commodore - Amiga (UAE4ARM)"
|
display_name: "Commodore - Amiga (UAE4ARM)"
|
||||||
note: "This core uses the same BIOS/firmware as puae. See emulators/puae.yml for details."
|
systems:
|
||||||
files: []
|
- commodore-amiga
|
||||||
|
|
||||||
|
notes: |
|
||||||
|
ARM-optimized Amiga emulator by TomB, ported to libretro by Chips-fr.
|
||||||
|
Based on an older uae4arm version, intended for low-powered ARM hardware
|
||||||
|
where PUAE cannot maintain full speed.
|
||||||
|
|
||||||
|
Core options expose three models: A500, A600, A1200. Each selects its
|
||||||
|
Kickstart ROM automatically. Extended ROMs (CDTV/CD32) can be set via
|
||||||
|
.uae config files but CD32/CDTV hardware emulation is absent from
|
||||||
|
this port (no akiko chip, CD support listed as missing).
|
||||||
|
|
||||||
|
Built-in AROS Kickstart replacement used as fallback when no ROM is found.
|
||||||
|
|
||||||
|
Cloanto-encrypted ROMs require rom.key in the system directory.
|
||||||
|
|
||||||
|
files:
|
||||||
|
- name: "kick34005.A500"
|
||||||
|
description: "Amiga 500 Kickstart v1.3 rev 34.005"
|
||||||
|
required: false
|
||||||
|
hle_fallback: true
|
||||||
|
source_ref: "libretro/core/libretro-core.cpp:73,420 src/memory.cpp:2080-2180"
|
||||||
|
|
||||||
|
- name: "kick40063.A600"
|
||||||
|
description: "Amiga 600 Kickstart v3.1 rev 40.063"
|
||||||
|
required: false
|
||||||
|
hle_fallback: true
|
||||||
|
source_ref: "libretro/core/libretro-core.cpp:74,391 src/memory.cpp:2080-2180"
|
||||||
|
|
||||||
|
- name: "kick40068.A1200"
|
||||||
|
description: "Amiga 1200 Kickstart v3.1 rev 40.068"
|
||||||
|
required: false
|
||||||
|
hle_fallback: true
|
||||||
|
source_ref: "libretro/core/libretro-core.cpp:75,405 src/memory.cpp:2080-2180"
|
||||||
|
|
||||||
|
- name: "kick34005.CDTV"
|
||||||
|
description: "CDTV extended ROM v1.00 rev 34.005"
|
||||||
|
required: false
|
||||||
|
source_ref: "src/memory.cpp:1931-1971 (EXTENDED_ROM_CDTV via romextfile)"
|
||||||
|
|
||||||
|
- name: "kick40060.CD32"
|
||||||
|
description: "CD32 Kickstart v3.1 rev 40.060"
|
||||||
|
required: false
|
||||||
|
source_ref: "src/memory.cpp:2080-2180 (loaded via romfile from .uae config)"
|
||||||
|
|
||||||
|
- name: "kick40060.CD32.ext"
|
||||||
|
description: "CD32 extended ROM rev 40.060"
|
||||||
|
required: false
|
||||||
|
source_ref: "src/memory.cpp:1931-1971 (EXTENDED_ROM_CD32 via romextfile)"
|
||||||
|
|
||||||
|
- name: "rom.key"
|
||||||
|
description: "Cloanto Amiga Forever decryption key"
|
||||||
|
required: false
|
||||||
|
source_ref: "src/memory.cpp:598-613,625-700 (addkeydir, load_keyring)"
|
||||||
|
|||||||
@@ -1,8 +1,477 @@
|
|||||||
emulator: "ume2015"
|
emulator: UME 2015
|
||||||
type: alias
|
type: libretro
|
||||||
alias_of: "mame2016"
|
core_classification: frozen_snapshot
|
||||||
profiled_date: "2026-03-18"
|
source: "https://github.com/libretro/mame2015-libretro"
|
||||||
core_version: "0.160"
|
upstream: "https://github.com/mamedev/mame/tree/mame0159"
|
||||||
|
logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg"
|
||||||
|
profiled_date: "2026-03-25"
|
||||||
|
core_version: "0.159"
|
||||||
display_name: "Multi (UME 2015)"
|
display_name: "Multi (UME 2015)"
|
||||||
note: "This core uses the same BIOS/firmware as mame2016. See emulators/mame2016.yml for details."
|
mame_version: "0.159"
|
||||||
files: []
|
|
||||||
|
cores:
|
||||||
|
- ume2015
|
||||||
|
systems:
|
||||||
|
- snk-neogeo-mvs
|
||||||
|
- snk-neogeo-aes
|
||||||
|
- igs-pgm
|
||||||
|
- sega-naomi
|
||||||
|
- sega-naomi2
|
||||||
|
- sega-naomigd
|
||||||
|
- sammy-atomiswave
|
||||||
|
- sega-stv
|
||||||
|
- sega-lindbergh
|
||||||
|
- sega-hikaru
|
||||||
|
- sega-chihiro
|
||||||
|
- sega-triforce
|
||||||
|
- deco-cassette
|
||||||
|
- nintendo-playch10
|
||||||
|
- sega-megaplay
|
||||||
|
- sega-megatech
|
||||||
|
- nintendo-sfcbox
|
||||||
|
- nintendo-nss
|
||||||
|
- philips-cdi
|
||||||
|
- commodore-cubo
|
||||||
|
- namco-system246
|
||||||
|
- namco-system256
|
||||||
|
- namco-system573
|
||||||
|
- konami-viper
|
||||||
|
- taito-gnet
|
||||||
|
- super-kaneko-nova
|
||||||
|
- capcom-zn1
|
||||||
|
- capcom-zn2
|
||||||
|
- konami-gv
|
||||||
|
- panasonic-3do
|
||||||
|
- hyper-neogeo64
|
||||||
|
- konami-twinkle
|
||||||
|
|
||||||
|
notes: |
|
||||||
|
Universal Machine Emulator — combined MAME + MESS before the official
|
||||||
|
merge at MAME 0.162. Same repo as mame2015 (mame2015-libretro), built
|
||||||
|
with -DWANT_UME including both mame.mak and mess.mak. 69 arcade BIOS
|
||||||
|
root sets (identical to mame2015), plus 619 MESS computer/console
|
||||||
|
drivers. Source version.c says 0.159, .info claims 0.160.
|
||||||
|
|
||||||
|
Paths under system_dir/ume2015/ (samples, artwork, cheat, hash, ini).
|
||||||
|
Software list hash XMLs in system_dir/ume2015/hash/ (375 files from
|
||||||
|
repo hash/ directory, required for MESS software list support).
|
||||||
|
Per-game XML cheats in system_dir/ume2015/cheat/.
|
||||||
|
hiscore.dat loaded via f.open("hiscore", ".dat") without explicit
|
||||||
|
search path (libretro-specific path code disabled via #if 0).
|
||||||
|
|
||||||
|
ROM naming follows MAME 0.159 conventions.
|
||||||
|
|
||||||
|
files:
|
||||||
|
# Data files (system_dir/ume2015/)
|
||||||
|
- name: hiscore.dat
|
||||||
|
required: false
|
||||||
|
category: game_data
|
||||||
|
source_ref: "src/emu/hiscore.c:335-337"
|
||||||
|
note: "high score definitions, external file, not embedded"
|
||||||
|
|
||||||
|
# SNK Neo Geo MVS/AES
|
||||||
|
- name: neogeo.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: snk-neogeo-mvs
|
||||||
|
source_ref: "src/mame/drivers/neogeo.c:1529"
|
||||||
|
|
||||||
|
# IGS PGM
|
||||||
|
- name: pgm.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: igs-pgm
|
||||||
|
source_ref: "src/mame/drivers/pgm.c:4147"
|
||||||
|
|
||||||
|
# Sega Naomi / Naomi 2 / Naomi GD-ROM / Atomiswave
|
||||||
|
- name: naomi.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: sega-naomi
|
||||||
|
source_ref: "src/mame/drivers/naomi.c:8960"
|
||||||
|
|
||||||
|
- name: naomi2.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: sega-naomi2
|
||||||
|
source_ref: "src/mame/drivers/naomi.c:8965"
|
||||||
|
|
||||||
|
- name: naomigd.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: sega-naomigd
|
||||||
|
source_ref: "src/mame/drivers/naomi.c:8966"
|
||||||
|
|
||||||
|
- name: awbios.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: sammy-atomiswave
|
||||||
|
source_ref: "src/mame/drivers/naomi.c:9275"
|
||||||
|
|
||||||
|
- name: hod2bios.zip
|
||||||
|
required: false
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/naomi.c:8961"
|
||||||
|
note: "game-specific BIOS for House of the Dead 2"
|
||||||
|
|
||||||
|
- name: f355dlx.zip
|
||||||
|
required: false
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/naomi.c:8962"
|
||||||
|
note: "game-specific BIOS for Ferrari F355 Challenge deluxe"
|
||||||
|
|
||||||
|
- name: f355bios.zip
|
||||||
|
required: false
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/naomi.c:8963"
|
||||||
|
note: "game-specific BIOS for Ferrari F355 Challenge twin"
|
||||||
|
|
||||||
|
- name: airlbios.zip
|
||||||
|
required: false
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/naomi.c:8964"
|
||||||
|
note: "game-specific BIOS for Airline Pilots deluxe"
|
||||||
|
|
||||||
|
# Sega ST-V
|
||||||
|
- name: stvbios.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: sega-stv
|
||||||
|
source_ref: "src/mame/drivers/stv.c:3042"
|
||||||
|
|
||||||
|
# Sega Hikaru / Chihiro / Triforce / Lindbergh
|
||||||
|
- name: hikaru.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: sega-hikaru
|
||||||
|
source_ref: "src/mame/drivers/hikaru.c:744"
|
||||||
|
|
||||||
|
- name: chihiro.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: sega-chihiro
|
||||||
|
source_ref: "src/mame/drivers/chihiro.c:2192"
|
||||||
|
|
||||||
|
- name: triforce.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: sega-triforce
|
||||||
|
source_ref: "src/mame/drivers/triforce.c:1021"
|
||||||
|
|
||||||
|
- name: lindbios.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: sega-lindbergh
|
||||||
|
source_ref: "src/mame/drivers/lindbergh.c:569"
|
||||||
|
|
||||||
|
# DECO Cassette
|
||||||
|
- name: decocass.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: deco-cassette
|
||||||
|
source_ref: "src/mame/drivers/decocass.c:1647"
|
||||||
|
|
||||||
|
# Nintendo arcade
|
||||||
|
- name: playch10.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: nintendo-playch10
|
||||||
|
source_ref: "src/mame/drivers/playch10.c:1639"
|
||||||
|
|
||||||
|
- name: nss.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: nintendo-nss
|
||||||
|
source_ref: "src/mame/drivers/nss.c:1058"
|
||||||
|
|
||||||
|
- name: sfcbox.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: nintendo-sfcbox
|
||||||
|
source_ref: "src/mame/drivers/sfcbox.c:572"
|
||||||
|
|
||||||
|
# Sega Mega Drive arcade
|
||||||
|
- name: megaplay.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: sega-megaplay
|
||||||
|
source_ref: "src/mame/drivers/megaplay.c:942"
|
||||||
|
|
||||||
|
- name: megatech.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: sega-megatech
|
||||||
|
source_ref: "src/mame/drivers/megatech.c:1393"
|
||||||
|
|
||||||
|
# Philips CD-i
|
||||||
|
- name: cdibios.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: philips-cdi
|
||||||
|
source_ref: "src/mame/drivers/cdi.c:611"
|
||||||
|
|
||||||
|
# Commodore Cubo (CD32-based)
|
||||||
|
- name: cubo.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: commodore-cubo
|
||||||
|
source_ref: "src/mame/drivers/cubo.c:1362"
|
||||||
|
|
||||||
|
# Namco boards
|
||||||
|
- name: sys246.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: namco-system246
|
||||||
|
source_ref: "src/mame/drivers/namcops2.c:672"
|
||||||
|
|
||||||
|
- name: sys256.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: namco-system256
|
||||||
|
source_ref: "src/mame/drivers/namcops2.c:705"
|
||||||
|
|
||||||
|
- name: sys573.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: namco-system573
|
||||||
|
source_ref: "src/mame/drivers/ksys573.c:4678"
|
||||||
|
|
||||||
|
# Konami
|
||||||
|
- name: kviper.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: konami-viper
|
||||||
|
source_ref: "src/mame/drivers/viper.c:2609"
|
||||||
|
|
||||||
|
- name: konamigv.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: konami-gv
|
||||||
|
source_ref: "src/mame/drivers/konamigv.c:822"
|
||||||
|
|
||||||
|
- name: konamigx.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/konamigx.c:3775"
|
||||||
|
|
||||||
|
- name: gq863.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: konami-twinkle
|
||||||
|
source_ref: "src/mame/drivers/twinkle.c:1330"
|
||||||
|
|
||||||
|
# Taito
|
||||||
|
- name: taitogn.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: taito-gnet
|
||||||
|
source_ref: "src/mame/drivers/taitogn.c:1081"
|
||||||
|
|
||||||
|
- name: taitotz.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/taitotz.c:2951"
|
||||||
|
|
||||||
|
- name: taitofx1.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/zn.c:4906"
|
||||||
|
|
||||||
|
# PSX-based arcade boards (ZN)
|
||||||
|
- name: cpzn1.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: capcom-zn1
|
||||||
|
source_ref: "src/mame/drivers/zn.c:4800"
|
||||||
|
|
||||||
|
- name: cpzn2.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: capcom-zn2
|
||||||
|
source_ref: "src/mame/drivers/zn.c:4823"
|
||||||
|
|
||||||
|
- name: atpsx.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/zn.c:4853"
|
||||||
|
|
||||||
|
- name: acpsx.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/zn.c:4862"
|
||||||
|
|
||||||
|
- name: tps.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/zn.c:4873"
|
||||||
|
|
||||||
|
- name: vspsx.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/zn.c:4896"
|
||||||
|
|
||||||
|
- name: psarc95.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/zn.c:4935"
|
||||||
|
|
||||||
|
- name: atluspsx.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/zn.c:4961"
|
||||||
|
|
||||||
|
# Super Kaneko Nova System
|
||||||
|
- name: skns.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: super-kaneko-nova
|
||||||
|
source_ref: "src/mame/drivers/suprnova.c:1734"
|
||||||
|
|
||||||
|
- name: mac2bios.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/macs.c:747"
|
||||||
|
|
||||||
|
- name: macsbios.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/macs.c:746"
|
||||||
|
|
||||||
|
# Panasonic 3DO
|
||||||
|
- name: 3dobios.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: panasonic-3do
|
||||||
|
source_ref: "src/mame/drivers/3do.c:253"
|
||||||
|
|
||||||
|
# Hyper Neo-Geo 64
|
||||||
|
- name: hng64.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: hyper-neogeo64
|
||||||
|
source_ref: "src/mame/drivers/hng64.c:1991"
|
||||||
|
|
||||||
|
# Arcadia Systems
|
||||||
|
- name: ar_bios.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/arcadia.c:963"
|
||||||
|
|
||||||
|
# American Laser Games
|
||||||
|
- name: alg_bios.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/alg.c:772"
|
||||||
|
|
||||||
|
# Aleck64 (N64-based)
|
||||||
|
- name: aleck64.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/aleck64.c:1161"
|
||||||
|
|
||||||
|
# Atari System 1
|
||||||
|
- name: atarisy1.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/atarisy1.c:2368"
|
||||||
|
|
||||||
|
# Exidy Max-A-Flex
|
||||||
|
- name: maxaflex.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/maxaflex.c:536"
|
||||||
|
|
||||||
|
# Crystal System
|
||||||
|
- name: crysbios.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/crystal.c:1134"
|
||||||
|
|
||||||
|
# Galaxy Games
|
||||||
|
- name: galgbios.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/tmaster.c:1850"
|
||||||
|
|
||||||
|
# Aristocrat MK5/MK6
|
||||||
|
- name: aristmk5.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/aristmk5.c:739"
|
||||||
|
|
||||||
|
- name: aristmk6.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/aristmk6.c:224"
|
||||||
|
|
||||||
|
- name: mk6nsw11.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/aristmk6.c:225"
|
||||||
|
|
||||||
|
# Pinball
|
||||||
|
- name: allied.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/allied.c:711"
|
||||||
|
|
||||||
|
- name: gp_110.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/gp_1.c:531"
|
||||||
|
|
||||||
|
- name: gts1.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/gts1.c:978"
|
||||||
|
|
||||||
|
- name: gts1s.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/gts1.c:981"
|
||||||
|
|
||||||
|
# Other BIOS root sets
|
||||||
|
- name: bubsys.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/nemesis.c:2707"
|
||||||
|
|
||||||
|
- name: isgsm.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/segas16b.c:7501"
|
||||||
|
|
||||||
|
- name: iteagle.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/iteagle.c:315"
|
||||||
|
|
||||||
|
- name: pyson.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/pyson.c:251"
|
||||||
|
|
||||||
|
- name: sammymdl.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/sigmab98.c:2277"
|
||||||
|
|
||||||
|
- name: shtzone.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/shtzone.c:121"
|
||||||
|
|
||||||
|
- name: su2000.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/su2000.c:296"
|
||||||
|
|
||||||
|
- name: tourvis.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/tourvis.c:612"
|
||||||
|
|
||||||
|
- name: v4bios.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
source_ref: "src/mame/drivers/mpu4vid.c:3655"
|
||||||
|
|||||||
@@ -1,13 +1,16 @@
|
|||||||
emulator: MicroW8
|
emulator: MicroW8
|
||||||
profiled_date: "2026-03-18"
|
profiled_date: "2026-03-25"
|
||||||
core_version: "0.2.2"
|
core_version: "0.2.2"
|
||||||
display_name: "MicroW8"
|
display_name: "MicroW8"
|
||||||
type: game
|
type: game
|
||||||
|
core_classification: pure_libretro
|
||||||
|
source: https://github.com/libretro/uw8-libretro
|
||||||
|
upstream: https://github.com/exoticorn/microw8
|
||||||
cores: [uw8]
|
cores: [uw8]
|
||||||
systems: []
|
systems: []
|
||||||
files: []
|
files: []
|
||||||
notes: >
|
notes: >
|
||||||
MicroW8 is a WebAssembly-based fantasy console with a 320x240 screen,
|
WebAssembly-based fantasy console. 320x240 screen, 32-color palette,
|
||||||
32-color palette, and a 256KB memory limit. Programs are compiled to
|
256KB memory. The WASM runtime (platform + loader modules) is compiled
|
||||||
compact WASM modules (.uw8 format). The runtime is fully self-contained
|
to C via wasm2c and embedded in the binary. No external files required.
|
||||||
with no external dependencies. No BIOS or system directory files required.
|
firmware_count=0 in .info is correct.
|
||||||
|
|||||||
@@ -1,15 +1,19 @@
|
|||||||
emulator: UXN
|
emulator: UXN
|
||||||
type: game
|
type: libretro
|
||||||
source: "https://github.com/libretro/uxn"
|
core_classification: community_fork
|
||||||
profiled_date: "2026-03-18"
|
source: "https://codeberg.org/iyzsong/uxn-libretro"
|
||||||
core_version: "0.0.0"
|
upstream: "https://github.com/chmod222/zuxn"
|
||||||
|
profiled_date: "2026-03-25"
|
||||||
|
core_version: "0.0.1"
|
||||||
display_name: "Uxn / Varvara (zuxn)"
|
display_name: "Uxn / Varvara (zuxn)"
|
||||||
cores: [uxn]
|
cores: [uxn]
|
||||||
systems: []
|
systems: []
|
||||||
files: []
|
files: []
|
||||||
|
exclusion_note: >
|
||||||
|
Uxn/Varvara is a software-defined stack machine with 64KB of memory.
|
||||||
|
The VM has no firmware or BIOS. ROMs compiled from Uxntal assembly are
|
||||||
|
loaded directly via libretro game_info. The .info declares no firmware.
|
||||||
notes: >
|
notes: >
|
||||||
Libretro port of the Varvara/UXN stack machine designed by Hundred Rabbits.
|
Libretro wrapper around the zuxn library (Zig implementation of the
|
||||||
UXN is a portable 8-bit virtual computer with 64KB of memory and a
|
Uxn/Varvara spec by Hundred Rabbits). The file device in Varvara handles
|
||||||
minimal instruction set. Loads .rom files compiled from Uxntal assembly.
|
ROM-initiated I/O but does not load system files from the system directory.
|
||||||
The VM is entirely software-defined with no firmware or BIOS dependencies.
|
|
||||||
No system directory files required.
|
|
||||||
|
|||||||
@@ -1,46 +1,38 @@
|
|||||||
emulator: uzem
|
emulator: uzem
|
||||||
type: libretro
|
type: libretro
|
||||||
|
core_classification: pure_libretro
|
||||||
source: "https://github.com/libretro/libretro-uzem"
|
source: "https://github.com/libretro/libretro-uzem"
|
||||||
profiled_date: "2026-03-18"
|
upstream: "https://github.com/Uzebox/uzebox"
|
||||||
core_version: "3.1"
|
profiled_date: "2026-03-25"
|
||||||
display_name: "Uzem (Uzebox)"
|
core_version: "v2.0"
|
||||||
display_name: "Uzebox (Uzem)"
|
display_name: "Uzebox (Uzem)"
|
||||||
cores:
|
cores:
|
||||||
- uzem
|
- uzem
|
||||||
systems:
|
systems:
|
||||||
- uzebox
|
- uzebox
|
||||||
|
|
||||||
# Uzem emulates the Uzebox, an open-source 8-bit game console based on an
|
# No BIOS or firmware files required. The Uzebox is an open-source 8-bit game
|
||||||
# ATmega644 AVR microcontroller. The console was designed by Alec Bourque (Uze)
|
# console (ATmega644 AVR MCU) with no proprietary firmware. Games are
|
||||||
# and all hardware/software is open-source.
|
# self-contained .uze files loaded directly into progmem
|
||||||
|
# (uzem_libretro.cpp:254-286, "UZEBOX" magic header + RomHeader + program data).
|
||||||
#
|
#
|
||||||
# No BIOS or firmware files are required. The core loads .uze ROM files directly
|
# The libretro core does not call RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY.
|
||||||
# into progmem (uzem_libretro.cpp:254-286). The .uze format includes a "UZEBOX"
|
# SD card emulation uses GET_CORE_ASSETS_DIRECTORY (uzem_libretro.cpp:186-192)
|
||||||
# magic header followed by a RomHeader struct (uzerom.h) and raw program data.
|
# for optional game data via virtual FAT16 filesystem (SDEmulator.cpp).
|
||||||
|
# EEPROM is handled via RETRO_MEMORY_SAVE_RAM (uzem_libretro.cpp:407-408).
|
||||||
#
|
#
|
||||||
# The standalone uzem (oldsrcs/uzem.cpp:90) has a --boot flag that sets PC to
|
# The standalone uzem supports --boot (PC=0xF000) for bootloader mode
|
||||||
# 0xF000 for bootloader mode, but this is NOT exposed in the libretro port.
|
# (uzem.cpp:206) and .hex format loading, neither exposed in the libretro port.
|
||||||
# The libretro core has no retro_environment calls for RETRO_ENVIRONMENT_SET_SYSTEM_DIR
|
|
||||||
# or any firmware loading paths.
|
|
||||||
#
|
#
|
||||||
# SD card emulation uses RETRO_ENVIRONMENT_GET_CORE_ASSETS_DIRECTORY
|
# The .info file declares no firmware entries (firmware_count absent).
|
||||||
# (uzem_libretro.cpp:186-192) for virtual FAT16 filesystem access via SDEmulator.cpp,
|
|
||||||
# but this is optional game data, not system firmware.
|
|
||||||
#
|
|
||||||
# The .info file declares no firmware entries.
|
|
||||||
|
|
||||||
files: []
|
files: []
|
||||||
|
|
||||||
notes:
|
notes:
|
||||||
open_source_console: >
|
open_source_console: >
|
||||||
The Uzebox is fully open-source hardware and software. There is no proprietary
|
Fully open-source hardware and software designed by Alec Bourque.
|
||||||
BIOS or bootloader required. Games are self-contained .uze files that include
|
No proprietary BIOS or bootloader. Games are self-contained .uze files.
|
||||||
all code needed to run on the ATmega644 MCU emulation.
|
|
||||||
sd_card: >
|
sd_card: >
|
||||||
Some games use SD card access for loading assets. The core reads from the
|
Some games use SD card access for loading assets. The core reads from the
|
||||||
libretro core assets directory to emulate a FAT16 SD card, but this is game
|
libretro core assets directory to emulate a FAT16 SD card (game data, not
|
||||||
data, not system firmware.
|
system firmware).
|
||||||
standalone_bootloader: >
|
|
||||||
The original standalone uzem supports a --boot flag for bootloader mode
|
|
||||||
(PC starts at 0xF000 instead of 0x0000). This feature is not available in
|
|
||||||
the libretro port.
|
|
||||||
|
|||||||
@@ -1,14 +1,17 @@
|
|||||||
emulator: VaporSpec
|
emulator: VaporSpec
|
||||||
type: game
|
type: libretro
|
||||||
source: "https://github.com/libretro/libretro-vaporspec"
|
core_classification: official_port
|
||||||
profiled_date: "2026-03-18"
|
source: "https://github.com/minkcv/vm"
|
||||||
|
upstream: "https://github.com/minkcv/vm"
|
||||||
|
profiled_date: "2026-03-25"
|
||||||
core_version: "GIT"
|
core_version: "GIT"
|
||||||
display_name: "VaporSpec"
|
display_name: "VaporSpec"
|
||||||
cores: [vaporspec]
|
cores: [vaporspec]
|
||||||
systems: []
|
systems: [vaporspec]
|
||||||
files: []
|
files: []
|
||||||
notes: >
|
notes: >
|
||||||
Fantasy console for libretro inspired by retro hardware aesthetics.
|
Fantasy console with fixed specs (256x192 display, 4-channel audio,
|
||||||
Provides a virtual machine with fixed specs (256x192 display, 4-channel
|
256-color palette). Runs .vaporbin cartridge bundles containing code
|
||||||
audio) for running homebrew .vaporbin cartridge files.
|
and optional ROM data. All content is self-contained in the bundle
|
||||||
No BIOS, firmware, or system directory files required.
|
passed by the frontend; no system directory files loaded.
|
||||||
|
firmware_count=0 confirmed by code analysis.
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
emulator: VBA-Next
|
emulator: VBA-Next
|
||||||
type: libretro
|
type: libretro
|
||||||
|
core_classification: frozen_snapshot
|
||||||
source: "https://github.com/libretro/vba-next"
|
source: "https://github.com/libretro/vba-next"
|
||||||
profiled_date: "2026-03-18"
|
upstream: "https://github.com/visualboyadvance-m/visualboyadvance-m"
|
||||||
|
profiled_date: "2026-03-25"
|
||||||
core_version: "SVN"
|
core_version: "SVN"
|
||||||
display_name: "Nintendo - Game Boy Advance (VBA Next)"
|
display_name: "Nintendo - Game Boy Advance (VBA Next)"
|
||||||
cores:
|
cores:
|
||||||
@@ -10,64 +12,34 @@ systems:
|
|||||||
- nintendo-gba
|
- nintendo-gba
|
||||||
|
|
||||||
notes: |
|
notes: |
|
||||||
VBA-Next is a Game Boy Advance emulator forked from VBA-M, optimized for
|
Frozen snapshot of VBA-M circa 2011, optimized for libretro by Squarepusher.
|
||||||
libretro. It includes a built-in HLE BIOS (myROM array in src/gba.cpp:8423)
|
|
||||||
that handles all standard SWI calls, so no external BIOS file is needed for
|
|
||||||
most games.
|
|
||||||
|
|
||||||
BIOS loading is gated behind HAVE_HLE_BIOS (defined in build/Makefile.common)
|
Built-in HLE BIOS (myROM array, src/gba.cpp:8423) handles all standard SWI
|
||||||
and controlled by core option vbanext_bios (default: enabled). When enabled,
|
calls. No external BIOS file needed for most games.
|
||||||
the libretro port looks for gba_bios.bin in RetroArch's system directory
|
|
||||||
(libretro/libretro.cpp:198-203). CPUInit() loads the file via utilLoad(),
|
|
||||||
validates it is exactly 0x4000 bytes (16 KB), and sets useBios = true
|
|
||||||
(src/gba.cpp:12413-12443). If loading fails or the option is off, the HLE
|
|
||||||
BIOS (myROM) is memcpy'd into the bios buffer instead.
|
|
||||||
|
|
||||||
CPUIsGBABios() accepts extensions: .gba, .agb, .bin, .bios, .rom
|
BIOS loading gated by HAVE_HLE_BIOS (build/Makefile.common:3) and core option
|
||||||
|
vbanext_bios (default: enabled). When enabled, retro_init resolves gba_bios.bin
|
||||||
|
in system_dir (libretro/libretro.cpp:198-202). CPUInit loads via utilLoad(),
|
||||||
|
validates size == 0x4000, sets useBios = true (src/gba.cpp:12430-12438). On
|
||||||
|
failure, myROM is memcpy'd as HLE fallback (src/gba.cpp:12443).
|
||||||
|
|
||||||
|
With real BIOS, execution starts at 0x00000000 (BIOS entry point). Without,
|
||||||
|
jumps to 0x08000000 (ROM entry), skipping boot animation
|
||||||
|
(src/gba.cpp:12657-12675).
|
||||||
|
|
||||||
|
CPUIsGBABios accepts extensions: .gba, .agb, .bin, .bios, .rom
|
||||||
(src/gba.cpp:8851-8873).
|
(src/gba.cpp:8851-8873).
|
||||||
|
|
||||||
When useBios is true and skipBios is false, execution starts at 0x00000000
|
Upstream VBA-M CPUInit (src/core/gba/gba.cpp:3674-3702) is functionally
|
||||||
(real BIOS entry). Otherwise it jumps straight to 0x08000000 (ROM entry),
|
identical. No divergences in BIOS handling.
|
||||||
skipping the boot animation (src/gba.cpp:12657-12675).
|
|
||||||
|
|
||||||
The HLE BIOS covers: SoftReset, RegisterRamReset, Halt, VBlankIntrWait,
|
|
||||||
Div, Sqrt, ArcTan, ArcTan2, CpuSet, CpuFastSet, GetBiosChecksum,
|
|
||||||
BgAffineSet, ObjAffineSet, BitUnPack, LZ77UnComp (WRAM/VRAM),
|
|
||||||
HuffUnComp, RLUnComp (WRAM/VRAM), Diff8bitUnFilter (WRAM/VRAM),
|
|
||||||
Diff16bitUnFilter, MidiKey2Freq, SndDriverJmpTableCopy
|
|
||||||
(src/gba.cpp:2369-2578).
|
|
||||||
|
|
||||||
Some per-game overrides in gbaover[] (libretro/libretro.cpp:235) have a
|
|
||||||
useBios field, but all entries currently set it to 0 (no game forces BIOS).
|
|
||||||
|
|
||||||
files:
|
files:
|
||||||
# -------------------------------------------------------
|
|
||||||
# Game Boy Advance - BIOS (optional, HLE fallback)
|
|
||||||
# -------------------------------------------------------
|
|
||||||
- name: gba_bios.bin
|
- name: gba_bios.bin
|
||||||
system: nintendo-gba
|
system: nintendo-gba
|
||||||
required: false
|
required: false
|
||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
size: 16384 # 16 KB (0x4000)
|
size: 16384
|
||||||
note: "GBA BIOS. Optional -- HLE replacement (myROM) handles all standard SWI calls. Real BIOS adds startup logo and may improve edge-case accuracy."
|
validation: [size]
|
||||||
source_ref: "libretro/libretro.cpp:198-203, src/gba.cpp:12413-12443"
|
description: "GBA BIOS"
|
||||||
|
note: "Optional. HLE replacement handles all standard SWI calls. Real BIOS adds startup logo and may improve edge-case accuracy."
|
||||||
platform_details:
|
source_ref: "libretro/libretro.cpp:198-202, src/gba.cpp:12430-12438"
|
||||||
gba:
|
|
||||||
bios_size: 16384 # 0x4000
|
|
||||||
hle_bios: true
|
|
||||||
source_ref: "src/gba.cpp:8423 (myROM), src/gba.cpp:2369-2578 (SWI handlers)"
|
|
||||||
notes: |
|
|
||||||
BIOS buffer is always allocated at 0x4000 bytes (src/gba.cpp:8963).
|
|
||||||
If the real BIOS loads successfully (exactly 0x4000 bytes), useBios is
|
|
||||||
set to true and CPUReset starts at address 0x00000000 with IRQ disabled.
|
|
||||||
Otherwise myROM (built-in HLE stub) is copied in and execution starts
|
|
||||||
at 0x08000000 with standard register init.
|
|
||||||
|
|
||||||
The core option vbanext_bios defaults to "enabled", so if gba_bios.bin
|
|
||||||
is present in the system directory it will be loaded automatically.
|
|
||||||
|
|
||||||
BIOS reads at runtime go through the memory map (src/gba.cpp:792-1076).
|
|
||||||
Address range 0x0000-0x3FFF maps to the bios buffer. A biosProtected[4]
|
|
||||||
array at 0x00f029e1 is returned when reading outside the current PC
|
|
||||||
region, matching real GBA BIOS protection behavior.
|
|
||||||
|
|||||||
@@ -1,8 +1,49 @@
|
|||||||
emulator: "vbam"
|
emulator: VBA-M
|
||||||
type: alias
|
type: "standalone + libretro"
|
||||||
alias_of: "vba_next"
|
core_classification: official_port
|
||||||
profiled_date: "2026-03-18"
|
source: "https://github.com/libretro/vbam-libretro"
|
||||||
|
upstream: "https://github.com/visualboyadvance-m/visualboyadvance-m"
|
||||||
|
profiled_date: "2026-03-25"
|
||||||
core_version: "2.1.4"
|
core_version: "2.1.4"
|
||||||
display_name: "Nintendo - Game Boy Advance (VBA-M)"
|
display_name: "Nintendo - Game Boy Advance (VBA-M)"
|
||||||
note: "This core uses the same BIOS/firmware as vba_next. See emulators/vba_next.yml for details."
|
cores:
|
||||||
files: []
|
- vbam
|
||||||
|
systems:
|
||||||
|
- nintendo-gba
|
||||||
|
- nintendo-gb
|
||||||
|
- nintendo-gbc
|
||||||
|
|
||||||
|
notes: |
|
||||||
|
Supports GB, GBC, GBA, and SGB (borders/palette only).
|
||||||
|
BIOS usage controlled by vbam_usebios core option (default: disabled).
|
||||||
|
Built-in HLE BIOS (myROM array) handles GBA SWI calls without external file.
|
||||||
|
GB/GBC boot sequence skipped when BIOS absent.
|
||||||
|
Upstream repo includes the libretro port in src/libretro/.
|
||||||
|
|
||||||
|
files:
|
||||||
|
- name: gba_bios.bin
|
||||||
|
system: nintendo-gba
|
||||||
|
required: false
|
||||||
|
hle_fallback: true
|
||||||
|
size: 16384
|
||||||
|
validation: [size]
|
||||||
|
description: "GBA BIOS"
|
||||||
|
source_ref: "src/gba/GBA.cpp:3262-3272 (CPUInit size check), src/libretro/libretro.cpp:846-851 (gba_init)"
|
||||||
|
|
||||||
|
- name: gb_bios.bin
|
||||||
|
system: nintendo-gb
|
||||||
|
required: false
|
||||||
|
hle_fallback: true
|
||||||
|
size: 256
|
||||||
|
validation: [size]
|
||||||
|
description: "Game Boy boot ROM"
|
||||||
|
source_ref: "src/gb/GB.cpp:2172-2192 (gbCPUInit size check), src/libretro/libretro.cpp:861-879 (gb_init)"
|
||||||
|
|
||||||
|
- name: gbc_bios.bin
|
||||||
|
system: nintendo-gbc
|
||||||
|
required: false
|
||||||
|
hle_fallback: true
|
||||||
|
size: 2304
|
||||||
|
validation: [size]
|
||||||
|
description: "Game Boy Color boot ROM"
|
||||||
|
source_ref: "src/gb/GB.cpp:2172-2192 (gbCPUInit size check), src/libretro/libretro.cpp:861-879 (gb_init)"
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
emulator: vecx
|
emulator: vecx
|
||||||
type: libretro
|
type: libretro
|
||||||
|
core_classification: community_fork
|
||||||
source: "https://github.com/libretro/libretro-vecx"
|
source: "https://github.com/libretro/libretro-vecx"
|
||||||
profiled_date: "2026-03-18"
|
upstream: "https://github.com/jhawthorn/vecx"
|
||||||
|
profiled_date: "2026-03-25"
|
||||||
core_version: "SVN"
|
core_version: "SVN"
|
||||||
display_name: "GCE - Vectrex (vecx)"
|
display_name: "GCE - Vectrex (vecx)"
|
||||||
cores:
|
cores:
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
emulator: VeMUlator
|
emulator: VeMUlator
|
||||||
type: libretro
|
type: libretro
|
||||||
|
core_classification: official_port
|
||||||
source: "https://github.com/libretro/vemulator-libretro"
|
source: "https://github.com/libretro/vemulator-libretro"
|
||||||
profiled_date: "2026-03-18"
|
upstream: "closed-source Android app (removed from Google Play ~2020)"
|
||||||
|
profiled_date: "2026-03-25"
|
||||||
core_version: "0.1"
|
core_version: "0.1"
|
||||||
display_name: "VeMUlator"
|
display_name: "VeMUlator"
|
||||||
cores:
|
cores:
|
||||||
@@ -10,32 +12,18 @@ systems:
|
|||||||
- sega-vmu
|
- sega-vmu
|
||||||
|
|
||||||
notes: |
|
notes: |
|
||||||
VeMUlator is a Sega Dreamcast Visual Memory Unit (VMU/VMS) emulator ported
|
Sega Dreamcast VMU/VMS emulator. Same author (Mahmoud Jaoune) ported
|
||||||
from Android (Java) to C++ for libretro. It emulates the Sanyo LC8670
|
the original Android Java app to C++ for libretro. Emulates the Sanyo
|
||||||
"Potato" CPU, 128 KB flash memory, 48x32 monochrome LCD, piezo buzzer,
|
LC8670 CPU, 128 KB flash, 48x32 LCD, piezo buzzer, and timers.
|
||||||
and basic timer subsystems.
|
|
||||||
|
|
||||||
No BIOS files are required. The core uses High Level Emulation (HLE) to
|
No BIOS files required. The core uses HLE exclusively: startCPU()
|
||||||
bypass the VMU firmware entirely:
|
checks BIOSExists (always false), then initializeHLE() sets SFR
|
||||||
|
registers and system RAM directly (vmu.cpp:193-222).
|
||||||
|
|
||||||
- At startup, startCPU() checks the BIOSExists flag (vmu.cpp:195). When
|
A loadBIOS() function exists (vmu.cpp:82-137) handling encrypted and
|
||||||
false (always, in the libretro port), it calls initializeHLE() which
|
unencrypted BIOS images, but is never called from the libretro
|
||||||
sets up SFR registers (SP=0x7F, PSW=0x02, IE=0x80, MCR=0x08, P7=0x02,
|
interface. retro_load_game() only loads game flash data, with no
|
||||||
OCR=0xA3, BTCR=0x41) and system RAM variables directly (vmu.cpp:206-222).
|
system directory query. README lists BIOS support as planned.
|
||||||
|
|
||||||
- A loadBIOS() function exists in the VMU class (vmu.cpp:82-137) and can
|
|
||||||
handle both encrypted (XOR 0x37, 4-byte header stripped) and unencrypted
|
|
||||||
BIOS images (first byte must be 0x2A = JMPF opcode). Maximum accepted
|
|
||||||
size is 0xF004 (61444) bytes, loaded into 0xF000 (61440) bytes of ROM.
|
|
||||||
However, this function is never called by the libretro frontend code.
|
|
||||||
retro_load_game() in main.cpp only loads game flash data, with no BIOS
|
|
||||||
path resolution or RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY call.
|
|
||||||
|
|
||||||
- The README lists "BIOS support" as a planned future feature.
|
|
||||||
|
|
||||||
The .info file declares no firmware entries (firmware_count absent).
|
|
||||||
Supported ROM formats: VMS (.vms), DCI (.dci), raw flash dump (.bin).
|
|
||||||
The core option "enable_flash_write" allows persistent saves for .bin files.
|
|
||||||
|
|
||||||
files: []
|
files: []
|
||||||
|
|
||||||
|
|||||||
52
emulators/vice_x128.yml
Normal file
52
emulators/vice_x128.yml
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
emulator: "VICE x128"
|
||||||
|
type: libretro
|
||||||
|
core_classification: community_fork
|
||||||
|
source: "https://github.com/libretro/vice-libretro"
|
||||||
|
upstream: "https://sourceforge.net/projects/vice-emu/"
|
||||||
|
profiled_date: "2026-03-25"
|
||||||
|
core_version: "3.10"
|
||||||
|
display_name: "Commodore - C128 (VICE x128)"
|
||||||
|
cores: [vice_x128]
|
||||||
|
systems: [commodore-c128]
|
||||||
|
notes: >
|
||||||
|
System ROMs embedded in binary: C128 kernal (318020-05), chargen (390059-01),
|
||||||
|
BASIC lo (318018-04), BASIC hi (318019-04), C64 kernal (901227-03), C64 BASIC (901226-01),
|
||||||
|
plus all drive ROMs (1540, 1541, 1541-II, 1551, 1570, 1571, 1571CR, 1581, 1001, 2031,
|
||||||
|
2040, 3040, 4040, 9000). Embedded ROM check in sysfile_load takes priority over filesystem.
|
||||||
|
Localized kernal/chargen variants (DE, FI, FR, IT, NO, SE, CH) are in the embedded list
|
||||||
|
with NULL data pointers; selecting a non-international model produces uninitialized ROM data.
|
||||||
|
JiffyDOS requires True Drive Emulation enabled and a 1541/1571/1581 drive type.
|
||||||
|
C64 BASIC/kernal use shared names (basic-901226-01.bin, kernal-901227-03.bin) instead of
|
||||||
|
upstream c128-specific names (basic64-901226-01.bin, kernal64-901227-03.bin) to share
|
||||||
|
files with the C64 core in RetroArch's shared system directory.
|
||||||
|
|
||||||
|
files:
|
||||||
|
- name: "JiffyDOS_C128.bin"
|
||||||
|
description: "JiffyDOS C128 kernal replacement"
|
||||||
|
required: false
|
||||||
|
source_ref: "retrodep/ui.c:309-310"
|
||||||
|
notes: "Loaded into KernalIntName when vice_jiffydos option is enabled."
|
||||||
|
|
||||||
|
- name: "JiffyDOS_C64.bin"
|
||||||
|
description: "JiffyDOS C64 kernal replacement (GO64 mode)"
|
||||||
|
required: false
|
||||||
|
source_ref: "retrodep/ui.c:307-308"
|
||||||
|
notes: "Loaded into Kernal64Name when vice_jiffydos option is enabled."
|
||||||
|
|
||||||
|
- name: "JiffyDOS_1541-II.bin"
|
||||||
|
description: "JiffyDOS 1541-II drive DOS replacement"
|
||||||
|
required: false
|
||||||
|
source_ref: "retrodep/ui.c:283-284"
|
||||||
|
notes: "Loaded into DosName1541ii when vice_jiffydos option is enabled."
|
||||||
|
|
||||||
|
- name: "JiffyDOS_1571_repl310654.bin"
|
||||||
|
description: "JiffyDOS 1571 drive DOS replacement"
|
||||||
|
required: false
|
||||||
|
source_ref: "retrodep/ui.c:285-286"
|
||||||
|
notes: "Loaded into DosName1571 when vice_jiffydos option is enabled."
|
||||||
|
|
||||||
|
- name: "JiffyDOS_1581.bin"
|
||||||
|
description: "JiffyDOS 1581 drive DOS replacement"
|
||||||
|
required: false
|
||||||
|
source_ref: "retrodep/ui.c:287-288"
|
||||||
|
notes: "Loaded into DosName1581 when vice_jiffydos option is enabled."
|
||||||
Reference in New Issue
Block a user