feat: add 10 emulator profiles (batch 1 P1)

genesis_plus_gx (12 files), picodrive (18 files), fbneo (19 systems),
hatari (TOS ROMs), bluemsx (60+ MSX/ColecoVision/SG-1000),
fceumm (FDS/Game Genie), bsnes (20 coprocessor ROMs),
beetle_psx (5 BIOS + aliases), beetle_saturn (5 files),
puae (14 Kickstart ROMs, 3 naming conventions)

21 total emulator profiles. Cross-reference: 436 undeclared files,
120 already in repo, 316 to source.
This commit is contained in:
Abdessamad Derraz
2026-03-17 19:07:51 +01:00
parent 9052a6b750
commit f6a44c9409
10 changed files with 3072 additions and 0 deletions

83
emulators/beetle_psx.yml Normal file
View File

@@ -0,0 +1,83 @@
emulator: Beetle PSX (Mednafen PSX)
type: libretro
source: "https://github.com/libretro/beetle-psx-libretro"
cores: [mednafen_psx, mednafen_psx_hw]
systems: [sony-playstation]
bios_size: 524288 # 512 KB for all accepted BIOS images
verification: sha1
notes: >
Region-based BIOS selection: the core picks JP/NA/EU firmware based on disc region.
SHA1 validated with warning on mismatch (does not block loading).
Override option allows using PSP or PS3 extracted PS1 BIOS as region-free alternative.
"Skip BIOS" option exists but causes compatibility issues (PAL copy protection, Saga Frontier).
Alternate filenames are case variants and model aliases for the same image.
Comment in source references MAME psx.cpp as hash source.
files:
# -- Region: Japan (REGION_JP) --
- name: "scph5500.bin"
description: "SCPH-5500 (v3.0 09-09-96 J)"
region: "NTSC-J"
required: true
sha1: "b05def971d8ec59f346f2d9ac21fb742e3eb6917"
md5: "8dd7d5296a650fac7319bce665a6a53c"
source_ref: "libretro.cpp:252-256"
alt_names: ["SCPH5500.bin", "SCPH-5500.bin"]
# -- Region: North America (REGION_NA) --
- name: "scph5501.bin"
description: "SCPH-5501, 5503, 7003 (v3.0 11-18-96 A)"
region: "NTSC-U"
required: true
sha1: "0555c6fae8906f3f09baf5988f00e55f88e9f30b"
md5: "490f666e1afb15b7362b406ed1cea246"
source_ref: "libretro.cpp:258-270"
alt_names:
- "SCPH5501.bin"
- "SCPH-5501.bin"
- "scph5503.bin"
- "SCPH5503.bin"
- "SCPH-5503.bin"
- "scph7003.bin"
- "SCPH7003.bin"
- "SCPH-7003.bin"
# -- Region: Europe (REGION_EU) --
- name: "scph5502.bin"
description: "SCPH-5502, 5552 (v3.0 01-06-97 E)"
region: "PAL"
required: true
sha1: "f6bc2d1f5eb6593de7d089c425ac681d6fffd3f0"
md5: "32736f17079d0b2b7024407c39bd3050"
source_ref: "libretro.cpp:272-282"
alt_names:
- "SCPH5502.bin"
- "SCPH-5502.bin"
- "scph5552.bin"
- "SCPH5552.bin"
- "SCPH-5552.bin"
# -- Override BIOS (region-free alternatives) --
- name: "psxonpsp660.bin"
description: "PSP embedded PS1 BIOS (region-free override)"
region: "Auto"
required: false
sha1: "96880d1ca92a016ff054be5159bb06fe03cb4e14"
md5: "c53ca5908936d412331790f4426c6c33"
source_ref: "libretro.cpp:190-196"
alt_names: ["PSXONPSP660.bin"]
notes: "override_bios=1 (psxonpsp option). Falls back to region BIOS if not found."
- name: "ps1_rom.bin"
description: "PS3 embedded PS1 BIOS (region-free override)"
region: "Auto"
required: false
sha1: "c40146361eb8cf670b19fdc9759190257803cab7"
md5: "81bbe60ba7a3d1cea1d48c14cbcc647b"
source_ref: "libretro.cpp:198-204"
alt_names: ["PS1_ROM.bin"]
notes: "override_bios=2 (ps1_rom option). Falls back to region BIOS if not found."

View File

@@ -0,0 +1,93 @@
emulator: Beetle Saturn (Mednafen)
type: libretro
core: mednafen_saturn_libretro
source: "https://github.com/libretro/beetle-saturn-libretro"
systems:
- sega-saturn
notes: |
Beetle Saturn is the libretro port of Mednafen's Sega Saturn emulation module.
Two region-specific BIOS files are used: sega_101.bin for Japan/Asia NTSC,
mpr-17933.bin for North America, Europe, and all other regions. The core
returns false from InitCommon() if the BIOS file is missing or not exactly
512 KB, so both BIOS files are required for full region coverage.
Region auto-detection reads the disc header and picks the matching BIOS.
Manual region override is available via beetle_saturn_region core option.
The KOF95 and Ultraman ROM carts are optional game-specific expansion
cartridges loaded from the system directory. The Action Replay 4M Plus
cart (satar4mp.bin) is listed but marked unfinished in source (needs
CPU UBC emulation).
BIOS loading: mednafen/ss/ss.cpp InitCommon() lines 920-961.
Cart loading: mednafen/ss/cart.cpp CART_Init() lines 128-220.
Firmware path: libretro.cpp MDFN_MakeFName(MDFNMKF_FIRMWARE) -> system dir.
Default cart ROM filenames: mednafen/settings.cpp MDFN_GetSettingS().
files:
# -------------------------------------------------------
# Saturn BIOS - Japan / Asia NTSC
# -------------------------------------------------------
- name: "sega_101.bin"
system: sega-saturn
region: [japan, asia-ntsc]
required: true
size: 524288 # 512 KB
md5: "85ec9ca47d8f6807718151cbcca8b964"
note: "Saturn BIOS v1.01 (Japan). Used when region is JP or Asia NTSC."
source_ref: "mednafen/ss/ss.cpp:928-929"
# -------------------------------------------------------
# Saturn BIOS - North America / Europe / other
# -------------------------------------------------------
- name: "mpr-17933.bin"
system: sega-saturn
region: [north-america, europe, south-korea, asia-pal, brazil, latin-america]
required: true
size: 524288 # 512 KB
md5: "3240872c70984b6cbfda1586cab68dbe"
note: "Saturn BIOS (NA/EU). Used for all non-JP/Asia-NTSC regions."
source_ref: "mednafen/ss/ss.cpp:930-931"
# -------------------------------------------------------
# King of Fighters '95 ROM cart
# -------------------------------------------------------
- name: "mpr-18811-mx.ic1"
system: sega-saturn
required: false
size: 2097152 # 2 MB (0x200000, rom.cpp reads up to this)
md5: "255113ba943c92a54facd25a10fd780c"
note: "KOF95 expansion ROM cart. Loaded when cart type set to KOF95."
source_ref: "mednafen/ss/cart.cpp:157-172, mednafen/settings.cpp:64-65"
# -------------------------------------------------------
# Ultraman ROM cart
# -------------------------------------------------------
- name: "mpr-19367-mx.ic1"
system: sega-saturn
required: false
size: 2097152 # 2 MB
md5: "1cd19988d1d72a3e7caa0b73234c96b4"
note: "Ultraman expansion ROM cart. Loaded when cart type set to Ultraman."
source_ref: "mednafen/ss/cart.cpp:157-172, mednafen/settings.cpp:66-67"
# -------------------------------------------------------
# Action Replay 4M Plus (unfinished)
# -------------------------------------------------------
- name: "satar4mp.bin"
system: sega-saturn
required: false
note: "Action Replay 4M Plus firmware. Unfinished in source, needs CPU UBC emulation."
source_ref: "mednafen/ss/cart.cpp:174-188, mednafen/settings.cpp:68-69"
platform_details:
saturn:
bios_size: 524288 # 512 KB
rom_cart_size: 2097152 # 2 MB max (rom.cpp)
workram_low: 1048576 # 1 MB
workram_high: 1048576 # 1 MB
bios_address: "0x00000000-0x000FFFFF"
cart_address: "0x02000000-0x03FFFFFF"
hle_available: false
source_ref: "mednafen/ss/ss.cpp:906-908"

644
emulators/bluemsx.yml Normal file
View File

