From d2adde98463f7835b889e9f2c6cc031c43acbd94 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Sun, 22 Mar 2026 14:01:38 +0100 Subject: [PATCH] feat: update 47 emulator profiles with core_classification and fixes add core_classification, cores, upstream fields. fix false aliases (fixnes, fsuae, gearboy, higan_sfc, higan_sfc_balanced, potator, quicknes). add new profiles (fbneo_neogeo, flycast_gles2, genesis_plus_gx_wide). remove verbose notes and disclaimers. --- emulators/dosbox_svn.yml | 3 - emulators/dosbox_svn_ce.yml | 3 - emulators/emux_gb.yml | 4 - emulators/emux_nes.yml | 1 - emulators/emux_sms.yml | 2 - emulators/fbalpha2012.yml | 10 +- emulators/fbalpha2012_cps1.yml | 13 +- emulators/fbalpha2012_cps2.yml | 12 +- emulators/fbalpha2012_cps3.yml | 10 +- emulators/fbalpha2012_neogeo.yml | 8 +- emulators/fbneo.yml | 117 ++++++- emulators/fbneo_cps12.yml | 23 +- emulators/fbneo_neogeo.yml | 482 +++++++++++++++++++++++++++++ emulators/fceumm.yml | 5 +- emulators/fixgb.yml | 5 +- emulators/fixnes.yml | 39 ++- emulators/flycast.yml | 88 ++++-- emulators/flycast_gles2.yml | 8 + emulators/fmsx.yml | 57 +++- emulators/freechaf.yml | 6 +- emulators/freeintv.yml | 3 +- emulators/freej2me.yml | 3 +- emulators/frodo.yml | 4 +- emulators/fsuae.yml | 71 ++++- emulators/fuse.yml | 4 +- emulators/galaksija.yml | 4 +- emulators/gam4980.yml | 4 +- emulators/gambatte.yml | 6 +- emulators/gearboy.yml | 33 +- emulators/gearcoleco.yml | 17 +- emulators/geargrafx.yml | 12 +- emulators/gearlynx.yml | 7 +- emulators/gearsystem.yml | 16 +- emulators/genesis_plus_gx.yml | 6 +- emulators/genesis_plus_gx_wide.yml | 91 ++++++ emulators/geolith.yml | 6 +- emulators/gme.yml | 3 +- emulators/gong.yml | 2 +- emulators/gw.yml | 3 +- emulators/hatari.yml | 14 +- emulators/hbmame.yml | 17 +- emulators/higan_sfc.yml | 125 +++++++- emulators/higan_sfc_balanced.yml | 132 +++++++- emulators/holani.yml | 16 +- emulators/imageviewer.yml | 3 +- emulators/jaxe.yml | 5 +- emulators/potator.yml | 18 +- emulators/quicknes.yml | 19 +- 48 files changed, 1344 insertions(+), 196 deletions(-) create mode 100644 emulators/fbneo_neogeo.yml create mode 100644 emulators/flycast_gles2.yml create mode 100644 emulators/genesis_plus_gx_wide.yml diff --git a/emulators/dosbox_svn.yml b/emulators/dosbox_svn.yml index 98e84fcf..fc8d03da 100644 --- a/emulators/dosbox_svn.yml +++ b/emulators/dosbox_svn.yml @@ -20,8 +20,5 @@ notes: | system_directory is read (libretro.cpp:1399) but only logged, never used to load any files. - NOT an alias of dosbox_core — completely different MIDI capabilities. - dosbox_core has MUNT + FluidSynth + BASSMIDI. This core has none. - files: [] # No BIOS, firmware, ROMs, or system files of any kind. diff --git a/emulators/dosbox_svn_ce.yml b/emulators/dosbox_svn_ce.yml index 6a91ab64..ad504809 100644 --- a/emulators/dosbox_svn_ce.yml +++ b/emulators/dosbox_svn_ce.yml @@ -20,9 +20,6 @@ notes: | system_directory is read (libretro.cpp:1399) but only logged, never used to load any files. - NOT an alias of dosbox_core — completely different MIDI capabilities. - dosbox_core has MUNT + FluidSynth + BASSMIDI. This core has none. - Requires libsdl1.2 and libsdl-net1.2 at runtime (.info notes). files: [] diff --git a/emulators/emux_gb.yml b/emulators/emux_gb.yml index bf18ee65..30669c27 100644 --- a/emulators/emux_gb.yml +++ b/emulators/emux_gb.yml @@ -13,10 +13,6 @@ notes: | emux is a multi-system emulator by Sebastien Ronsse, supporting CHIP-8, Game Boy, NES, and Sega Master System as separate libretro cores. - NOT an alias of Gambatte. Completely different codebase and BIOS requirements. - Gambatte uses gb_bios.bin/gbc_bios.bin (optional, HLE fallback). - emux_gb uses dmg_boot.bin (required, no HLE, core fails without it). - Boot ROM loading in controllers/mapper/gb_mapper.c: static char *bootrom_path = "dmg_boot.bin"; (line 32) gb_mapper->bootrom = file_map(PATH_SYSTEM, bootrom_path, 0, BOOTROM_SIZE); diff --git a/emulators/emux_nes.yml b/emulators/emux_nes.yml index 6d8406aa..86e37234 100644 --- a/emulators/emux_nes.yml +++ b/emulators/emux_nes.yml @@ -13,7 +13,6 @@ notes: | emux is a multi-system emulator by Sebastien Ronsse, supporting CHIP-8, Game Boy, NES, and Sega Master System as separate libretro cores. - NOT an alias of FCEUmm. Completely different codebase. The NES core does not require any BIOS or firmware files. The .info declares no firmware_count. diff --git a/emulators/emux_sms.yml b/emulators/emux_sms.yml index fdba5dd7..2eb25f65 100644 --- a/emulators/emux_sms.yml +++ b/emulators/emux_sms.yml @@ -13,8 +13,6 @@ notes: | emux is a multi-system emulator by Sebastien Ronsse, supporting CHIP-8, Game Boy, NES, and Sega Master System as separate libretro cores. - NOT an alias of GearSystem. Completely different codebase. - BIOS loading in controllers/mapper/sms_mapper.c: static char *bios_path = "bios.sms"; (line 33) #define BIOS_SIZE 0x2000 (line 7, 8192 bytes) diff --git a/emulators/fbalpha2012.yml b/emulators/fbalpha2012.yml index eb661e19..5e6e6fde 100644 --- a/emulators/fbalpha2012.yml +++ b/emulators/fbalpha2012.yml @@ -1,5 +1,6 @@ emulator: "FB Alpha 2012" -type: frozen_snapshot +type: libretro +core_classification: frozen_snapshot source: "https://github.com/libretro/fbalpha2012" upstream: "https://www.fbalpha.com" profiled_date: "2026-03-19" @@ -17,7 +18,6 @@ systems: notes: | Frozen snapshot of Final Burn Alpha v0.2.97.29 (circa 2012), full version. - NOT an alias of FBNeo — different codebase, different ROM set compatibility. Supports CPS-1, CPS-2, CPS-3, Neo Geo, PGM, Sega, Cave, Toaplan, and more. Exists for RAM-constrained platforms. Most users should use FBNeo. @@ -51,6 +51,10 @@ notes: | ROM path: g_rom_dir from content path. g_system_dir set but unused. Extensions: iso|zip|7z. need_fullpath=true, block_extract=true. -files: [] +files: + - name: "hiscore.dat" + required: false + note: "High score database, loaded from save directory" + source_ref: "svn-current/trunk/src/burn/hiscore.cpp:411" exclusion_note: "All BIOS ROMs (Neo Geo, PGM, CPS-3, Sega) are inside game ROM set ZIPs, not standalone system files. neogeo.zip is a parent ROM set loaded automatically by the emulator when a Neo Geo game is started." diff --git a/emulators/fbalpha2012_cps1.yml b/emulators/fbalpha2012_cps1.yml index 9b78dd15..8f782dd0 100644 --- a/emulators/fbalpha2012_cps1.yml +++ b/emulators/fbalpha2012_cps1.yml @@ -1,5 +1,6 @@ emulator: "FB Alpha 2012 CPS-1" -type: frozen_snapshot +type: libretro +core_classification: frozen_snapshot source: "https://github.com/libretro/fbalpha2012_cps1" upstream: "https://www.fbalpha.com" profiled_date: "2026-03-19" @@ -12,7 +13,6 @@ systems: notes: | Frozen snapshot of Final Burn Alpha v0.2.97.28 (circa 2012), CPS-1 only. - NOT an alias of FBNeo — different codebase, different ROM set compatibility. Exists for RAM-constrained platforms (3DS, embedded). Most users should use FBNeo. CPS-1 has no system BIOS. Each game's ROM set is self-contained: @@ -33,7 +33,8 @@ notes: | 244 ROM sets defined (488 STD_ROM_PICK/FN entries = 244 games). is_experimental=false, need_fullpath=true, block_extract=true. -files: [] -# CPS-1 has no BIOS. All required data is in per-game ROM sets (ZIP archives). - -exclusion_note: "CPS-1 arcade hardware has no system BIOS. Each game ROM set is self-contained." +files: + - name: "hiscore.dat" + required: false + note: "High score database, loaded from save directory" + source_ref: "src/burn/hiscore.cpp:411" diff --git a/emulators/fbalpha2012_cps2.yml b/emulators/fbalpha2012_cps2.yml index fde86367..21cf75fb 100644 --- a/emulators/fbalpha2012_cps2.yml +++ b/emulators/fbalpha2012_cps2.yml @@ -1,5 +1,6 @@ emulator: "FB Alpha 2012 CPS-2" -type: frozen_snapshot +type: libretro +core_classification: frozen_snapshot source: "https://github.com/libretro/fbalpha2012_cps2" upstream: "https://www.fbalpha.com" profiled_date: "2026-03-19" @@ -12,7 +13,6 @@ systems: notes: | Frozen snapshot of Final Burn Alpha v0.2.97.28 (circa 2012), CPS-2 only. - NOT an alias of FBNeo — different codebase, different ROM set compatibility. Exists for RAM-constrained platforms (3DS, embedded). Most users should use FBNeo. CPS-2 has no system BIOS. Each game's ROM set is self-contained: @@ -37,6 +37,8 @@ notes: | need_fullpath=true, block_extract=true, extensions=zip. -files: [] - -exclusion_note: "CPS-2 arcade hardware has no system BIOS. QSound DSP emulated in software (qs_c.c). Each game ROM set is self-contained." +files: + - name: "hiscore.dat" + required: false + note: "High score database, loaded from save directory" + source_ref: "src/burn/hiscore.c" diff --git a/emulators/fbalpha2012_cps3.yml b/emulators/fbalpha2012_cps3.yml index c594c37a..e7128833 100644 --- a/emulators/fbalpha2012_cps3.yml +++ b/emulators/fbalpha2012_cps3.yml @@ -1,5 +1,6 @@ emulator: "FB Alpha 2012 CPS-3" -type: frozen_snapshot +type: libretro +core_classification: frozen_snapshot source: "https://github.com/libretro/fbalpha2012_cps3" upstream: "https://www.fbalpha.com" profiled_date: "2026-03-19" @@ -12,7 +13,6 @@ systems: notes: | Frozen snapshot of Final Burn Alpha v0.2.97.29 (circa 2012), CPS-3 only. - NOT an alias of FBNeo — different codebase, different ROM set compatibility. Exists for RAM-constrained platforms. Most users should use FBNeo. CPS-3 uses a Hitachi SH-2 CPU with per-game, per-region BIOS ROMs. @@ -50,6 +50,10 @@ notes: | 18 unique BIOS ROMs, all 512 KB, all region-specific. These are arcade ROM set components, not user-supplied BIOS files. -files: [] +files: + - name: "hiscore.dat" + required: false + note: "High score database, loaded from save directory" + source_ref: "svn-current/trunk/src/burn/hiscore.cpp:411" exclusion_note: "CPS-3 BIOS ROMs (SH-2 flash, 18 variants) are part of each game's ROM set ZIP archive, not standalone system files. Users obtain them as part of the arcade ROM set, not separately." diff --git a/emulators/fbalpha2012_neogeo.yml b/emulators/fbalpha2012_neogeo.yml index 063ca99f..d41fa908 100644 --- a/emulators/fbalpha2012_neogeo.yml +++ b/emulators/fbalpha2012_neogeo.yml @@ -1,8 +1,9 @@ emulator: "FB Alpha 2012 Neo Geo" -type: frozen_snapshot +type: libretro +core_classification: frozen_snapshot source: "https://github.com/libretro/fbalpha2012_neogeo" upstream: "https://www.fbalpha.com" -profiled_date: "2026-03-19" +profiled_date: "2026-03-21" core_version: "v0.2.97.29" display_name: "Arcade (FB Alpha 2012 Neo Geo)" cores: @@ -12,11 +13,10 @@ systems: notes: | Frozen snapshot of Final Burn Alpha v0.2.97.29 (circa 2012), Neo Geo only. - NOT an alias of FBNeo — different codebase, different ROM set compatibility. Exists for RAM-constrained platforms. Most users should use FBNeo. Neo Geo requires a BIOS ROM set (neogeo.zip) placed alongside game ROMs. - The BIOS set contains ~35 variants (d_neogeo.cpp:903-968), all BRF_BIOS: + The BIOS set contains ~35 variants (d_neogeo.cpp:903-981), all BRF_BIOS: 68K main BIOS (BRF_SELECT, one active at a time): asia-s3.rom 0x91b64be3 MVS Asia/Europe ver. 6 (default) diff --git a/emulators/fbneo.yml b/emulators/fbneo.yml index cb47e737..baf7f54f 100644 --- a/emulators/fbneo.yml +++ b/emulators/fbneo.yml @@ -1,10 +1,14 @@ emulator: FinalBurn Neo type: libretro +core_classification: official_port source: "https://github.com/libretro/FBNeo" +upstream: "https://github.com/finalburnneo/FBNeo" logo: "https://raw.githubusercontent.com/finalburnneo/FBNeo/master/projectfiles/xcode/Emulator/Assets.xcassets/AppIcon.appiconset/icon_512.png" -profiled_date: "2026-03-18" +profiled_date: "2026-03-21" core_version: "v1.0.0.03" display_name: "Arcade (FinalBurn Neo)" +cores: + - fbneo systems: - snk-neogeo-mvs - snk-neogeo-aes @@ -25,6 +29,9 @@ systems: - konami-bubsys - nmk16 - midway-mcr + - snes + - taito-cchip + - ym2608 notes: | FinalBurn Neo is a multi-system arcade and console emulator. BIOS files are @@ -411,6 +418,27 @@ files: note: "Zoom lookup table" source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1654" + # ------------------------------------------------------- + # Trackball BIOS (for irrmaze) + # ------------------------------------------------------- + - name: "236-bios.sp1" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "853e6b96" + note: "Trackball BIOS / Asia MV1B 263" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1744" + + - name: "236-bios_japan_hack.sp1" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "02bf4426" + note: "Trackball BIOS / Japan (hack)" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1745" + # ------------------------------------------------------- # Neo Geo PCB BIOS (for ms5pcb, svcpcb, kf2k3pcb games) # ------------------------------------------------------- @@ -947,7 +975,7 @@ files: source_ref: "src/burn/drv/spectrum/d_spectrum.cpp:189" - name: "zx128_2a_0.rom" - archive: spec128a.zip + archive: spec1282a.zip system: sinclair-spectrum required: false size: 16384 @@ -956,7 +984,7 @@ files: source_ref: "src/burn/drv/spectrum/d_spectrum.cpp:196" - name: "zx128_2a_1.rom" - archive: spec128a.zip + archive: spec1282a.zip system: sinclair-spectrum required: false size: 16384 @@ -965,7 +993,7 @@ files: source_ref: "src/burn/drv/spectrum/d_spectrum.cpp:197" - name: "zx128_2a_2.rom" - archive: spec128a.zip + archive: spec1282a.zip system: sinclair-spectrum required: false size: 16384 @@ -974,7 +1002,7 @@ files: source_ref: "src/burn/drv/spectrum/d_spectrum.cpp:198" - name: "zx128_2a_3.rom" - archive: spec128a.zip + archive: spec1282a.zip system: sinclair-spectrum required: false size: 16384 @@ -1323,10 +1351,10 @@ files: source_ref: "src/burn/drv/taito/d_taitof2.cpp:4392" # ------------------------------------------------------- - # Midway MCR SSIO (ssioprom.zip) + # Midway MCR SSIO (midssio.zip) # ------------------------------------------------------- - name: "82s123.12d" - archive: ssioprom.zip + archive: midssio.zip system: midway-mcr required: true size: 32 # 0x20 @@ -1345,3 +1373,78 @@ files: crc32: "23c9e0d8" note: "YM2608 internal ADPCM-A rhythm samples, used by multiple drivers" source_ref: "src/burn/drv/pst90s/d_pipedrm.cpp:876" + + # ------------------------------------------------------- + # SNES coprocessor BIOS (per-game boardrom ZIPs) + # ------------------------------------------------------- + - name: "st010.bin" + archive: st010.zip + system: snes + required: true + size: 69632 # 0x11000 + crc32: "aa11ee2d" + note: "Seta ST010 coprocessor microcode" + source_ref: "src/burn/drv/snes/d_snes.cpp:571" + + - name: "st011.bin" + archive: st011.zip + system: snes + required: true + size: 69632 # 0x11000 + crc32: "34d2952c" + note: "Seta ST011 coprocessor microcode" + source_ref: "src/burn/drv/snes/d_snes.cpp:590" + + - name: "dsp1.bin" + archive: dsp1.zip + system: snes + required: true + size: 10240 # 0x2800 + crc32: "2838f9f5" + note: "DSP-1 coprocessor microcode" + source_ref: "src/burn/drv/snes/d_snes.cpp:610" + + - name: "dsp1b.bin" + archive: dsp1b.zip + system: snes + required: true + size: 10240 # 0x2800 + crc32: "453557e0" + note: "DSP-1B coprocessor microcode (revised)" + source_ref: "src/burn/drv/snes/d_snes.cpp:629" + + - name: "dsp2.bin" + archive: dsp2.zip + system: snes + required: true + size: 10240 # 0x2800 + crc32: "8e9fbd9b" + note: "DSP-2 coprocessor microcode" + source_ref: "src/burn/drv/snes/d_snes.cpp:648" + + - name: "dsp3.bin" + archive: dsp3.zip + system: snes + required: true + size: 10240 # 0x2800 + crc32: "6b86728a" + note: "DSP-3 coprocessor microcode" + source_ref: "src/burn/drv/snes/d_snes.cpp:667" + + - name: "dsp4.bin" + archive: dsp4.zip + system: snes + required: true + size: 10240 # 0x2800 + crc32: "ce0c7783" + note: "DSP-4 coprocessor microcode" + source_ref: "src/burn/drv/snes/d_snes.cpp:686" + + # ------------------------------------------------------- + # System support files (fbneo/) + # ------------------------------------------------------- + - name: "hiscore.dat" + path: "fbneo/hiscore.dat" + required: false + note: "High score database, enables persistent high scores across all arcade games" + source_ref: "src/burn/hiscore.cpp:406" diff --git a/emulators/fbneo_cps12.yml b/emulators/fbneo_cps12.yml index cfda1039..04375a76 100644 --- a/emulators/fbneo_cps12.yml +++ b/emulators/fbneo_cps12.yml @@ -1,8 +1,9 @@ emulator: "FinalBurn Neo (CPS-1/CPS-2)" -type: pure_libretro +type: libretro +core_classification: official_port source: "https://github.com/libretro/FBNeo" -upstream: "https://neo-source.com" -profiled_date: "2026-03-19" +upstream: "https://github.com/finalburnneo/FBNeo" +profiled_date: "2026-03-21" core_version: "v1.0.0.03" display_name: "Arcade (FinalBurn Neo) (CPS-1 / CPS-2)" cores: @@ -24,15 +25,17 @@ notes: | Board PLDs (buf1, ioa1, prg1/prg2, rom1, sou1) are BRF_OPT — GAL/PAL dumps for hardware preservation, never loaded by the emulator. - The .info lists firmware_count=1 but it's only hiscore.dat (optional, - high score database in system/fbneo/). Not a BIOS. + CPS-1/CPS-2 have no system BIOS. hiscore.dat enables persistent high + scores across all arcade games. ROM path: game ZIPs loaded from content directory. - system/fbneo/ used only for optional extras: hiscore.dat, samples, - cheats, blend files, IPS patches. + system/fbneo/ used for hiscore.dat, samples, cheats, blend files, IPS patches. need_fullpath=false, extensions=zip|7z, savestate=deterministic. -files: [] - -exclusion_note: "CPS-1/CPS-2 arcade hardware has no system BIOS. QSound DSP emulated in software. hiscore.dat is optional high score support, not firmware." +files: + - name: "hiscore.dat" + path: "fbneo/hiscore.dat" + required: false + note: "High score database, enables persistent high scores across all arcade games" + source_ref: "src/burn/hiscore.cpp:406" diff --git a/emulators/fbneo_neogeo.yml b/emulators/fbneo_neogeo.yml new file mode 100644 index 00000000..addced59 --- /dev/null +++ b/emulators/fbneo_neogeo.yml @@ -0,0 +1,482 @@ +emulator: "FinalBurn Neo (Neo Geo)" +type: libretro +core_classification: official_port +source: "https://github.com/libretro/FBNeo" +upstream: "https://github.com/finalburnneo/FBNeo" +profiled_date: "2026-03-21" +core_version: "v1.0.0.03" +display_name: "Arcade (FinalBurn Neo) (Neo-Geo)" +cores: + - fbneo_neogeo +systems: + - snk-neogeo-mvs + - snk-neogeo-aes + - snk-neogeo-cd + +notes: | + Neo Geo subset of FinalBurn Neo, current codebase (not frozen). + Built with SUBSET=neogeo, includes only d_neogeo.cpp drivers. + Exists for platforms that cannot run the full FBNeo core. + + Neo Geo games reference "neogeo" as parent ROM set. The BIOS ZIP + must be alongside game ZIPs or in system_dir/fbneo/. + Search order (libretro.cpp:922-1030): + 1. {rom_dir}/{romName} + 2. {rom_dir}/arcade/{romName} + 3. {system_dir}/fbneo/{romName} + 4. {system_dir}/fbneo/arcade/{romName} + 5. {system_dir}/{romName} + + neogeo.zip contains multiple selectable 68K BIOS variants (MVS, AES, + Universe BIOS). One 68K BIOS active at a time (dipswitch). Z80 BIOS, + fix tiles, and zoom table always required. + + Neo Geo CDZ uses neocdz.zip with parent "neogeo". CD/CDZ BIOS plus + zoom table. + + hiscore.dat loaded from system_dir/fbneo/ (hiscore.cpp:406). + + need_fullpath=false, extensions=zip|7z|cue|ccd, savestate=deterministic. + +files: + # ------------------------------------------------------- + # Neo Geo MVS/AES (neogeo.zip) — 68K BIOS ROMs + # ------------------------------------------------------- + - name: "sp-s3.sp1" + archive: neogeo.zip + system: snk-neogeo-mvs + required: true + size: 131072 + crc32: "91b64be3" + note: "MVS Asia/Europe ver. 6 (1 slot) - default BIOS" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1604" + + - name: "sp-s2.sp1" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "9036d879" + note: "MVS Asia/Europe ver. 5 (1 slot)" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1605" + + - name: "sp-s.sp1" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "c7f2fa45" + note: "MVS Asia/Europe ver. 3 (4 slot)" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1606" + + - name: "sp-u2.sp1" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "e72943de" + note: "MVS USA ver. 5 (2 slot)" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1607" + + - name: "sp1-u2" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "62f021f4" + note: "MVS USA ver. 5 (4 slot)" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1608" + + - name: "sp-e.sp1" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "2723a5b5" + note: "MVS USA ver. 5 (6 slot)" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1609" + + - name: "sp1-u4.bin" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "1179a30f" + note: "MVS USA (U4)" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1610" + + - name: "sp1-u3.bin" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "2025b7a2" + note: "MVS USA (U3)" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1611" + + - name: "vs-bios.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "f0e8f27d" + note: "MVS Japan ver. 6" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1612" + + - name: "sp-j2.sp1" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "acede59c" + note: "MVS Japan ver. 5" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1613" + + - name: "sp1.jipan.1024" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "9fb0abe4" + note: "MVS Japan ver. 3 (4 slot)" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1614" + + - name: "sp-45.sp1" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 524288 + crc32: "03cc9f6a" + note: "NEO-MVH MV1C (Asia)" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1615" + + - name: "sp-j3.sp1" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 524288 + crc32: "486cb450" + note: "NEO-MVH MV1C (Japan)" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1616" + + - name: "japan-j3.bin" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "dff6d41f" + note: "MVS Japan (J3)" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1617" + + - name: "sp1-j3.bin" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "fbc6d469" + note: "MVS Japan (J3, alt)" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1618" + + - name: "neo-po.bin" + archive: neogeo.zip + system: snk-neogeo-aes + required: false + size: 131072 + crc32: "16d0c132" + note: "AES Japan" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1620" + + - name: "neo-epo.bin" + archive: neogeo.zip + system: snk-neogeo-aes + required: false + size: 131072 + crc32: "d27a71f1" + note: "AES Asia" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1621" + + - name: "neodebug.bin" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "698ebb7d" + note: "Development Kit BIOS" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1622" + + - name: "sp-1v1_3db8c.bin" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "162f0ebe" + note: "Deck ver. 6 (Git Ver 1.3)" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1628" + + # Universe BIOS (third-party, multiple versions) + - name: "uni-bios_4_0.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "a7aab458" + note: "Universe BIOS ver. 4.0" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1629" + + - name: "uni-bios_3_3.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "24858466" + note: "Universe BIOS ver. 3.3" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1630" + + - name: "uni-bios_3_2.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "a4e8b9b3" + note: "Universe BIOS ver. 3.2" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1631" + + - name: "uni-bios_3_1.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "0c58093f" + note: "Universe BIOS ver. 3.1" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1632" + + - name: "uni-bios_3_0.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "a97c89a9" + note: "Universe BIOS ver. 3.0" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1633" + + - name: "uni-bios_2_3.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "27664eb5" + note: "Universe BIOS ver. 2.3" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1634" + + - name: "uni-bios_2_3o.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "601720ae" + note: "Universe BIOS ver. 2.3 (older)" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1635" + + - name: "uni-bios_2_2.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "2d50996a" + note: "Universe BIOS ver. 2.2" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1636" + + - name: "uni-bios_2_1.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "8dabf76b" + note: "Universe BIOS ver. 2.1" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1637" + + - name: "uni-bios_2_0.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "0c12c2ad" + note: "Universe BIOS ver. 2.0" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1638" + + - name: "uni-bios_1_3.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "b24b44a0" + note: "Universe BIOS ver. 1.3" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1639" + + - name: "uni-bios_1_2.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "4fa698e9" + note: "Universe BIOS ver. 1.2" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1640" + + - name: "uni-bios_1_2o.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "e19d3ce9" + note: "Universe BIOS ver. 1.2 (older)" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1641" + + - name: "uni-bios_1_1.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "5dda0d84" + note: "Universe BIOS ver. 1.1" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1642" + + - name: "uni-bios_1_0.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "0ce453a0" + note: "Universe BIOS ver. 1.0" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1643" + + - name: "neopen.sp1" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "cb915e76" + note: "NeoOpen BIOS v0.1 beta" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1645" + + # Trackball BIOS + - name: "236-bios.sp1" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "853e6b96" + note: "Trackball BIOS / Asia MV1B 263" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1744" + + - name: "236-bios_japan_hack.sp1" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "02bf4426" + note: "Trackball BIOS / Japan (hack)" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1745" + + # Neo Geo shared ROMs (always required) + - name: "sm1.sm1" + archive: neogeo.zip + system: snk-neogeo-mvs + required: true + size: 131072 + crc32: "94416d67" + note: "Z80 sound BIOS" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1652" + + - name: "sfix.sfix" + archive: neogeo.zip + system: snk-neogeo-mvs + required: true + size: 131072 + crc32: "c2ea0cfd" + note: "Text layer fix tiles" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1653" + + - name: "000-lo.lo" + archive: neogeo.zip + system: snk-neogeo-mvs + required: true + size: 131072 + crc32: "5a86cff2" + note: "Zoom lookup table" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1654" + + # PCB BIOS + - name: "sp-4x.sp1" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 524288 + crc32: "b4590283" + note: "PCB BIOS" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1791" + + - name: "spj.sp1" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 524288 + crc32: "148dd727" + note: "PCB BIOS (Japan)" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1879" + + # ------------------------------------------------------- + # Neo Geo CDZ (neocdz.zip) + # ------------------------------------------------------- + - name: "neocd.bin" + archive: neocdz.zip + system: snk-neogeo-cd + required: true + size: 524288 + crc32: "df9de490" + note: "Neo Geo CD/CDZ BIOS" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1963" + + - name: "neocd_sz.rom" + archive: neocdz.zip + system: snk-neogeo-cd + required: false + size: 524288 + crc32: "42f6b6c4" + note: "Neo Geo CDZ custom BIOS by SMKDan" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1964" + + - name: "uni-bioscd33.rom" + archive: neocdz.zip + system: snk-neogeo-cd + required: false + size: 524288 + crc32: "ff3abc59" + note: "Universe BIOS CD ver. 3.3" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1965" + + - name: "uni-bioscd32.rom" + archive: neocdz.zip + system: snk-neogeo-cd + required: false + size: 524288 + crc32: "0ffb3127" + note: "Universe BIOS CD ver. 3.2" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1966" + + - name: "000-lo.lo" + archive: neocdz.zip + system: snk-neogeo-cd + required: true + size: 131072 + crc32: "5a86cff2" + note: "Zoom lookup table (shared with MVS)" + source_ref: "src/burn/drv/neogeo/d_neogeo.cpp:1968" + + # ------------------------------------------------------- + # System support files + # ------------------------------------------------------- + - name: "hiscore.dat" + path: "fbneo/hiscore.dat" + required: false + note: "High score database, enables persistent high scores" + source_ref: "src/burn/hiscore.cpp:406" diff --git a/emulators/fceumm.yml b/emulators/fceumm.yml index 5a2fc457..14c27095 100644 --- a/emulators/fceumm.yml +++ b/emulators/fceumm.yml @@ -1,9 +1,12 @@ emulator: FCEUmm type: libretro +core_classification: pure_libretro source: "https://github.com/libretro/libretro-fceumm" -profiled_date: "2026-03-18" +profiled_date: "2026-03-21" core_version: "SVN" display_name: "Nintendo - NES / Famicom (FCEUmm)" +cores: + - fceumm systems: [nintendo-nes, nintendo-fds] notes: | diff --git a/emulators/fixgb.yml b/emulators/fixgb.yml index 5ff17c34..c1ad0818 100644 --- a/emulators/fixgb.yml +++ b/emulators/fixgb.yml @@ -1,7 +1,8 @@ emulator: fixGB type: libretro +core_classification: pure_libretro source: "https://github.com/libretro/fixGB" -profiled_date: "2026-03-18" +profiled_date: "2026-03-21" core_version: "Alpha v0.8.2" display_name: "Nintendo - Game Boy / Color (fixGB)" cores: @@ -11,7 +12,7 @@ systems: notes: | fixGB is a Game Boy / Game Boy Color emulator by FIX94, currently at - alpha v0.8.1. It supports .gb, .gbc, and .gbs (Game Boy Sound) files. + Alpha v0.8.2. It supports .gb, .gbc, and .gbs (Game Boy Sound) files. The core optionally loads "gbc_bios.bin" (CGB boot ROM) from the system directory. In the libretro port, doOpenCGBBootrom() in diff --git a/emulators/fixnes.yml b/emulators/fixnes.yml index 69fabbcf..adf87cfa 100644 --- a/emulators/fixnes.yml +++ b/emulators/fixnes.yml @@ -1,8 +1,35 @@ -emulator: "fixnes" -type: alias -alias_of: "fceumm" -profiled_date: "2026-03-18" +emulator: fixNES +type: libretro +core_classification: official_port +source: "https://github.com/libretro/fixNES" +upstream: "https://github.com/FIX94/fixNES" +profiled_date: "2026-03-21" core_version: "Alpha v1.3.1" display_name: "Nintendo - NES / Famicom (fixNES)" -note: "This core uses the same BIOS/firmware as fceumm. See emulators/fceumm.yml for details." -files: [] +cores: + - fixnes +systems: + - nintendo-nes + - nintendo-fds + +notes: | + fixNES is an NES/Famicom emulator by FIX94 (same author as fixGB). + + FDS games require disksys.rom (8192 bytes) in the system directory. + mapperInitFDS() in mapper.c:88-112 opens the file, validates exact + size 0x2000, reads into fdsBIOS[]. Returns false if missing or wrong + size — FDS game fails to load. + + Regular NES cartridge games need no BIOS. + + No other system files loaded. system_dir accessed only for disksys.rom + (libretro.c:278-286, doOpenFDSBIOS). + +files: + - name: "disksys.rom" + system: nintendo-fds + required: true + mode: both + size: 8192 + md5: "ca30b50f880eb660a320674ed365ef7a" + source_ref: "mapper.c:88-112 (mapperInitFDS), libretro/libretro.c:278-286 (doOpenFDSBIOS)" diff --git a/emulators/flycast.yml b/emulators/flycast.yml index c8ee194f..64a09d32 100644 --- a/emulators/flycast.yml +++ b/emulators/flycast.yml @@ -1,16 +1,20 @@ emulator: Flycast type: standalone + libretro -source: "https://github.com/flyinghead/flycast" +core_classification: official_port +source: "https://github.com/libretro/flycast" +upstream: "https://github.com/flyinghead/flycast" logo: "https://raw.githubusercontent.com/flyinghead/flycast/master/shell/linux/flycast.png" -profiled_date: "2026-03-18" +profiled_date: "2026-03-21" core_version: "Git" display_name: "Sega - Dreamcast/Naomi (Flycast)" +cores: + - flycast systems: - sega-dreamcast - sega-naomi - sega-naomi2 - sega-atomiswave - - sega-systemsp + # sega-systemsp: supported by upstream but not by the libretro port notes: | Flycast has a built-in HLE BIOS (reios) for Dreamcast that can boot most @@ -18,27 +22,32 @@ notes: | System SP) require MAME-format BIOS ROM archives. Hikaru and Triforce are NOT supported by Flycast. - BIOS file search uses prefix + name pattern. The emulator looks in configured - "Content Path" directories for these files (standalone) or the system directory - (libretro). + BIOS file search uses prefix + name pattern. The libretro port appends "dc/" + to the system directory (libretro.cpp:1866). All files below are relative + to system_dir/dc/. File loading logic: core/hw/flashrom/nvmem.cpp loadFiles() and core/hw/naomi/naomi_cart.cpp loadBios(). - The prefix is determined by platform (nvmem.cpp:36-49): + The prefix is determined by platform (sb_mem.cpp:32-49): Dreamcast -> dc_ + Dev Unit -> hkt_ NAOMI -> naomi_ - NAOMI 2 -> naomi2_ - Atomiswave -> aw_ + NAOMI 2 -> n2_ (libretro port; upstream uses naomi2_) + Atomiswave -> (no prefix, BIOS loaded from awbios.zip) - Boot ROM search pattern (nvmem.cpp:287): + Boot ROM search pattern (sb_mem.cpp:57): {prefix}boot.bin, {prefix}boot.bin.bin, {prefix}bios.bin, {prefix}bios.bin.bin + NAOMI also tries: epr-21576d.bin (sb_mem.cpp:59) + Flash/NVRAM search pattern (sb_mem.cpp:231): + {prefix}nvmem.bin, {prefix}flash_wb.bin, {prefix}flash.bin, {prefix}flash.bin.bin files: # ------------------------------------------------------- # Sega Dreamcast # ------------------------------------------------------- - name: "dc_boot.bin" + path: "dc/dc_boot.bin" system: sega-dreamcast required: false hle_fallback: true @@ -47,6 +56,7 @@ files: source_ref: "core/hw/flashrom/nvmem.cpp:287" - name: "dc_bios.bin" + path: "dc/dc_bios.bin" system: sega-dreamcast required: false hle_fallback: true @@ -55,17 +65,37 @@ files: source_ref: "core/hw/flashrom/nvmem.cpp:287" - name: "dc_flash.bin" + path: "dc/dc_flash.bin" system: sega-dreamcast required: false hle_fallback: true size: 131072 # 128 KB - note: "Dreamcast flash memory (settings, saves). Created if missing." - source_ref: "core/hw/flashrom/nvmem.cpp:246" + note: "Dreamcast flash memory. One of the nvmem search names." + source_ref: "core/hw/holly/sb_mem.cpp:231" + + - name: "dc_nvmem.bin" + path: "dc/dc_nvmem.bin" + system: sega-dreamcast + required: false + hle_fallback: true + size: 131072 + note: "Dreamcast NVRAM (primary search name for flash)." + source_ref: "core/hw/holly/sb_mem.cpp:231" + + - name: "dc_flash_wb.bin" + path: "dc/dc_flash_wb.bin" + system: sega-dreamcast + required: false + hle_fallback: true + size: 131072 + note: "Dreamcast flash writeback." + source_ref: "core/hw/holly/sb_mem.cpp:231" # ------------------------------------------------------- # Sega NAOMI # ------------------------------------------------------- - name: "naomi_boot.bin" + path: "dc/naomi_boot.bin" system: sega-naomi required: false size: 2097152 # 2 MB @@ -73,6 +103,7 @@ files: source_ref: "core/hw/flashrom/nvmem.cpp:287" - name: "naomi.zip" + path: "dc/naomi.zip" system: sega-naomi required: true note: > @@ -83,30 +114,35 @@ files: # NAOMI special BIOS sets (game-specific, loaded from game archive or standalone) - name: "airlbios.zip" + path: "dc/airlbios.zip" system: sega-naomi required: false note: "Airline Pilots Deluxe BIOS. epr-21802.ic27 (Export), epr-21801.ic27 (USA)." source_ref: "core/hw/naomi/naomi_roms.cpp:30-37" - name: "f355bios.zip" + path: "dc/f355bios.zip" system: sega-naomi required: false note: "Ferrari F355 Challenge BIOS. Japan/USA/Export variants." source_ref: "core/hw/naomi/naomi_roms.cpp:49-58" - name: "f355dlx.zip" + path: "dc/f355dlx.zip" system: sega-naomi required: false note: "Ferrari F355 Challenge Deluxe BIOS. Japan/USA/Export variants." source_ref: "core/hw/naomi/naomi_roms.cpp:60-74" - name: "hod2bios.zip" + path: "dc/hod2bios.zip" system: sega-naomi required: false note: "House of the Dead 2 BIOS. Japan/USA/Export variants." source_ref: "core/hw/naomi/naomi_roms.cpp:76-85" - name: "naomigd.zip" + path: "dc/naomigd.zip" system: sega-naomi required: false note: "NAOMI GD-ROM BIOS. Used by GD-ROM based NAOMI games." @@ -115,14 +151,18 @@ files: # ------------------------------------------------------- # Sega NAOMI 2 # ------------------------------------------------------- - - name: "naomi2_boot.bin" + - name: "n2_boot.bin" + path: "dc/n2_boot.bin" + aliases: ["naomi2_boot.bin"] + mode: libretro system: sega-naomi2 required: false size: 2097152 # 2 MB - note: "NAOMI 2 boot ROM (flat binary). Alternative to naomi2.zip." - source_ref: "core/hw/flashrom/nvmem.cpp:287" + note: "NAOMI 2 boot ROM. Core uses n2_ prefix to avoid name collision in shared dc/ directory. Upstream standalone uses naomi2_ prefix." + source_ref: "core/hw/holly/sb_mem.cpp:43,57" - name: "naomi2.zip" + path: "dc/naomi2.zip" system: sega-naomi2 required: true note: > @@ -135,6 +175,7 @@ files: # Sega Atomiswave # ------------------------------------------------------- - name: "awbios.zip" + path: "dc/awbios.zip" system: sega-atomiswave required: true note: > @@ -145,14 +186,8 @@ files: # ------------------------------------------------------- # Sega System SP # ------------------------------------------------------- - - name: "segasp.zip" - system: sega-systemsp - required: true - note: > - Sega System SP BIOS archive (MAME format). Contains - epr-24328a.ic50 (BOOT VER 2.01, 2 MB) and region-specific - EEPROM files mb_eeprom_us.ic54s, mb_eeprom_exp.ic54s. - source_ref: "core/hw/naomi/naomi_roms.cpp:204-218" + # segasp.zip: supported by upstream (flyinghead/flycast) but NOT by the + # libretro port (naomi_roms.cpp absent from libretro fork). Lacune du port. platform_details: dreamcast: @@ -184,9 +219,4 @@ platform_details: hle_available: false source_ref: "core/emulator.cpp:468-474" - systemsp: - bios_size: 2097152 # 2 MB - flash_size: 131072 # 128 KB (SRAM) - ram_size: 33554432 # 32 MB - hle_available: false - source_ref: "core/emulator.cpp:475-481" + # systemsp: supported by upstream but not by the libretro port diff --git a/emulators/flycast_gles2.yml b/emulators/flycast_gles2.yml new file mode 100644 index 00000000..09481c81 --- /dev/null +++ b/emulators/flycast_gles2.yml @@ -0,0 +1,8 @@ +emulator: "Flycast GLES2" +type: alias +alias_of: "flycast" +profiled_date: "2026-03-21" +core_version: "1.0" +display_name: "Sega - Dreamcast/Naomi (Flycast GLES2)" +note: "Same codebase as flycast, compiled with -DHAVE_OPENGLES2 for older mobile GPUs. Same BIOS files." +files: [] diff --git a/emulators/fmsx.yml b/emulators/fmsx.yml index fde750a6..db6d65f2 100644 --- a/emulators/fmsx.yml +++ b/emulators/fmsx.yml @@ -1,7 +1,9 @@ emulator: fMSX type: libretro +core_classification: community_fork source: "https://github.com/libretro/fmsx-libretro" -profiled_date: "2026-03-18" +upstream: "https://fms.komkon.org/fMSX/" +profiled_date: "2026-03-21" core_version: "6.0" display_name: "Microsoft - MSX (fMSX)" cores: @@ -186,3 +188,56 @@ files: required: false bundled: false note: "RTC/CMOS settings. Auto-saved by the core on exit, auto-loaded on start (fMSX/MSX.c:526)." + + # -- Text fonts (selectable via fmsx_font core option) -- + + - name: DEFAULT.FNT + required: false + bundled: true + md5: 85b38e4128bbc300e675f55b278683a8 + note: "Default text font. Loaded by LoadFNT() (fMSX/MSX.c:523). Same content as CYRILLIC.FNT." + source_ref: "fMSX/ROMs/DEFAULT.FNT, libretro.c:1546" + + - name: ITALIC.FNT + required: false + bundled: true + md5: c83e50e9f33b8dd893c414691822740d + note: "Italic text font." + source_ref: "fMSX/ROMs/ITALIC.FNT, libretro.c:1546" + + - name: INTERNAT.FNT + required: false + bundled: true + md5: ac4f4a90c1b1887db48ded39c9d9c847 + note: "International text font." + source_ref: "fMSX/ROMs/INTERNAT.FNT, libretro.c:1546" + + - name: CYRILLIC.FNT + required: false + bundled: true + md5: 85b38e4128bbc300e675f55b278683a8 + note: "Cyrillic text font. Same content as DEFAULT.FNT." + source_ref: "fMSX/ROMs/CYRILLIC.FNT, libretro.c:1546" + + - name: KOREAN.FNT + required: false + bundled: true + md5: 73291e76638a2f5aa2eceb843df468f4 + note: "Korean text font." + source_ref: "fMSX/ROMs/KOREAN.FNT, libretro.c:1546" + + - name: JAPANESE.FNT + required: false + bundled: true + md5: aa28f0703b951a6be8df3e28e20d263d + note: "Japanese text font." + source_ref: "fMSX/ROMs/JAPANESE.FNT, libretro.c:1546" + + # -- Cartridge identification database -- + + - name: CARTS.SHA + required: false + bundled: true + md5: 74b0f217fa0e2b8bb5a2f8e2ecc69da3 + note: "SHA1 database for cartridge identification and mapper detection (fMSX/MSX.c:2712)." + source_ref: "fMSX/ROMs/CARTS.SHA" diff --git a/emulators/freechaf.yml b/emulators/freechaf.yml index 4984770f..3a518399 100644 --- a/emulators/freechaf.yml +++ b/emulators/freechaf.yml @@ -1,7 +1,8 @@ emulator: FreeChaF type: libretro +core_classification: pure_libretro source: "https://github.com/libretro/FreeChaF" -profiled_date: "2026-03-18" +profiled_date: "2026-03-21" core_version: "GIT" display_name: "Fairchild - ChannelF (FreeChaF)" cores: @@ -35,6 +36,7 @@ files: - name: "sl31253.bin" system: fairchild-channelf required: false + hle_fallback: true md5: ac9804d4c0e9d07e33472e3726ed15c3 size: 1024 # 1 KB, fills 0x000-0x3FF note: "Channel F PSU1 ROM (original). Fallback if sl90025.bin is missing." @@ -43,6 +45,7 @@ files: - name: "sl31254.bin" system: fairchild-channelf required: false + hle_fallback: true md5: da98f4bb3242ab80d76629021bb27585 size: 1024 # 1 KB, fills 0x400-0x7FF note: "Channel F PSU2 ROM. Always loaded at address 0x400." @@ -51,6 +54,7 @@ files: - name: "sl90025.bin" system: fairchild-channelf required: false + hle_fallback: true md5: 95d339631d867c8f1d15a5f2ec26069d size: 1024 # 1 KB, fills 0x000-0x3FF note: "Channel F II PSU1 ROM. Tried first, preferred over sl31253.bin." diff --git a/emulators/freeintv.yml b/emulators/freeintv.yml index 2c84c3c7..24dcc8e1 100644 --- a/emulators/freeintv.yml +++ b/emulators/freeintv.yml @@ -1,7 +1,8 @@ emulator: FreeIntv type: libretro +core_classification: pure_libretro source: "https://github.com/libretro/FreeIntv" -profiled_date: "2026-03-18" +profiled_date: "2026-03-21" core_version: "2018.1.5" display_name: "Mattel - Intellivision (FreeIntv)" cores: diff --git a/emulators/freej2me.yml b/emulators/freej2me.yml index afc7d644..df2fa920 100644 --- a/emulators/freej2me.yml +++ b/emulators/freej2me.yml @@ -1,7 +1,8 @@ emulator: FreeJ2ME type: libretro +core_classification: official_port source: "https://github.com/hex007/freej2me" -profiled_date: "2026-03-18" +profiled_date: "2026-03-21" core_version: "GIT" display_name: "Mobile - J2ME (FreeJ2ME)" cores: diff --git a/emulators/frodo.yml b/emulators/frodo.yml index e403d531..7f2cb66c 100644 --- a/emulators/frodo.yml +++ b/emulators/frodo.yml @@ -1,8 +1,10 @@ emulator: Frodo type: libretro +core_classification: community_fork cores: [frodo] source: "https://github.com/libretro/frodo-libretro" -profiled_date: "2026-03-18" +upstream: "https://github.com/cebix/frodo4" +profiled_date: "2026-03-21" core_version: "v4.2" display_name: "Commodore - C64 (Frodo)" systems: [commodore-c64] diff --git a/emulators/fsuae.yml b/emulators/fsuae.yml index 3787ff20..8295c36c 100644 --- a/emulators/fsuae.yml +++ b/emulators/fsuae.yml @@ -1,8 +1,67 @@ -emulator: "fsuae" -type: alias -alias_of: "puae" -profiled_date: "2026-03-18" +emulator: FS-UAE +type: libretro +core_classification: community_fork +source: "https://github.com/libretro/libretro-fsuae" +upstream: "https://github.com/FrodeSolheim/fs-uae" +profiled_date: "2026-03-21" core_version: "v2.7.15" display_name: "Commodore - Amiga (FS-UAE)" -note: "This core uses the same BIOS/firmware as puae. See emulators/puae.yml for details." -files: [] +cores: + - fsuae +systems: + - amiga + +notes: | + FS-UAE is an Amiga emulator by Frode Solheim, based on UAE. + + Kickstart ROMs loaded from save_dir/Kickstarts/ (not system_dir). + base_dir = RETRO_ENVIRONMENT_GET_SAVE_DIRECTORY (paths.c:136). + Kickstarts/ subdirectory created automatically (paths.c:258-264). + Also scans AmigaForever/Amiga Files/Shared/rom/. + + ROMs identified by checksum, not by filename. + + Standard Amiga kickstart ROMs (all 512 KB unless noted): + kick13.rom (A500 Kickstart 1.3, 256 KB) + kick20.rom (A500+ Kickstart 2.04) + kick31.rom (A1200 Kickstart 3.1) + kick40068.A1200 (A1200 Kickstart 3.1.4) + kick40068.A4000 (A4000 Kickstart 3.1.4) + + The core is marked experimental by upstream. Most users should use PUAE. + +files: + - name: "kick13.rom" + system: amiga + required: false + size: 262144 # 256 KB + note: "Amiga 500 Kickstart 1.3 (34.5). Loaded from save_dir/Kickstarts/." + source_ref: "sources/src/fs-uae/config.c:128 (fs_uae_load_rom_files)" + + - name: "kick20.rom" + system: amiga + required: false + size: 524288 + note: "Amiga 500+ Kickstart 2.04 (37.175)." + source_ref: "sources/src/fs-uae/config.c:128" + + - name: "kick31.rom" + system: amiga + required: false + size: 524288 + note: "Amiga 1200 Kickstart 3.1 (40.68)." + source_ref: "sources/src/fs-uae/config.c:128" + + - name: "kick40068.A1200" + system: amiga + required: false + size: 524288 + note: "Amiga 1200 Kickstart 3.1.4." + source_ref: "sources/src/fs-uae/config.c:128" + + - name: "kick40068.A4000" + system: amiga + required: false + size: 524288 + note: "Amiga 4000 Kickstart 3.1.4." + source_ref: "sources/src/fs-uae/config.c:128" diff --git a/emulators/fuse.yml b/emulators/fuse.yml index 4ab30cb0..95ba7d2d 100644 --- a/emulators/fuse.yml +++ b/emulators/fuse.yml @@ -1,7 +1,9 @@ emulator: Fuse type: libretro +core_classification: community_fork source: "https://github.com/libretro/fuse-libretro" -profiled_date: "2026-03-18" +upstream: "https://sourceforge.net/projects/fuse-emulator/" +profiled_date: "2026-03-21" core_version: "1.6.0" display_name: "Sinclair - ZX Spectrum (Fuse)" cores: diff --git a/emulators/galaksija.yml b/emulators/galaksija.yml index 8ff092ad..501974a9 100644 --- a/emulators/galaksija.yml +++ b/emulators/galaksija.yml @@ -1,7 +1,9 @@ emulator: galaksija type: libretro +core_classification: official_port source: "https://github.com/libretro/galaxy-libretro" -profiled_date: "2026-03-18" +upstream: "https://github.com/nikp123/Galaksija-Emulator" +profiled_date: "2026-03-21" core_version: "v0.1" display_name: "Elektronika Inženjering - Galaksija (Galaksija)" cores: diff --git a/emulators/gam4980.yml b/emulators/gam4980.yml index 27766109..a58c2054 100644 --- a/emulators/gam4980.yml +++ b/emulators/gam4980.yml @@ -1,7 +1,9 @@ emulator: GAM4980 type: libretro +core_classification: pure_libretro source: "https://github.com/ThisBoringWorld/gam4980" -profiled_date: "2026-03-18" +upstream: "https://codeberg.org/iyzsong/gam4980" +profiled_date: "2026-03-21" core_version: "0.2" display_name: "GAM4980" cores: diff --git a/emulators/gambatte.yml b/emulators/gambatte.yml index 311f2fe6..e7b4f1b3 100644 --- a/emulators/gambatte.yml +++ b/emulators/gambatte.yml @@ -1,9 +1,13 @@ emulator: Gambatte type: libretro +core_classification: community_fork source: "https://github.com/libretro/gambatte-libretro" -profiled_date: "2026-03-18" +upstream: "https://github.com/sinamas/gambatte" +profiled_date: "2026-03-21" core_version: "v0.5.0" display_name: "Nintendo - Game Boy / Color (Gambatte)" +cores: + - gambatte systems: [nintendo-gb, nintendo-gbc] notes: | diff --git a/emulators/gearboy.yml b/emulators/gearboy.yml index 9d238f02..5b25caec 100644 --- a/emulators/gearboy.yml +++ b/emulators/gearboy.yml @@ -1,8 +1,31 @@ -emulator: "gearboy" -type: alias -alias_of: "gambatte" -profiled_date: "2026-03-18" +emulator: Gearboy +type: libretro +core_classification: community_fork +source: "https://github.com/libretro/Gearboy" +upstream: "https://github.com/drhelius/Gearboy" +profiled_date: "2026-03-21" core_version: "3.4.1" display_name: "Nintendo - Game Boy / Color (Gearboy)" -note: "This core uses the same BIOS/firmware as gambatte. See emulators/gambatte.yml for details." +cores: + - gearboy +systems: + - nintendo-gb + - nintendo-gbc + +notes: | + Gearboy is a Game Boy / Game Boy Color emulator by drhelius (Nacho Sanchez). + + The upstream standalone has bootrom support (dmg_boot.bin, cgb_boot.bin) + via emu_load_bootrom_dmg/gbc (platforms/desktop-shared/emu.cpp:407-422). + The libretro port does NOT load any BIOS files — retro_init() only stores + system_dir, retro_load_game() calls LoadROMFromBuffer() with no bootrom + loading code (platforms/libretro/libretro.cpp:94-109, 335-364). + + The .info declares firmware_count=2 (dmg_boot.bin, cgb_boot.bin) but the + code never references these files. .info is wrong for the libretro port. + + The core HLE-skips the boot animation — games work without BIOS. + files: [] + +exclusion_note: "The .info declares dmg_boot.bin and cgb_boot.bin but the libretro port never loads them (no bootrom loading code in libretro.cpp). The upstream standalone supports bootroms but this was not ported to libretro." diff --git a/emulators/gearcoleco.yml b/emulators/gearcoleco.yml index 34737335..1246ac07 100644 --- a/emulators/gearcoleco.yml +++ b/emulators/gearcoleco.yml @@ -1,7 +1,8 @@ emulator: Gearcoleco type: libretro +core_classification: official_port source: "https://github.com/drhelius/Gearcoleco" -profiled_date: "2026-03-18" +profiled_date: "2026-03-21" core_version: "1.0.0" display_name: "Coleco - ColecoVision (Gearcoleco)" cores: @@ -29,22 +30,12 @@ notes: | requires no additional BIOS files. files: - # --- ColecoVision BIOS (required) --- - name: "colecovision.rom" + aliases: ["coleco.rom"] system: colecovision - description: "ColecoVision BIOS ROM" required: true size: 8192 - source_ref: "platforms/libretro/libretro.cpp:297 (load_bootroms)" - notes: "Primary filename. Loaded via Memory::LoadBios(), must be exactly 8192 bytes." - - - name: "coleco.rom" - system: colecovision - description: "ColecoVision BIOS ROM (legacy filename)" - required: false - size: 8192 - source_ref: "platforms/libretro/libretro.cpp:303 (load_bootroms fallback)" - notes: "Fallback filename tried when colecovision.rom is not found." + source_ref: "platforms/libretro/libretro.cpp:293-305 (load_bootroms)" platform_details: colecovision: diff --git a/emulators/geargrafx.yml b/emulators/geargrafx.yml index 8900c1f2..2e91da49 100644 --- a/emulators/geargrafx.yml +++ b/emulators/geargrafx.yml @@ -1,7 +1,8 @@ emulator: Geargrafx type: libretro +core_classification: official_port source: "https://github.com/drhelius/Geargrafx" -profiled_date: "2026-03-18" +profiled_date: "2026-03-21" core_version: "1.6.0" display_name: "NEC - PC Engine / SuperGrafx / CD (Geargrafx)" cores: @@ -41,9 +42,8 @@ notes: | Arcade Card games are also detected from game_db.h and enable extra 0x30000 bytes of Card RAM for Super CD-ROM mode. - Unlike beetle_pce, this core does NOT have separate US syscard3u.pce or - syscard2u.pce options. The libretro frontend only references syscard1.pce, - syscard2.pce, syscard3.pce, and gexpress.pce. + No separate US-specific filenames (syscard3u.pce). US variants must be + named syscard3.pce/syscard2.pce — recognized by CRC32 validation. files: # -- CD-ROM System Card 3 (Japan) - default -- @@ -88,9 +88,7 @@ files: required: false source_ref: "game_db.h:52 CRC32=0x2B5B75FE" notes: > - The core does not have a separate syscard3u.pce option like beetle_pce. - If using a US System Card 3, it must be named syscard3.pce and placed in - the system directory. The game_db.h CRC32 validation will recognize it. + US variant must be named syscard3.pce. CRC32 validation recognizes it. # -- TurboGrafx CD System Card 2 (US) -- diff --git a/emulators/gearlynx.yml b/emulators/gearlynx.yml index 218bd2ee..526b6f47 100644 --- a/emulators/gearlynx.yml +++ b/emulators/gearlynx.yml @@ -1,7 +1,8 @@ emulator: Gearlynx type: libretro +core_classification: official_port source: "https://github.com/drhelius/Gearlynx" -profiled_date: "2026-03-18" +profiled_date: "2026-03-21" core_version: "1.0.0" display_name: "Atari - Lynx (GearLynx)" cores: [gearlynx] @@ -22,8 +23,8 @@ notes: | game_db.h:38). An invalid CRC triggers a warning log but the BIOS is still marked as loaded (m_is_bios_loaded = true). - Unlike Handy, Gearlynx has no HLE fallback. If the BIOS is not - loaded (IsBiosLoaded() returns false), RunToVBlank in + No HLE fallback. If the BIOS is not loaded (IsBiosLoaded() returns + false), RunToVBlank in gearlynx_core_inline.h:31-37 renders a static "no bios" image and returns false, refusing to emulate. The BIOS is required for any ROM to run. Homebrew (.o, BS93 format) bypasses the normal diff --git a/emulators/gearsystem.yml b/emulators/gearsystem.yml index d812e186..a05c9b00 100644 --- a/emulators/gearsystem.yml +++ b/emulators/gearsystem.yml @@ -1,7 +1,8 @@ emulator: Gearsystem type: libretro +core_classification: official_port source: "https://github.com/drhelius/Gearsystem" -profiled_date: "2026-03-18" +profiled_date: "2026-03-21" core_version: "3.2.0" display_name: "Sega - MS/GG/SG-1000 (Gearsystem)" cores: @@ -26,26 +27,17 @@ notes: | When enabled, the boot ROM executes as on original hardware, which may cause invalid ROMs to lock or fail to boot entirely. - Note: gearcoleco, geargrafx, and gearlynx are separate emulators by the - same author covering ColecoVision, PC Engine, and Atari Lynx respectively. - They are not part of Gearsystem. - files: # --- Master System boot ROM (optional, behind gearsystem_bios_sms) --- - name: "bios.sms" system: sega-mastersystem - description: "Master System boot ROM" required: false - source_ref: "platforms/libretro/libretro.cpp:414 (load_bootroms)" - notes: "Loaded from system directory. Core option gearsystem_bios_sms must be set to Enabled. No size or hash validation performed by the core." + source_ref: "platforms/libretro/libretro.cpp:413-414 (load_bootroms)" - # --- Game Gear boot ROM (optional, behind gearsystem_bios_gg) --- - name: "bios.gg" system: sega-gamegear - description: "Game Gear boot ROM" required: false - source_ref: "platforms/libretro/libretro.cpp:415 (load_bootroms)" - notes: "Loaded from system directory. Core option gearsystem_bios_gg must be set to Enabled. No size or hash validation performed by the core." + source_ref: "platforms/libretro/libretro.cpp:415-416 (load_bootroms)" platform_details: mastersystem: diff --git a/emulators/genesis_plus_gx.yml b/emulators/genesis_plus_gx.yml index 30fe14ec..a1f5e5aa 100644 --- a/emulators/genesis_plus_gx.yml +++ b/emulators/genesis_plus_gx.yml @@ -1,18 +1,20 @@ emulator: Genesis Plus GX type: libretro +core_classification: community_fork source: "https://github.com/libretro/Genesis-Plus-GX" -profiled_date: "2026-03-18" +upstream: "https://github.com/ekeeke/Genesis-Plus-GX" +profiled_date: "2026-03-21" core_version: "v1.7.4" display_name: "Sega - MS/GG/MD/CD (Genesis Plus GX)" cores: - genesis_plus_gx - - genesis_plus_gx_wide systems: - sega-megadrive - sega-megacd - sega-mastersystem - sega-gamegear - sega-sg1000 + - sega-pico notes: | Genesis Plus GX is a Sega 8/16-bit emulator covering SG-1000, Master System, diff --git a/emulators/genesis_plus_gx_wide.yml b/emulators/genesis_plus_gx_wide.yml new file mode 100644 index 00000000..0b7fd4aa --- /dev/null +++ b/emulators/genesis_plus_gx_wide.yml @@ -0,0 +1,91 @@ +emulator: Genesis Plus GX Wide +type: libretro +core_classification: enhanced_fork +source: "https://github.com/libretro/Genesis-Plus-GX-Wide" +upstream: "https://github.com/ekeeke/Genesis-Plus-GX" +profiled_date: "2026-03-21" +core_version: "v1.7.4" +display_name: "Sega - MS/GG/MD/CD (Genesis Plus GX Wide)" +cores: + - genesis_plus_gx_wide +systems: + - sega-megadrive + - sega-megacd + - sega-mastersystem + - sega-gamegear + - sega-sg1000 + - sega-pico + +notes: | + Widescreen hack of Genesis Plus GX by heyjoeway. Adds automatic + widescreen rendering to Mega Drive games. BIOS loading identical to + standard Genesis Plus GX (libretro.c:3547-3558). + +files: + - name: bios_CD_U.bin + system: sega-megacd + required: true + size: 131072 + source_ref: "core/loadrom.c:409" + + - name: bios_CD_E.bin + system: sega-megacd + required: true + size: 131072 + source_ref: "core/loadrom.c:412" + + - name: bios_CD_J.bin + system: sega-megacd + required: true + size: 131072 + source_ref: "core/loadrom.c:415" + + - name: bios_U.sms + system: sega-mastersystem + required: false + source_ref: "core/loadrom.c:511" + + - name: bios_E.sms + system: sega-mastersystem + required: false + source_ref: "core/loadrom.c:514" + + - name: bios_J.sms + system: sega-mastersystem + required: false + source_ref: "core/loadrom.c:517" + + - name: bios.gg + system: sega-gamegear + required: false + source_ref: "core/loadrom.c:480" + + - name: bios_MD.bin + system: sega-megadrive + required: false + size: 2048 + source_ref: "libretro/libretro.c:3551" + + - name: ggenie.bin + system: sega-megadrive + required: false + size: 32768 + source_ref: "core/cart_hw/ggenie.c:64" + + - name: areplay.bin + system: sega-megadrive + required: false + size: 65536 + source_ref: "core/cart_hw/areplay.c:64" + + - name: sk.bin + system: sega-megadrive + required: false + size: 2097152 + source_ref: "core/cart_hw/md_cart.c:867" + + - name: sk2chip.bin + system: sega-megadrive + required: false + size: 262144 + source_ref: "core/cart_hw/md_cart.c:873" diff --git a/emulators/geolith.yml b/emulators/geolith.yml index 769a71df..ae768e34 100644 --- a/emulators/geolith.yml +++ b/emulators/geolith.yml @@ -1,9 +1,13 @@ emulator: Geolith type: libretro +core_classification: official_port source: "https://github.com/libretro/geolith-libretro" -profiled_date: "2026-03-18" +upstream: "https://gitlab.com/jgemu/geolith" +profiled_date: "2026-03-21" core_version: "0.3.0" display_name: "SNK - Neo Geo AES/MVS (Geolith)" +cores: + - geolith systems: - snk-neogeo-mvs - snk-neogeo-aes diff --git a/emulators/gme.yml b/emulators/gme.yml index 6f0aee6c..362e1441 100644 --- a/emulators/gme.yml +++ b/emulators/gme.yml @@ -1,7 +1,8 @@ emulator: Game Music Emu type: utility source: "https://github.com/libretro/libretro-gme" -profiled_date: "2026-03-18" +upstream: "https://github.com/libgme/game-music-emu" +profiled_date: "2026-03-21" core_version: "Git" display_name: "Game Music Emu" cores: [gme] diff --git a/emulators/gong.yml b/emulators/gong.yml index 3011f9e1..888d189c 100644 --- a/emulators/gong.yml +++ b/emulators/gong.yml @@ -1,7 +1,7 @@ emulator: Gong type: game source: "https://github.com/libretro/gong" -profiled_date: "2026-03-18" +profiled_date: "2026-03-21" core_version: "1.0" display_name: "Gong" cores: [gong] diff --git a/emulators/gw.yml b/emulators/gw.yml index 86e3a2ad..a7bf2d56 100644 --- a/emulators/gw.yml +++ b/emulators/gw.yml @@ -1,7 +1,8 @@ emulator: "Game & Watch" type: libretro +core_classification: pure_libretro source: "https://github.com/libretro/gw-libretro" -profiled_date: "2026-03-18" +profiled_date: "2026-03-21" core_version: "Git" display_name: "Handheld Electronic (GW)" cores: diff --git a/emulators/hatari.yml b/emulators/hatari.yml index 893bed3d..921818de 100644 --- a/emulators/hatari.yml +++ b/emulators/hatari.yml @@ -1,10 +1,14 @@ emulator: Hatari type: libretro +core_classification: community_fork source: "https://github.com/libretro/hatari" +upstream: "https://github.com/hatari/hatari" logo: "https://raw.githubusercontent.com/hatari/hatari/main/share/icons/hicolor/scalable/apps/hatari.svg" -profiled_date: "2026-03-18" +profiled_date: "2026-03-21" core_version: "1.8" display_name: "Atari - ST/STE/TT/Falcon (Hatari)" +cores: + - hatari systems: [atari-st, atari-ste, atari-tt, atari-falcon] # Hatari requires a TOS ROM image to boot. The default filename is tos.img, @@ -53,6 +57,14 @@ files: Mutually exclusive with GEMDOS hard disk emulation and extended VDI. source_ref: "src/cart.c:53-88" + - name: "BOOT.ST" + path: "hatari/BOOT.ST" + required: false + note: > + Floppy image used for GEMDOS HD bootstrapping with .gem files. + Libretro port addition (not in upstream Hatari). + source_ref: "libretro/libretro.c:1649" + # 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) diff --git a/emulators/hbmame.yml b/emulators/hbmame.yml index 43c4acc3..d91eefbb 100644 --- a/emulators/hbmame.yml +++ b/emulators/hbmame.yml @@ -1,10 +1,16 @@ emulator: HBMAME (Homebrew MAME) type: libretro +core_classification: enhanced_fork source: "https://github.com/libretro/hbmame-libretro" +upstream: "https://github.com/Robbbert/hbmame" logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg" -profiled_date: "2026-03-18" +profiled_date: "2026-03-21" core_version: "Git" display_name: "Arcade (HBMAME)" +cores: + - hbmame +systems: + - arcade based_on: MAME 0.220 author: Robbbert game_count: 8511 @@ -38,9 +44,6 @@ notes: | BIOS files are expected as MAME-format ZIP archives in the ROM search path. Users with a working MAME 0.220 BIOS collection need nothing extra for HBMAME. -bios_impact: none -bios_note: | - Uses the same BIOS ZIPs as MAME 0.220. No custom or modified BIOS entries. - The primary BIOS dependency is neogeo.zip for the large Neo Geo homebrew/hack - library. Other arcade boards (CPS, Pac-Man, Galaxian, etc.) are ROM-only hacks - with no additional BIOS requirements beyond standard MAME parent sets. +files: [] + +exclusion_note: "BIOS ROMs are inside parent ROM set ZIPs (neogeo.zip, etc.) following MAME convention. No standalone system directory files." diff --git a/emulators/higan_sfc.yml b/emulators/higan_sfc.yml index 931a24e4..e81ee4d8 100644 --- a/emulators/higan_sfc.yml +++ b/emulators/higan_sfc.yml @@ -1,8 +1,121 @@ -emulator: "higan_sfc" -type: alias -alias_of: "bsnes" -profiled_date: "2026-03-18" +emulator: "higan (SFC Accuracy)" +type: libretro +core_classification: community_fork +source: "https://github.com/libretro/nSide" +profiled_date: "2026-03-21" core_version: "v105 (Super Famicom Accuracy)" display_name: "Nintendo - SNES / Famicom (higan Accuracy)" -note: "This core uses the same BIOS/firmware as bsnes. See emulators/bsnes.yml for details." -files: [] +cores: + - higan_sfc +systems: + - nintendo-snes + - nintendo-sgb + +notes: | + Historically built from libretro/nSide (fork of higan v106 by hex-usr). + Current nSide source prohibits the accuracy profile build + (libretro.cpp:38 #error). Core is orphaned — last built from an older + nSide revision. Coprocessor firmware loaded from system_dir. + SGB emulation from SGB1.sfc/ or SGB2.sfc/ subdirectories. + +files: + - name: "dsp1.data.rom" + system: nintendo-snes + required: false + source_ref: "sfc/coprocessor/necdsp" + + - name: "dsp1.program.rom" + system: nintendo-snes + required: false + source_ref: "sfc/coprocessor/necdsp" + + - name: "dsp1b.data.rom" + system: nintendo-snes + required: false + source_ref: "sfc/coprocessor/necdsp" + + - name: "dsp1b.program.rom" + system: nintendo-snes + required: false + source_ref: "sfc/coprocessor/necdsp" + + - name: "dsp2.data.rom" + system: nintendo-snes + required: false + source_ref: "sfc/coprocessor/necdsp" + + - name: "dsp2.program.rom" + system: nintendo-snes + required: false + source_ref: "sfc/coprocessor/necdsp" + + - name: "dsp3.data.rom" + system: nintendo-snes + required: false + source_ref: "sfc/coprocessor/necdsp" + + - name: "dsp3.program.rom" + system: nintendo-snes + required: false + source_ref: "sfc/coprocessor/necdsp" + + - name: "dsp4.data.rom" + system: nintendo-snes + required: false + source_ref: "sfc/coprocessor/necdsp" + + - name: "dsp4.program.rom" + system: nintendo-snes + required: false + source_ref: "sfc/coprocessor/necdsp" + + - name: "cx4.data.rom" + system: nintendo-snes + required: false + source_ref: "sfc/coprocessor/hitachidsp" + + - name: "st010.data.rom" + system: nintendo-snes + required: false + source_ref: "sfc/coprocessor/necdsp" + + - name: "st010.program.rom" + system: nintendo-snes + required: false + source_ref: "sfc/coprocessor/necdsp" + + - name: "st011.data.rom" + system: nintendo-snes + required: false + source_ref: "sfc/coprocessor/necdsp" + + - name: "st011.program.rom" + system: nintendo-snes + required: false + source_ref: "sfc/coprocessor/necdsp" + + - name: "st018.data.rom" + system: nintendo-snes + required: false + source_ref: "sfc/coprocessor/armdsp" + + - name: "st018.program.rom" + system: nintendo-snes + required: false + source_ref: "sfc/coprocessor/armdsp" + + - name: "SGB1.sfc/sgb1.boot.rom" + system: nintendo-sgb + required: false + + - name: "SGB1.sfc/program.rom" + system: nintendo-sgb + required: false + + - name: "SGB2.sfc/sgb2.boot.rom" + system: nintendo-sgb + required: false + + - name: "SGB2.sfc/program.rom" + system: nintendo-sgb + required: false diff --git a/emulators/higan_sfc_balanced.yml b/emulators/higan_sfc_balanced.yml index b7b141cd..657f59b3 100644 --- a/emulators/higan_sfc_balanced.yml +++ b/emulators/higan_sfc_balanced.yml @@ -1,8 +1,128 @@ -emulator: "higan_sfc_balanced" -type: alias -alias_of: "bsnes" -profiled_date: "2026-03-18" +emulator: "nSide (SFC Balanced)" +type: libretro +core_classification: enhanced_fork +source: "https://github.com/libretro/nSide" +profiled_date: "2026-03-21" core_version: "v105 (Super Famicom Balanced)" display_name: "Nintendo - SNES / Famicom (nSide Balanced)" -note: "This core uses the same BIOS/firmware as bsnes. See emulators/bsnes.yml for details." -files: [] +cores: + - higan_sfc_balanced +systems: + - nintendo-snes + - nintendo-sgb + +notes: | + Fork of higan v106 by hex-usr, renamed at byuu's request. Balanced + PPU profile (scanline-precision, faster than dot-based accuracy). + Loads coprocessor firmware from system_dir via locate_libretro(). + SGB emulation loads from SGB1.sfc/ or SGB2.sfc/ subdirectories. + +files: + # DSP coprocessors (split data+program format) + - name: "dsp1.data.rom" + system: nintendo-snes + required: false + source_ref: "nSide/sfc/coprocessor/necdsp" + + - name: "dsp1.program.rom" + system: nintendo-snes + required: false + source_ref: "nSide/sfc/coprocessor/necdsp" + + - name: "dsp1b.data.rom" + system: nintendo-snes + required: false + source_ref: "nSide/sfc/coprocessor/necdsp" + + - name: "dsp1b.program.rom" + system: nintendo-snes + required: false + source_ref: "nSide/sfc/coprocessor/necdsp" + + - name: "dsp2.data.rom" + system: nintendo-snes + required: false + source_ref: "nSide/sfc/coprocessor/necdsp" + + - name: "dsp2.program.rom" + system: nintendo-snes + required: false + source_ref: "nSide/sfc/coprocessor/necdsp" + + - name: "dsp3.data.rom" + system: nintendo-snes + required: false + source_ref: "nSide/sfc/coprocessor/necdsp" + + - name: "dsp3.program.rom" + system: nintendo-snes + required: false + source_ref: "nSide/sfc/coprocessor/necdsp" + + - name: "dsp4.data.rom" + system: nintendo-snes + required: false + source_ref: "nSide/sfc/coprocessor/necdsp" + + - name: "dsp4.program.rom" + system: nintendo-snes + required: false + source_ref: "nSide/sfc/coprocessor/necdsp" + + # CX4 coprocessor + - name: "cx4.data.rom" + system: nintendo-snes + required: false + source_ref: "nSide/sfc/coprocessor/hitachidsp" + + # Seta coprocessors + - name: "st010.data.rom" + system: nintendo-snes + required: false + source_ref: "nSide/sfc/coprocessor/necdsp" + + - name: "st010.program.rom" + system: nintendo-snes + required: false + source_ref: "nSide/sfc/coprocessor/necdsp" + + - name: "st011.data.rom" + system: nintendo-snes + required: false + source_ref: "nSide/sfc/coprocessor/necdsp" + + - name: "st011.program.rom" + system: nintendo-snes + required: false + source_ref: "nSide/sfc/coprocessor/necdsp" + + - name: "st018.data.rom" + system: nintendo-snes + required: false + source_ref: "nSide/sfc/coprocessor/armdsp" + + - name: "st018.program.rom" + system: nintendo-snes + required: false + source_ref: "nSide/sfc/coprocessor/armdsp" + + # Super Game Boy + - name: "SGB1.sfc/sgb1.boot.rom" + system: nintendo-sgb + required: false + source_ref: "nSide/target-libretro/libretro-sfc.cpp:142-184" + + - name: "SGB1.sfc/program.rom" + system: nintendo-sgb + required: false + source_ref: "nSide/target-libretro/libretro-sfc.cpp:182" + + - name: "SGB2.sfc/sgb2.boot.rom" + system: nintendo-sgb + required: false + source_ref: "nSide/target-libretro/libretro-sfc.cpp:142-184" + + - name: "SGB2.sfc/program.rom" + system: nintendo-sgb + required: false + source_ref: "nSide/target-libretro/libretro-sfc.cpp:182" diff --git a/emulators/holani.yml b/emulators/holani.yml index 295492c4..fcea2ef5 100644 --- a/emulators/holani.yml +++ b/emulators/holani.yml @@ -1,7 +1,9 @@ emulator: Holani type: libretro +core_classification: official_port source: "https://github.com/LLeny/holani-retro" -profiled_date: "2026-03-18" +upstream: "https://github.com/LLeny/holani" +profiled_date: "2026-03-21" core_version: "0.6.0" display_name: "Atari - Lynx (Holani)" cores: [holani] @@ -22,13 +24,7 @@ notes: | has the free boot ROM initialized. No hash validation on the external file; Rom::from_slice() only checks length == 512. - Unlike Handy and Gearlynx, Holani always boots because the free ROM - is compiled in. The real BIOS provides more accurate boot behavior - (encrypted cart loader, original RSA key), while the free ROM - reimplements the boot sequence without proprietary code. - ROM extensions: .lnx, .o - Core options: none. files: - name: "lynxboot.img" @@ -37,8 +33,4 @@ files: required: false hle_fallback: true size: 512 - sha1: "e4ed47fae31693e016b081c6bda48da5b70d7ccb" - md5: "fcd403db69f54290b51035d82f835e7b" - crc32: "0d973c9d" - source_ref: "holani-retro lib.rs:110-121 (bios load path), holani rom.rs:14-47 (FREE_BOOTROM embedded fallback), rom.rs:72-79 (from_slice length check only)" - notes: "Optional. Core ships with a free boot ROM embedded at compile time. Real BIOS provides original encrypted cart loader. No CRC/hash validation on load, only size == 512." + source_ref: "src/lib.rs:110-121 (bios load path)" diff --git a/emulators/imageviewer.yml b/emulators/imageviewer.yml index 38ae8885..a14e01d0 100644 --- a/emulators/imageviewer.yml +++ b/emulators/imageviewer.yml @@ -1,9 +1,8 @@ emulator: Image Viewer type: utility source: "https://github.com/libretro/RetroArch" -profiled_date: "2026-03-18" +profiled_date: "2026-03-21" core_version: "1.0" -display_name: "Image Viewer" display_name: "Imageviewer" cores: - imageviewer diff --git a/emulators/jaxe.yml b/emulators/jaxe.yml index 67407f58..0c171025 100644 --- a/emulators/jaxe.yml +++ b/emulators/jaxe.yml @@ -1,7 +1,8 @@ emulator: JAXE type: libretro -source: "https://github.com/libretro/jaxe" -profiled_date: "2026-03-18" +core_classification: official_port +source: "https://github.com/kurtjd/jaxe" +profiled_date: "2026-03-21" core_version: "GIT" display_name: "CHIP-8/S-CHIP/XO-CHIP (JAXE)" cores: diff --git a/emulators/potator.yml b/emulators/potator.yml index 81c76d96..cd65309d 100644 --- a/emulators/potator.yml +++ b/emulators/potator.yml @@ -1,8 +1,16 @@ -emulator: "potator" -type: alias -alias_of: "beetle_wswan" -profiled_date: "2026-03-18" +emulator: Potator +type: libretro +core_classification: community_fork +source: "https://github.com/libretro/potern" +profiled_date: "2026-03-21" core_version: "1.0.5" display_name: "Watara - Supervision (Potator)" -note: "This core uses the same BIOS/firmware as beetle_wswan. See emulators/beetle_wswan.yml for details." +cores: + - potator +systems: + - watara-supervision + +notes: | + Watara Supervision emulator. No BIOS required. + files: [] diff --git a/emulators/quicknes.yml b/emulators/quicknes.yml index 8bbebe7c..a5782e35 100644 --- a/emulators/quicknes.yml +++ b/emulators/quicknes.yml @@ -1,8 +1,17 @@ -emulator: "quicknes" -type: alias -alias_of: "fceumm" -profiled_date: "2026-03-18" +emulator: QuickNES +type: libretro +core_classification: community_fork +source: "https://github.com/libretro/QuickNES_Core" +profiled_date: "2026-03-21" core_version: "1.0-WIP" display_name: "Nintendo - NES / Famicom (QuickNES)" -note: "This core uses the same BIOS/firmware as fceumm. See emulators/fceumm.yml for details." +cores: + - quicknes +systems: + - nintendo-nes + +notes: | + NES emulator by blargg (Shay Green). No BIOS required. + NES cartridge games are self-contained. + files: []