mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 12:22:33 -05:00
feat: add 12 batocera standalone profiles, update 3 existing
New profiles: citron (Switch), clk (multi-system), demul (Hikaru), eka2l1 (Symbian/N-Gage), gsplus (Apple IIGS), lexaloffle (PICO-8), openmsx (MSX), ryujinx (Switch), shadps4 (PS4), tsugaru (FM Towns), x16emu (Commander X16), xroar (Dragon/CoCo), zc210 (Zelda Classic). Updated: amiberry, fsuae (standalone Amiga), ymir (Saturn standalone).
This commit is contained in:
10
README.md
10
README.md
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Complete BIOS and firmware packs for Batocera, EmuDeck, Lakka, Recalbox, RetroArch, RetroBat, RetroDECK, RetroPie, and RomM.
|
Complete BIOS and firmware packs for Batocera, EmuDeck, Lakka, Recalbox, RetroArch, RetroBat, RetroDECK, RetroPie, and RomM.
|
||||||
|
|
||||||
**6,748** verified files across **305** systems, ready to extract into your emulator's BIOS directory.
|
**6,748** verified files across **322** systems, ready to extract into your emulator's BIOS directory.
|
||||||
|
|
||||||
## Download BIOS packs
|
## Download BIOS packs
|
||||||
|
|
||||||
@@ -26,14 +26,14 @@ BIOS, firmware, and system files for consoles from Atari to PlayStation 3.
|
|||||||
Each file is checked against the emulator's source code to match what the code actually loads at runtime.
|
Each file is checked against the emulator's source code to match what the code actually loads at runtime.
|
||||||
|
|
||||||
- **9 platforms** supported with platform-specific verification
|
- **9 platforms** supported with platform-specific verification
|
||||||
- **307 emulators** profiled from source (RetroArch cores + standalone)
|
- **319 emulators** profiled from source (RetroArch cores + standalone)
|
||||||
- **305 systems** covered (NES, SNES, PlayStation, Saturn, Dreamcast, ...)
|
- **322 systems** covered (NES, SNES, PlayStation, Saturn, Dreamcast, ...)
|
||||||
- **6,748 files** verified with MD5, SHA1, CRC32 checksums
|
- **6,748 files** verified with MD5, SHA1, CRC32 checksums
|
||||||
- **5251 MB** total collection size
|
- **5251 MB** total collection size
|
||||||
|
|
||||||
## Supported systems
|
## Supported systems
|
||||||
|
|
||||||
NES, SNES, Nintendo 64, GameCube, Wii, Game Boy, Game Boy Advance, Nintendo DS, Nintendo 3DS, Switch, PlayStation, PlayStation 2, PlayStation 3, PSP, PS Vita, Mega Drive, Saturn, Dreamcast, Game Gear, Master System, Neo Geo, Atari 2600, Atari 7800, Atari Lynx, Atari ST, MSX, PC Engine, TurboGrafx-16, ColecoVision, Intellivision, Commodore 64, Amiga, ZX Spectrum, Arcade (MAME), and 271+ more.
|
NES, SNES, Nintendo 64, GameCube, Wii, Game Boy, Game Boy Advance, Nintendo DS, Nintendo 3DS, Switch, PlayStation, PlayStation 2, PlayStation 3, PSP, PS Vita, Mega Drive, Saturn, Dreamcast, Game Gear, Master System, Neo Geo, Atari 2600, Atari 7800, Atari Lynx, Atari ST, MSX, PC Engine, TurboGrafx-16, ColecoVision, Intellivision, Commodore 64, Amiga, ZX Spectrum, Arcade (MAME), and 288+ more.
|
||||||
|
|
||||||
Full list with per-file details: **[https://abdess.github.io/retrobios/](https://abdess.github.io/retrobios/)**
|
Full list with per-file details: **[https://abdess.github.io/retrobios/](https://abdess.github.io/retrobios/)**
|
||||||
|
|
||||||
@@ -79,4 +79,4 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|||||||
|
|
||||||
This repository provides BIOS files for personal backup and archival purposes.
|
This repository provides BIOS files for personal backup and archival purposes.
|
||||||
|
|
||||||
*Auto-generated on 2026-03-25T23:43:15Z*
|
*Auto-generated on 2026-03-26T02:33:34Z*
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"generated_at": "2026-03-25T23:42:57Z",
|
"generated_at": "2026-03-26T02:33:17Z",
|
||||||
"total_files": 6748,
|
"total_files": 6748,
|
||||||
"total_size": 5505760050,
|
"total_size": 5505760050,
|
||||||
"files": {
|
"files": {
|
||||||
@@ -95438,6 +95438,24 @@
|
|||||||
"FdsBios.bin": [
|
"FdsBios.bin": [
|
||||||
"57fe1bdee955bb48d357e463ccbf129496930b62"
|
"57fe1bdee955bb48d357e463ccbf129496930b62"
|
||||||
],
|
],
|
||||||
|
"dragon32": [
|
||||||
|
"f2dab125673e653995a83bf6b793e3390ec7f65a"
|
||||||
|
],
|
||||||
|
"d32rom": [
|
||||||
|
"f2dab125673e653995a83bf6b793e3390ec7f65a"
|
||||||
|
],
|
||||||
|
"Dragon Data Ltd - Dragon 32 - IC17": [
|
||||||
|
"f2dab125673e653995a83bf6b793e3390ec7f65a"
|
||||||
|
],
|
||||||
|
"Color Basic v1.2 (1982)(Tandy)": [
|
||||||
|
"0f14dc46c647510eb0b7bd3f53e33da07907d04f"
|
||||||
|
],
|
||||||
|
"mx1600bas_zephyr": [
|
||||||
|
"70a464edf3a654ed4ffe687e6dee4f0d2acc758b"
|
||||||
|
],
|
||||||
|
"PNP - SuperDOS E6": [
|
||||||
|
"ef157016386ed463374de6bac84d1f8ce654ed80"
|
||||||
|
],
|
||||||
"N88_0.ROM": [
|
"N88_0.ROM": [
|
||||||
"d1ae642aed4f0584eeb81ff50180db694e5101d4"
|
"d1ae642aed4f0584eeb81ff50180db694e5101d4"
|
||||||
],
|
],
|
||||||
@@ -115851,6 +115869,10 @@
|
|||||||
"604556b2e62860af18db5a77f2956ebc75450020",
|
"604556b2e62860af18db5a77f2956ebc75450020",
|
||||||
"6e89d1227581c76441a53d605f9e324185f1da33",
|
"6e89d1227581c76441a53d605f9e324185f1da33",
|
||||||
"57fe1bdee955bb48d357e463ccbf129496930b62",
|
"57fe1bdee955bb48d357e463ccbf129496930b62",
|
||||||
|
"f2dab125673e653995a83bf6b793e3390ec7f65a",
|
||||||
|
"0f14dc46c647510eb0b7bd3f53e33da07907d04f",
|
||||||
|
"70a464edf3a654ed4ffe687e6dee4f0d2acc758b",
|
||||||
|
"ef157016386ed463374de6bac84d1f8ce654ed80",
|
||||||
"d1ae642aed4f0584eeb81ff50180db694e5101d4",
|
"d1ae642aed4f0584eeb81ff50180db694e5101d4",
|
||||||
"4ae4d37409ff99411a623da9f6a44192170a854e",
|
"4ae4d37409ff99411a623da9f6a44192170a854e",
|
||||||
"e94278682ef9e9bbb82201f72c50382748dcea2a",
|
"e94278682ef9e9bbb82201f72c50382748dcea2a",
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ type: standalone + libretro
|
|||||||
core_classification: official_port
|
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-25"
|
profiled_date: "2026-03-26"
|
||||||
core_version: "v8.1.1"
|
core_version: "v8.1.2"
|
||||||
display_name: "Commodore - Amiga (Amiberry)"
|
display_name: "Commodore - Amiga (Amiberry)"
|
||||||
cores: [amiberry]
|
cores: [amiberry]
|
||||||
systems:
|
systems:
|
||||||
@@ -17,45 +17,60 @@ notes: |
|
|||||||
and libretro core. No built-in kickstart — requires a real Kickstart ROM or
|
and libretro core. No built-in kickstart — requires a real Kickstart ROM or
|
||||||
external AROS replacement files (aros-ext.bin + aros-rom.bin).
|
external AROS replacement files (aros-ext.bin + aros-rom.bin).
|
||||||
|
|
||||||
Core option "amiberry_kickstart" overrides ROM selection: auto, kick.rom,
|
Libretro core option "amiberry_kickstart" overrides ROM selection: auto,
|
||||||
kick13.rom, kick20.rom, kick31.rom, kick205.rom, kick40068.A1200,
|
kick.rom, kick13.rom, kick20.rom, kick31.rom, kick205.rom, kick40068.A1200,
|
||||||
kick40068.A4000, cd32.rom, cdtv.rom. "auto" selects per model.
|
kick40068.A4000, cd32.rom, cdtv.rom. "auto" selects per model.
|
||||||
ref: libretro/libretro.cpp:558,621-640
|
ref: libretro/libretro.cpp:558,621-640
|
||||||
|
|
||||||
Default model is A500 (KS 1.3). ROM search directories:
|
Libretro ROM search directories (in order): save_dir/Kickstarts,
|
||||||
save_dir/Kickstarts, system_dir/Kickstarts, system_dir/save-data/Kickstarts,
|
system_dir/Kickstarts, system_dir/save-data/Kickstarts, system_dir.
|
||||||
then system_dir as fallback.
|
ref: libretro/libretro.cpp:2722-2742
|
||||||
ref: libretro/libretro.cpp:2740-2756
|
|
||||||
|
Standalone ROM path: configurable via amiberry.conf "rom_path" setting.
|
||||||
|
Batocera sets this to /userdata/bios/amiga/. Fallback search order:
|
||||||
|
{home_dir}/roms/kick.rom, {home_dir}/kick.rom, ../shared/rom/kick.rom,
|
||||||
|
../System/rom/kick.rom, then ROM database guess.
|
||||||
|
ref: src/memory.cpp:2030-2072
|
||||||
|
|
||||||
ROM identification uses SHA1 against WinUAE database (340+ entries) but does
|
ROM identification uses SHA1 against WinUAE database (340+ entries) but does
|
||||||
not reject unknown ROMs. Cloanto encrypted ROMs supported with rom.key.
|
not reject unknown ROMs. Cloanto encrypted ROMs supported with rom.key.
|
||||||
|
ref: src/rommgr.cpp:111-1100,1731-1787
|
||||||
|
|
||||||
Munt MT-32/CM-32L emulation compiled in (WITH_MIDIEMU). ROMs loaded from
|
Munt MT-32/CM-32L emulation compiled in (WITH_MIDIEMU). ROMs loaded from
|
||||||
mt32-roms/ subdirectory of the ROM path.
|
mt32-roms/ subdirectory of the ROM path. Split ROM pairs supported
|
||||||
ref: src/midiemu.cpp:120-157
|
(e.g. pcm_mt32_l.rom + pcm_mt32_h.rom).
|
||||||
|
ref: src/midiemu.cpp:82-157
|
||||||
|
|
||||||
WHDLoad autoboot requires whdboot/ directory in system_dir with boot-data.zip,
|
Keyboard MCU emulation (keyboard_mode setting) loads MCU ROMs via ROM
|
||||||
WHDLoad, AmiQuit, JST, whdload_db.xml. These ship with the standalone build
|
database scanning. Three MCU types supported: 6570-036 (A500/A600/A1000),
|
||||||
but must be obtained separately for the libretro core.
|
68HC05 (A1200), D8039HLC (A2000).
|
||||||
ref: libretro/libretro.cpp:1151-1184
|
ref: src/kbmcu/keyboard_mcu_6500_1.cpp:385, keyboard_mcu_6805.cpp:544,
|
||||||
|
keyboard_mcu_d8039hlc.cpp:235
|
||||||
|
|
||||||
|
WHDLoad autoboot requires whdboot/ directory 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: src/osdep/amiberry_whdbooter.cpp:1380-1565
|
||||||
|
|
||||||
files:
|
files:
|
||||||
# --- Kickstart ROMs (searched by find_kickstart_in_system_dir) ---
|
# --- Kickstart ROMs ---
|
||||||
# ref: libretro/libretro.cpp:1502-1565
|
# Libretro: find_kickstart_in_system_dir() with per-model candidate lists
|
||||||
|
# Standalone: get_kickstart_filehandle() with ROM database + config
|
||||||
|
# ref: libretro/libretro.cpp:1503-1566, src/memory.cpp:2030-2072
|
||||||
|
|
||||||
- name: kick13.rom
|
- name: kick13.rom
|
||||||
system: commodore-amiga
|
system: commodore-amiga
|
||||||
required: true
|
required: true
|
||||||
size: 262144
|
size: 262144
|
||||||
note: "A500 Kickstart v1.3 rev 34.005, default for A500 model"
|
note: "A500 Kickstart v1.3 rev 34.005, default for A500 model"
|
||||||
source_ref: "libretro/libretro.cpp:1516 candidates_a500"
|
source_ref: "libretro/libretro.cpp:1517 candidates_a500"
|
||||||
|
|
||||||
- name: kick12.rom
|
- name: kick12.rom
|
||||||
system: commodore-amiga
|
system: commodore-amiga
|
||||||
required: false
|
required: false
|
||||||
size: 262144
|
size: 262144
|
||||||
note: "A500 Kickstart v1.2 rev 33.180, for A500OG model"
|
note: "A500 Kickstart v1.2 rev 33.180, for A500OG model"
|
||||||
source_ref: "libretro/libretro.cpp:1515 candidates_a500og"
|
source_ref: "libretro/libretro.cpp:1516 candidates_a500og"
|
||||||
|
|
||||||
- name: kick20.rom
|
- name: kick20.rom
|
||||||
system: commodore-amiga
|
system: commodore-amiga
|
||||||
@@ -63,41 +78,41 @@ files:
|
|||||||
size: 524288
|
size: 524288
|
||||||
aliases: [kick204.rom]
|
aliases: [kick204.rom]
|
||||||
note: "A500+ Kickstart v2.04 rev 37.175"
|
note: "A500+ Kickstart v2.04 rev 37.175"
|
||||||
source_ref: "libretro/libretro.cpp:1517 candidates_a500p"
|
source_ref: "libretro/libretro.cpp:1518 candidates_a500p"
|
||||||
|
|
||||||
- name: kick205.rom
|
- name: kick205.rom
|
||||||
system: commodore-amiga
|
system: commodore-amiga
|
||||||
required: false
|
required: false
|
||||||
size: 524288
|
size: 524288
|
||||||
note: "A600 Kickstart v2.05 rev 37.350, also used for WHDLoad"
|
note: "A600 Kickstart v2.05 rev 37.350, also used for WHDLoad"
|
||||||
source_ref: "libretro/libretro.cpp:1518 candidates_a600, 1479 pick_whdload_kickstart"
|
source_ref: "libretro/libretro.cpp:1519 candidates_a600"
|
||||||
|
|
||||||
- name: kick31.rom
|
- name: kick31.rom
|
||||||
system: commodore-amiga
|
system: commodore-amiga
|
||||||
required: false
|
required: false
|
||||||
size: 524288
|
size: 524288
|
||||||
note: "Kickstart v3.1 (generic), first candidate for A1200 and A4000"
|
note: "Kickstart v3.1 (generic), first candidate for A1200 and A4000"
|
||||||
source_ref: "libretro/libretro.cpp:1519-1520 candidates_a1200/a4000"
|
source_ref: "libretro/libretro.cpp:1520-1521 candidates_a1200/a4000"
|
||||||
|
|
||||||
- name: kick40068.A1200
|
- name: kick40068.A1200
|
||||||
system: commodore-amiga
|
system: commodore-amiga
|
||||||
required: false
|
required: false
|
||||||
size: 524288
|
size: 524288
|
||||||
note: "A1200 Kickstart v3.1 rev 40.68, fallback after kick31.rom"
|
note: "A1200 Kickstart v3.1 rev 40.68, fallback after kick31.rom"
|
||||||
source_ref: "libretro/libretro.cpp:1519 candidates_a1200"
|
source_ref: "libretro/libretro.cpp:1520 candidates_a1200"
|
||||||
|
|
||||||
- name: kick40068.A4000
|
- name: kick40068.A4000
|
||||||
system: commodore-amiga
|
system: commodore-amiga
|
||||||
required: false
|
required: false
|
||||||
size: 524288
|
size: 524288
|
||||||
note: "A4000 Kickstart v3.1 rev 40.68, fallback after kick31.rom"
|
note: "A4000 Kickstart v3.1 rev 40.68, fallback after kick31.rom"
|
||||||
source_ref: "libretro/libretro.cpp:1520 candidates_a4000"
|
source_ref: "libretro/libretro.cpp:1521 candidates_a4000"
|
||||||
|
|
||||||
- name: kick.rom
|
- name: kick.rom
|
||||||
system: commodore-amiga
|
system: commodore-amiga
|
||||||
required: false
|
required: false
|
||||||
note: "Generic name, any Kickstart ROM. Last resort fallback for all models."
|
note: "Generic name, any Kickstart ROM. Last resort fallback for all models."
|
||||||
source_ref: "libretro/libretro.cpp:1510-1521 last in all candidate lists"
|
source_ref: "libretro/libretro.cpp:1510-1522 last in all candidate lists"
|
||||||
|
|
||||||
# --- CD32 ROMs ---
|
# --- CD32 ROMs ---
|
||||||
|
|
||||||
@@ -107,7 +122,7 @@ files:
|
|||||||
size: 524288
|
size: 524288
|
||||||
aliases: [amiga-os-310-cd32.rom, kick40060.CD32]
|
aliases: [amiga-os-310-cd32.rom, kick40060.CD32]
|
||||||
note: "CD32 Kickstart v3.1 rev 40.60"
|
note: "CD32 Kickstart v3.1 rev 40.60"
|
||||||
source_ref: "libretro/libretro.cpp:1521 candidates_cd32"
|
source_ref: "libretro/libretro.cpp:1522 candidates_cd32"
|
||||||
|
|
||||||
- name: cd32ext.rom
|
- name: cd32ext.rom
|
||||||
system: commodore-cd32
|
system: commodore-cd32
|
||||||
@@ -115,7 +130,7 @@ files:
|
|||||||
size: 524288
|
size: 524288
|
||||||
aliases: [amiga-ext-310-cd32.rom, "CD32 Extended.ROM"]
|
aliases: [amiga-ext-310-cd32.rom, "CD32 Extended.ROM"]
|
||||||
note: "CD32 extended ROM rev 40.60. Not needed if using a combined 1MB 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)"
|
source_ref: "libretro/libretro.cpp:1580 candidates_cd32 (find_ext_rom_in_system_dir)"
|
||||||
|
|
||||||
# --- CDTV ROMs ---
|
# --- CDTV ROMs ---
|
||||||
|
|
||||||
@@ -124,17 +139,17 @@ files:
|
|||||||
required: false
|
required: false
|
||||||
aliases: [kick34005.CDTV]
|
aliases: [kick34005.CDTV]
|
||||||
note: "CDTV extended ROM v1.00, used as kickstart candidate"
|
note: "CDTV extended ROM v1.00, used as kickstart candidate"
|
||||||
source_ref: "libretro/libretro.cpp:1522 candidates_cdtv"
|
source_ref: "libretro/libretro.cpp:1523 candidates_cdtv"
|
||||||
|
|
||||||
- name: cdtvext.rom
|
- name: cdtvext.rom
|
||||||
system: commodore-cdtv
|
system: commodore-cdtv
|
||||||
required: false
|
required: false
|
||||||
aliases: ["CDTV Extended.ROM"]
|
aliases: ["CDTV Extended.ROM"]
|
||||||
note: "CDTV extended ROM file"
|
note: "CDTV extended ROM file"
|
||||||
source_ref: "libretro/libretro.cpp:1581 candidates_cdtv (find_ext_rom_in_system_dir)"
|
source_ref: "libretro/libretro.cpp:1582 candidates_cdtv (find_ext_rom_in_system_dir)"
|
||||||
|
|
||||||
# --- AROS replacement ROMs ---
|
# --- AROS replacement ROMs ---
|
||||||
# ref: src/memory.cpp:1871-1930 load_kickstart_replacement
|
# ref: src/memory.cpp:1871-1954 load_kickstart_replacement
|
||||||
|
|
||||||
- name: aros-ext.bin
|
- name: aros-ext.bin
|
||||||
system: commodore-amiga
|
system: commodore-amiga
|
||||||
@@ -156,36 +171,78 @@ files:
|
|||||||
system: commodore-amiga
|
system: commodore-amiga
|
||||||
required: false
|
required: false
|
||||||
note: "Decryption key for Cloanto Amiga Forever encrypted ROMs"
|
note: "Decryption key for Cloanto Amiga Forever encrypted ROMs"
|
||||||
source_ref: "src/rommgr.cpp:1738 AMIROMTYPE1 decryption"
|
source_ref: "src/rommgr.cpp:1444-1525 load_keyring"
|
||||||
|
|
||||||
|
# --- Keyboard MCU ROMs ---
|
||||||
|
# Loaded when keyboard_mode is set to MCU emulation.
|
||||||
|
# Found via ROM database scanning (SHA1/CRC32 identification).
|
||||||
|
# ref: src/kbmcu/keyboard_mcu_*.cpp
|
||||||
|
|
||||||
|
- name: "6570-036.rom"
|
||||||
|
system: commodore-amiga
|
||||||
|
required: false
|
||||||
|
size: 2048
|
||||||
|
note: "6500-1/6570-036 keyboard MCU ROM for A500/A600/A1000 models"
|
||||||
|
source_ref: "src/kbmcu/keyboard_mcu_6500_1.cpp:385-408 keymcu_reset, src/rommgr.cpp:126 ROM ID 321"
|
||||||
|
|
||||||
|
- name: "68HC05.rom"
|
||||||
|
system: commodore-amiga
|
||||||
|
required: false
|
||||||
|
size: 8192
|
||||||
|
note: "68HC05 keyboard MCU ROM for A1200"
|
||||||
|
source_ref: "src/kbmcu/keyboard_mcu_6805.cpp:544-567 keymcu2_reset, src/rommgr.cpp:128 ROM ID 322"
|
||||||
|
|
||||||
|
- name: "D8039HLC.rom"
|
||||||
|
system: commodore-amiga
|
||||||
|
required: false
|
||||||
|
size: 2048
|
||||||
|
note: "D8039HLC keyboard MCU ROM for A2000"
|
||||||
|
source_ref: "src/kbmcu/keyboard_mcu_d8039hlc.cpp:235-258 keymcu3_reset, src/rommgr.cpp:130 ROM ID 323"
|
||||||
|
|
||||||
# --- Munt MT-32/CM-32L MIDI ROMs ---
|
# --- Munt MT-32/CM-32L MIDI ROMs ---
|
||||||
# Located in mt32-roms/ subdirectory of the ROM path
|
# Located in mt32-roms/ subdirectory of the ROM path.
|
||||||
# ref: src/midiemu.cpp:120-157 midi_emu_add_roms
|
# Code appends .rom extension and tries uppercase .ROM as fallback.
|
||||||
|
# Split ROM pairs (e.g. pcm_mt32_l.rom + pcm_mt32_h.rom) also supported.
|
||||||
|
# ref: src/midiemu.cpp:82-157 midi_emu_add_roms
|
||||||
|
|
||||||
- name: mt32-roms/mt32_control.rom
|
- name: mt32-roms/mt32_control.rom
|
||||||
system: commodore-amiga
|
system: commodore-amiga
|
||||||
required: false
|
required: false
|
||||||
aliases: [mt32-roms/ctrl_mt32.rom, mt32-roms/MT32_CONTROL.rom]
|
aliases:
|
||||||
|
- mt32-roms/ctrl_mt32.rom
|
||||||
|
- mt32-roms/ctrl_mt32_1_07.rom
|
||||||
|
- mt32-roms/ctrl_mt32_1_06.rom
|
||||||
|
- mt32-roms/ctrl_mt32_1_05.rom
|
||||||
|
- mt32-roms/ctrl_mt32_1_04.rom
|
||||||
|
- mt32-roms/ctrl_mt32_bluer.rom
|
||||||
|
- mt32-roms/ctrl_mt32_2_04.rom
|
||||||
|
- mt32-roms/ctrl_mt32_2_07.rom
|
||||||
|
- mt32-roms/ctrl_mt32_2_06.rom
|
||||||
|
- mt32-roms/ctrl_mt32_2_03.rom
|
||||||
note: "Roland MT-32 control ROM for Munt MIDI emulation"
|
note: "Roland MT-32 control ROM for Munt MIDI emulation"
|
||||||
source_ref: "src/midiemu.cpp:38-61 mt32ctl candidates, 151-156 load loop"
|
source_ref: "src/midiemu.cpp:38-62 mt32ctl candidates, 151-156 load loop"
|
||||||
|
|
||||||
- name: mt32-roms/pcm_mt32.rom
|
- name: mt32-roms/pcm_mt32.rom
|
||||||
system: commodore-amiga
|
system: commodore-amiga
|
||||||
required: false
|
required: false
|
||||||
aliases: [mt32-roms/mt32_pcm.rom, mt32-roms/MT32_PCM.rom, mt32-roms/PCM_MT32.rom]
|
aliases: [mt32-roms/mt32_pcm.rom]
|
||||||
note: "Roland MT-32 PCM ROM for Munt MIDI emulation"
|
note: "Roland MT-32 PCM ROM for Munt MIDI emulation"
|
||||||
source_ref: "src/midiemu.cpp:133-140 MT-32 PCM loading"
|
source_ref: "src/midiemu.cpp:133-140 MT-32 PCM loading"
|
||||||
|
|
||||||
- name: mt32-roms/cm32l_control.rom
|
- name: mt32-roms/cm32l_control.rom
|
||||||
system: commodore-amiga
|
system: commodore-amiga
|
||||||
required: false
|
required: false
|
||||||
aliases: [mt32-roms/ctrl_cm32l.rom, mt32-roms/CM32L_CONTROL.rom]
|
aliases:
|
||||||
|
- mt32-roms/ctrl_cm32l.rom
|
||||||
|
- mt32-roms/ctrl_cm32ln_1_00.rom
|
||||||
|
- mt32-roms/ctrl_cm32l_1_02.rom
|
||||||
|
- mt32-roms/ctrl_cm32l_1_00.rom
|
||||||
note: "Roland CM-32L control ROM for Munt MIDI emulation"
|
note: "Roland CM-32L control ROM for Munt MIDI emulation"
|
||||||
source_ref: "src/midiemu.cpp:25-37 cm32lctl candidates, 151-156 load loop"
|
source_ref: "src/midiemu.cpp:25-37 cm32lctl candidates, 151-156 load loop"
|
||||||
|
|
||||||
- name: mt32-roms/pcm_cm32l.rom
|
- name: mt32-roms/pcm_cm32l.rom
|
||||||
system: commodore-amiga
|
system: commodore-amiga
|
||||||
required: false
|
required: false
|
||||||
aliases: [mt32-roms/cm32l_pcm.rom, mt32-roms/PCM_CM32L.rom, mt32-roms/CM32L_PCM.rom]
|
aliases: [mt32-roms/cm32l_pcm.rom]
|
||||||
note: "Roland CM-32L PCM ROM for Munt MIDI emulation"
|
note: "Roland CM-32L PCM ROM for Munt MIDI emulation"
|
||||||
source_ref: "src/midiemu.cpp:142-149 CM-32L PCM loading"
|
source_ref: "src/midiemu.cpp:142-149 CM-32L PCM loading"
|
||||||
|
|||||||
55
emulators/citron.yml
Normal file
55
emulators/citron.yml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
emulator: Citron
|
||||||
|
type: standalone
|
||||||
|
core_classification: community_fork
|
||||||
|
source: "https://git.citron-emu.org/citron-emu/Citron"
|
||||||
|
upstream: "https://git.citron-emu.org/citron-emu/Citron"
|
||||||
|
profiled_date: "2026-03-26"
|
||||||
|
core_version: "2026.03.12"
|
||||||
|
display_name: "Citron (Nintendo Switch)"
|
||||||
|
systems: [nintendo-switch]
|
||||||
|
analysis_date: "2026-03-26"
|
||||||
|
analysis_commit: "79dee42 (depth=1)"
|
||||||
|
mode: standalone
|
||||||
|
|
||||||
|
# Citron is a community fork of yuzu, continued by Zephyron after yuzu's takedown.
|
||||||
|
# Key files loaded from <data_dir>/keys/ (fs_paths.h:18, path_util.cpp:124).
|
||||||
|
# On Linux: $XDG_DATA_HOME/citron/keys/
|
||||||
|
# On Batocera: XDG_DATA_HOME=/userdata/saves/switch → /userdata/saves/switch/citron/keys/
|
||||||
|
# Firmware NCAs are installed into NAND via UI (main.cpp:1808), not placed as files.
|
||||||
|
# HLE fallbacks exist for fonts, timezone, system version, mii model, ng word lists.
|
||||||
|
|
||||||
|
files:
|
||||||
|
- name: "prod.keys"
|
||||||
|
required: true
|
||||||
|
path: "switch/"
|
||||||
|
mode: standalone
|
||||||
|
note: "Production keys for NCA decryption (master, key area, header, titlekek)"
|
||||||
|
source_ref: "src/core/crypto/key_manager.cpp:655-656"
|
||||||
|
|
||||||
|
- name: "title.keys"
|
||||||
|
required: false
|
||||||
|
path: "switch/"
|
||||||
|
mode: standalone
|
||||||
|
note: "Per-title encryption keys (rights_id to titlekey mappings)"
|
||||||
|
source_ref: "src/core/crypto/key_manager.cpp:659-660"
|
||||||
|
|
||||||
|
- name: "console.keys"
|
||||||
|
required: false
|
||||||
|
path: "switch/"
|
||||||
|
mode: standalone
|
||||||
|
note: "Console-specific keys (BIS, SD seed)"
|
||||||
|
source_ref: "src/core/crypto/key_manager.cpp:661-662"
|
||||||
|
|
||||||
|
- name: "key_retail.bin"
|
||||||
|
required: false
|
||||||
|
path: "switch/"
|
||||||
|
size: 160
|
||||||
|
mode: standalone
|
||||||
|
note: "Amiibo decryption keys (two InternalKey structs, 0x50 bytes each)"
|
||||||
|
source_ref: "src/core/hle/service/nfc/common/amiibo_crypto.cpp:274-292"
|
||||||
|
|
||||||
|
notes: |
|
||||||
|
Citron is a standalone Nintendo Switch emulator, community fork of yuzu by Zephyron.
|
||||||
|
dev.keys can be used instead of prod.keys when use_dev_keys is enabled (for Switch dev units).
|
||||||
|
Firmware (system NCAs) must be installed through Citron's UI from a firmware ZIP or NCA files.
|
||||||
|
Required for commercial games. Homebrew (.nro, .nso) can run without keys or firmware.
|
||||||
157
emulators/demul.yml
Normal file
157
emulators/demul.yml
Normal file
@@ -0,0 +1,157 @@
|
|||||||
|
emulator: Demul
|
||||||
|
type: standalone
|
||||||
|
upstream: "https://demul.emulation64.com"
|
||||||
|
profiled_date: "2026-03-26"
|
||||||
|
core_version: "0.7"
|
||||||
|
display_name: "Sega - Dreamcast/NAOMI/Hikaru (Demul)"
|
||||||
|
cores:
|
||||||
|
- demul
|
||||||
|
systems:
|
||||||
|
- sega-dreamcast
|
||||||
|
- sega-naomi
|
||||||
|
- sega-naomi2
|
||||||
|
- sega-hikaru
|
||||||
|
- sammy-atomiswave
|
||||||
|
- sega-system-sp
|
||||||
|
- gaelco-powervr
|
||||||
|
- cave-cv1000
|
||||||
|
|
||||||
|
notes: |
|
||||||
|
Closed-source Windows emulator for Sega Dreamcast and related arcade hardware.
|
||||||
|
Run via Wine (32-bit, win32 prefix) on Linux platforms (Batocera, RetroBat).
|
||||||
|
Uses MAME ROM naming conventions for arcade BIOS archives.
|
||||||
|
|
||||||
|
Batocera configgen (demulGenerator.py) maps roms0 to the BIOS directory.
|
||||||
|
All BIOS ZIPs are placed directly in bios/ (no subdirectory prefix).
|
||||||
|
Demul searches configured ROM paths for both game ROMs and BIOS archives.
|
||||||
|
|
||||||
|
Gaelco PowerVR and Cave CV1000 (3rd gen) games are self-contained ROM sets
|
||||||
|
and do not require separate BIOS archives.
|
||||||
|
|
||||||
|
HLE MIE emulation available (changelog: "full HLE MIE" mode). LLE mode
|
||||||
|
requires mie.zip with the 315-6146 MCU firmware.
|
||||||
|
|
||||||
|
Supported launch modes via -run= parameter:
|
||||||
|
dc, naomi, naomi2, hikaru, atomiswave, gaelco, cave3rd, segasp.
|
||||||
|
|
||||||
|
BIOS requirements verified against Batocera configgen, batocera-systems
|
||||||
|
declarations, MAME ROM set conventions, and community documentation.
|
||||||
|
No source code available for direct verification.
|
||||||
|
|
||||||
|
files:
|
||||||
|
# -------------------------------------------------------
|
||||||
|
# Sega Dreamcast
|
||||||
|
# -------------------------------------------------------
|
||||||
|
- name: dc_boot.bin
|
||||||
|
system: sega-dreamcast
|
||||||
|
required: true
|
||||||
|
size: 2097152
|
||||||
|
note: "Dreamcast boot ROM (2 MB). No HLE fallback in Demul."
|
||||||
|
|
||||||
|
- name: dc_flash.bin
|
||||||
|
system: sega-dreamcast
|
||||||
|
required: false
|
||||||
|
size: 131072
|
||||||
|
note: "Dreamcast flash memory (128 KB). Created by emulator if missing."
|
||||||
|
|
||||||
|
# -------------------------------------------------------
|
||||||
|
# Sega NAOMI
|
||||||
|
# -------------------------------------------------------
|
||||||
|
- name: naomi.zip
|
||||||
|
system: sega-naomi
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
note: >
|
||||||
|
NAOMI system BIOS archive (MAME format). Contains region-specific
|
||||||
|
BIOS ROMs (EPR-21576 Japan, EPR-21577 USA, EPR-21578 Export,
|
||||||
|
EPR-21579 Korea) plus development and special BIOS variants.
|
||||||
|
|
||||||
|
- name: naomigd.zip
|
||||||
|
system: sega-naomi
|
||||||
|
required: false
|
||||||
|
category: bios_zip
|
||||||
|
note: "NAOMI GD-ROM BIOS. Shares ROMs with naomi.zip (subset of region BIOS variants)."
|
||||||
|
|
||||||
|
- name: hod2bios.zip
|
||||||
|
system: sega-naomi
|
||||||
|
required: false
|
||||||
|
category: bios_zip
|
||||||
|
note: "House of the Dead 2 game-specific BIOS. Japan/USA/Export variants."
|
||||||
|
|
||||||
|
- name: f355bios.zip
|
||||||
|
system: sega-naomi
|
||||||
|
required: false
|
||||||
|
category: bios_zip
|
||||||
|
note: "Ferrari F355 Challenge game-specific BIOS. Japan/USA/Export variants."
|
||||||
|
|
||||||
|
- name: f355dlx.zip
|
||||||
|
system: sega-naomi
|
||||||
|
required: false
|
||||||
|
category: bios_zip
|
||||||
|
note: "Ferrari F355 Challenge Deluxe game-specific BIOS. Japan/USA/Export variants."
|
||||||
|
|
||||||
|
- name: airlbios.zip
|
||||||
|
system: sega-naomi
|
||||||
|
required: false
|
||||||
|
category: bios_zip
|
||||||
|
note: "Airline Pilots Deluxe game-specific BIOS. USA/Export variants."
|
||||||
|
|
||||||
|
# -------------------------------------------------------
|
||||||
|
# Sega NAOMI 2
|
||||||
|
# -------------------------------------------------------
|
||||||
|
- name: naomi2.zip
|
||||||
|
system: sega-naomi2
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
note: >
|
||||||
|
NAOMI 2 system BIOS archive (MAME format). Contains region-specific
|
||||||
|
BIOS ROMs (EPR-23605 Japan, EPR-23607 USA, EPR-23608 Export,
|
||||||
|
EPR-23609 Korea, EPR-23610 Australia).
|
||||||
|
|
||||||
|
# -------------------------------------------------------
|
||||||
|
# Sega Hikaru
|
||||||
|
# -------------------------------------------------------
|
||||||
|
- name: hikaru.zip
|
||||||
|
system: sega-hikaru
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
note: >
|
||||||
|
Hikaru system BIOS archive (MAME format). Contains EPR-23400a (latest),
|
||||||
|
EPR-23400, EPR-21904 (early), prot_bot (dev/prototype). All 2 MB at IC94.
|
||||||
|
|
||||||
|
# -------------------------------------------------------
|
||||||
|
# Sammy Atomiswave
|
||||||
|
# -------------------------------------------------------
|
||||||
|
- name: awbios.zip
|
||||||
|
system: sammy-atomiswave
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
note: "Atomiswave system BIOS archive (MAME format). Contains bios0.ic23 and bios1.ic23 (128 KB each)."
|
||||||
|
|
||||||
|
# -------------------------------------------------------
|
||||||
|
# Sega System SP
|
||||||
|
# -------------------------------------------------------
|
||||||
|
- name: segasp.zip
|
||||||
|
system: sega-system-sp
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
note: >
|
||||||
|
System SP (Aurora/Spider) BIOS archive (MAME format). Contains
|
||||||
|
EPR-24236a, EPR-24328/a BIOS ROMs, serial EEPROM, and network
|
||||||
|
firmware variants.
|
||||||
|
|
||||||
|
# -------------------------------------------------------
|
||||||
|
# Device ROMs (NAOMI / NAOMI 2 / Hikaru)
|
||||||
|
# -------------------------------------------------------
|
||||||
|
- name: mie.zip
|
||||||
|
required: false
|
||||||
|
hle_fallback: true
|
||||||
|
category: bios_zip
|
||||||
|
note: "MIE (Maple-JVS bridge) Z80 MCU firmware (315-6146.bin). HLE mode available; LLE mode requires this archive."
|
||||||
|
|
||||||
|
- name: jvs13551.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
note: >
|
||||||
|
Sega 837-13551 JVS I/O board firmware. Contains sp5001.bin,
|
||||||
|
sp5001-a.bin, sp5001-b.bin, sp5002-a.bin, 315-6215.bin.
|
||||||
53
emulators/eka2l1.yml
Normal file
53
emulators/eka2l1.yml
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
emulator: eka2l1
|
||||||
|
type: standalone
|
||||||
|
source: "https://github.com/EKA2L1/EKA2L1"
|
||||||
|
upstream: "https://github.com/EKA2L1/EKA2L1"
|
||||||
|
profiled_date: "2026-03-26"
|
||||||
|
core_version: "continuous"
|
||||||
|
display_name: "EKA2L1 (Symbian OS / N-Gage)"
|
||||||
|
cores:
|
||||||
|
- eka2l1
|
||||||
|
systems:
|
||||||
|
- ngage
|
||||||
|
analysis_date: "2026-03-26"
|
||||||
|
analysis_commit: "e67f84d (depth=1)"
|
||||||
|
mode: standalone
|
||||||
|
|
||||||
|
# EKA2L1 emulates Symbian OS kernel and reimplements critical app servers and
|
||||||
|
# libraries. Supports S60v1 through Symbian Belle, including N-Gage 1.0/2.0.
|
||||||
|
#
|
||||||
|
# Each phone model requires its own ROM dump identified by firmware code.
|
||||||
|
# ROM path at runtime: {storage}/roms/{firmware_code_lowercase}/SYM.ROM
|
||||||
|
# Storage defaults to data/ relative to executable.
|
||||||
|
#
|
||||||
|
# Device installation (GUI or CLI) processes ROM dumps:
|
||||||
|
# - Raw .rom files → copied to roms/{firmcode}/SYM.ROM
|
||||||
|
# - RPKG files → extracted to drives/z/{firmcode}/ (system partition)
|
||||||
|
# - VPL firmware packages → extracted to roms/ and drives/
|
||||||
|
#
|
||||||
|
# drives/z/{firmcode}/ content is generated during installation, not
|
||||||
|
# user-placed. drives/c/, drives/d/, drives/e/ are runtime storage.
|
||||||
|
#
|
||||||
|
# Firmware codes for N-Gage systems:
|
||||||
|
# NEM-4 = Nokia N-Gage (original, S60v1)
|
||||||
|
# RH-29 = Nokia N-Gage QD (S60v1)
|
||||||
|
# For N-Gage 2.0 games, a S60v3 phone ROM is needed (e.g., RM-409 = 5320 XpressMusic).
|
||||||
|
#
|
||||||
|
# No libretro core exists. No .info file.
|
||||||
|
# resources/ files (shaders, soundfonts, gamecontrollerdb.txt) ship with the
|
||||||
|
# emulator distribution, not user-supplied.
|
||||||
|
|
||||||
|
notes: |
|
||||||
|
Pure standalone Symbian OS / N-Gage emulator. No libretro core.
|
||||||
|
Requires phone ROM dumps (SYM.ROM) obtained from real Nokia devices.
|
||||||
|
The emulator supports 100+ Nokia phone models (NEM-4, RH-29, RM-409, etc.).
|
||||||
|
No hash or size validation on the ROM file; the loader parses the ROM structure.
|
||||||
|
Batocera maps the ngage system to eka2l1 in configgen-defaults.yml.
|
||||||
|
No dedicated Batocera configgen generator exists.
|
||||||
|
|
||||||
|
files:
|
||||||
|
- name: "SYM.ROM"
|
||||||
|
required: true
|
||||||
|
mode: standalone
|
||||||
|
description: "Symbian OS phone ROM dump. One per device, placed in roms/{firmware_code}/ subdirectory."
|
||||||
|
source_ref: "src/emu/system/src/epoc.cpp:1225,754-759, src/emu/system/include/system/consts.h:23-25"
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
emulator: FS-UAE
|
emulator: FS-UAE
|
||||||
type: libretro
|
type: standalone + libretro
|
||||||
core_classification: community_fork
|
core_classification: community_fork
|
||||||
source: "https://github.com/libretro/libretro-fsuae"
|
source: "https://github.com/libretro/libretro-fsuae"
|
||||||
upstream: "https://github.com/FrodeSolheim/fs-uae"
|
upstream: "https://github.com/FrodeSolheim/fs-uae"
|
||||||
profiled_date: "2026-03-23"
|
profiled_date: "2026-03-26"
|
||||||
core_version: "v2.7.15"
|
core_version: "v5.0.7"
|
||||||
display_name: "Commodore - Amiga (FS-UAE)"
|
display_name: "Commodore - Amiga (FS-UAE)"
|
||||||
cores:
|
cores:
|
||||||
- fsuae
|
- fsuae
|
||||||
@@ -14,122 +14,143 @@ systems:
|
|||||||
notes: |
|
notes: |
|
||||||
FS-UAE is an Amiga emulator by Frode Solheim, based on UAE/WinUAE.
|
FS-UAE is an Amiga emulator by Frode Solheim, based on UAE/WinUAE.
|
||||||
|
|
||||||
ROMs loaded from save_dir/fsuae/Kickstarts/ (not system_dir).
|
Standalone: scans --kickstarts_dir for .rom/.bin files (default: Documents/FS-UAE/Kickstarts/).
|
||||||
base_dir = RETRO_ENVIRONMENT_GET_SAVE_DIRECTORY/fsuae (paths.c:197).
|
Batocera overrides to bios/amiga/ via --kickstarts_dir (fsuaePaths.py:8, fsuaeGenerator.py:68).
|
||||||
Also scans base_dir/AmigaForever/Amiga Files/Shared/rom/ (config.c:129-135).
|
Libretro port: scans save_dir/fsuae/Kickstarts/ (frozen at v2.7.15).
|
||||||
Scans for .rom and .bin files. Identification by SHA-1 checksum, not filename.
|
Identification by SHA-1 checksum, not filename (rommgr.cpp:92-151, romservice.py:78-91).
|
||||||
AROS kickstart (512 KB) bundled in fs-uae.dat as fallback for all models.
|
AROS kickstart (1 MB) compiled into binary as fallback for all models (rommgr.cpp:112).
|
||||||
rom.key enables decryption of Cloanto Amiga Forever encrypted ROMs.
|
rom.key searched in kickstart dir and multiple fallback paths (rommgr.cpp:1397-1498).
|
||||||
|
|
||||||
Supported models: A1000, A500, A500+, A600, A1200, A3000, A4000, CD32, CDTV.
|
Supported models: A1000, A500, A500+, A600, A1200, A3000, A4000, A4000T, CD32, CDTV.
|
||||||
Default model is A500 (config.c:42). Each model auto-selects its kickstart
|
Default model is A500. Each model auto-selects its kickstart via quickstart
|
||||||
via quickstart mechanism (cfgfile.c:7111-7154, config.c:140).
|
mechanism (cfgfile.cpp:9468-9517 for A500, cfgfile.cpp:9732-9791 for dispatch).
|
||||||
|
|
||||||
The .info declares firmware_count=0. All ROMs are auto-discovered by
|
ROM database shared between standalone and libretro (same WinUAE-derived rommgr.cpp).
|
||||||
directory scan, not by explicit filename lookup.
|
Upstream v5.0.7 has a larger database (332 vs ~200 ROM IDs in libretro port).
|
||||||
|
Also supports Arcadia, ALG, freezer cartridges, SCSI/CPU board ROMs when configured.
|
||||||
Libretro port is frozen at v2.7.15. Upstream ROM database is larger (3030
|
|
||||||
vs 1980 lines in rommgr). Core functionality equivalent for standard models.
|
|
||||||
|
|
||||||
files:
|
files:
|
||||||
- name: "amiga-os-130.rom"
|
- name: "amiga-os-130.rom"
|
||||||
system: amiga
|
system: amiga
|
||||||
required: false
|
required: false
|
||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
|
size: 262144
|
||||||
sha1: "891e9a547772fe0c6c19b610baf8bc4ea7fcb785"
|
sha1: "891e9a547772fe0c6c19b610baf8bc4ea7fcb785"
|
||||||
validation: [sha1]
|
validation: [sha1]
|
||||||
|
mode: both
|
||||||
note: "Amiga 500 Kickstart 1.3 r34.5. Default model ROM."
|
note: "Amiga 500 Kickstart 1.3 r34.5. Default model ROM."
|
||||||
source_ref: "sources/src/rommgr.c:141-142 (id=6, ROMTYPE_KICK)"
|
source_ref: "rommgr.cpp:150-151 (id=6, ROMTYPE_KICK)"
|
||||||
|
|
||||||
- name: "amiga-os-204.rom"
|
- name: "amiga-os-204.rom"
|
||||||
system: amiga
|
system: amiga
|
||||||
required: false
|
required: false
|
||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
|
size: 524288
|
||||||
sha1: "c5839f5cb98a7a8947065c3ed2f14f5f42e334a1"
|
sha1: "c5839f5cb98a7a8947065c3ed2f14f5f42e334a1"
|
||||||
validation: [sha1]
|
validation: [sha1]
|
||||||
|
mode: both
|
||||||
note: "Amiga 500+ Kickstart 2.04 r37.175."
|
note: "Amiga 500+ Kickstart 2.04 r37.175."
|
||||||
source_ref: "sources/src/rommgr.c:149-150 (id=7, ROMTYPE_KICK)"
|
source_ref: "rommgr.cpp:158-159 (id=7, ROMTYPE_KICK)"
|
||||||
|
|
||||||
- name: "amiga-os-205.rom"
|
- name: "amiga-os-205.rom"
|
||||||
system: amiga
|
system: amiga
|
||||||
required: false
|
required: false
|
||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
|
size: 524288
|
||||||
sha1: "02843c4253bbd29aba535b0aa3bd9a85034ecde4"
|
sha1: "02843c4253bbd29aba535b0aa3bd9a85034ecde4"
|
||||||
validation: [sha1]
|
validation: [sha1]
|
||||||
|
mode: both
|
||||||
note: "Amiga 600 Kickstart 2.05 r37.350."
|
note: "Amiga 600 Kickstart 2.05 r37.350."
|
||||||
source_ref: "sources/src/rommgr.c:155-156 (id=10, ROMTYPE_KICK)"
|
source_ref: "rommgr.cpp:164-165 (id=10, ROMTYPE_KICK)"
|
||||||
|
|
||||||
- name: "amiga-os-120.rom"
|
- name: "amiga-os-120.rom"
|
||||||
system: amiga
|
system: amiga
|
||||||
required: false
|
required: false
|
||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
|
size: 262144
|
||||||
sha1: "11f9e62cf299f72184835b7b2a70a16333fc0d88"
|
sha1: "11f9e62cf299f72184835b7b2a70a16333fc0d88"
|
||||||
validation: [sha1]
|
validation: [sha1]
|
||||||
|
mode: both
|
||||||
note: "Amiga 1000 Kickstart 1.2 r33.180."
|
note: "Amiga 1000 Kickstart 1.2 r33.180."
|
||||||
source_ref: "sources/src/rommgr.c:139-140 (id=5, ROMTYPE_KICK)"
|
source_ref: "rommgr.cpp:148-149 (id=5, ROMTYPE_KICK)"
|
||||||
|
|
||||||
- name: "amiga-os-310-a1200.rom"
|
- name: "amiga-os-310-a1200.rom"
|
||||||
system: amiga
|
system: amiga
|
||||||
required: false
|
required: false
|
||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
|
size: 524288
|
||||||
sha1: "e21545723fe8374e91342617604f1b3d703094f1"
|
sha1: "e21545723fe8374e91342617604f1b3d703094f1"
|
||||||
validation: [sha1]
|
validation: [sha1]
|
||||||
|
mode: both
|
||||||
note: "Amiga 1200 Kickstart 3.1 r40.68."
|
note: "Amiga 1200 Kickstart 3.1 r40.68."
|
||||||
source_ref: "sources/src/rommgr.c:176-177 (id=15, ROMTYPE_KICK)"
|
source_ref: "rommgr.cpp:185-186 (id=15, ROMTYPE_KICK)"
|
||||||
|
|
||||||
- name: "amiga-os-310-a3000.rom"
|
- name: "amiga-os-310-a3000.rom"
|
||||||
system: amiga
|
system: amiga
|
||||||
required: false
|
required: false
|
||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
|
size: 524288
|
||||||
sha1: "f8e210d72b4c4853e0c9b85d223ba20e3d1b36ee"
|
sha1: "f8e210d72b4c4853e0c9b85d223ba20e3d1b36ee"
|
||||||
validation: [sha1]
|
validation: [sha1]
|
||||||
|
mode: both
|
||||||
note: "Amiga 3000 Kickstart 3.1 r40.68."
|
note: "Amiga 3000 Kickstart 3.1 r40.68."
|
||||||
source_ref: "sources/src/rommgr.c:180-181 (id=61, ROMTYPE_KICK)"
|
source_ref: "rommgr.cpp:189-190 (id=61, ROMTYPE_KICK)"
|
||||||
|
|
||||||
- name: "amiga-os-310-a4000.rom"
|
- name: "amiga-os-310-a4000.rom"
|
||||||
system: amiga
|
system: amiga
|
||||||
required: false
|
required: false
|
||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
|
size: 524288
|
||||||
sha1: "5fe04842d04a489720f0f4bb0e46948199406f49"
|
sha1: "5fe04842d04a489720f0f4bb0e46948199406f49"
|
||||||
validation: [sha1]
|
validation: [sha1]
|
||||||
|
mode: both
|
||||||
note: "Amiga 4000 Kickstart 3.1 r40.68."
|
note: "Amiga 4000 Kickstart 3.1 r40.68."
|
||||||
source_ref: "sources/src/rommgr.c:186-187 (id=16, ROMTYPE_KICK)"
|
source_ref: "rommgr.cpp:195-196 (id=16, ROMTYPE_KICK)"
|
||||||
|
|
||||||
- name: "amiga-os-310-cd32.rom"
|
- name: "amiga-os-310-cd32.rom"
|
||||||
system: amiga
|
system: amiga
|
||||||
required: false
|
required: false
|
||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
|
size: 524288
|
||||||
sha1: "3525be8887f79b5929e017b42380a79edfee542d"
|
sha1: "3525be8887f79b5929e017b42380a79edfee542d"
|
||||||
validation: [sha1]
|
validation: [sha1]
|
||||||
|
mode: both
|
||||||
note: "Amiga CD32 Kickstart 3.1 r40.60."
|
note: "Amiga CD32 Kickstart 3.1 r40.60."
|
||||||
source_ref: "sources/src/rommgr.c:197-198 (id=18, ROMTYPE_KICKCD32)"
|
source_ref: "rommgr.cpp:312-313 (id=18, ROMTYPE_KICKCD32)"
|
||||||
|
|
||||||
- name: "amiga-ext-310-cd32.rom"
|
- name: "amiga-ext-310-cd32.rom"
|
||||||
system: amiga
|
system: amiga
|
||||||
required: false
|
required: false
|
||||||
|
size: 524288
|
||||||
sha1: "5bef3d628ce59cc02a66e6e4ae0da48f60e78f7f"
|
sha1: "5bef3d628ce59cc02a66e6e4ae0da48f60e78f7f"
|
||||||
validation: [sha1]
|
validation: [sha1]
|
||||||
|
mode: both
|
||||||
note: "CD32 extended ROM r40.60. Required for CD32 mode."
|
note: "CD32 extended ROM r40.60. Required for CD32 mode."
|
||||||
source_ref: "sources/src/rommgr.c:199-200 (id=19, ROMTYPE_EXTCD32)"
|
source_ref: "rommgr.cpp:314-315 (id=19, ROMTYPE_EXTCD32)"
|
||||||
|
|
||||||
- name: "cd32fmv.rom"
|
- name: "cd32fmv.rom"
|
||||||
system: amiga
|
system: amiga
|
||||||
required: false
|
required: false
|
||||||
|
size: 262144
|
||||||
sha1: "03ca81c7a7b259cf64bc9582863eca0f6529f435"
|
sha1: "03ca81c7a7b259cf64bc9582863eca0f6529f435"
|
||||||
validation: [sha1]
|
validation: [sha1]
|
||||||
note: "CD32 Full Motion Video cartridge ROM. For CD32/FMV model."
|
mode: both
|
||||||
source_ref: "sources/src/rommgr.c:208-209 (id=23, ROMTYPE_CD32CART)"
|
note: "CD32 Full Motion Video cartridge ROM v40.30. Also accepts v40.22 (391777-01)."
|
||||||
|
source_ref: "rommgr.cpp:323-326 (id=23/74, ROMTYPE_CD32CART)"
|
||||||
|
|
||||||
- name: "amiga-ext-130-cdtv.rom"
|
- name: "amiga-ext-130-cdtv.rom"
|
||||||
system: amiga
|
system: amiga
|
||||||
required: false
|
required: false
|
||||||
|
size: 262144
|
||||||
sha1: "7ba40ffa17e500ed9fed041f3424bd81d9c907be"
|
sha1: "7ba40ffa17e500ed9fed041f3424bd81d9c907be"
|
||||||
validation: [sha1]
|
validation: [sha1]
|
||||||
note: "CDTV extended ROM v1.0. Required for CDTV mode."
|
mode: both
|
||||||
source_ref: "sources/src/rommgr.c:213-214 (id=20, ROMTYPE_EXTCDTV)"
|
note: "CDTV extended ROM v1.0. Required for CDTV mode. Also accepts v2.30 and v2.7."
|
||||||
|
source_ref: "rommgr.cpp:328-329 (id=20, ROMTYPE_EXTCDTV)"
|
||||||
|
|
||||||
- name: "rom.key"
|
- name: "rom.key"
|
||||||
system: amiga
|
system: amiga
|
||||||
required: false
|
required: false
|
||||||
|
mode: both
|
||||||
note: "Cloanto Amiga Forever decryption key. Enables encrypted ROM loading."
|
note: "Cloanto Amiga Forever decryption key. Enables encrypted ROM loading."
|
||||||
source_ref: "libretro/libretro.c:206-222 (addkeyfile via amiga_add_key_dir)"
|
source_ref: "rommgr.cpp:119-124 (ROMTYPE_KEY), rommgr.cpp:1397-1412 (addkeydir)"
|
||||||
|
|||||||
43
emulators/gsplus.yml
Normal file
43
emulators/gsplus.yml
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
emulator: GSplus
|
||||||
|
type: standalone
|
||||||
|
source: "https://github.com/digarok/gsplus"
|
||||||
|
upstream: "https://github.com/digarok/gsplus"
|
||||||
|
profiled_date: "2026-03-26"
|
||||||
|
core_version: "KEGS 1.38"
|
||||||
|
display_name: "Apple - Apple IIGS (GSplus)"
|
||||||
|
cores:
|
||||||
|
- gsplus
|
||||||
|
systems:
|
||||||
|
- apple-iigs
|
||||||
|
|
||||||
|
notes: |
|
||||||
|
Fork of KEGS (Kent's Emulated GS) by digarok. Cross-platform Apple IIGS
|
||||||
|
emulator supporting ROM 01 (128K), ROM 03 (256K), and Apple //e (32K) ROMs.
|
||||||
|
ROM version determined by file size at load time.
|
||||||
|
|
||||||
|
Batocera configgen (gsplusGenerator.py) sets g_cfg_rom_path to bios/ROM.03
|
||||||
|
by default (configurable via gsplus_bios_filename system setting).
|
||||||
|
|
||||||
|
Built-in Disk II controller PROM derived via XOR diffs from main ROM.
|
||||||
|
Built-in HD SmartPort PROM (slot 7) hardcoded in source.
|
||||||
|
Built-in character font (kegsfont.h), optional ROMX-compatible charrom
|
||||||
|
loadable via config UI.
|
||||||
|
|
||||||
|
files:
|
||||||
|
- name: ROM
|
||||||
|
aliases: [ROM.01, ROM.03, APPLE2GS.ROM, APPLE2GS.ROM2, xgs.rom, XGS.ROM, Rom03gd, 342-0077-b]
|
||||||
|
required: true
|
||||||
|
description: "Apple IIGS system ROM"
|
||||||
|
source_ref: "config.c:131,403-407,1092-1149"
|
||||||
|
note: "Accepted sizes: 32768 (Apple //e), 131072 (ROM 01), 262144 (ROM 03)"
|
||||||
|
validation: [size]
|
||||||
|
|
||||||
|
- name: c600.rom
|
||||||
|
aliases: [controller.rom, disk.rom, DISK.ROM, diskII.prom]
|
||||||
|
required: false
|
||||||
|
hle_fallback: true
|
||||||
|
size: 256
|
||||||
|
description: "Disk II controller PROM (slot 6)"
|
||||||
|
validation: [size]
|
||||||
|
source_ref: "config.c:414-415,1188-1220"
|
||||||
|
note: "Built-in PROM generated from XOR diffs against main ROM"
|
||||||
88
emulators/lexaloffle.yml
Normal file
88
emulators/lexaloffle.yml
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
emulator: Lexaloffle
|
||||||
|
type: standalone
|
||||||
|
upstream: "https://www.lexaloffle.com/"
|
||||||
|
profiled_date: "2026-03-26"
|
||||||
|
display_name: "Lexaloffle - PICO-8 / Voxatron"
|
||||||
|
cores:
|
||||||
|
- lexaloffle
|
||||||
|
systems:
|
||||||
|
- pico8
|
||||||
|
- voxatron
|
||||||
|
|
||||||
|
notes: |
|
||||||
|
Commercial fantasy consoles by Lexaloffle Games LLP. Closed-source binaries
|
||||||
|
distributed as ZIP archives from lexaloffle.com (requires purchase).
|
||||||
|
|
||||||
|
Batocera configgen (lexaloffleGenerator.py) handles both systems via a single
|
||||||
|
generator. PICO-8: binary at bios/pico-8/pico8. Voxatron: binary at
|
||||||
|
bios/voxatron/vox. Generator checks binary existence and executable permission,
|
||||||
|
raises BatoceraException if missing. LD_LIBRARY_PATH set to the BIOS directory
|
||||||
|
for shared library resolution.
|
||||||
|
|
||||||
|
Each distribution ships a statically linked binary (pico8/vox) and a dynamically
|
||||||
|
linked variant (pico8_dyn/vox_dyn). Batocera uses the static binary. The .dat
|
||||||
|
file is loaded at startup and contains boot sequence, themes, and internal data.
|
||||||
|
|
||||||
|
PICO-8 supports x86_64 and ARM (Raspberry Pi). Voxatron x86_64 only.
|
||||||
|
Voxatron depends on libHoloPlayCore.so (Looking Glass SDK), compile-time linked.
|
||||||
|
|
||||||
|
files:
|
||||||
|
# -------------------------------------------------------
|
||||||
|
# PICO-8
|
||||||
|
# -------------------------------------------------------
|
||||||
|
- name: pico8
|
||||||
|
path: pico-8/pico8
|
||||||
|
system: pico8
|
||||||
|
required: true
|
||||||
|
description: "PICO-8 main executable (statically linked)"
|
||||||
|
source_ref: "lexaloffleGenerator.py:17,36,48-49"
|
||||||
|
note: "Configgen checks existence and executable permission"
|
||||||
|
|
||||||
|
- name: pico8_dyn
|
||||||
|
path: pico-8/pico8_dyn
|
||||||
|
system: pico8
|
||||||
|
required: false
|
||||||
|
description: "PICO-8 dynamically linked executable"
|
||||||
|
source_ref: "lexaloffleGenerator.py:17,36"
|
||||||
|
note: "Alternative to pico8. Requires system SDL2. Some platforms prefer this variant."
|
||||||
|
|
||||||
|
- name: pico8.dat
|
||||||
|
path: pico-8/pico8.dat
|
||||||
|
system: pico8
|
||||||
|
required: true
|
||||||
|
description: "PICO-8 data file (boot sequence, themes, demo carts)"
|
||||||
|
note: "POD format. Loaded by pico8/pico8_dyn from same directory at startup."
|
||||||
|
|
||||||
|
# -------------------------------------------------------
|
||||||
|
# Voxatron
|
||||||
|
# -------------------------------------------------------
|
||||||
|
- name: vox
|
||||||
|
path: voxatron/vox
|
||||||
|
system: voxatron
|
||||||
|
required: true
|
||||||
|
description: "Voxatron main executable"
|
||||||
|
source_ref: "lexaloffleGenerator.py:20,42,48-49"
|
||||||
|
note: "Configgen checks existence and executable permission. x86_64 only."
|
||||||
|
|
||||||
|
- name: vox_dyn
|
||||||
|
path: voxatron/vox_dyn
|
||||||
|
system: voxatron
|
||||||
|
required: false
|
||||||
|
description: "Voxatron dynamically linked executable"
|
||||||
|
source_ref: "lexaloffleGenerator.py:20,42"
|
||||||
|
note: "Alternative to vox. Requires system SDL2."
|
||||||
|
|
||||||
|
- name: vox.dat
|
||||||
|
path: voxatron/vox.dat
|
||||||
|
system: voxatron
|
||||||
|
required: true
|
||||||
|
description: "Voxatron data file"
|
||||||
|
note: "Loaded by vox/vox_dyn from same directory at startup."
|
||||||
|
|
||||||
|
- name: libHoloPlayCore.so
|
||||||
|
path: voxatron/libHoloPlayCore.so
|
||||||
|
system: voxatron
|
||||||
|
required: true
|
||||||
|
description: "Looking Glass holographic display support library"
|
||||||
|
source_ref: "lexaloffleGenerator.py:89"
|
||||||
|
note: "Compile-time linked dependency. LD_LIBRARY_PATH set to bios/voxatron/ by configgen."
|
||||||
192
emulators/openmsx.yml
Normal file
192
emulators/openmsx.yml
Normal file
@@ -0,0 +1,192 @@
|
|||||||
|
emulator: openMSX
|
||||||
|
type: standalone
|
||||||
|
source: "https://github.com/openMSX/openMSX"
|
||||||
|
upstream: "https://github.com/openMSX/openMSX"
|
||||||
|
profiled_date: "2026-03-26"
|
||||||
|
core_version: "21.0"
|
||||||
|
display_name: "MSX / ColecoVision / Spectravideo (openMSX)"
|
||||||
|
cores:
|
||||||
|
- openmsx
|
||||||
|
systems:
|
||||||
|
- msx
|
||||||
|
- msx1
|
||||||
|
- msx2
|
||||||
|
- msx2+
|
||||||
|
- msxturbor
|
||||||
|
- colecovision
|
||||||
|
- spectravideo
|
||||||
|
|
||||||
|
notes: |
|
||||||
|
Standalone MSX emulator supporting MSX1 through turboR, ColecoVision,
|
||||||
|
Spectravideo, and Pioneer LaserDisc hardware. Uses XML machine definitions
|
||||||
|
(share/machines/) that describe complete hardware configurations and
|
||||||
|
reference system ROMs by filename and SHA1 hash.
|
||||||
|
|
||||||
|
ROM resolution via FilePool (src/file/FilePool.cc, FilePoolCore.cc):
|
||||||
|
searches configured directories for files matching SHA1 checksums.
|
||||||
|
Filenames are secondary hints; SHA1 is the primary lookup key.
|
||||||
|
Files may be gzipped or individually zipped.
|
||||||
|
|
||||||
|
Batocera configgen (openmsxGenerator.py) configures filepool paths
|
||||||
|
(/userdata/bios/Machines position 1, /userdata/bios/openmsx position 2)
|
||||||
|
and selects machines per system type:
|
||||||
|
msx1, msx2 -> Boosted_MSX2_EN (enhanced Philips NMS 8245)
|
||||||
|
msx2+ -> Boosted_MSX2+_JP (enhanced Panasonic FS-A1WSX)
|
||||||
|
msxturbor -> Boosted_MSXturboR_with_IDE (enhanced Panasonic FS-A1GT)
|
||||||
|
colecovision -> ColecoVision_SGM
|
||||||
|
spectravideo -> Spectravideo_SVI-328
|
||||||
|
laserdisc (.ogv) -> Pioneer_PX-7
|
||||||
|
|
||||||
|
C-BIOS (open source MSX BIOS replacement) is shipped with openMSX in
|
||||||
|
Contrib/cbios/ and supports cartridge-only games. Not used by Batocera.
|
||||||
|
|
||||||
|
237 machine definitions exist in total. Each machine has its own ROM
|
||||||
|
requirements. Only ROMs for Batocera-selected machines are listed here.
|
||||||
|
Users selecting other machines via openMSX GUI need additional ROMs.
|
||||||
|
|
||||||
|
files:
|
||||||
|
# -------------------------------------------------------
|
||||||
|
# Boosted_MSX2_EN (msx1, msx2)
|
||||||
|
# Based on Philips NMS 8245 with extra hardware
|
||||||
|
# -------------------------------------------------------
|
||||||
|
- name: NMS8245SystemROM1.08.bin
|
||||||
|
sha1: cc57c1dcd7249ea9f8e2547244592e7d97308ed0
|
||||||
|
required: true
|
||||||
|
size: 65536
|
||||||
|
description: "NMS 8245 combined system ROM (BIOS+BASIC 0x0000-0x7FFF, Sub ROM 0x8000-0xBFFF, FDC 0xC000-0xFFFF)"
|
||||||
|
validation: [sha1]
|
||||||
|
source_ref: "share/machines/Boosted_MSX2_EN.xml:24,65,111"
|
||||||
|
|
||||||
|
- name: fmpac.rom
|
||||||
|
sha1: fec451b9256570a0e4869355a40329c57f40705f
|
||||||
|
required: true
|
||||||
|
description: "Panasonic SW-M004 FMPAC (FM-PAC) sound cartridge ROM"
|
||||||
|
validation: [sha1]
|
||||||
|
source_ref: "share/machines/Boosted_MSX2_EN.xml:83"
|
||||||
|
|
||||||
|
- name: phc-70fd2_basickun.rom
|
||||||
|
sha1: 22b3191d865010264001b9d896186a9818478a6b
|
||||||
|
required: true
|
||||||
|
description: "Sanyo PHC-70FD2 MSX-BASIC Kun compiler ROM"
|
||||||
|
validation: [sha1]
|
||||||
|
source_ref: "share/machines/Boosted_MSX2_EN.xml:89, Boosted_MSX2+_JP.xml:167, Boosted_MSXturboR_with_IDE.xml:79"
|
||||||
|
|
||||||
|
- name: yrw801.rom
|
||||||
|
sha1: 32760893ce06dbe3930627755ba065cc3d8ec6ca
|
||||||
|
required: true
|
||||||
|
description: "Yamaha YRW801 MoonSound wavetable ROM"
|
||||||
|
validation: [sha1]
|
||||||
|
source_ref: "share/machines/Boosted_MSX2_EN.xml:186, Boosted_MSX2+_JP.xml:120, Boosted_MSXturboR_with_IDE.xml:202"
|
||||||
|
|
||||||
|
# -------------------------------------------------------
|
||||||
|
# Boosted_MSX2+_JP (msx2+)
|
||||||
|
# Based on Panasonic FS-A1WSX with extra hardware
|
||||||
|
# -------------------------------------------------------
|
||||||
|
- name: fs-a1wsx_basic-bios2p.rom
|
||||||
|
sha1: f4433752d3bf876bfefb363c749d4d2e08a218b6
|
||||||
|
required: true
|
||||||
|
description: "FS-A1WSX MSX2+ BIOS and BASIC ROM"
|
||||||
|
validation: [sha1]
|
||||||
|
source_ref: "share/machines/Boosted_MSX2+_JP.xml:143"
|
||||||
|
|
||||||
|
- name: fs-a1wsx_fmbasic.rom
|
||||||
|
sha1: aad42ba4289b33d8eed225d42cea930b7fc5c228
|
||||||
|
required: true
|
||||||
|
description: "FS-A1WSX MSX-MUSIC (OPLL) ROM"
|
||||||
|
validation: [sha1]
|
||||||
|
source_ref: "share/machines/Boosted_MSX2+_JP.xml:155"
|
||||||
|
|
||||||
|
- name: fs-a1wsx_msx2psub.rom
|
||||||
|
sha1: fe0254cbfc11405b79e7c86c7769bd6322b04995
|
||||||
|
required: true
|
||||||
|
description: "FS-A1WSX MSX2+ Sub ROM"
|
||||||
|
validation: [sha1]
|
||||||
|
source_ref: "share/machines/Boosted_MSX2+_JP.xml:218"
|
||||||
|
|
||||||
|
- name: fs-a1wsx_kanjibasic.rom
|
||||||
|
sha1: dcc3a67732aa01c4f2ee8d1ad886444a4dbafe06
|
||||||
|
required: true
|
||||||
|
description: "FS-A1WSX Kanji Driver with BASIC ROM"
|
||||||
|
validation: [sha1]
|
||||||
|
source_ref: "share/machines/Boosted_MSX2+_JP.xml:225"
|
||||||
|
|
||||||
|
- name: fs-a1wsx_disk.rom
|
||||||
|
sha1: 7ed7c55e0359737ac5e68d38cb6903f9e5d7c2b6
|
||||||
|
required: true
|
||||||
|
description: "FS-A1WSX FDC (TC8566AF) disk controller ROM"
|
||||||
|
validation: [sha1]
|
||||||
|
source_ref: "share/machines/Boosted_MSX2+_JP.xml:237"
|
||||||
|
|
||||||
|
- name: fs-a1wsx_firmware.rom
|
||||||
|
sha1: 3330d9b6b76e3c4ccb7cf252496ed15d08b95d3f
|
||||||
|
required: true
|
||||||
|
description: "FS-A1WSX Panasonic firmware ROM"
|
||||||
|
validation: [sha1]
|
||||||
|
source_ref: "share/machines/Boosted_MSX2+_JP.xml:251"
|
||||||
|
|
||||||
|
- name: fs-a1wsx_kanjifont.rom
|
||||||
|
sha1: 5aff2d9b6efc723bc395b0f96f0adfa83cc54a49
|
||||||
|
aliases: [fs-a1gt_kanjifont.rom]
|
||||||
|
required: true
|
||||||
|
description: "Kanji font ROM (shared by FS-A1WSX and FS-A1GT machines)"
|
||||||
|
validation: [sha1]
|
||||||
|
source_ref: "share/machines/Boosted_MSX2+_JP.xml:28, Boosted_MSXturboR_with_IDE.xml:215"
|
||||||
|
|
||||||
|
# -------------------------------------------------------
|
||||||
|
# Boosted_MSXturboR_with_IDE (msxturbor)
|
||||||
|
# Based on Panasonic FS-A1GT with IDE interface
|
||||||
|
# -------------------------------------------------------
|
||||||
|
- name: fs-a1gt_firmware.rom
|
||||||
|
sha1:
|
||||||
|
- e779c338eb91a7dea3ff75f3fde76b8af22c4a3a
|
||||||
|
- 5fa3aa79aeba2c0441f349e78e9a16d9d64422ea
|
||||||
|
required: true
|
||||||
|
description: "FS-A1GT turboR combined firmware (512KB, contains BIOS, Sub ROM, Kanji, FDC, MSX-MUSIC, Opening ROM)"
|
||||||
|
validation: [sha1]
|
||||||
|
source_ref: "share/machines/Boosted_MSXturboR_with_IDE.xml:23"
|
||||||
|
|
||||||
|
- name: ide250.dat
|
||||||
|
sha1: 93e41c7d479bc90c1d1f6d081af20fd9924b8ada
|
||||||
|
required: true
|
||||||
|
description: "Sunrise IDE 2.50 interface ROM"
|
||||||
|
validation: [sha1]
|
||||||
|
source_ref: "share/machines/Boosted_MSXturboR_with_IDE.xml:49"
|
||||||
|
|
||||||
|
# -------------------------------------------------------
|
||||||
|
# ColecoVision_SGM (colecovision)
|
||||||
|
# ColecoVision with built-in Super Game Module
|
||||||
|
# -------------------------------------------------------
|
||||||
|
- name: COLECO.ROM
|
||||||
|
sha1: 45bedc4cbdeac66c7df59e9e599195c778d86a92
|
||||||
|
required: true
|
||||||
|
description: "ColecoVision system BIOS ROM"
|
||||||
|
validation: [sha1]
|
||||||
|
source_ref: "share/machines/ColecoVision_SGM.xml:57"
|
||||||
|
|
||||||
|
# -------------------------------------------------------
|
||||||
|
# Spectravideo_SVI-328 (spectravideo)
|
||||||
|
# -------------------------------------------------------
|
||||||
|
- name: svi-3x8_v111.rom
|
||||||
|
sha1: 10349ce675f6d6d47f0976e39cb7188eba858d89
|
||||||
|
required: true
|
||||||
|
description: "SVI-328 BASIC v1.11 ROM"
|
||||||
|
validation: [sha1]
|
||||||
|
source_ref: "share/machines/Spectravideo_SVI-328.xml:52"
|
||||||
|
|
||||||
|
# -------------------------------------------------------
|
||||||
|
# Pioneer_PX-7 (laserdisc)
|
||||||
|
# MSX1 with LaserDisc controller
|
||||||
|
# -------------------------------------------------------
|
||||||
|
- name: px-7_basic-bios1.rom
|
||||||
|
sha1: 302afb5d8be26c758309ca3df611ae69cced2821
|
||||||
|
required: true
|
||||||
|
description: "Pioneer PX-7 MSX1 BIOS and BASIC ROM"
|
||||||
|
validation: [sha1]
|
||||||
|
source_ref: "share/machines/Pioneer_PX-7.xml:67"
|
||||||
|
|
||||||
|
- name: px-7_pbasic.rom
|
||||||
|
sha1: 665d805f96616e1037f1823050657b7849899283
|
||||||
|
required: true
|
||||||
|
description: "Pioneer PX-7 LaserDisc PBASIC controller ROM"
|
||||||
|
validation: [sha1]
|
||||||
|
source_ref: "share/machines/Pioneer_PX-7.xml:82"
|
||||||
45
emulators/ryujinx.yml
Normal file
45
emulators/ryujinx.yml
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
emulator: Ryujinx
|
||||||
|
type: standalone
|
||||||
|
source: "https://git.ngram.ca/mirrors/Ryujinx"
|
||||||
|
upstream: "https://github.com/Ryujinx/Ryujinx"
|
||||||
|
profiled_date: "2026-03-26"
|
||||||
|
core_version: "1.1.1403"
|
||||||
|
display_name: "Ryujinx (Nintendo Switch)"
|
||||||
|
systems: [nintendo-switch]
|
||||||
|
analysis_date: "2026-03-26"
|
||||||
|
analysis_commit: "HEAD (depth=1, ngram.ca mirror)"
|
||||||
|
mode: standalone
|
||||||
|
|
||||||
|
# Key files are read from {BaseDirPath}/system/ (AppDataManager.cs:229)
|
||||||
|
# Also searched in ~/.switch/ (AppDataManager.cs:47)
|
||||||
|
# Batocera copies bios/switch/prod.keys to Ryujinx/system/prod.keys (ryujinxGenerator.py:108)
|
||||||
|
# Firmware NCAs are installed via UI (ContentManager.cs:429), not placed as files
|
||||||
|
|
||||||
|
files:
|
||||||
|
- name: "prod.keys"
|
||||||
|
required: true
|
||||||
|
path: "switch/"
|
||||||
|
mode: standalone
|
||||||
|
note: "Switch production keys for NCA decryption"
|
||||||
|
source_ref: "src/Ryujinx.HLE/FileSystem/VirtualFileSystem.cs:239"
|
||||||
|
|
||||||
|
- name: "title.keys"
|
||||||
|
required: false
|
||||||
|
path: "switch/"
|
||||||
|
mode: standalone
|
||||||
|
note: "Per-title decryption keys, needed for specific game content"
|
||||||
|
source_ref: "src/Ryujinx.HLE/FileSystem/VirtualFileSystem.cs:240"
|
||||||
|
|
||||||
|
- name: "console.keys"
|
||||||
|
required: false
|
||||||
|
path: "switch/"
|
||||||
|
mode: standalone
|
||||||
|
note: "Console-specific keys for encrypted content"
|
||||||
|
source_ref: "src/Ryujinx.HLE/FileSystem/VirtualFileSystem.cs:241"
|
||||||
|
|
||||||
|
notes: |
|
||||||
|
Ryujinx is a standalone Nintendo Switch emulator written in C#, created by gdkchan.
|
||||||
|
Original repo discontinued October 2024 after Nintendo takedown.
|
||||||
|
Firmware (system NCAs) must be installed through Ryujinx's UI from a ZIP or XCI.
|
||||||
|
Required for commercial games (.nsp, .xci). Homebrew (.nro, .nso) runs without firmware.
|
||||||
|
Firmware provides shared fonts, timezone data, SSL certificates, system version info.
|
||||||
135
emulators/shadps4.yml
Normal file
135
emulators/shadps4.yml
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
emulator: shadps4
|
||||||
|
type: standalone
|
||||||
|
source: "https://github.com/shadps4-emu/shadPS4"
|
||||||
|
upstream: "https://github.com/shadps4-emu/shadPS4"
|
||||||
|
profiled_date: "2026-03-26"
|
||||||
|
core_version: "pre-release 2026-03-25"
|
||||||
|
display_name: "shadPS4 (PlayStation 4)"
|
||||||
|
cores:
|
||||||
|
- shadps4
|
||||||
|
systems:
|
||||||
|
- ps4
|
||||||
|
mode: standalone
|
||||||
|
analysis_date: "2026-03-26"
|
||||||
|
analysis_commit: "31b2d9c (depth=1)"
|
||||||
|
|
||||||
|
notes: |
|
||||||
|
shadPS4 is a standalone PlayStation 4 emulator. Most PS4 system libraries
|
||||||
|
are reimplemented in HLE. For better game compatibility, real firmware
|
||||||
|
modules (.sprx) can be loaded in LLE mode from the sys_modules/ directory.
|
||||||
|
|
||||||
|
Modules are loaded by sysmodule_internal.cpp via loadModuleInternal().
|
||||||
|
If a module exists in sys_modules/, it is loaded as LLE. If absent and
|
||||||
|
an HLE implementation exists, the emulator falls back to HLE. If neither,
|
||||||
|
the module is stubbed and games needing it may fail.
|
||||||
|
|
||||||
|
Game-specific overrides are supported: sys_modules/{CUSA_ID}/ takes
|
||||||
|
priority over the global sys_modules/ directory.
|
||||||
|
|
||||||
|
System fonts are mounted from fonts/font/ (/preinst/common/font on real
|
||||||
|
PS4) and fonts/font2/ (/system/common/font2 on real PS4). These are SST
|
||||||
|
(Sony Standard Text) typeface files in OTF format. The emulator mounts
|
||||||
|
the directories wholesale; games load individual fonts by name. Without
|
||||||
|
fonts, the emulator warns "No dumped system fonts, expect missing text
|
||||||
|
or instability."
|
||||||
|
|
||||||
|
All firmware files are extracted from a real PS4 via FTP:
|
||||||
|
- .sprx modules from /system/common/lib/
|
||||||
|
- font/ from /preinst/common/font/
|
||||||
|
- font2/ from /system/common/font2/
|
||||||
|
|
||||||
|
Batocera configgen (shadps4Generator.py) configures display, input, and
|
||||||
|
saves but does not map BIOS/firmware paths. The emulator uses its own
|
||||||
|
user directory for sys_modules/ and fonts/.
|
||||||
|
|
||||||
|
files:
|
||||||
|
- name: "libSceLibcInternal.sprx"
|
||||||
|
required: false
|
||||||
|
hle_fallback: true
|
||||||
|
path: "shadps4/sys_modules/"
|
||||||
|
description: "PS4 C standard library"
|
||||||
|
source_ref: "src/core/libraries/sysmodule/sysmodule_internal.cpp:221"
|
||||||
|
|
||||||
|
- name: "libSceNgs2.sprx"
|
||||||
|
required: false
|
||||||
|
hle_fallback: true
|
||||||
|
path: "shadps4/sys_modules/"
|
||||||
|
description: "PS4 next-generation audio system"
|
||||||
|
source_ref: "src/core/libraries/sysmodule/sysmodule_internal.cpp:213"
|
||||||
|
|
||||||
|
- name: "libSceRtc.sprx"
|
||||||
|
required: false
|
||||||
|
hle_fallback: true
|
||||||
|
path: "shadps4/sys_modules/"
|
||||||
|
description: "PS4 real-time clock library"
|
||||||
|
source_ref: "src/core/libraries/sysmodule/sysmodule_internal.cpp:215"
|
||||||
|
|
||||||
|
- name: "libSceJpegEnc.sprx"
|
||||||
|
required: false
|
||||||
|
hle_fallback: true
|
||||||
|
path: "shadps4/sys_modules/"
|
||||||
|
description: "PS4 JPEG encoder"
|
||||||
|
source_ref: "src/core/libraries/sysmodule/sysmodule_internal.cpp:217"
|
||||||
|
|
||||||
|
- name: "libScePngEnc.sprx"
|
||||||
|
required: false
|
||||||
|
hle_fallback: true
|
||||||
|
path: "shadps4/sys_modules/"
|
||||||
|
description: "PS4 PNG encoder"
|
||||||
|
source_ref: "src/core/libraries/sysmodule/sysmodule_internal.cpp:218"
|
||||||
|
|
||||||
|
- name: "libSceFont.sprx"
|
||||||
|
required: false
|
||||||
|
hle_fallback: true
|
||||||
|
path: "shadps4/sys_modules/"
|
||||||
|
description: "PS4 font rendering library"
|
||||||
|
source_ref: "src/core/libraries/sysmodule/sysmodule_internal.cpp:224"
|
||||||
|
|
||||||
|
- name: "libSceFontFt.sprx"
|
||||||
|
required: false
|
||||||
|
hle_fallback: true
|
||||||
|
path: "shadps4/sys_modules/"
|
||||||
|
description: "PS4 FreeType font library"
|
||||||
|
source_ref: "src/core/libraries/sysmodule/sysmodule_internal.cpp:225"
|
||||||
|
|
||||||
|
- name: "libSceUlt.sprx"
|
||||||
|
required: false
|
||||||
|
path: "shadps4/sys_modules/"
|
||||||
|
description: "PS4 user-level threading library"
|
||||||
|
source_ref: "src/core/libraries/sysmodule/sysmodule_internal.cpp:214"
|
||||||
|
|
||||||
|
- name: "libSceJpegDec.sprx"
|
||||||
|
required: false
|
||||||
|
path: "shadps4/sys_modules/"
|
||||||
|
description: "PS4 JPEG decoder"
|
||||||
|
source_ref: "src/core/libraries/sysmodule/sysmodule_internal.cpp:216"
|
||||||
|
|
||||||
|
- name: "libSceJson.sprx"
|
||||||
|
required: false
|
||||||
|
path: "shadps4/sys_modules/"
|
||||||
|
description: "PS4 JSON parser"
|
||||||
|
source_ref: "src/core/libraries/sysmodule/sysmodule_internal.cpp:219"
|
||||||
|
|
||||||
|
- name: "libSceJson2.sprx"
|
||||||
|
required: false
|
||||||
|
path: "shadps4/sys_modules/"
|
||||||
|
description: "PS4 JSON v2 parser"
|
||||||
|
source_ref: "src/core/libraries/sysmodule/sysmodule_internal.cpp:220"
|
||||||
|
|
||||||
|
- name: "libSceCesCs.sprx"
|
||||||
|
required: false
|
||||||
|
path: "shadps4/sys_modules/"
|
||||||
|
description: "PS4 character encoding conversion"
|
||||||
|
source_ref: "src/core/libraries/sysmodule/sysmodule_internal.cpp:222"
|
||||||
|
|
||||||
|
- name: "libSceAudiodec.sprx"
|
||||||
|
required: false
|
||||||
|
path: "shadps4/sys_modules/"
|
||||||
|
description: "PS4 audio decoder"
|
||||||
|
source_ref: "src/core/libraries/sysmodule/sysmodule_internal.cpp:223"
|
||||||
|
|
||||||
|
- name: "libSceFreeTypeOt.sprx"
|
||||||
|
required: false
|
||||||
|
path: "shadps4/sys_modules/"
|
||||||
|
description: "PS4 FreeType OpenType library"
|
||||||
|
source_ref: "src/core/libraries/sysmodule/sysmodule_internal.cpp:226"
|
||||||
91
emulators/tsugaru.yml
Normal file
91
emulators/tsugaru.yml
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
emulator: tsugaru
|
||||||
|
display_name: Tsugaru
|
||||||
|
type: standalone
|
||||||
|
source: "https://github.com/captainys/TOWNSEMU"
|
||||||
|
upstream: "https://github.com/captainys/TOWNSEMU"
|
||||||
|
profiled_date: "2026-03-26"
|
||||||
|
cores:
|
||||||
|
- tsugaru
|
||||||
|
systems:
|
||||||
|
- fmtowns
|
||||||
|
|
||||||
|
notes: |
|
||||||
|
FM Towns / Marty emulator by CaptainYS. Takes a ROM directory as first
|
||||||
|
argument. ROM format compatible with UNZ emulator. Free compatible ROMs
|
||||||
|
available at ysflight.com/FM/towns/FreeTOWNS/. FMT_ALL.ROM is an
|
||||||
|
alternative combined format that bundles all individual ROM files.
|
||||||
|
|
||||||
|
files:
|
||||||
|
- name: FMT_SYS.ROM
|
||||||
|
description: system ROM
|
||||||
|
required: true
|
||||||
|
size: 262144
|
||||||
|
validation:
|
||||||
|
- size
|
||||||
|
source_ref: "physmem.cpp:392,503-507"
|
||||||
|
- name: FMT_DOS.ROM
|
||||||
|
description: DOS ROM
|
||||||
|
required: true
|
||||||
|
size: 524288
|
||||||
|
validation:
|
||||||
|
- size
|
||||||
|
source_ref: "physmem.cpp:395,508-512"
|
||||||
|
- name: FMT_FNT.ROM
|
||||||
|
description: font ROM
|
||||||
|
required: true
|
||||||
|
size: 262144
|
||||||
|
validation:
|
||||||
|
- size
|
||||||
|
source_ref: "physmem.cpp:398,513-517"
|
||||||
|
- name: FMT_F20.ROM
|
||||||
|
description: 20-dot font ROM, filled with 0xFF if missing
|
||||||
|
required: false
|
||||||
|
size: 524288
|
||||||
|
hle_fallback: true
|
||||||
|
validation:
|
||||||
|
- size
|
||||||
|
source_ref: "physmem.cpp:401,518-527"
|
||||||
|
- name: FMT_DIC.ROM
|
||||||
|
description: dictionary ROM
|
||||||
|
required: true
|
||||||
|
size: 524288
|
||||||
|
validation:
|
||||||
|
- size
|
||||||
|
source_ref: "physmem.cpp:404,528-532"
|
||||||
|
- name: MYTOWNS.ROM
|
||||||
|
description: serial ROM for machine identity, uses defaults if absent
|
||||||
|
required: false
|
||||||
|
min_size: 32
|
||||||
|
source_ref: "physmem.cpp:407,533-539"
|
||||||
|
- name: FMT_ALL.ROM
|
||||||
|
description: combined ROM file, alternative to individual ROM files
|
||||||
|
required: false
|
||||||
|
source_ref: "physmem.cpp:420-500"
|
||||||
|
- name: MAR_EX0.ROM
|
||||||
|
description: Marty extra ROM 0, all 4 MAR_EX ROMs needed for Marty mode
|
||||||
|
required: false
|
||||||
|
size: 524288
|
||||||
|
validation:
|
||||||
|
- size
|
||||||
|
source_ref: "physmem.cpp:410,541-564"
|
||||||
|
- name: MAR_EX1.ROM
|
||||||
|
description: Marty extra ROM 1
|
||||||
|
required: false
|
||||||
|
size: 524288
|
||||||
|
validation:
|
||||||
|
- size
|
||||||
|
source_ref: "physmem.cpp:412,541-564"
|
||||||
|
- name: MAR_EX2.ROM
|
||||||
|
description: Marty extra ROM 2
|
||||||
|
required: false
|
||||||
|
size: 524288
|
||||||
|
validation:
|
||||||
|
- size
|
||||||
|
source_ref: "physmem.cpp:414,541-564"
|
||||||
|
- name: MAR_EX3.ROM
|
||||||
|
description: Marty extra ROM 3
|
||||||
|
required: false
|
||||||
|
size: 524288
|
||||||
|
validation:
|
||||||
|
- size
|
||||||
|
source_ref: "physmem.cpp:416,541-564"
|
||||||
32
emulators/x16emu.yml
Normal file
32
emulators/x16emu.yml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
emulator: x16emu
|
||||||
|
type: standalone
|
||||||
|
upstream: "https://github.com/X16Community/x16-emulator"
|
||||||
|
profiled_date: "2026-03-26"
|
||||||
|
core_version: "r50"
|
||||||
|
display_name: "Commander X16 (x16emu)"
|
||||||
|
cores:
|
||||||
|
- x16emu
|
||||||
|
systems:
|
||||||
|
- commanderx16
|
||||||
|
|
||||||
|
notes: |
|
||||||
|
Standalone emulator for the Commander X16 retro computer by Michael Steil.
|
||||||
|
65C02/65C816 CPU, VERA video, YM2151+PSG audio, SD card, cartridge support.
|
||||||
|
|
||||||
|
System ROM built separately from the x16-rom repo (KERNAL + BASIC + DOS,
|
||||||
|
32 banks x 16 KB = 512 KB). Emulator and ROM versions must match.
|
||||||
|
|
||||||
|
Batocera configgen (x16emuGenerator.py) passes -rom /userdata/bios/commanderx16/rom.bin.
|
||||||
|
Also sets -ram 2048, -rtc, and scale/quality/widescreen per user config.
|
||||||
|
|
||||||
|
files:
|
||||||
|
- name: rom.bin
|
||||||
|
path: commanderx16/rom.bin
|
||||||
|
required: true
|
||||||
|
size: 524288
|
||||||
|
description: "Commander X16 system ROM (KERNAL, BASIC, DOS, charset)"
|
||||||
|
source_ref: "x16-emulator/src/main.c:602,1158-1165; glue.h:19,24"
|
||||||
|
note: >
|
||||||
|
Default filename "rom.bin", loaded from executable directory or via -rom flag.
|
||||||
|
ROM_SIZE = NUM_ROM_BANKS(32) * 16384 = 524288 bytes. exit(1) if file not found.
|
||||||
|
Built from x16-rom repo (open source, derived from C64 KERNAL/BASIC).
|
||||||
401
emulators/xroar.yml
Normal file
401
emulators/xroar.yml
Normal file
@@ -0,0 +1,401 @@
|
|||||||
|
emulator: XRoar
|
||||||
|
type: standalone
|
||||||
|
source: "https://www.6809.org.uk/git/xroar.git"
|
||||||
|
upstream: "https://www.6809.org.uk/xroar/"
|
||||||
|
profiled_date: "2026-03-26"
|
||||||
|
core_version: "1.10"
|
||||||
|
display_name: "Dragon / CoCo / MC-10 (XRoar)"
|
||||||
|
cores:
|
||||||
|
- xroar
|
||||||
|
systems:
|
||||||
|
- dragon32
|
||||||
|
- dragon64
|
||||||
|
- coco
|
||||||
|
- coco3
|
||||||
|
- mc10
|
||||||
|
|
||||||
|
notes: |
|
||||||
|
XRoar by Ciaran Anscomb emulates Dragon 32/64, Tandy CoCo 1/2/3,
|
||||||
|
MC-10, Alice, and clones (MX-1600, CP-400, Dragon 200-E, Deluxe CoCo).
|
||||||
|
ROM files are searched in a configurable rompath directory with automatic
|
||||||
|
extension appending (.rom, .ROM, .dgn, .DGN). Batocera sets rompath to
|
||||||
|
/userdata/bios/xroar/.
|
||||||
|
|
||||||
|
The romlist mechanism defines fallback filenames per ROM slot. Each machine
|
||||||
|
type has a default romlist that tries filenames in priority order. CRC32 is
|
||||||
|
computed for loaded ROMs and matched against known-good values for breakpoint
|
||||||
|
and feature detection, but mismatches do not prevent loading.
|
||||||
|
|
||||||
|
Machine selection: Batocera maps system names to default machines via
|
||||||
|
xroarGenerator.py (mc10 -> mc10, dragon64 -> dragon64, others -> coco2bus).
|
||||||
|
|
||||||
|
files:
|
||||||
|
# ---- Dragon 32 ----
|
||||||
|
|
||||||
|
- name: "d32.rom"
|
||||||
|
system: dragon32
|
||||||
|
description: "Dragon 32 BASIC ROM"
|
||||||
|
required: true
|
||||||
|
size: 16384
|
||||||
|
crc32: "e3879310"
|
||||||
|
validation: [crc32]
|
||||||
|
aliases: [dragon32, d32rom, "Dragon Data Ltd - Dragon 32 - IC17"]
|
||||||
|
source_ref: "xroar.c:643 (romlist d32), dragon.c:792,798-803,820-821 (load + CRC)"
|
||||||
|
notes: "Combined 16K ROM. Loaded into a single 16384-byte rombank slot."
|
||||||
|
|
||||||
|
# ---- Dragon 64 ----
|
||||||
|
|
||||||
|
- name: "d64_1.rom"
|
||||||
|
system: dragon64
|
||||||
|
description: "Dragon 64 32K mode BASIC ROM"
|
||||||
|
required: true
|
||||||
|
size: 16384
|
||||||
|
crc32: "84f68bf9"
|
||||||
|
validation: [crc32]
|
||||||
|
aliases: [d64rom1, dragrom, "Dragon Data Ltd - Dragon 64 - IC17", "Dragon Data Ltd - TANO IC18", "Eurohard S.A. - Dragon 200 IC18"]
|
||||||
|
source_ref: "xroar.c:641 (romlist d64_1), xroar.c:647 (romlist dragon64), dragon64.c:138-141,155-157 (load + CRC)"
|
||||||
|
notes: "IC17 ROM. Required for the machine to start."
|
||||||
|
|
||||||
|
- name: "d64_2.rom"
|
||||||
|
system: dragon64
|
||||||
|
description: "Dragon 64 64K mode BASIC ROM"
|
||||||
|
required: false
|
||||||
|
size: 16384
|
||||||
|
crc32: "17893a42"
|
||||||
|
validation: [crc32]
|
||||||
|
aliases: [d64rom2, "Dragon Data Ltd - Dragon 64 - IC18", "Dragon Data Ltd - TANO IC17", "Eurohard S.A. - Dragon 200 IC17"]
|
||||||
|
source_ref: "xroar.c:642 (romlist d64_2), xroar.c:648 (romlist dragon64_alt), dragon64.c:146-152,160-162 (load + CRC)"
|
||||||
|
notes: "IC18 ROM. 64K mode alternate BASIC. Machine starts without it (32K mode only)."
|
||||||
|
|
||||||
|
# ---- Dragon 200-E ----
|
||||||
|
|
||||||
|
- name: "d200e_1.rom"
|
||||||
|
system: dragon64
|
||||||
|
description: "Dragon 200-E BASIC IC18 (Spanish)"
|
||||||
|
required: true
|
||||||
|
size: 16384
|
||||||
|
crc32: "95af0a0a"
|
||||||
|
validation: [crc32]
|
||||||
|
aliases: [d200e_rom1, ic18_v1.4e.ic34]
|
||||||
|
source_ref: "xroar.c:644 (romlist d200e_1), xroar.c:650 (romlist dragon200e), xroar.c:735 (crclist)"
|
||||||
|
notes: "Required for Dragon 200-E. Falls back to d64_1 then generic dragon if not found."
|
||||||
|
|
||||||
|
- name: "d200e_2.rom"
|
||||||
|
system: dragon64
|
||||||
|
description: "Dragon 200-E BASIC IC17 (Spanish)"
|
||||||
|
required: false
|
||||||
|
size: 16384
|
||||||
|
aliases: [d200e_rom2, ic17_v1.4e.ic37]
|
||||||
|
source_ref: "xroar.c:645 (romlist d200e_2), xroar.c:651 (romlist dragon200e_alt)"
|
||||||
|
notes: "64K mode alternate. Falls back to d64_2 if not found."
|
||||||
|
|
||||||
|
- name: "d200e_26.rom"
|
||||||
|
system: dragon64
|
||||||
|
description: "Dragon 200-E external character generator ROM"
|
||||||
|
required: false
|
||||||
|
size: 4096
|
||||||
|
aliases: [rom26.ic1]
|
||||||
|
source_ref: "xroar.c:652 (romlist dragon200e_charset), dragon.c:523-539 (ext_charset load)"
|
||||||
|
notes: "Spanish character set. Loaded into a 4096-byte rombank. Machine works without it (uses standard charset)."
|
||||||
|
|
||||||
|
# ---- Dragon Professional (Alpha) ----
|
||||||
|
|
||||||
|
- name: "alpha-boot-v1.0.rom"
|
||||||
|
system: dragon64
|
||||||
|
description: "Dragon Professional (Alpha) boot ROM v1.0"
|
||||||
|
required: true
|
||||||
|
crc32: "d6172b56"
|
||||||
|
validation: [crc32]
|
||||||
|
aliases: [alpha_bt_10, "Dragon Data Ltd - Dragon Alpha Boot v1.0 150584"]
|
||||||
|
source_ref: "xroar.c:654 (romlist dragonpro_boot), xroar.c:741 (crclist), dragonpro.c:231-234 (load)"
|
||||||
|
notes: "Required for Dragon Professional machine. Loaded as extbas_rom (boot ROM)."
|
||||||
|
|
||||||
|
- name: "alpha-basic.rom"
|
||||||
|
system: dragon64
|
||||||
|
description: "Dragon Professional (Alpha) BASIC ROM"
|
||||||
|
required: true
|
||||||
|
aliases: [alpha_ba, "Dragon Data Ltd - Dragon Alpga Basic"]
|
||||||
|
source_ref: "xroar.c:655 (romlist dragonpro_basic), dragonpro.c:240-243 (load)"
|
||||||
|
notes: "Loaded as altbas_rom. Falls back to d64_1 if not found."
|
||||||
|
|
||||||
|
# ---- Tandy CoCo (Colour BASIC) ----
|
||||||
|
|
||||||
|
- name: "bas13.rom"
|
||||||
|
system: coco
|
||||||
|
description: "Tandy CoCo Colour BASIC 1.3"
|
||||||
|
required: true
|
||||||
|
size: 8192
|
||||||
|
crc32: "d8f4d15e"
|
||||||
|
validation: [crc32]
|
||||||
|
source_ref: "xroar.c:657 (romlist coco), xroar.c:747 (crclist bas13), dragon.c:807-812,824-826 (load + CRC)"
|
||||||
|
notes: "Default Colour BASIC. First tried in the @coco romlist. 8K ROM loaded into slot 1 of a 2-slot rombank."
|
||||||
|
|
||||||
|
- name: "bas12.rom"
|
||||||
|
system: coco
|
||||||
|
description: "Tandy CoCo Colour BASIC 1.2"
|
||||||
|
required: false
|
||||||
|
size: 8192
|
||||||
|
crc32: "54368805"
|
||||||
|
validation: [crc32]
|
||||||
|
aliases: ["Color Basic v1.2 (1982)(Tandy)"]
|
||||||
|
source_ref: "xroar.c:657 (romlist coco), xroar.c:746 (crclist bas12)"
|
||||||
|
notes: "Alternative to bas13. Second in fallback order."
|
||||||
|
|
||||||
|
- name: "bas11.rom"
|
||||||
|
system: coco
|
||||||
|
description: "Tandy CoCo Colour BASIC 1.1"
|
||||||
|
required: false
|
||||||
|
size: 8192
|
||||||
|
crc32: "6270955a"
|
||||||
|
validation: [crc32]
|
||||||
|
source_ref: "xroar.c:657 (romlist coco), xroar.c:745 (crclist bas11)"
|
||||||
|
notes: "Used by CoCo 1E. Third in fallback order."
|
||||||
|
|
||||||
|
- name: "bas10.rom"
|
||||||
|
system: coco
|
||||||
|
description: "Tandy CoCo Colour BASIC 1.0"
|
||||||
|
required: false
|
||||||
|
size: 8192
|
||||||
|
crc32: "00b50aaa"
|
||||||
|
validation: [crc32]
|
||||||
|
source_ref: "xroar.c:657 (romlist coco), xroar.c:744 (crclist bas10)"
|
||||||
|
notes: "Earliest version. Used by original CoCo 1. Last in fallback order."
|
||||||
|
|
||||||
|
# ---- Tandy CoCo (Extended Colour BASIC) ----
|
||||||
|
|
||||||
|
- name: "extbas11.rom"
|
||||||
|
system: coco
|
||||||
|
description: "Tandy CoCo Extended Colour BASIC 1.1"
|
||||||
|
required: true
|
||||||
|
size: 8192
|
||||||
|
crc32: "a82a6254"
|
||||||
|
validation: [crc32]
|
||||||
|
source_ref: "xroar.c:658 (romlist coco_ext), xroar.c:752 (crclist extbas11), dragon.c:798-803,828-829 (load + CRC)"
|
||||||
|
notes: "Default Extended BASIC. 8K ROM loaded into slot 0 of a 2-slot rombank."
|
||||||
|
|
||||||
|
- name: "extbas10.rom"
|
||||||
|
system: coco
|
||||||
|
description: "Tandy CoCo Extended Colour BASIC 1.0"
|
||||||
|
required: false
|
||||||
|
size: 8192
|
||||||
|
crc32: "e031d076"
|
||||||
|
validation: [crc32]
|
||||||
|
source_ref: "xroar.c:658 (romlist coco_ext), xroar.c:751 (crclist extbas10)"
|
||||||
|
notes: "Earlier version. Second in fallback order."
|
||||||
|
|
||||||
|
# ---- Tandy CoCo 3 ----
|
||||||
|
|
||||||
|
- name: "coco3.rom"
|
||||||
|
system: coco3
|
||||||
|
description: "CoCo 3 Super Extended Colour BASIC (NTSC)"
|
||||||
|
required: true
|
||||||
|
size: 32768
|
||||||
|
crc32: "b4c88d6c"
|
||||||
|
validation: [crc32]
|
||||||
|
source_ref: "xroar.c:688 (romlist coco3), xroar.c:762 (crclist coco3), coco3.c:254-256,512-526 (load + CRC)"
|
||||||
|
notes: "32K combined ROM. Single required ROM for CoCo 3 NTSC."
|
||||||
|
|
||||||
|
- name: "coco3p.rom"
|
||||||
|
system: coco3
|
||||||
|
description: "CoCo 3 Super Extended Colour BASIC (PAL)"
|
||||||
|
required: true
|
||||||
|
size: 32768
|
||||||
|
source_ref: "xroar.c:689 (romlist coco3p), xroar.c:505,514 (machine config), coco3.c:254-256"
|
||||||
|
notes: "PAL variant of the CoCo 3 ROM. Required for PAL CoCo 3 machines."
|
||||||
|
|
||||||
|
# ---- Tandy MC-10 ----
|
||||||
|
|
||||||
|
- name: "mc10.rom"
|
||||||
|
system: mc10
|
||||||
|
description: "Tandy MC-10 Microcolour BASIC"
|
||||||
|
required: true
|
||||||
|
size: 8192
|
||||||
|
crc32: "11fda97e"
|
||||||
|
validation: [crc32]
|
||||||
|
source_ref: "xroar.c:695 (romlist mc10), xroar.c:767 (crclist mc10), mc10.c:157-158,397-407 (load + CRC)"
|
||||||
|
notes: "Single required ROM for MC-10."
|
||||||
|
|
||||||
|
- name: "alice.rom"
|
||||||
|
system: mc10
|
||||||
|
description: "Matra & Hachette Alice Microcolour BASIC"
|
||||||
|
required: true
|
||||||
|
size: 8192
|
||||||
|
crc32: "f876abe9"
|
||||||
|
validation: [crc32]
|
||||||
|
source_ref: "xroar.c:697 (romlist alice), xroar.c:769 (crclist alice), mc10.c:157-158"
|
||||||
|
notes: "French Alice variant. Required for Alice machine. MC-10 compatible."
|
||||||
|
|
||||||
|
# ---- Deluxe CoCo (prototype) ----
|
||||||
|
|
||||||
|
- name: "deluxe.rom"
|
||||||
|
system: coco
|
||||||
|
description: "Tandy Deluxe CoCo Advanced BASIC (bank 0)"
|
||||||
|
required: true
|
||||||
|
crc32: "1cce231e"
|
||||||
|
validation: [crc32]
|
||||||
|
aliases: [adv070_u24]
|
||||||
|
source_ref: "xroar.c:673 (romlist deluxecoco), xroar.c:757 (crclist), deluxecoco.c:191-194 (load)"
|
||||||
|
notes: "Primary ROM for the Deluxe CoCo prototype. Loaded as extbas_rom."
|
||||||
|
|
||||||
|
- name: "adv071_u24.rom"
|
||||||
|
system: coco
|
||||||
|
description: "Tandy Deluxe CoCo ROM bank 1"
|
||||||
|
required: false
|
||||||
|
source_ref: "xroar.c:675 (romlist deluxecoco1), deluxecoco.c:201-204 (load)"
|
||||||
|
|
||||||
|
- name: "adv072_u24.rom"
|
||||||
|
system: coco
|
||||||
|
description: "Tandy Deluxe CoCo ROM bank 2"
|
||||||
|
required: false
|
||||||
|
source_ref: "xroar.c:676 (romlist deluxecoco2), deluxecoco.c:208-211 (load)"
|
||||||
|
|
||||||
|
- name: "adv073-2_u24.rom"
|
||||||
|
system: coco
|
||||||
|
description: "Tandy Deluxe CoCo ROM bank 3"
|
||||||
|
required: false
|
||||||
|
aliases: [adv073_u24]
|
||||||
|
source_ref: "xroar.c:677 (romlist deluxecoco3), deluxecoco.c:215-218 (load)"
|
||||||
|
|
||||||
|
# ---- Dynacom MX-1600 (Brazilian clone) ----
|
||||||
|
|
||||||
|
- name: "mx1600bas.rom"
|
||||||
|
system: coco
|
||||||
|
description: "Dynacom MX-1600 Colour BASIC"
|
||||||
|
required: true
|
||||||
|
crc32: "d918156e"
|
||||||
|
validation: [crc32]
|
||||||
|
aliases: [mx1600bas_zephyr]
|
||||||
|
source_ref: "xroar.c:679 (romlist mx1600), xroar.c:748 (crclist mx1600)"
|
||||||
|
notes: "Required for MX-1600. Zephyr-patched variant (CRC32 d11b1c96) is an alias."
|
||||||
|
|
||||||
|
- name: "mx1600extbas.rom"
|
||||||
|
system: coco
|
||||||
|
description: "Dynacom MX-1600 Extended Colour BASIC"
|
||||||
|
required: true
|
||||||
|
crc32: "322a3d58"
|
||||||
|
validation: [crc32]
|
||||||
|
source_ref: "xroar.c:680 (romlist mx1600ext), xroar.c:753 (crclist mx1600ext)"
|
||||||
|
|
||||||
|
# ---- Prologica CP-400 (Brazilian clone) ----
|
||||||
|
|
||||||
|
- name: "cp400bas.rom"
|
||||||
|
system: coco
|
||||||
|
description: "Prologica CP-400 Colour BASIC"
|
||||||
|
required: true
|
||||||
|
crc32: "0b2903d4"
|
||||||
|
validation: [crc32]
|
||||||
|
source_ref: "xroar.c:682 (romlist cp400), xroar.c:749 (crclist cp400)"
|
||||||
|
|
||||||
|
- name: "cp400ext.rom"
|
||||||
|
system: coco
|
||||||
|
description: "Prologica CP-400 Extended Colour BASIC"
|
||||||
|
required: true
|
||||||
|
crc32: "114accbc"
|
||||||
|
validation: [crc32]
|
||||||
|
source_ref: "xroar.c:683 (romlist cp400ext), xroar.c:754 (crclist cp400ext)"
|
||||||
|
|
||||||
|
# ---- DOS cartridge ROMs (all optional) ----
|
||||||
|
|
||||||
|
- name: "disk11.rom"
|
||||||
|
system: coco
|
||||||
|
description: "Tandy RS-DOS 1.1 (CoCo floppy disk controller)"
|
||||||
|
required: false
|
||||||
|
source_ref: "xroar.c:708 (romlist rsdos), rsdos.c:176 (default @rsdos)"
|
||||||
|
notes: "Primary CoCo disk controller ROM. disk10.rom (RS-DOS 1.0) is an earlier version used as fallback."
|
||||||
|
|
||||||
|
- name: "hdbdw3bck.rom"
|
||||||
|
system: coco
|
||||||
|
description: "RS-DOS with Becker port (DriveWire)"
|
||||||
|
required: false
|
||||||
|
source_ref: "xroar.c:718 (romlist rsdos_becker), xroar.c:572-574 (cart becker)"
|
||||||
|
notes: "For CoCo with Becker port hardware. Enables DriveWire connectivity."
|
||||||
|
|
||||||
|
- name: "ddos12a.rom"
|
||||||
|
system: dragon64
|
||||||
|
description: "DragonDOS 1.2a (Dragon floppy disk controller)"
|
||||||
|
required: false
|
||||||
|
source_ref: "xroar.c:702 (romlist dragondos), dragondos.c:173 (default @dragondos_compat)"
|
||||||
|
notes: "Latest DragonDOS version. Fallback chain tries DOSPlus -> SuperDOS -> DragonDOS -> Cumana. Older versions: ddos12, ddos40, ddos15, ddos10."
|
||||||
|
|
||||||
|
- name: "dplus49b.rom"
|
||||||
|
system: dragon64
|
||||||
|
description: "DOSPlus 4.9b (Dragon compatible DOS)"
|
||||||
|
required: false
|
||||||
|
source_ref: "xroar.c:703 (romlist dosplus)"
|
||||||
|
notes: "First tried in DragonDOS-compatible cartridge. Enhanced Dragon DOS. Older version: dplus48 (alias: dosplus-4.8, DOSPLUS)."
|
||||||
|
|
||||||
|
- name: "sdose6.rom"
|
||||||
|
system: dragon64
|
||||||
|
description: "SuperDOS E6 (Dragon compatible DOS)"
|
||||||
|
required: false
|
||||||
|
aliases: ["PNP - SuperDOS E6"]
|
||||||
|
source_ref: "xroar.c:704 (romlist superdos)"
|
||||||
|
notes: "Latest SuperDOS. Older versions: sdose5, sdose4."
|
||||||
|
|
||||||
|
- name: "cdos20.rom"
|
||||||
|
system: dragon64
|
||||||
|
description: "Cumana DOS 2.0 (Dragon compatible DOS)"
|
||||||
|
required: false
|
||||||
|
aliases: [CDOS20, "CumanaDOSv2.0"]
|
||||||
|
source_ref: "xroar.c:705 (romlist cumana)"
|
||||||
|
|
||||||
|
- name: "delta2.rom"
|
||||||
|
system: dragon64
|
||||||
|
description: "Delta System 2 (Premier Microsystems disk controller)"
|
||||||
|
required: false
|
||||||
|
aliases: ["Premier Micros - DeltaDOS"]
|
||||||
|
source_ref: "xroar.c:711 (romlist delta), deltados.c:160 (default @delta)"
|
||||||
|
notes: "Latest Delta version. Older versions: delta1a, delta19, delta, deltados."
|
||||||
|
|
||||||
|
- name: "cp450dsk.rom"
|
||||||
|
system: coco
|
||||||
|
description: "Prologica CP-450 DOS cartridge"
|
||||||
|
required: false
|
||||||
|
source_ref: "xroar.c:709 (romlist cp450)"
|
||||||
|
notes: "Falls back to RS-DOS if not found."
|
||||||
|
|
||||||
|
# ---- Other cartridge ROMs (all optional) ----
|
||||||
|
|
||||||
|
- name: "orch90.rom"
|
||||||
|
system: coco
|
||||||
|
description: "Orchestra-90 CC sound cartridge ROM"
|
||||||
|
required: false
|
||||||
|
source_ref: "orch90.c:122 (default rom = orch90)"
|
||||||
|
notes: "Sound synthesis cartridge. Loaded directly (no romlist fallback)."
|
||||||
|
|
||||||
|
- name: "mcx128.rom"
|
||||||
|
system: mc10
|
||||||
|
description: "MCX128 memory expansion BASIC ROM"
|
||||||
|
required: false
|
||||||
|
aliases: [MCX_Basic_21]
|
||||||
|
source_ref: "xroar.c:724 (romlist mcx128), mcx128.c:208 (default @mcx128)"
|
||||||
|
notes: "128K memory expansion for MC-10. Adds enhanced BASIC."
|
||||||
|
|
||||||
|
- name: "mcx128a.rom"
|
||||||
|
system: mc10
|
||||||
|
description: "MCX128 memory expansion BASIC ROM (AZERTY)"
|
||||||
|
required: false
|
||||||
|
aliases: [MCX_Basic_21_AZERTY]
|
||||||
|
source_ref: "xroar.c:725 (romlist mcx128_azerty), xroar.c:632-633 (cart mcx128a)"
|
||||||
|
notes: "AZERTY keyboard variant for Alice. Same MCX128 hardware."
|
||||||
|
|
||||||
|
- name: "yados.rom"
|
||||||
|
system: coco
|
||||||
|
description: "YADOS (Glenside IDE interface ROM)"
|
||||||
|
required: false
|
||||||
|
source_ref: "xroar.c:690 (romlist glenside_ide), idecart.c:204 (default @glenside_ide)"
|
||||||
|
notes: "IDE hard disk interface. Fallback: hdblba.rom (alternative IDE ROM)."
|
||||||
|
|
||||||
|
- name: "sdbdos.rom"
|
||||||
|
system: dragon64
|
||||||
|
description: "SDBDOS (MOOH memory cartridge ROM)"
|
||||||
|
required: false
|
||||||
|
source_ref: "mooh.c:254 (default rom = sdbdos)"
|
||||||
|
notes: "SD card boot DOS for MOOH cartridge. Loaded directly."
|
||||||
|
|
||||||
|
- name: "dragonfly-2.3.rom"
|
||||||
|
system: dragon64
|
||||||
|
description: "Ikon Ultra Drive Dragonfly ROM 2.3"
|
||||||
|
required: false
|
||||||
|
source_ref: "xroar.c:715 (romlist ikon), ikon.c:151 (default @ikon)"
|
||||||
|
notes: "Experimental. Ikon Ultra Drive storage interface. Older version: dragonfly-1.3."
|
||||||
@@ -1,10 +1,14 @@
|
|||||||
emulator: ymir
|
emulator: ymir
|
||||||
type: standalone + libretro
|
type: standalone + libretro
|
||||||
core_classification: community_fork
|
core_classification: community_fork
|
||||||
source: "https://github.com/warmenhoven/Ymir/tree/libretro"
|
source:
|
||||||
|
standalone: "https://github.com/StrikerX3/Ymir"
|
||||||
|
libretro: "https://github.com/warmenhoven/Ymir/tree/libretro"
|
||||||
upstream: "https://github.com/StrikerX3/Ymir"
|
upstream: "https://github.com/StrikerX3/Ymir"
|
||||||
profiled_date: "2026-03-25"
|
profiled_date: "2026-03-26"
|
||||||
core_version: "PR#746"
|
core_version:
|
||||||
|
standalone: "v0.2.1"
|
||||||
|
libretro: "PR#746"
|
||||||
display_name: "Sega - Saturn (Ymir)"
|
display_name: "Sega - Saturn (Ymir)"
|
||||||
cores:
|
cores:
|
||||||
- ymir
|
- ymir
|
||||||
@@ -16,22 +20,27 @@ notes: |
|
|||||||
warmenhoven wraps the shared ymir-core library (PR #746, not yet merged).
|
warmenhoven wraps the shared ymir-core library (PR #746, not yet merged).
|
||||||
No .info file exists in libretro-core-info.
|
No .info file exists in libretro-core-info.
|
||||||
|
|
||||||
Saturn BIOS search order:
|
Standalone: scans configured directories recursively for files matching
|
||||||
1. {system}/sega_101.bin
|
the expected size. No specific filenames required. Identifies known ROMs
|
||||||
2. {system}/mpr-17933.bin
|
by XXH128 hash from an internal database (19 IPL variants, 4 CD Block
|
||||||
3. {system}/saturn_bios.bin
|
versions, 2 ROM carts). Unknown files are accepted if size matches.
|
||||||
First file found with exact 512 KiB size wins. No HLE fallback for IPL.
|
|
||||||
|
|
||||||
CD Block LLE: optional low-level CD drive emulation. Scans {system}/cdb/
|
Libretro: searches {system}/sega_101.bin, mpr-17933.bin, saturn_bios.bin
|
||||||
for any 64 KiB file. Falls back to HLE when disabled or no ROM found.
|
in order. First file found with exact 512 KiB size wins.
|
||||||
Known versions in upstream db: 1.04, 1.05, 1.06.
|
|
||||||
|
|
||||||
ROM cartridges: KoF95 and Ultraman shipped with physical ROM carts. The
|
Batocera standalone: configgen maps IPLROMImages to /userdata/bios,
|
||||||
core auto-detects required cartridge from its game database.
|
CDBlockROMImages to /userdata/roms/saturn/cdb/, ROMCartImages to
|
||||||
|
/userdata/roms/saturn.
|
||||||
|
|
||||||
|
No HLE fallback for IPL ROM. CD Block LLE is optional; falls back to
|
||||||
|
HLE when disabled or no ROM found. Known CDB versions: 1.04, 1.05, 1.06.
|
||||||
|
|
||||||
|
ROM cartridges: KoF95 and Ultraman shipped with physical ROM carts.
|
||||||
|
Auto-detected from game database when loading a disc.
|
||||||
|
|
||||||
Addon cartridges: 1M/4M DRAM expansion handled via core option (no files).
|
Addon cartridges: 1M/4M DRAM expansion handled via core option (no files).
|
||||||
|
|
||||||
Upstream uses XXH128 hashes for ROM identification only, not validation.
|
XXH128 hashes used for ROM identification only, not validation.
|
||||||
All file loading validates size only.
|
All file loading validates size only.
|
||||||
|
|
||||||
files:
|
files:
|
||||||
@@ -42,7 +51,9 @@ files:
|
|||||||
validation: [size]
|
validation: [size]
|
||||||
aliases: [mpr-17933.bin, saturn_bios.bin]
|
aliases: [mpr-17933.bin, saturn_bios.bin]
|
||||||
description: "Saturn IPL ROM (BIOS). Any region accepted."
|
description: "Saturn IPL ROM (BIOS). Any region accepted."
|
||||||
source_ref: "libretro.cpp:260-263,534-558"
|
source_ref:
|
||||||
|
standalone: "apps/ymir-sdl3/src/util/rom_loader.cpp:9-22, apps/ymir-sdl3/src/app/rom_manager.cpp:14-56, libs/ymir-core/include/ymir/sys/memory_defs.hpp:9"
|
||||||
|
libretro: "libretro.cpp:260-263,534-558"
|
||||||
|
|
||||||
- name: "cdb/cdb_rom.bin"
|
- name: "cdb/cdb_rom.bin"
|
||||||
system: sega-saturn
|
system: sega-saturn
|
||||||
@@ -50,8 +61,10 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
size: 65536
|
size: 65536
|
||||||
validation: [size]
|
validation: [size]
|
||||||
description: "SH1 CD Block ROM for low-level CD drive emulation. Core scans cdb/ subdirectory for any matching file."
|
description: "SH1 CD Block ROM for low-level CD drive emulation. Scans cdb/ subdirectory for any matching file."
|
||||||
source_ref: "libretro.cpp:567-591"
|
source_ref:
|
||||||
|
standalone: "apps/ymir-sdl3/src/util/rom_loader.cpp:25-38, apps/ymir-sdl3/src/app/rom_manager.cpp:58-93, libs/ymir-core/include/ymir/hw/sh1/sh1_defs.hpp:7"
|
||||||
|
libretro: "libretro.cpp:567-591"
|
||||||
|
|
||||||
- name: "mpr-18811-mx.ic1"
|
- name: "mpr-18811-mx.ic1"
|
||||||
system: sega-saturn
|
system: sega-saturn
|
||||||
@@ -60,7 +73,9 @@ files:
|
|||||||
size: 2097152
|
size: 2097152
|
||||||
validation: [size]
|
validation: [size]
|
||||||
description: "ROM cartridge for The King of Fighters '95."
|
description: "ROM cartridge for The King of Fighters '95."
|
||||||
source_ref: "libretro.cpp:619-620,597-616"
|
source_ref:
|
||||||
|
standalone: "apps/ymir-sdl3/src/app/rom_manager.cpp:96-131, libs/ymir-core/include/ymir/db/rom_cart_db.hpp:19-22"
|
||||||
|
libretro: "libretro.cpp:619-620,597-616"
|
||||||
|
|
||||||
- name: "mpr-19367-mx.ic1"
|
- name: "mpr-19367-mx.ic1"
|
||||||
system: sega-saturn
|
system: sega-saturn
|
||||||
@@ -69,4 +84,6 @@ files:
|
|||||||
size: 2097152
|
size: 2097152
|
||||||
validation: [size]
|
validation: [size]
|
||||||
description: "ROM cartridge for Ultraman: Hikari no Kyojin Densetsu."
|
description: "ROM cartridge for Ultraman: Hikari no Kyojin Densetsu."
|
||||||
source_ref: "libretro.cpp:619,621,597-616"
|
source_ref:
|
||||||
|
standalone: "apps/ymir-sdl3/src/app/rom_manager.cpp:96-131, libs/ymir-core/include/ymir/db/rom_cart_db.hpp:25-28"
|
||||||
|
libretro: "libretro.cpp:619,621,597-616"
|
||||||
|
|||||||
143
emulators/zc210.yml
Normal file
143
emulators/zc210.yml
Normal file
@@ -0,0 +1,143 @@
|
|||||||
|
emulator: Zelda Classic v2.10
|
||||||
|
type: libretro
|
||||||
|
core_classification: game_engine
|
||||||
|
source: https://github.com/netux79/zc210-libretro
|
||||||
|
upstream: https://www.zeldaclassic.com/
|
||||||
|
core_version: "2.10 Beta 5"
|
||||||
|
display_name: Zelda Classic v2.10 (ZC210)
|
||||||
|
profiled_date: 2026-03-26
|
||||||
|
cores:
|
||||||
|
- zc210
|
||||||
|
systems:
|
||||||
|
- zc210
|
||||||
|
notes: >-
|
||||||
|
Libretro port of Zelda Classic 2.10 quest player by netux79. Removed
|
||||||
|
Allegro dependency, runs .qst quest files. No ZQuest editor, no ZC Music
|
||||||
|
(mp3/ogg), no menus. MIDI playback via SoundFont (SF2). Data files
|
||||||
|
distributed with the core source in the datfile/ directory.
|
||||||
|
files:
|
||||||
|
- name: zcdata.dat
|
||||||
|
path: zc210/zcdata.dat
|
||||||
|
description: main engine data (fonts, palette, SFX samples, MIDI tracks)
|
||||||
|
required: true
|
||||||
|
source_ref: "zelda.cpp:1173-1181 load_datafile + signature validation"
|
||||||
|
|
||||||
|
- name: default.sf2
|
||||||
|
path: zc210/sf2/default.sf2
|
||||||
|
description: default SoundFont for MIDI music playback
|
||||||
|
required: true
|
||||||
|
source_ref: "zc_sys.cpp:2234-2238 file_exists + midi_init"
|
||||||
|
|
||||||
|
- name: custom0.sf2
|
||||||
|
path: zc210/sf2/custom0.sf2
|
||||||
|
description: alternative SoundFont (selectable via core option)
|
||||||
|
required: false
|
||||||
|
source_ref: "zc_sys.cpp:2234-2238, libretro.cpp:147"
|
||||||
|
|
||||||
|
- name: custom1.sf2
|
||||||
|
path: zc210/sf2/custom1.sf2
|
||||||
|
description: alternative SoundFont (selectable via core option)
|
||||||
|
required: false
|
||||||
|
source_ref: "zc_sys.cpp:2234-2238, libretro.cpp:147"
|
||||||
|
|
||||||
|
- name: custom2.sf2
|
||||||
|
path: zc210/sf2/custom2.sf2
|
||||||
|
description: alternative SoundFont (selectable via core option)
|
||||||
|
required: false
|
||||||
|
source_ref: "zc_sys.cpp:2234-2238, libretro.cpp:147"
|
||||||
|
|
||||||
|
- name: custom3.sf2
|
||||||
|
path: zc210/sf2/custom3.sf2
|
||||||
|
description: alternative SoundFont (selectable via core option)
|
||||||
|
required: false
|
||||||
|
source_ref: "zc_sys.cpp:2234-2238, libretro.cpp:147"
|
||||||
|
|
||||||
|
- name: custom4.sf2
|
||||||
|
path: zc210/sf2/custom4.sf2
|
||||||
|
description: alternative SoundFont (selectable via core option)
|
||||||
|
required: false
|
||||||
|
source_ref: "zc_sys.cpp:2234-2238, libretro.cpp:147"
|
||||||
|
|
||||||
|
- name: custom5.sf2
|
||||||
|
path: zc210/sf2/custom5.sf2
|
||||||
|
description: alternative SoundFont (selectable via core option)
|
||||||
|
required: false
|
||||||
|
source_ref: "zc_sys.cpp:2234-2238, libretro.cpp:147"
|
||||||
|
|
||||||
|
- name: custom6.sf2
|
||||||
|
path: zc210/sf2/custom6.sf2
|
||||||
|
description: alternative SoundFont (selectable via core option)
|
||||||
|
required: false
|
||||||
|
source_ref: "zc_sys.cpp:2234-2238, libretro.cpp:147"
|
||||||
|
|
||||||
|
- name: custom7.sf2
|
||||||
|
path: zc210/sf2/custom7.sf2
|
||||||
|
description: alternative SoundFont (selectable via core option)
|
||||||
|
required: false
|
||||||
|
source_ref: "zc_sys.cpp:2234-2238, libretro.cpp:147"
|
||||||
|
|
||||||
|
- name: custom8.sf2
|
||||||
|
path: zc210/sf2/custom8.sf2
|
||||||
|
description: alternative SoundFont (selectable via core option)
|
||||||
|
required: false
|
||||||
|
source_ref: "zc_sys.cpp:2234-2238, libretro.cpp:147"
|
||||||
|
|
||||||
|
- name: custom9.sf2
|
||||||
|
path: zc210/sf2/custom9.sf2
|
||||||
|
description: alternative SoundFont (selectable via core option)
|
||||||
|
required: false
|
||||||
|
source_ref: "zc_sys.cpp:2234-2238, libretro.cpp:147"
|
||||||
|
|
||||||
|
- name: LinkTothePast.dat
|
||||||
|
path: zc210/sfx/LinkTothePast.dat
|
||||||
|
description: Zelda A Link to the Past SFX replacement
|
||||||
|
required: false
|
||||||
|
source_ref: "zelda.cpp:1193-1218, libretro.cpp:148"
|
||||||
|
|
||||||
|
- name: LinksAwakening.dat
|
||||||
|
path: zc210/sfx/LinksAwakening.dat
|
||||||
|
description: Zelda Link's Awakening SFX replacement
|
||||||
|
required: false
|
||||||
|
source_ref: "zelda.cpp:1193-1218, libretro.cpp:148"
|
||||||
|
|
||||||
|
- name: BSZelda.dat
|
||||||
|
path: zc210/sfx/BSZelda.dat
|
||||||
|
description: BS Zelda SFX replacement
|
||||||
|
required: false
|
||||||
|
source_ref: "zelda.cpp:1193-1218, libretro.cpp:148"
|
||||||
|
|
||||||
|
- name: Metroid.dat
|
||||||
|
path: zc210/sfx/Metroid.dat
|
||||||
|
description: Metroid NES SFX replacement
|
||||||
|
required: false
|
||||||
|
source_ref: "zelda.cpp:1193-1218, libretro.cpp:148"
|
||||||
|
|
||||||
|
- name: Tortuga.dat
|
||||||
|
path: zc210/sfx/Tortuga.dat
|
||||||
|
description: Link to Tortuga quest SFX replacement
|
||||||
|
required: false
|
||||||
|
source_ref: "zelda.cpp:1193-1218, libretro.cpp:148"
|
||||||
|
|
||||||
|
- name: Castle.dat
|
||||||
|
path: zc210/sfx/Castle.dat
|
||||||
|
description: Castle Hunt quest SFX replacement
|
||||||
|
required: false
|
||||||
|
source_ref: "zelda.cpp:1193-1218, libretro.cpp:148"
|
||||||
|
|
||||||
|
- name: Elise.dat
|
||||||
|
path: zc210/sfx/Elise.dat
|
||||||
|
description: Search for Elise quest SFX replacement
|
||||||
|
required: false
|
||||||
|
source_ref: "zelda.cpp:1193-1218, libretro.cpp:148"
|
||||||
|
|
||||||
|
- name: SwangSong.dat
|
||||||
|
path: zc210/sfx/SwangSong.dat
|
||||||
|
description: Swang Song quest SFX replacement
|
||||||
|
required: false
|
||||||
|
source_ref: "zelda.cpp:1193-1218, libretro.cpp:148"
|
||||||
|
|
||||||
|
- name: Custom.dat
|
||||||
|
path: zc210/sfx/Custom.dat
|
||||||
|
description: user-provided custom SFX replacement
|
||||||
|
required: false
|
||||||
|
source_ref: "zelda.cpp:1193-1218, libretro.cpp:148"
|
||||||
18
mkdocs.yml
18
mkdocs.yml
@@ -189,7 +189,7 @@ nav:
|
|||||||
- Vircon32: emulators/vircon32.md
|
- Vircon32: emulators/vircon32.md
|
||||||
- vitaQuakeII: emulators/vitaquake2.md
|
- vitaQuakeII: emulators/vitaquake2.md
|
||||||
- yabasanshiro: emulators/yabasanshiro.md
|
- yabasanshiro: emulators/yabasanshiro.md
|
||||||
- Community forks (104):
|
- Community forks (105):
|
||||||
- EightyOne: emulators/81.md
|
- EightyOne: emulators/81.md
|
||||||
- a5200: emulators/a5200.md
|
- a5200: emulators/a5200.md
|
||||||
- Anarch: emulators/anarch.md
|
- Anarch: emulators/anarch.md
|
||||||
@@ -211,6 +211,7 @@ nav:
|
|||||||
- ChimeraSNES: emulators/chimerasnes.md
|
- ChimeraSNES: emulators/chimerasnes.md
|
||||||
- Citra: emulators/citra.md
|
- Citra: emulators/citra.md
|
||||||
- Citra Canary: emulators/citra_canary.md
|
- Citra Canary: emulators/citra_canary.md
|
||||||
|
- Citron: emulators/citron.md
|
||||||
- Daphne: emulators/daphne.md
|
- Daphne: emulators/daphne.md
|
||||||
- DeSmuME: emulators/desmume.md
|
- DeSmuME: emulators/desmume.md
|
||||||
- DICE: emulators/dice.md
|
- DICE: emulators/dice.md
|
||||||
@@ -324,7 +325,7 @@ nav:
|
|||||||
- MicroW8: emulators/uw8.md
|
- MicroW8: emulators/uw8.md
|
||||||
- uzem: emulators/uzem.md
|
- uzem: emulators/uzem.md
|
||||||
- VirtualXT: emulators/virtualxt.md
|
- VirtualXT: emulators/virtualxt.md
|
||||||
- Game engines (24):
|
- Game engines (25):
|
||||||
- boom3: emulators/boom3.md
|
- boom3: emulators/boom3.md
|
||||||
- Cannonball: emulators/cannonball.md
|
- Cannonball: emulators/cannonball.md
|
||||||
- ChaiLove: emulators/chailove.md
|
- ChaiLove: emulators/chailove.md
|
||||||
@@ -349,6 +350,7 @@ nav:
|
|||||||
- TyrQuake: emulators/tyrquake.md
|
- TyrQuake: emulators/tyrquake.md
|
||||||
- WASM-4: emulators/wasm4.md
|
- WASM-4: emulators/wasm4.md
|
||||||
- XRick: emulators/xrick.md
|
- XRick: emulators/xrick.md
|
||||||
|
- Zelda Classic v2.10: emulators/zc210.md
|
||||||
- Enhanced forks (12):
|
- Enhanced forks (12):
|
||||||
- bsnes-hd beta: emulators/bsnes_hd_beta.md
|
- bsnes-hd beta: emulators/bsnes_hd_beta.md
|
||||||
- bsnes-mercury: emulators/bsnes_mercury.md
|
- bsnes-mercury: emulators/bsnes_mercury.md
|
||||||
@@ -399,18 +401,28 @@ nav:
|
|||||||
- PCSX-ReARMed: emulators/pcsx_rearmed.md
|
- PCSX-ReARMed: emulators/pcsx_rearmed.md
|
||||||
- Launchers (1):
|
- Launchers (1):
|
||||||
- Dolphin Launcher: emulators/dolphin_launcher.md
|
- Dolphin Launcher: emulators/dolphin_launcher.md
|
||||||
- Other (11):
|
- Other (21):
|
||||||
- Beetle GBA (Mednafen): emulators/beetle_gba.md
|
- Beetle GBA (Mednafen): emulators/beetle_gba.md
|
||||||
- Cemu: emulators/cemu.md
|
- Cemu: emulators/cemu.md
|
||||||
- Clock Signal (CLK): emulators/clk.md
|
- Clock Signal (CLK): emulators/clk.md
|
||||||
|
- Demul: emulators/demul.md
|
||||||
|
- eka2l1: emulators/eka2l1.md
|
||||||
- ep128emu-core: emulators/ep128emu.md
|
- ep128emu-core: emulators/ep128emu.md
|
||||||
|
- GSplus: emulators/gsplus.md
|
||||||
|
- Lexaloffle: emulators/lexaloffle.md
|
||||||
|
- openMSX: emulators/openmsx.md
|
||||||
- PCSX2: emulators/pcsx2.md
|
- PCSX2: emulators/pcsx2.md
|
||||||
- Redream: emulators/redream.md
|
- Redream: emulators/redream.md
|
||||||
- RPCS3: emulators/rpcs3.md
|
- RPCS3: emulators/rpcs3.md
|
||||||
|
- Ryujinx: emulators/ryujinx.md
|
||||||
|
- shadps4: emulators/shadps4.md
|
||||||
|
- tsugaru: emulators/tsugaru.md
|
||||||
- VBA-M: emulators/vba_m.md
|
- VBA-M: emulators/vba_m.md
|
||||||
- VICE: emulators/vice.md
|
- VICE: emulators/vice.md
|
||||||
- Vita3K: emulators/vita3k.md
|
- Vita3K: emulators/vita3k.md
|
||||||
|
- x16emu: emulators/x16emu.md
|
||||||
- Xemu: emulators/xemu.md
|
- Xemu: emulators/xemu.md
|
||||||
|
- XRoar: emulators/xroar.md
|
||||||
- Cross-reference: cross-reference.md
|
- Cross-reference: cross-reference.md
|
||||||
- Gap Analysis: gaps.md
|
- Gap Analysis: gaps.md
|
||||||
- Wiki:
|
- Wiki:
|
||||||
|
|||||||
Reference in New Issue
Block a user