@@ -0,0 +1,644 @@
emulator: blueMSX
type: libretro
source: "https://github.com/libretro/blueMSX-libretro"
cores:
- bluemsx
systems:
- msx
- msx2
- msx2plus
- msxturboR
- colecovision
- sega-sg1000
- sega-sc3000
- sega-sf7000
- spectravideo
# blueMSX is a multi-system emulator covering MSX (1/2/2+/turboR), ColecoVision,
# SVI (Spectravideo), and SEGA SG-1000/SC-3000/SF-7000. The core ships its entire
# machine database (config.ini per machine model) plus ROM files under
# <system_dir>/Machines/. Each machine config.ini references ROM paths relative
# to the Machines directory.
#
# Machine type selection (libretro.c:855-896):
# Core option "bluemsx_msxtype" selects the machine. "Auto" defaults to SC-3000
# then switches based on file extension: .dsk/.cas/.rom/.mx1/.mx2 -> MSX2+,
# .col -> ColecoVision, .sg -> SG-1000, .sc -> SC-3000, .sf/.sf7 -> SF-7000.
#
# C-BIOS (open source MSX BIOS replacement) is bundled for MSX, MSX2, MSX2+.
# Machines: "MSX - C-BIOS", "MSX2 - C-BIOS", "MSX2+ - C-BIOS"
# These allow running cartridge ROMs without copyrighted BIOS files.
# Disk and tape software requires real BIOS ROMs.
#
# ROM loading (Src/Board/Machine.c:594-647):
# machineCreate() reads <machinesDir>/<machineName>/config.ini which lists
# ROM slots. ROM paths in config.ini are relative to machinesDir parent.
#
# All files go under: <system_dir>/Machines/
notes: |
The directory structure must be preserved exactly as shipped in the repo's
system/bluemsx/ folder. The core expects Machines/ and Databases/ subdirectories
inside the system directory. Each machine model has its own subdirectory with
a config.ini and associated ROM files.
Default machines (used when selecting base type names like "MSX", "MSX2", etc.)
reference ROMs from "Machines/Shared Roms/". Machine-specific variants (e.g.
"MSX2 - Panasonic FS-A1F") have their own ROMs in their own subdirectory.
C-BIOS machines work for cartridge-based games without any copyrighted BIOS.
For disk/tape support, real BIOS ROMs are required.
files:
# ============================================================
# Shared ROMs (Machines/Shared Roms/)
# Used by the default/generic machine configs and many specific models.
# ============================================================
# -- MSX1 main BIOS variants --
- name: MSX.rom
path: "Machines/Shared Roms/MSX.rom"
size: 32768
required: true
system: msx
note: "MSX1 generic BIOS. Used by default 'MSX' machine config."
source_ref: "system/bluemsx/Machines/MSX/config.ini"
- name: MSXJ.rom
path: "Machines/Shared Roms/MSXJ.rom"
size: 32768
required: false
system: msx
note: "MSX1 Japanese BIOS. Used by 'MSX - Japanese' machine."
source_ref: "system/bluemsx/Machines/MSX - Japanese/config.ini"
- name: MSXBR.rom
path: "Machines/Shared Roms/MSXBR.rom"
size: 32768
required: false
system: msx
note: "MSX1 Brazilian BIOS."
- name: MSXFR.rom
path: "Machines/Shared Roms/MSXFR.rom"
size: 32768
required: false
system: msx
note: "MSX1 French BIOS."
- name: MSXG.rom
path: "Machines/Shared Roms/MSXG.rom"
size: 32768
required: false
system: msx
note: "MSX1 German BIOS."
- name: MSXKR.rom
path: "Machines/Shared Roms/MSXKR.rom"
size: 32768
required: false
system: msx
note: "MSX1 Korean BIOS."
- name: MSXR.rom
path: "Machines/Shared Roms/MSXR.rom"
size: 32768
required: false
system: msx
note: "MSX1 Russian BIOS."
- name: MSXSE.ROM
path: "Machines/Shared Roms/MSXSE.ROM"
size: 32768
required: false
system: msx
note: "MSX1 Swedish BIOS."
- name: MSXSP.rom
path: "Machines/Shared Roms/MSXSP.rom"
size: 32768
required: false
system: msx
note: "MSX1 Spanish BIOS."
- name: MSXAR.ROM
path: "Machines/Shared Roms/MSXAR.ROM"
size: 32768
required: false
system: msx
note: "MSX1 Arabic BIOS."
- name: MSXR2.ROM
path: "Machines/Shared Roms/MSXR2.ROM"
size: 32768
required: false
system: msx
note: "MSX1 Russian BIOS (variant 2)."
- name: MSXHAN.rom
path: "Machines/Shared Roms/MSXHAN.rom"
size: 8192
required: false
system: msx
note: "MSX1 Korean Hangul extension ROM."
# -- MSX2 main BIOS + extension --
- name: MSX2.rom
path: "Machines/Shared Roms/MSX2.rom"
size: 32768
required: true
system: msx2
note: "MSX2 generic main BIOS. Used by default 'MSX2' machine config."
source_ref: "system/bluemsx/Machines/MSX2/config.ini"
- name: MSX2EXT.rom
path: "Machines/Shared Roms/MSX2EXT.rom"
size: 16384
required: true
system: msx2
note: "MSX2 extension BIOS (SubROM). Required alongside MSX2.rom."
source_ref: "system/bluemsx/Machines/MSX2/config.ini"
- name: MSX2J.rom
path: "Machines/Shared Roms/MSX2J.rom"
size: 32768
required: false
system: msx2
note: "MSX2 Japanese main BIOS."
- name: MSX2JEXT.rom
path: "Machines/Shared Roms/MSX2JEXT.rom"
size: 16384
required: false
system: msx2
note: "MSX2 Japanese extension BIOS."
- name: MSX2BR.rom
path: "Machines/Shared Roms/MSX2BR.rom"
size: 32768
required: false
system: msx2
note: "MSX2 Brazilian main BIOS."
- name: MSX2BREXT.rom
path: "Machines/Shared Roms/MSX2BREXT.rom"
size: 16384
required: false
system: msx2
note: "MSX2 Brazilian extension BIOS."
- name: MSX2FR.rom
path: "Machines/Shared Roms/MSX2FR.rom"
size: 32768
required: false
system: msx2
note: "MSX2 French main BIOS."
- name: MSX2FREXT.rom
path: "Machines/Shared Roms/MSX2FREXT.rom"
size: 16384
required: false
system: msx2
note: "MSX2 French extension BIOS."
- name: MSX2G.rom
path: "Machines/Shared Roms/MSX2G.rom"
size: 32768
required: false
system: msx2
note: "MSX2 German main BIOS."
- name: MSX2GEXT.rom
path: "Machines/Shared Roms/MSX2GEXT.rom"
size: 16384
required: false
system: msx2
note: "MSX2 German extension BIOS."
- name: MSX2KR.rom
path: "Machines/Shared Roms/MSX2KR.rom"
size: 32768
required: false
system: msx2
note: "MSX2 Korean main BIOS."
- name: MSX2KREXT.rom
path: "Machines/Shared Roms/MSX2KREXT.rom"
size: 32768
required: false
system: msx2
note: "MSX2 Korean extension BIOS."
- name: MSX2R.rom
path: "Machines/Shared Roms/MSX2R.rom"
size: 32768
required: false
system: msx2
note: "MSX2 Russian main BIOS."
- name: MSX2REXT.rom
path: "Machines/Shared Roms/MSX2REXT.rom"
size: 16384
required: false
system: msx2
note: "MSX2 Russian extension BIOS."
- name: MSX2R2.ROM
path: "Machines/Shared Roms/MSX2R2.ROM"
size: 32768
required: false
system: msx2
note: "MSX2 Russian main BIOS (variant 2)."
- name: MSX2SE.rom
path: "Machines/Shared Roms/MSX2SE.rom"
size: 32768
required: false
system: msx2
note: "MSX2 Swedish main BIOS."
- name: MSX2SP.rom
path: "Machines/Shared Roms/MSX2SP.rom"
size: 32768
required: false
system: msx2
note: "MSX2 Spanish main BIOS."
- name: MSX2SPEXT.rom
path: "Machines/Shared Roms/MSX2SPEXT.rom"
size: 16384
required: false
system: msx2
note: "MSX2 Spanish extension BIOS."
- name: MSX2AR.ROM
path: "Machines/Shared Roms/MSX2AR.ROM"
size: 32768
required: false
system: msx2
note: "MSX2 Arabic main BIOS."
- name: MSX2AREXT.ROM
path: "Machines/Shared Roms/MSX2AREXT.ROM"
size: 16384
required: false
system: msx2
note: "MSX2 Arabic extension BIOS."
- name: MSX2HAN.rom
path: "Machines/Shared Roms/MSX2HAN.rom"
size: 32768
required: false
system: msx2
note: "MSX2 Korean Hangul BIOS."
# -- MSX2+ main BIOS + extension --
- name: MSX2P.rom
path: "Machines/Shared Roms/MSX2P.rom"
size: 32768
required: true
system: msx2plus
note: "MSX2+ main BIOS. Used by default 'MSX2+' machine config (auto-selected for .dsk/.cas/.rom)."
source_ref: "system/bluemsx/Machines/MSX2+/config.ini"
- name: MSX2PEXT.rom
path: "Machines/Shared Roms/MSX2PEXT.rom"
size: 16384
required: true
system: msx2plus
note: "MSX2+ extension BIOS (SubROM)."
source_ref: "system/bluemsx/Machines/MSX2+/config.ini"
- name: MSX2PMUS.rom
path: "Machines/Shared Roms/MSX2PMUS.rom"
size: 16384
required: true
system: msx2plus
note: "MSX2+ MSX-MUSIC BIOS (FM-PAC built-in). Used by MSX2+ and MSX2 default configs."
source_ref: "system/bluemsx/Machines/MSX2+/config.ini"
# -- MSX turboR BIOS set --
- name: MSXTR.ROM
path: "Machines/Shared Roms/MSXTR.ROM"
size: 32768
required: true
system: msxturboR
note: "MSX turboR main BIOS."
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini"
- name: MSXTREXT.ROM
path: "Machines/Shared Roms/MSXTREXT.ROM"
size: 16384
required: true
system: msxturboR
note: "MSX turboR extension BIOS."
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini"
- name: MSXTRMUS.ROM
path: "Machines/Shared Roms/MSXTRMUS.ROM"
size: 16384
required: true
system: msxturboR
note: "MSX turboR MSX-MUSIC BIOS."
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini"
- name: MSXTROPT.ROM
path: "Machines/Shared Roms/MSXTROPT.ROM"
size: 16384
required: true
system: msxturboR
note: "MSX turboR option ROM (firmware utilities)."
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini"
- name: MSXDOS23.ROM
path: "Machines/Shared Roms/MSXDOS23.ROM"
size: 65536
required: true
system: msxturboR
note: "MSX-DOS 2.3 ROM. Used by turboR default config for disk operations."
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini"
# -- Shared utility/extension ROMs --
- name: KANJI.rom
path: "Machines/Shared Roms/KANJI.rom"
size: 262144
required: false
note: "Kanji font ROM (256 KB). Used by MSX2+, turboR, and Japanese MSX2 machines."
source_ref: "system/bluemsx/Machines/MSX2+/config.ini"
- name: MSXKANJI.rom
path: "Machines/Shared Roms/MSXKANJI.rom"
size: 32768
required: false
note: "MSX-Kanji driver ROM. Used by MSX2+, turboR, and Japanese MSX2 for kanji display."
source_ref: "system/bluemsx/Machines/MSX2+/config.ini"
- name: FMPAC.rom
path: "Machines/Shared Roms/FMPAC.rom"
size: 65536
required: false
note: "FM-PAC cartridge ROM (YM2413 FM synthesis). Loaded as expansion cartridge by MegaromCartridge.c."
source_ref: "Src/Memory/MegaromCartridge.c:290"
- name: XBASIC2.rom
path: "Machines/Shared Roms/XBASIC2.rom"
size: 16384
required: false
note: "MSX-BASIC 2 extension ROM. Used by MSX2, MSX2+, and turboR default configs."
source_ref: "system/bluemsx/Machines/MSX2/config.ini"
- name: PAINT.rom
path: "Machines/Shared Roms/PAINT.rom"
size: 65536
required: false
note: "Paint utility ROM. Used by some MSX2 Japanese machine configs."
- name: SWP.rom
path: "Machines/Shared Roms/SWP.rom"
size: 32768
required: false
note: "Software World Processor ROM. Used by Al Alamiah MSX2 machines."
- name: ARABIC.rom
path: "Machines/Shared Roms/ARABIC.rom"
size: 32768
required: false
note: "Arabic character set extension ROM."
- name: HANGUL.rom
path: "Machines/Shared Roms/HANGUL.rom"
size: 131072
required: false
note: "Korean Hangul font ROM (128 KB)."
- name: RS232.ROM
path: "Machines/Shared Roms/RS232.ROM"
size: 8192
required: false
note: "RS-232C serial interface ROM."
- name: MOONSOUND.rom
path: "Machines/Shared Roms/MOONSOUND.rom"
size: 2097152
required: false
note: "MoonSound (OPL4) wavetable ROM (2 MB). Used by MSX2, MSX2+, and turboR configs."
source_ref: "system/bluemsx/Machines/MSX2/config.ini"
# -- Disk controller ROMs --
- name: PANASONICDISK.rom
path: "Machines/Shared Roms/PANASONICDISK.rom"
size: 16384
required: false
note: "Panasonic disk controller ROM. Used by MSX2+ and turboR default configs."
source_ref: "system/bluemsx/Machines/MSX2+/config.ini"
- name: PHILIPSDISK.rom
path: "Machines/Shared Roms/PHILIPSDISK.rom"
size: 16384
required: false
note: "Philips disk controller ROM. Used by MSX1 and MSX2 default configs."
source_ref: "system/bluemsx/Machines/MSX/config.ini"
- name: NATIONALDISK.rom
path: "Machines/Shared Roms/NATIONALDISK.rom"
size: 16384
required: false
note: "National disk controller ROM."
- name: MICROSOLDISK.ROM
path: "Machines/Shared Roms/MICROSOLDISK.ROM"
size: 16384
required: false
note: "Microsol disk controller ROM."
# -- Expansion hardware ROMs --
- name: SUNRISEIDE.rom
path: "Machines/Shared Roms/SUNRISEIDE.rom"
size: 65536
required: false
note: "Sunrise IDE interface ROM. Loaded as expansion cartridge."
source_ref: "Src/Memory/MegaromCartridge.c:310"
- name: BEERIDE.ROM
path: "Machines/Shared Roms/BEERIDE.ROM"
size: 16384
required: false
note: "Beer IDE interface ROM."
source_ref: "Src/Memory/MegaromCartridge.c:318"
- name: NOVAXIS.rom
path: "Machines/Shared Roms/NOVAXIS.rom"
size: 16384
required: false
note: "Novaxis SCSI interface ROM."
source_ref: "Src/Memory/MegaromCartridge.c:326"
- name: nowindDos1.rom
path: "Machines/Shared Roms/nowindDos1.rom"
size: 524288
required: false
note: "Nowind USB disk interface with MSX-DOS 1."
source_ref: "Src/Memory/MegaromCartridge.c:334"
- name: nowindDos2.rom
path: "Machines/Shared Roms/nowindDos2.rom"
size: 524288
required: false
note: "Nowind USB disk interface with MSX-DOS 2."
source_ref: "Src/Memory/MegaromCartridge.c:338"
- name: GCVMX80.ROM
path: "Machines/Shared Roms/GCVMX80.ROM"
size: 8192
required: false
note: "GCV MX-80 printer interface ROM."
- name: ARAB1.ROM
path: "Machines/Shared Roms/ARAB1.ROM"
size: 32768
required: false
note: "Arabic support ROM (variant 1)."
# ============================================================
# C-BIOS ROMs (open source, bundled with core)
# These are pre-installed and do not require user-supplied files.
# ============================================================
- name: cbios_main_msx1.rom
path: "Machines/MSX - C-BIOS/cbios_main_msx1.rom"
size: 32768
required: false
bundled: true
system: msx
note: "C-BIOS MSX1 main ROM (open source). Bundled with core. Cartridge games only."
- name: cbios_logo_msx1.rom
path: "Machines/MSX - C-BIOS/cbios_logo_msx1.rom"
size: 16384
required: false
bundled: true
system: msx
note: "C-BIOS MSX1 logo ROM (open source). Bundled with core."
- name: cbios_main_msx2.rom
path: "Machines/MSX2 - C-BIOS/cbios_main_msx2.rom"
size: 32768
required: false
bundled: true
system: msx2
note: "C-BIOS MSX2 main ROM (open source). Bundled with core. Cartridge games only."
- name: cbios_logo_msx2.rom
path: "Machines/MSX2 - C-BIOS/cbios_logo_msx2.rom"
size: 16384
required: false
bundled: true
system: msx2
note: "C-BIOS MSX2 logo ROM (open source). Bundled with core."
- name: cbios_sub.rom
path: "Machines/MSX2 - C-BIOS/cbios_sub.rom"
size: 16384
required: false
bundled: true
system: msx2
note: "C-BIOS MSX2/MSX2+ sub ROM (open source). Bundled with core."
- name: "cbios_main_msx2+.rom"
path: "Machines/MSX2+ - C-BIOS/cbios_main_msx2+.rom"
size: 32768
required: false
bundled: true
system: msx2plus
note: "C-BIOS MSX2+ main ROM (open source). Bundled with core. Cartridge games only."
- name: "cbios_logo_msx2+.rom"
path: "Machines/MSX2+ - C-BIOS/cbios_logo_msx2+.rom"
size: 16384
required: false
bundled: true
system: msx2plus
note: "C-BIOS MSX2+ logo ROM (open source). Bundled with core."
- name: cbios_music.rom
path: "Machines/MSX2+ - C-BIOS/cbios_music.rom"
size: 16384
required: false
bundled: true
system: msx2plus
note: "C-BIOS MSX2+ music ROM (open source). Bundled with core."
# ============================================================
# ColecoVision BIOS
# ============================================================
- name: coleco.rom
path: "Machines/COL - ColecoVision/coleco.rom"
size: 8192
required: true
system: colecovision
note: "ColecoVision BIOS ROM. Required for ColecoVision mode."
source_ref: "system/bluemsx/Machines/COL - ColecoVision/config.ini"
# ============================================================
# SEGA SF-7000 BIOS
# SG-1000 and SC-3000 do not require BIOS ROMs.
# ============================================================
- name: sf7000.rom
path: "Machines/SEGA - SF-7000/sf7000.rom"
size: 8192
required: true
system: sega-sf7000
note: "Sega SF-7000 BIOS ROM. SG-1000 and SC-3000 have no BIOS requirement."
source_ref: "system/bluemsx/Machines/SEGA - SF-7000/config.ini"
# ============================================================
# Spectravideo SVI BIOS files
# ============================================================
- name: svi318.rom
path: "Machines/SVI - Spectravideo SVI-318/svi318.rom"
size: 32768
required: true
system: spectravideo
note: "SVI-318 BIOS ROM."
source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-318/config.ini"
- name: svi328.rom
path: "Machines/SVI - Spectravideo SVI-328/svi328.rom"
size: 32768
required: true
system: spectravideo
note: "SVI-328 BIOS ROM."
source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-328/config.ini"
# ============================================================
# Databases (required for ROM identification/mapper detection)
# Shipped with the core, not user-supplied.
# ============================================================
- name: msxromdb.xml
path: "Databases/msxromdb.xml"
required: false
bundled: true
note: "MSX ROM database for mapper auto-detection. Bundled with core."
- name: msxsysromdb.xml
path: "Databases/msxsysromdb.xml"
required: false
bundled: true
note: "MSX system ROM database. Bundled with core."
# Machine count: 170+ machine configurations covering dozens of regional MSX
# variants from manufacturers like Panasonic, Sony, Philips, Yamaha, Sanyo,
# National, Toshiba, Daewoo, Sharp, Gradiente, Spectravideo, and others.
# Each has its own ROM set in its own subdirectory. The Shared Roms directory
# covers the generic/default configs that most users will need.

189
emulators/bsnes.yml Normal file
View File

@@ -0,0 +1,189 @@
emulator: bsnes
type: libretro
source: "https://github.com/libretro/bsnes-libretro"
systems: [nintendo-snes, nintendo-super-game-boy, nintendo-satellaview]
# bsnes supports HLE for DSP1/DSP1B/DSP2/DSP4, ST010, and Cx4.
# When HLE is enabled (core option bsnes_coprocessor_prefer_hle) or
# when LLE firmware files are missing, bsnes falls back to HLE automatically.
# DSP3 and ST011 have no HLE fallback - LLE firmware is required.
# SGB boot ROMs are embedded in the core (icd/boot-roms.cpp), but the SGB
# cartridge ROM (SGB1.sfc / SGB2.sfc) must be provided for Game Boy support.
# All coprocessor firmware loaded via system directory lookup:
# RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY -> "{sysdir}/{identifier}.{type}.rom"
# SGB BIOS loaded from: "{sysdir}/{SGB1.sfc|SGB2.sfc}" (core option bsnes_sgb_bios)
# BS-X BIOS loaded from: "{sysdir}/BS-X.bin"
files:
# -- NEC uPD7725 coprocessor (DSP1, DSP1B, DSP2, DSP3, DSP4) --
# Used by: Pilotwings (DSP1), Super Mario Kart (DSP1B), Dungeon Master (DSP2),
# SD Gundam GX (DSP3), Top Gear 3000 / Planets Champ TG3000 (DSP4)
# program ROM: 2048 x 24-bit words, data ROM: 1024 x 16-bit words
- name: "dsp1.program.rom"
size: 6144 # 0x1800
required: false
note: "NEC uPD7725 program ROM for DSP1. HLE fallback available"
source_ref: "sfc/cartridge/load.cpp:490-494, heuristics/super-famicom.cpp:601"
- name: "dsp1.data.rom"
size: 2048 # 0x800
required: false
note: "NEC uPD7725 data ROM for DSP1. HLE fallback available"
source_ref: "sfc/cartridge/load.cpp:498-503"
- name: "dsp1b.program.rom"
size: 6144 # 0x1800
required: false
note: "NEC uPD7725 program ROM for DSP1B (default NEC identifier). HLE fallback available"
source_ref: "heuristics/super-famicom.cpp:606"
- name: "dsp1b.data.rom"
size: 2048 # 0x800
required: false
note: "NEC uPD7725 data ROM for DSP1B. HLE fallback available"
source_ref: "heuristics/super-famicom.cpp:606"
- name: "dsp2.program.rom"
size: 6144 # 0x1800
required: false
note: "NEC uPD7725 program ROM for DSP2 (Dungeon Master). HLE fallback available"
source_ref: "sfc/cartridge/load.cpp:515-520, heuristics/super-famicom.cpp:602"
- name: "dsp2.data.rom"
size: 2048 # 0x800
required: false
note: "NEC uPD7725 data ROM for DSP2. HLE fallback available"
source_ref: "sfc/cartridge/load.cpp:498-503"
- name: "dsp3.program.rom"
size: 6144 # 0x1800
required: true
note: "NEC uPD7725 program ROM for DSP3 (SD Gundam GX). No HLE fallback"
source_ref: "sfc/cartridge/load.cpp:531-534"
- name: "dsp3.data.rom"
size: 2048 # 0x800
required: true
note: "NEC uPD7725 data ROM for DSP3. No HLE fallback"
source_ref: "sfc/cartridge/load.cpp:531-534"
- name: "dsp4.program.rom"
size: 6144 # 0x1800
required: false
note: "NEC uPD7725 program ROM for DSP4 (Top Gear 3000). HLE fallback available"
source_ref: "sfc/cartridge/load.cpp:522-528, heuristics/super-famicom.cpp:604-605"
- name: "dsp4.data.rom"
size: 2048 # 0x800
required: false
note: "NEC uPD7725 data ROM for DSP4. HLE fallback available"
source_ref: "sfc/cartridge/load.cpp:498-503"
# -- NEC uPD96050 coprocessor (ST010, ST011) --
# Used by: Exhaust Heat 2 / F1 ROC II (ST010), 2dan Morita Shougi (ST011)
# program ROM: 16384 x 24-bit words, data ROM: 2048 x 16-bit words
- name: "st010.program.rom"
size: 49152 # 0xC000
required: false
note: "NEC uPD96050 program ROM for ST010. HLE fallback available"
source_ref: "sfc/cartridge/load.cpp:570-574, heuristics/super-famicom.cpp:583-587"
- name: "st010.data.rom"
size: 4096 # 0x1000
required: false
note: "NEC uPD96050 data ROM for ST010. HLE fallback available"
source_ref: "sfc/cartridge/load.cpp:578-583"
- name: "st011.program.rom"
size: 49152 # 0xC000
required: true
note: "NEC uPD96050 program ROM for ST011 (2dan Morita Shougi). No HLE fallback"
source_ref: "sfc/cartridge/load.cpp:599-601, heuristics/super-famicom.cpp:586"
- name: "st011.data.rom"
size: 4096 # 0x1000
required: true
note: "NEC uPD96050 data ROM for ST011. No HLE fallback"
source_ref: "sfc/cartridge/load.cpp:599-601"
# -- SETA ST018 (ARM6 coprocessor) --
# Used by: Hayazashi Nidan Morita Shougi
# No HLE fallback exists
- name: "st018.program.rom"
size: 131072 # 0x20000 (128 KB)
required: true
note: "ARM6 program ROM for ST018 (Hayazashi Nidan Morita Shougi). No HLE fallback"
source_ref: "sfc/cartridge/load.cpp:379-385, armdsp/armdsp.hpp:31, heuristics/super-famicom.cpp:580"
- name: "st018.data.rom"
size: 32768 # 0x8000 (32 KB)
required: true
note: "ARM6 data ROM for ST018. No HLE fallback"
source_ref: "sfc/cartridge/load.cpp:387-393, armdsp/armdsp.hpp:32"
# -- Hitachi HG51BS169 (Cx4 coprocessor) --
# Used by: Mega Man X2, Mega Man X3
# HLE fallback available (configuration.hacks.coprocessor.preferHLE)
# Built-in staticDataROM fallback also present for LLE when file missing
- name: "cx4.data.rom"
size: 3072 # 0xC00
required: false
note: "Hitachi HG51BS169 data ROM for Cx4 (Mega Man X2/X3). HLE fallback and built-in static ROM available"
source_ref: "sfc/cartridge/load.cpp:444-456, hitachidsp/hitachidsp.hpp:49, heuristics/super-famicom.cpp:597"
# -- Super Game Boy cartridge ROM --
# The SGB boot ROMs (256 bytes each) are embedded in icd/boot-roms.cpp.
# But the actual SGB cartridge ROM must be supplied for Game Boy game support.
# Core option bsnes_sgb_bios selects between SGB1.sfc and SGB2.sfc.
- name: "SGB1.sfc"
required: false
note: "Super Game Boy 1 cartridge ROM. Needed to play Game Boy games via SGB mode"
source_ref: "target-libretro/libretro.cpp:689,933, target-libretro/libretro_core_options.h:689"
- name: "SGB2.sfc"
required: false
note: "Super Game Boy 2 cartridge ROM. Uses dedicated oscillator for accurate GB speed"
source_ref: "target-libretro/libretro.cpp:690,933, target-libretro/libretro_core_options.h:690"
# -- BS-X Satellaview BIOS --
# Required for loading .bs (BS Memory) format games.
# Hardcoded filename in libretro.cpp.
- name: "BS-X.bin"
required: true
note: "BS-X Satellaview BIOS ROM. Required for .bs format Satellaview games"
source_ref: "target-libretro/libretro.cpp:948, target-libretro/program.cpp:790-799"
notes:
hle_available: true
hle_note: >
bsnes provides HLE for DSP1, DSP1B, DSP2, DSP4, ST010, and Cx4.
Controlled by core option bsnes_coprocessor_prefer_hle (default ON).
DSP3, ST011, and ST018 have no HLE - LLE firmware files are mandatory
for the few games that use them.
sgb_note: >
SGB boot ROMs (256 bytes each for SGB1/SGB2) are compiled into the core
at icd/boot-roms.cpp. The SGB cartridge ROM (SGB1.sfc or SGB2.sfc) is a
separate requirement. Core option bsnes_sgb_bios selects which one to use
(default SGB1.sfc). Loading .gb/.gbc files auto-loads the selected SGB ROM.
firmware_resolution: >
Firmware filenames are derived from the game manifest identifier field
(lowercased) plus ".program.rom" or ".data.rom" suffix. The mapping is:
NEC uPD7725 -> dsp1/dsp1b/dsp2/dsp3/dsp4, NEC uPD96050 -> st010/st011,
ARM6 -> st018, HG51BS169 -> cx4. Firmware can also be appended directly
to the ROM image (auto-detected by firmwareRomSize heuristic).
embedded_firmware: >
If firmware data is appended to the game ROM, bsnes splits it automatically
based on firmwareRomSize() detection. Sizes: uPD7725=0x2000, uPD96050=0xD000,
ARM6=0x28000, HG51BS169=0xC00. This eliminates the need for separate files
when using combined ROM+firmware dumps.
cx4_static_fallback: >
The Cx4 (HG51BS169) has a compiled-in static data ROM (hitachidsp/staticDataROM)
as fallback when cx4.data.rom is missing and HLE is disabled. This means
Mega Man X2/X3 work in all configurations without user-supplied firmware.

1343
emulators/fbneo.yml Normal file

File diff suppressed because it is too large Load Diff

52
emulators/fceumm.yml Normal file
View File

@@ -0,0 +1,52 @@
emulator: FCEUmm
type: libretro
source: "https://github.com/libretro/libretro-fceumm"
systems: [nintendo-nes, nintendo-fds]
notes: |
FCEUmm (FCE Ultra mappers modified) is a NES/Famicom emulator.
NES cartridge games need no BIOS. Famicom Disk System games require
the FDS BIOS ROM (disksys.rom, 8 KB) loaded from the system directory.
Game Genie emulation is an optional core feature (disabled by default)
that requires gamegenie.nes in the system directory.
An optional external palette file (nes.pal, 192 bytes, 64 RGB triplets)
can override the built-in NES palette when the core option is set to Custom.
NstDatabase.xml is NOT used by FCEUmm (that is Nestopia's database).
File path construction: src/general.c FCEU_MakeFName() joins the
system directory (RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY) with each
filename directly - no subdirectories.
files:
# --- Famicom Disk System BIOS (required for FDS games) ---
- name: "disksys.rom"
system: nintendo-fds
description: "FDS BIOS ROM"
required: true
size: 8192
md5: "ca30b50f880eb660a320674ed365ef7a"
sha1: "57fe1bdee955bb48d357e463ccbf129496930b62"
source_ref: "src/fds.c:636-667 (FDSLoad), src/general.c:64-66 (FCEUMKF_FDSROM)"
notes: "Loaded at 0xE000, mapped as 8 KB PRG bank 0. Load fails with error if missing or short read."
# --- Game Genie ROM (optional, core option fceumm_game_genie) ---
- name: "gamegenie.nes"
system: nintendo-nes
description: "Game Genie add-on cartridge ROM"
required: false
size: 24592
md5: "7f98d77d7a094ad7d069b74bd553ec98"
sha1: "f430a0d752a9fa0c7032db8131f9090d18f71779"
source_ref: "src/cart.c:351-389 (OpenGenie), src/general.c:60-62 (FCEUMKF_GGROM)"
notes: "iNES format ROM (4 KB PRG + 256 bytes CHR). Core option disabled by default. Does not apply to FDS or arcade content."
# --- Custom palette (optional, core option fceumm_palette) ---
- name: "nes.pal"
system: nintendo-nes
description: "External NES color palette"
required: false
size: 192
md5: "aaf3666e4ed478e2964b46d6a7aa27ad"
sha1: "37027d92e1015b82a7dc5c43e9f1649a961577ab"
source_ref: "src/general.c:68-70 (FCEUMKF_PALETTE), src/drivers/libretro/libretro.c:1791"
notes: "64 RGB triplets (64 x 3 bytes). Only loaded when palette core option is set to Custom. Multiple valid palettes exist."

View File

@@ -0,0 +1,154 @@
emulator: Genesis Plus GX
type: libretro
source: "https://github.com/libretro/Genesis-Plus-GX"
cores:
- genesis_plus_gx
- genesis_plus_gx_wide
systems:
- sega-megadrive
- sega-megacd
- sega-mastersystem
- sega-gamegear
- sega-sg1000
notes: |
Genesis Plus GX is a Sega 8/16-bit emulator covering SG-1000, Master System,
Game Gear, Mega Drive/Genesis, and Mega CD/Sega CD.
BIOS loading is handled by load_bios() in core/loadrom.c. The libretro port
resolves filenames from the system directory in libretro/libretro.c:3516-3527.
Mega CD BIOS is required to boot CD images (load fails without it).
Master System, Game Gear, and Mega Drive BIOS files are optional boot ROMs
gated behind the "genesis_plus_gx_bios" core option (config.bios).
Lock-on ROMs (Game Genie, Action Replay, Sonic & Knuckles) are optional
and loaded only when the corresponding lock-on feature is enabled.
files:
# -------------------------------------------------------
# Sega Mega CD / Sega CD - boot ROMs (required for CD)
# -------------------------------------------------------
- name: bios_CD_U.bin
system: sega-megacd
required: true
size: 131072 # 128 KB (0x20000)
note: "Sega CD (NTSC-U) boot ROM. Loaded for REGION_USA."
source_ref: "core/loadrom.c:409"
- name: bios_CD_E.bin
system: sega-megacd
required: true
size: 131072
note: "Mega CD (PAL) boot ROM. Loaded for REGION_EUROPE."
source_ref: "core/loadrom.c:412"
- name: bios_CD_J.bin
system: sega-megacd
required: true
size: 131072
note: "Mega CD (NTSC-J) boot ROM. Loaded for default/Japan region."
source_ref: "core/loadrom.c:415"
# -------------------------------------------------------
# Sega Master System - boot ROMs (optional, behind config.bios)
# -------------------------------------------------------
- name: bios_U.sms
system: sega-mastersystem
required: false
note: "Master System (NTSC-U) boot ROM. Snail maze game built in."
source_ref: "core/loadrom.c:511"
- name: bios_E.sms
system: sega-mastersystem
required: false
note: "Master System (PAL) boot ROM. Snail maze / Sonic built in."
source_ref: "core/loadrom.c:514"
- name: bios_J.sms
system: sega-mastersystem
required: false
note: "Master System (NTSC-J) boot ROM."
source_ref: "core/loadrom.c:517"
# -------------------------------------------------------
# Sega Game Gear - boot ROM (optional, behind config.bios)
# -------------------------------------------------------
- name: bios.gg
system: sega-gamegear
required: false
note: "Game Gear boot ROM (Majesco 1KB or standard). Shows startup logo."
source_ref: "core/loadrom.c:480"
# -------------------------------------------------------
# Sega Mega Drive / Genesis - TMSS boot ROM (optional)
# -------------------------------------------------------
- name: bios_MD.bin
system: sega-megadrive
required: false
size: 2048 # 2 KB (0x800)
note: "Mega Drive TMSS boot ROM. Shows 'Produced by or under license' screen."
source_ref: "libretro/libretro.c:3651"
# -------------------------------------------------------
# Lock-on ROMs (optional, feature-gated)
# -------------------------------------------------------
- name: ggenie.bin
system: sega-megadrive
required: false
size: 32768 # 32 KB (0x8000)
note: "Game Genie ROM. Loaded when Game Genie lock-on is enabled."
source_ref: "core/cart_hw/ggenie.c:64"
- name: areplay.bin
system: sega-megadrive
required: false
size: 65536 # max 64 KB (0x10000)
note: "Action Replay (Pro) ROM. Loaded when Action Replay lock-on is enabled."
source_ref: "core/cart_hw/areplay.c:64"
- name: sk.bin
system: sega-megadrive
required: false
size: 2097152 # 2 MB (0x200000)
note: "Sonic & Knuckles ROM. Required for S&K lock-on feature."
source_ref: "core/cart_hw/md_cart.c:867"
- name: sk2chip.bin
system: sega-megadrive
required: false
size: 262144 # 256 KB (0x40000)
note: "Sonic & Knuckles UPMEM ROM. Used by Sonic 2 & Knuckles lock-on."
source_ref: "core/cart_hw/md_cart.c:873"
platform_details:
megacd:
bootrom_size: 131072 # 128 KB
source_ref: "core/cd_hw/scd.h:73"
notes: |
CD boot ROM region is auto-detected from disc image header.
Hardware model detected from boot ROM string at offset 0x120:
WONDER-MEGA BOOT -> Wondermega
WONDERMEGA2 BOOT -> Wondermega M2 / X'Eye
CDX BOOT ROM -> CDX / Multi-Mega
megadrive:
tmss_rom_size: 2048 # 2 KB
source_ref: "libretro/libretro.c:3648-3666"
notes: |
TMSS boot ROM validated by checking "GENESIS OS" at offset 0x120.
Only loaded when genesis_plus_gx_bios core option is enabled.
mastersystem:
bios_max_size: 4194304 # 4 MB (stored above cart ROM)
source_ref: "core/loadrom.c:504-527"
notes: |
BIOS ROM loaded into cart.rom + 0x400000. SEGA mapper assumed
for ROMs larger than 48KB, otherwise no mapper.
Region selected based on current region_code setting.
gamegear:
bios_max_size: 4194304 # 4 MB (stored above cart ROM)
source_ref: "core/loadrom.c:467-489"
notes: |
Handles 1KB Majesco GG BIOS (mapped to $0000-$03FF) and
standard larger BIOS ROMs.

84
emulators/hatari.yml Normal file
View File

@@ -0,0 +1,84 @@
emulator: Hatari
type: libretro
source: "https://github.com/libretro/hatari"
systems: [atari-st, atari-ste, atari-tt, atari-falcon]
# Hatari requires a TOS ROM image to boot. The default filename is tos.img,
# loaded from either system/ or system/hatari/tos/ (libretro core scans both).
# EmuTOS (open source replacement) is detected via 'ETOS' magic at offset 0x2c.
# Cartridge ROM is optional and loaded from szCartridgeImageFileName config.
# TOS version/machine compatibility (enforced in tos.c TOS_CheckSysConfig):
# TOS 1.00-1.04 -> ST only, 68000
# TOS 1.06/1.62 -> STE only
# TOS 2.0x -> ST/STE (patched for ST compatibility)
# TOS 3.0x -> TT only, 68030+
# TOS 4.0x -> Falcon only, 68020+
# EmuTOS -> all machine types (no version constraint)
# Libretro core search paths (libretro.c):
# 1. <system>/tos.img (legacy default)
# 2. <system>/hatari/tos/ directory (all .img/.rom/.tos files listed as options)
# Core option "hatari_tosimage" selects which TOS image to use.
files:
# -- Primary TOS ROM (required) --
# At minimum one TOS image must be present. The most commonly used
# version is TOS 1.02, which is the default for Atari ST emulation.
- name: "tos.img"
path: "tos.img"
required: true
note: >
TOS ROM image. Any valid version (1.00 through 4.04) or EmuTOS works.
The core auto-detects version from the ROM header and adjusts machine type.
Default location is system/tos.img, additional images go in system/hatari/tos/.
source_ref: "src/tos.c:576-696, libretro/libretro.c:387-410"
# -- Cartridge ROM (optional) --
# External cartridge image, max 128 KB. Formats: .img, .rom, .stc
# Cannot be used together with GEMDOS HD emulation or extended VDI resolution.
- name: "cartridge ROM"
path: null # user-configured via szCartridgeImageFileName
required: false
max_size: 131076 # 0x20004 (.stc with 4-byte header) or 0x20000 (raw)
note: >
External cartridge image. Loaded to address 0xFA0000.
STC format images (0x20004 bytes) have a 4-byte header that is stripped.
Mutually exclusive with GEMDOS hard disk emulation and extended VDI.
source_ref: "src/cart.c:53-88"
# Supported TOS versions (from patch table in tos.c):
# 0x100 - TOS 1.00 (ST, 68000 only, no VDI extensions)
# 0x102 - TOS 1.02 (ST, most common for gaming)
# 0x104 - TOS 1.04 (ST, adds autostart support)
# 0x106 - TOS 1.06 (STE only)
# 0x162 - TOS 1.62 (STE only)
# 0x205 - TOS 2.05 (STE native, patched for ST)
# 0x206 - TOS 2.06 (STE/ST)
# 0x306 - TOS 3.06 (TT, 68030+)
# 0x400 - TOS 4.00 (Falcon, 68020+)
# 0x401 - TOS 4.01 (Falcon)
# 0x402 - TOS 4.02 (Falcon)
# 0x404 - TOS 4.04 (Falcon)
# 0x492 - TOS 4.92 (RAM TOS variant)
# TOS ROM sizes (typical):
# 192 KB (0x30000) - TOS 1.0x (loaded at 0xFC0000)
# 256 KB (0x40000) - TOS 2.0x+ (loaded at 0xE00000)
# Up to 1 MB - maximum accepted by the loader
# File extensions scanned: .img, .rom, .tos
notes:
emutos_note: >
EmuTOS is a free open-source TOS replacement that works with all machine types.
Hatari detects it via the 'ETOS' signature at ROM offset 0x2c and skips
machine-type enforcement and ROM patches.
gemdos_boot_note: >
When using GEMDOS hard disk mode with .gem files, the core also loads
system/hatari/BOOT.ST as a floppy image for bootstrapping.
libretro_path_note: >
The libretro core checks system/tos.img first for backward compatibility,
then scans system/hatari/tos/ for additional TOS images exposed as core options.

175
emulators/picodrive.yml Normal file
View File

@@ -0,0 +1,175 @@
emulator: PicoDrive
type: libretro
source: "https://github.com/libretro/picodrive"
systems:
- sega-megadrive
- sega-genesis
- sega-megacd
- sega-segacd
- sega-32x
- sega-mastersystem
- sega-gamegear
- sega-sg1000
- sega-pico
notes: |
PicoDrive is a fast Mega Drive / Genesis emulator with Mega CD, 32X, Master
System, Game Gear, SG-1000 and Sega Pico support.
Mega CD / Sega CD games require a region-matching BIOS file. The core searches
the system directory for each name in order, trying .bin then .zip extension,
and uses the first file found. If no BIOS is found, CD games fail to load with
PM_BAD_CD_NO_BIOS. MSU-MD games can run without BIOS.
BIOS filename search order (platform/libretro/libretro.c:1265-1329):
US: us_scd2_9306, SegaCDBIOS9303, us_scd1_9210, bios_CD_U
EU: eu_mcd2_9306, eu_mcd2_9303, eu_mcd1_9210, bios_CD_E
JP: jp_mcd2_921222, jp_mcd1_9112, jp_mcd1_9111, bios_CD_J
32X BIOS files (m68k, master SH2, slave SH2) are fully optional. The core
has built-in HLE that generates replacement code at startup when the external
BIOS pointers are NULL (pico/32x/memory.c:2200 get_bios(), pico/32x/32x.c:172).
The libretro frontend does not expose any 32X BIOS loading path. Only the
standalone platform code references 32X_M_BIOS.BIN / 32X_S_BIOS.BIN, and
that code is currently disabled (#if 0 in platform/common/emu.c:1529).
Master System, Game Gear, SG-1000: no BIOS file loaded. The core initializes
VDP registers and RAM to simulate post-BIOS state (pico/sms.c:1080-1096).
files:
# -------------------------------------------------------
# Mega CD / Sega CD - US region
# -------------------------------------------------------
- name: "us_scd2_9306.bin"
system: sega-segacd
required: true
size: 131072 # 128 KB (0x20000)
note: "US Sega CD Model 2 BIOS (September 1993). First in US search order."
source_ref: "platform/libretro/libretro.c:1266"
- name: "SegaCDBIOS9303.bin"
system: sega-segacd
required: false
size: 131072
note: "US Sega CD BIOS (March 1993). Second in US search order."
source_ref: "platform/libretro/libretro.c:1266"
- name: "us_scd1_9210.bin"
system: sega-segacd
required: false
size: 131072
note: "US Sega CD Model 1 BIOS (October 1992). Third in US search order."
source_ref: "platform/libretro/libretro.c:1266"
- name: "bios_CD_U.bin"
system: sega-segacd
required: false
size: 131072
note: "US Sega CD BIOS (generic name). Last in US search order."
source_ref: "platform/libretro/libretro.c:1266"
# -------------------------------------------------------
# Mega CD / Sega CD - EU region
# -------------------------------------------------------
- name: "eu_mcd2_9306.bin"
system: sega-megacd
required: true
size: 131072
note: "EU Mega CD Model 2 BIOS (June 1993). First in EU search order."
source_ref: "platform/libretro/libretro.c:1269"
- name: "eu_mcd2_9303.bin"
system: sega-megacd
required: false
size: 131072
note: "EU Mega CD Model 2 BIOS (March 1993). Second in EU search order."
source_ref: "platform/libretro/libretro.c:1269"
- name: "eu_mcd1_9210.bin"
system: sega-megacd
required: false
size: 131072
note: "EU Mega CD Model 1 BIOS (October 1992). Third in EU search order."
source_ref: "platform/libretro/libretro.c:1269"
- name: "bios_CD_E.bin"
system: sega-megacd
required: false
size: 131072
note: "EU Mega CD BIOS (generic name). Last in EU search order."
source_ref: "platform/libretro/libretro.c:1269"
# -------------------------------------------------------
# Mega CD / Sega CD - JP region
# -------------------------------------------------------
- name: "jp_mcd2_921222.bin"
system: sega-megacd
required: true
size: 131072
note: "JP Mega CD Model 2 BIOS (December 1992). First in JP search order."
source_ref: "platform/libretro/libretro.c:1272"
- name: "jp_mcd1_9112.bin"
system: sega-megacd
required: false
size: 131072
note: "JP Mega CD Model 1 BIOS (December 1991). Second in JP search order."
source_ref: "platform/libretro/libretro.c:1272"
- name: "jp_mcd1_9111.bin"
system: sega-megacd
required: false
size: 131072
note: "JP Mega CD Model 1 BIOS (November 1991). Third in JP search order."
source_ref: "platform/libretro/libretro.c:1272"
- name: "bios_CD_J.bin"
system: sega-megacd
required: false
size: 131072
note: "JP Mega CD BIOS (generic name). Last in JP search order."
source_ref: "platform/libretro/libretro.c:1272"
# -------------------------------------------------------
# Sega 32X - HLE available, not loaded by libretro frontend
# -------------------------------------------------------
- name: "32X_G_BIOS.BIN"
system: sega-32x
required: false
size: 256 # 0x100
note: "32X 68K (Genesis-side) BIOS. HLE replacement generated when NULL."
source_ref: "pico/32x/memory.c:2207-2243"
- name: "32X_M_BIOS.BIN"
system: sega-32x
required: false
size: 2048 # 0x800
note: "32X Master SH2 BIOS. HLE replacement generated when NULL."
source_ref: "pico/32x/memory.c:2250-2277"
- name: "32X_S_BIOS.BIN"
system: sega-32x
required: false
size: 1024 # 0x400
note: "32X Slave SH2 BIOS. HLE replacement generated when NULL."
source_ref: "pico/32x/memory.c:2280-2298"
platform_details:
megacd:
bios_size: 131072 # 128 KB
hle_available: false
region_specific: true
extensions_tried: [".bin", ".zip"]
source_ref: "pico/pico_int.h:559, platform/libretro/libretro.c:1310-1318"
32x:
m68k_bios_size: 256 # 0x100
master_sh2_bios_size: 2048 # 0x800
slave_sh2_bios_size: 1024 # 0x400
hle_available: true
source_ref: "pico/pico.h:53-55, pico/pico_int.h:679-693"
sms:
hle_available: true
note: "No BIOS file loaded. VDP/RAM initialized to post-BIOS state."
source_ref: "pico/sms.c:1080-1096"

255
emulators/puae.yml Normal file
View File

@@ -0,0 +1,255 @@
emulator: PUAE (P-UAE)
type: libretro
cores: [puae, puae2021]
source: "https://github.com/libretro/libretro-uae"
systems:
- commodore-amiga
- commodore-amiga-cd32
- commodore-cdtv
notes: |
PUAE is a port of UAE (Unix Amiga Emulator) to libretro. It emulates the
Amiga 500, 500+, 600, 1200, 2000, 4000, CD32, and CDTV. Kickstart ROMs
are loaded from the RetroArch system directory.
AROS (open-source Kickstart replacement) is available as a built-in fallback
when no Kickstart ROM is found. Compatibility is limited compared to real ROMs.
The core scans the system directory for files starting with "kick", "amiga-os",
or "KS ROM". Each filename is matched against a table of known naming
conventions: standard (kick*.A*), Amiga Forever (amiga-os-*.rom), and
TOSEC (Kickstart v*.rom). The first valid match is used.
Default kickstart per model (automatic selection):
A500, A500OG, A2000OG, CDTV -> kick34005.A500 (KS 1.3)
A500+ -> kick37175.A500 (KS 2.04)
A600 -> kick40063.A600 (KS 3.1)
A1200, A1200OG -> kick40068.A1200 (KS 3.1)
A2000 -> kick40063.A600 (KS 3.1)
A4030, A4040 -> kick40068.A4000 (KS 3.1)
CD32, CD32FR -> kick40060.CD32 (KS 3.1)
CDTV (ext) -> kick34005.CDTV
CD32 (ext) -> kick40060.CD32.ext
Extended ROM handling: CD32 and CDTV require an extended ROM in addition
to the main kickstart. If the main ROM filesize is <= 512 KB, the extended
ROM is loaded separately. Combined ROMs (main + ext in one file) skip the
extended ROM search.
WHDLoad support copies kick33180.A500, kick34005.A500, kick40063.A600,
kick40068.A1200 into saves/WHDLoad/Devs/Kickstarts/ for use by WHDLoad
slave files.
ROM search order (libretro-core.c retro_config_kickstart):
1. Exact filename in system directory
2. Amiga Forever naming (amiga-os-*.rom)
3. TOSEC modified naming (with [!] suffix)
4. TOSEC naming (without [!] suffix)
capsimg.so/capsimg.dll is an optional shared library for IPF floppy image
support (SPS/CAPS format). Not a BIOS file, loaded dynamically at runtime.
Source: libretro/libretro-core.h:140-245, libretro/libretro-core.c:5610-5750,
libretro/libretro-core.c:6044-6093
files:
# -------------------------------------------------------
# Amiga 1000
# -------------------------------------------------------
- name: "kick31034.A1000"
system: commodore-amiga
required: false
size: 262144 # 256 KB
note: "Kickstart 1.1 rev 31.34 (1985) NTSC. A1000 only."
aliases:
- "amiga-os-110-ntsc.rom"
- "Kickstart v1.1 rev 31.34 (1985)(Commodore)(A1000)(NTSC).rom"
source_ref: "libretro/libretro-core.h:170-174"
- name: "kick32034.A1000"
system: commodore-amiga
required: false
size: 262144 # 256 KB
note: "Kickstart 1.1 rev 32.34 (1986) PAL. A1000 only."
aliases:
- "amiga-os-110-pal.rom"
- "Kickstart v1.1 rev 32.34 (1986)(Commodore)(A1000)(PAL).rom"
source_ref: "libretro/libretro-core.h:176-179"
# -------------------------------------------------------
# Amiga 500 / 2000
# -------------------------------------------------------
- name: "kick33180.A500"
system: commodore-amiga
required: false
size: 262144 # 256 KB
note: "Kickstart 1.2 rev 33.180 (1986). A500/A2000. Also used by WHDLoad."
aliases:
- "amiga-os-120.rom"
- "Kickstart v1.2 rev 33.180 (1986)(Commodore)(A500-A2000)[!].rom"
- "Kickstart v1.2 rev 33.180 (1986)(Commodore)(A500-A1000-A2000).rom"
source_ref: "libretro/libretro-core.h:182-185"
- name: "kick34005.A500"
system: commodore-amiga
required: true
size: 262144 # 256 KB
note: "Kickstart 1.3 rev 34.5 (1987). Default for A500/A2000OG/CDTV models. Also used by WHDLoad."
aliases:
- "amiga-os-130.rom"
- "Kickstart v1.3 rev 34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV)[!].rom"
- "Kickstart v1.3 rev 34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV).rom"
source_ref: "libretro/libretro-core.h:187-190"
- name: "kick37175.A500"
system: commodore-amiga
required: false
size: 262144 # 256 KB
note: "Kickstart 2.04 rev 37.175 (1991). Default for A500+ model."
aliases:
- "amiga-os-204.rom"
- "Kickstart v2.04 rev 37.175 (1991)(Commodore)(A500+)[!].rom"
- "Kickstart v2.04 rev 37.175 (1991)(Commodore)(A500+).rom"
source_ref: "libretro/libretro-core.h:192-195"
# -------------------------------------------------------
# Amiga 600
# -------------------------------------------------------
- name: "kick37350.A600"
system: commodore-amiga
required: false
size: 262144 # 256 KB
note: "Kickstart 2.05 rev 37.350 (1992). A600HD."
aliases:
- "amiga-os-205-a600.rom"
- "Kickstart v2.05 rev 37.350 (1992)(Commodore)(A600HD)[!].rom"
source_ref: "libretro/libretro-core.h:198-201"
- name: "kick40063.A600"
system: commodore-amiga
required: false
size: 524288 # 512 KB
note: "Kickstart 3.1 rev 40.63 (1993). Default for A600/A2000 models. Also used by WHDLoad."
aliases:
- "amiga-os-310-a600.rom"
- "Kickstart v3.1 rev 40.63 (1993)(Commodore)(A500-A600-A2000)[!].rom"
- "Kickstart v3.1 rev 40.63 (1993)(Commodore)(A500-A600-A2000).rom"
source_ref: "libretro/libretro-core.h:203-206"
# -------------------------------------------------------
# Amiga 1200
# -------------------------------------------------------
- name: "kick39106.A1200"
system: commodore-amiga
required: false
size: 524288 # 512 KB
note: "Kickstart 3.0 rev 39.106 (1992). A1200."
aliases:
- "amiga-os-300-a1200.rom"
- "Kickstart v3.0 rev 39.106 (1992)(Commodore)(A1200)[!].rom"
source_ref: "libretro/libretro-core.h:209-212"
- name: "kick40068.A1200"
system: commodore-amiga
required: true
size: 524288 # 512 KB
note: "Kickstart 3.1 rev 40.68 (1993). Default for A1200/A1200OG models. Also used by WHDLoad."
aliases:
- "amiga-os-310-a1200.rom"
- "Kickstart v3.1 rev 40.68 (1993)(Commodore)(A1200)[!].rom"
- "Kickstart v3.1 rev 40.68 (1993)(Commodore)(A1200).rom"
source_ref: "libretro/libretro-core.h:214-217"
# -------------------------------------------------------
# Amiga 4000
# -------------------------------------------------------
- name: "kick39106.A4000"
system: commodore-amiga
required: false
size: 524288 # 512 KB
note: "Kickstart 3.0 rev 39.106 (1992). A4000."
aliases:
- "amiga-os-300-a4000.rom"
- "Kickstart v3.0 rev 39.106 (1992)(Commodore)(A4000)[!].rom"
source_ref: "libretro/libretro-core.h:220-223"
- name: "kick40068.A4000"
system: commodore-amiga
required: false
size: 524288 # 512 KB
note: "Kickstart 3.1 rev 40.68 (1993). Default for A4030/A4040 models."
aliases:
- "amiga-os-310-a4000.rom"
- "Kickstart v3.1 rev 40.68 (1993)(Commodore)(A4000).rom"
source_ref: "libretro/libretro-core.h:225-228"
# -------------------------------------------------------
# Commodore CDTV
# -------------------------------------------------------
- name: "kick34005.CDTV"
system: commodore-cdtv
required: true
size: 262144 # 256 KB
note: "CDTV Extended ROM v1.0 (1991). Required as extended ROM for CDTV model. Main kickstart is kick34005.A500."
aliases:
- "amiga-os-130-cdtv-ext.rom"
- "CDTV Extended-ROM v1.0 (1991)(Commodore)(CDTV)[!].rom"
- "CDTV Extended-ROM v1.0 (1992)(Commodore)(CDTV).rom"
source_ref: "libretro/libretro-core.h:231-234"
# -------------------------------------------------------
# Amiga CD32
# -------------------------------------------------------
- name: "kick40060.CD32"
system: commodore-amiga-cd32
required: true
size: 524288 # 512 KB
note: "CD32 Kickstart 3.1 rev 40.60 (1993). Main ROM for CD32 and CD32FR models."
aliases:
- "amiga-os-310-cd32.rom"
- "Kickstart v3.1 rev 40.60 (1993)(Commodore)(CD32).rom"
source_ref: "libretro/libretro-core.h:236-239"
- name: "kick40060.CD32.ext"
system: commodore-amiga-cd32
required: true
size: 524288 # 512 KB
note: "CD32 Extended ROM rev 40.60 (1993). Required when main ROM is <= 512 KB (not combined)."
aliases:
- "amiga-os-310-cd32-ext.rom"
- "CD32 Extended-ROM rev 40.60 (1993)(Commodore)(CD32).rom"
source_ref: "libretro/libretro-core.h:241-244"
model_kickstart_map:
A500: {kickstart: "kick34005.A500", ext: null}
A500OG: {kickstart: "kick34005.A500", ext: null}
A500PLUS: {kickstart: "kick37175.A500", ext: null}
A600: {kickstart: "kick40063.A600", ext: null}
A1200: {kickstart: "kick40068.A1200", ext: null}
A1200OG: {kickstart: "kick40068.A1200", ext: null}
A2000: {kickstart: "kick40063.A600", ext: null}
A2000OG: {kickstart: "kick34005.A500", ext: null}
A4030: {kickstart: "kick40068.A4000", ext: null}
A4040: {kickstart: "kick40068.A4000", ext: null}
CDTV: {kickstart: "kick34005.A500", ext: "kick34005.CDTV"}
CD32: {kickstart: "kick40060.CD32", ext: "kick40060.CD32.ext"}
CD32FR: {kickstart: "kick40060.CD32", ext: "kick40060.CD32.ext"}
whdload_kickstarts:
- "kick33180.A500" # KS 1.2, 256 KB
- "kick34005.A500" # KS 1.3, 256 KB
- "kick40063.A600" # KS 3.1, 512 KB
- "kick40068.A1200" # KS 3.1, 512 KB
platform_details:
rom_sizes:
ROM_SIZE_128: 131072 # 128 KB
ROM_SIZE_256: 262144 # 256 KB
ROM_SIZE_512: 524288 # 512 KB
aros_fallback: true
naming_conventions:
standard: "kick{rev}.{model}"
amiga_forever: "amiga-os-{version}.rom"
tosec: "Kickstart v{version} rev {rev} ({year})(Commodore)({model}).rom"
scan_prefixes: ["kick", "amiga-os", "KS ROM"]
source_ref: "libretro/libretro-core.c:2649-2676"