diff --git a/emulators/applewin.yml b/emulators/applewin.yml index 743e2781..6872b4a2 100644 --- a/emulators/applewin.yml +++ b/emulators/applewin.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/audetto/AppleWin" upstream: "https://github.com/AppleWin/AppleWin" profiled_date: "2026-03-23" -source_commit: "d495cfe427358d6b1f185a60bc2b3a8c7c5e8107" +source_commit: "7062ae417896da6050e2e39030215062bb4672ee" core_version: "1.31.0.1" display_name: "Apple II (AppleWin)" cores: diff --git a/emulators/ardens.yml b/emulators/ardens.yml index 9b91d35a..fa099f1a 100644 --- a/emulators/ardens.yml +++ b/emulators/ardens.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/tiberiusbrown/ardens" upstream: "https://github.com/tiberiusbrown/ardens" profiled_date: "2026-03-23" -source_commit: "661a7dd4febc8d00e790a4ecde44b936295adf97" +source_commit: "ba7ad0dcfc196459859d304a8c483b38621c7cfa" core_version: "Git" display_name: "Arduboy (Ardens)" cores: @@ -53,9 +53,9 @@ platform_details: All bootloaders are compiled from Intel HEX into C arrays at build time. The core selects the game or menu variant at reset depending on whether a flashcart image was loaded and the boot_to_menu config - flag (absim_arduboy.cpp:151-181). The bootloader is written to the + flag (src/absim_arduboy.cpp:151-181). The bootloader is written to the top of the ATmega32U4 program memory at the address defined by the - BOOTSZ fuse bits (absim.hpp:811). + BOOTSZ fuse bits (src/absim.hpp:811). embedded_flashcart_header: source_ref: "src/boot/boot_flashcart.c, src/absim_w25q128.hpp:14" diff --git a/emulators/arduous.yml b/emulators/arduous.yml index eb6a9433..a74d091b 100644 --- a/emulators/arduous.yml +++ b/emulators/arduous.yml @@ -4,7 +4,7 @@ core_classification: pure_libretro source: "https://github.com/libretro/arduous" upstream: "https://github.com/jmaroeder/arduous" profiled_date: "2026-03-23" -source_commit: "798e3950f1de7c69455bc988d55eafeebac5a1eb" +source_commit: "831b83e67ad46e8c86b8165649ff81bc6fc6c157" core_version: "0.1.0" display_name: "Arduboy (Arduous)" cores: diff --git a/emulators/ares.yml b/emulators/ares.yml index fe175fdb..23928d65 100644 --- a/emulators/ares.yml +++ b/emulators/ares.yml @@ -3,7 +3,7 @@ type: standalone source: "https://github.com/ares-emulator/ares" upstream: "https://github.com/ares-emulator/ares" profiled_date: "2026-03-26" -source_commit: "b80f67d38312648d197762121c3a27b02c0887db" +source_commit: "4cb8d92b441557cb6bcaf133c4cbc7f6819b1122" core_version: "v147" display_name: "ares" cores: [ares] @@ -61,7 +61,7 @@ notes: | Firmware path resolution: settings.paths.firmware (user override) or {userData}/ares/Firmware/ (default). Per-system firmware assigned in Settings > Firmware dialog or via scan-by-hash. - ref: desktop-ui/settings/settings.hpp:87-99, desktop-ui/desktop-ui.cpp:68-75 + ref: desktop-ui/settings/settings.hpp:89-101, desktop-ui/desktop-ui.cpp:68-75 Systems with fully embedded firmware (no user files needed): Game Boy (boot.rom), Game Boy Color (boot.rom), Mega Drive (TMSS), diff --git a/emulators/azaharplus.yml b/emulators/azaharplus.yml index b6789fd9..347c569d 100644 --- a/emulators/azaharplus.yml +++ b/emulators/azaharplus.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/AzaharPlus/AzaharPlus" upstream: "https://github.com/AzaharPlus/AzaharPlus" profiled_date: "2026-08-08" -source_commit: "18775d91a5c70be33ec828a32d9007384c4fad98" +source_commit: "dab27d996555ca220b7dbd106a2e5f03b6af34ac" core_version: "2126.0-A" display_name: "Nintendo - 3DS (AzaharPlus)" cores: @@ -16,17 +16,17 @@ mode: standalone notes: | Fork of Azahar. Data dir: azaharplus-emu (AzaharPlus on Windows and macOS), with citra-emu and lime3ds-emu probed as legacy locations. - ref: src/common/common_paths.h:27-49 + ref: src/common/common_paths.h:25-47 InitKeys reads three key sources in order: boot9.bin, keys.txt, aes_keys.txt. - ref: src/core/hw/aes/key.cpp:617-633 + ref: src/core/hw/aes/key.cpp:615-631 keys.txt has an AES-encrypted key blob compiled into the binary, used when the file is absent. ENABLE_BUILTIN_KEYBLOB defaults to ON. - ref: src/core/hw/aes/key.cpp:485-613, CMakeLists.txt:153 + ref: src/core/hw/aes/key.cpp:483-611, CMakeLists.txt:153 1861 title seeds are compiled in and loaded before seeddb.bin is read. - ref: src/core/file_sys/seed_db.cpp:52-54, src/core/file_sys/seed_db.cpp:220 + ref: src/core/file_sys/seed_db.cpp:50-52, src/core/file_sys/seed_db.cpp:218 System archives (shared font, Mii data, country list, bad word list) have open-source replacements embedded in the binary, and ClCertA falls back to an @@ -42,10 +42,10 @@ notes: | System titles are downloaded and installed in-app from the Nintendo CDN, so the NAND title tree is not user-supplied. - ref: src/core/nus_download.cpp:13, src/core/hle/service/am/am.cpp:1220-1243 + ref: src/core/nus_download.cpp:13, src/core/hle/service/am/am.cpp:1219-1242 sector0x96.bin is defined but read by no code path. - ref: src/common/common_paths.h:88 + ref: src/common/common_paths.h:86 mcu.dat, mac.txt, digests.txt, cecIds.txt and http_hle_replace_rules.txt live in sysdata but hold per-installation state the emulator writes itself. @@ -57,14 +57,14 @@ files: required: false hle_fallback: true note: "AES key slots, common keys and NFC secrets; embedded encrypted blob used if missing" - source_ref: "src/core/hw/aes/key.cpp:227-366, src/core/hw/aes/key.cpp:475-615" + source_ref: "src/core/hw/aes/key.cpp:225-364, src/core/hw/aes/key.cpp:473-613" - name: aes_keys.txt path: sysdata/aes_keys.txt system: nintendo-3ds required: false note: "legacy keyfile format, parsed without section markers" - source_ref: "src/core/hw/aes/key.cpp:368-471, src/common/common_paths.h:86" + source_ref: "src/core/hw/aes/key.cpp:366-469, src/common/common_paths.h:84" - name: boot9.bin path: sysdata/boot9.bin @@ -73,7 +73,7 @@ files: size: 65536 validation: [size] note: "bootrom key section read at offset 55760, filling 80 key slots" - source_ref: "src/core/hw/aes/key.cpp:156-225, src/common/common_paths.h:87" + source_ref: "src/core/hw/aes/key.cpp:154-223, src/common/common_paths.h:85" - name: shared_font.bin path: sysdata/shared_font.bin @@ -89,7 +89,7 @@ files: required: false hle_fallback: true note: "game seed database for 9.6+ titles; written out from the embedded seeds if absent" - source_ref: "src/core/file_sys/seed_db.cpp:52-103" + source_ref: "src/core/file_sys/seed_db.cpp:50-101" - name: otp.bin path: sysdata/otp.bin @@ -98,7 +98,7 @@ files: size: 256 validation: [size, crypto] note: "console-unique OTP, AES-CBC decrypted then checked against the OTP magic" - source_ref: "src/core/file_sys/otp.cpp:35-80, src/core/hw/unique_data.cpp:224-275" + source_ref: "src/core/file_sys/otp.cpp:35-80, src/core/hw/unique_data.cpp:223-274" - name: movable.sed path: nand/private/movable.sed @@ -107,7 +107,7 @@ files: size: [288, 320] validation: [size, signature] note: "console-unique key seed; 288 bytes without the AES MAC block, 320 with it" - source_ref: "src/core/hw/unique_data.cpp:277-319, src/core/hw/unique_data.h:105-135" + source_ref: "src/core/hw/unique_data.cpp:276-318, src/core/hw/unique_data.h:103-133" - name: SecureInfo_A path: nand/rw/sys/SecureInfo_A @@ -116,7 +116,7 @@ files: size: 273 validation: [size, signature] note: "console serial and region; a failed signature is retried against every region" - source_ref: "src/core/hw/unique_data.cpp:123-181, src/core/hw/unique_data.h:59" + source_ref: "src/core/hw/unique_data.cpp:122-180, src/core/hw/unique_data.h:57" - name: LocalFriendCodeSeed_B path: nand/rw/sys/LocalFriendCodeSeed_B @@ -125,4 +125,4 @@ files: size: 272 validation: [size, signature] note: "friend code generation seed" - source_ref: "src/core/hw/unique_data.cpp:183-222, src/core/hw/unique_data.h:78" + source_ref: "src/core/hw/unique_data.cpp:182-221, src/core/hw/unique_data.h:76" diff --git a/emulators/b2.yml b/emulators/b2.yml index fe9160a9..1d283371 100644 --- a/emulators/b2.yml +++ b/emulators/b2.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/zoltanvb/b2-libretro" upstream: "https://github.com/tom-seddon/b2" profiled_date: "2026-03-23" -source_commit: "6485984cddf50e20fb7d9d5d350a9d54265c283c" +source_commit: "9793f6a8040c416d147003cada29363b955b54e7" core_version: "v0.4" display_name: "Acorn - BBC Micro (b2)" cores: [b2] @@ -25,14 +25,14 @@ notes: | create_core() loads OS and sideways ROMs from static machine_types[] arrays. GetAssetPath() and LoadFile() are stubbed — no file I/O at runtime. ref: zoltanvb/b2-libretro/src/libretro/roms.hpp - ref: zoltanvb/b2-libretro/src/libretro/core.cpp:274-304 - ref: zoltanvb/b2-libretro/src/libretro/adapters.cpp:74-78 + ref: src/libretro/core.cpp:275-305 + ref: src/libretro/adapters.cpp:74-78 9 machine types: B/Acorn 1770, B/Watford DDB2, B/Watford DDB3, B/Opus 1770, B/Opus Challenger 256K, B/Opus Challenger 512K, B+, B+128, Master 128 (MOS 3.20). Master 3.50, Master Turbo, Master Compact not yet implemented. - ref: zoltanvb/b2-libretro/src/libretro/core.h:117 + ref: src/libretro/core.h:117 files: [] # all ROMs embedded in binary via roms.hpp — no external files needed diff --git a/emulators/bbkemu.yml b/emulators/bbkemu.yml index 1f834539..f5750e0b 100644 --- a/emulators/bbkemu.yml +++ b/emulators/bbkemu.yml @@ -4,7 +4,7 @@ core_classification: pure_libretro source: "https://github.com/AloysHF/BBKEmu" upstream: "https://github.com/AloysHF/BBKEmu" profiled_date: "2026-09-03" -source_commit: "479e52953344329810dc0305a4c160e4badfc9bc" +source_commit: "09bc66de868c8d2d6e1e1a6339552baf0c778b34" core_version: "0.1.0" display_name: "BBK - Electronic Dictionary (BBKEmu)" cores: diff --git a/emulators/beetle_pce.yml b/emulators/beetle_pce.yml index 1efb22c2..fdf1d6b8 100644 --- a/emulators/beetle_pce.yml +++ b/emulators/beetle_pce.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/beetle-pce-libretro" upstream: "https://mednafen.github.io/" profiled_date: "2026-03-24" -source_commit: "ae99235c2139c176c1a8d0fde2957bf701d3cab0" +source_commit: "b96c11e095b6a40a412d2da02766ae1c3f4fd539" core_version: "v0.9.38.7" display_name: "NEC - PC Engine / SuperGrafx / CD (Beetle PCE)" cores: [mednafen_pce] @@ -12,7 +12,7 @@ systems: [nec-pc-engine] verification: existence notes: > Libretro port of Mednafen's PCE-Accurate module. BIOS loaded from system - directory at CD-ROM load time via PCE_LoadCD() in pce.cpp:441-460. + directory at CD-ROM load time via PCE_LoadCD() in mednafen/pce/pce.cpp:441-460. Core option "pce_cdbios" selects which card image to use (default: System Card 3). DetectGECD() auto-detects Games Express discs and switches to gexpress.pce. Arcade Card mode (pce_arcadecard option, enabled by default) extends System Card 3 diff --git a/emulators/beetle_pcfx.yml b/emulators/beetle_pcfx.yml index 0ab9d98b..135dc3be 100644 --- a/emulators/beetle_pcfx.yml +++ b/emulators/beetle_pcfx.yml @@ -5,7 +5,7 @@ cores: [mednafen_pcfx, pcfx] source: "https://github.com/libretro/beetle-pcfx-libretro" upstream: "https://mednafen.github.io/" profiled_date: "2026-03-24" -source_commit: "0580dee757adfdb9bf8b9c24693dde5f3d0a78a1" +source_commit: "c1650bad5fbdcc3c3ccd45e29e3983e1ccf16cff" core_version: "v0.9.36.5" display_name: "NEC - PC-FX (Beetle PC-FX)" systems: diff --git a/emulators/beetle_psx.yml b/emulators/beetle_psx.yml index 4a3799ac..f964fe3f 100644 --- a/emulators/beetle_psx.yml +++ b/emulators/beetle_psx.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/beetle-psx-libretro" upstream: "https://mednafen.github.io/" profiled_date: "2026-03-29" -source_commit: "56f4732070835bb81078dd8ecab7246e203612a1" +source_commit: "5ec9909f2654fb2041315a13fac0b704c5065c0e" core_version: "v0.9.44.1" display_name: "Sony - PlayStation (Beetle PSX)" cores: [beetle_psx, mednafen_psx, mednafen_psx_hw] @@ -13,18 +13,18 @@ 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). SHA1 and alternate filenames sourced from MAME (mame src/mame/sony/psx.cpp); - the lists and the checksum search live in libretro.c:388-442,450-542. + the lists and the checksum search live in libretro.c:448-502,510-602. Override option allows using PSP, PS3, or OpenBIOS as region-free alternative. Embedded OpenBIOS (512KB) compiled into the binary serves as HLE fallback when no BIOS found. "Skip BIOS" option patches BIOS ROM but causes compatibility issues. Upstream Mednafen loads the same 3 region BIOS; override BIOS and HLE fallback are libretro additions. Two BIOS geometries are accepted: the stock 512 KB kernel and the 1 MB SCPH-5903 part, - selected by file size at load time (libretro.c:3297-3311). A 1 MB image switches Video CD - from HLE to daughterboard emulation (libretro.c:6229). Reached through the BIOS path + selected by file size at load time (libretro.c:3203-3217). A 1 MB image switches Video CD + from HLE to daughterboard emulation (libretro.c:6159). Reached through the BIOS path override only: the region name lists carry no SCPH-5903 entry, and the firmware scan - compares against the region SHA1, so a 1 MB file never matches there (libretro.c:425-433). + compares against the region SHA1, so a 1 MB file never matches there (libretro.c:485-493). Mednafen rejects a BIOS that is not 524288 bytes (mednafen psx.cpp:1777), and the - fork keeps that geometry as BIOS_SIZE_STD (libretro.c:1226), so this geometry is + fork keeps that geometry as BIOS_SIZE_STD (libretro.c:1126), so this geometry is libretro only. files: @@ -40,7 +40,7 @@ files: md5: "8dd7d5296a650fac7319bce665a6a53c" validation: [sha1] mode: both - source_ref: "libretro.c:534-542" + source_ref: "libretro.c:594-602" aliases: ["SCPH5500.bin", "SCPH-5500.bin"] - name: "scph5903.bin" @@ -52,7 +52,7 @@ files: md5: "81328b966e6dcf7ea1e32e55e1c104bb" validation: [size, sha1] mode: libretro - source_ref: "libretro.c:544-551, libretro.c:3297-3311, libretro.c:3330-3332, libretro.c:6229" + source_ref: "libretro.c:604-611, libretro.c:3203-3217, libretro.c:3236-3238, libretro.c:6159" # -- Region: North America (REGION_NA) -- @@ -66,7 +66,7 @@ files: md5: "490f666e1afb15b7362b406ed1cea246" validation: [sha1] mode: both - source_ref: "libretro.c:553-571" + source_ref: "libretro.c:613-631" aliases: - "SCPH5501.bin" - "SCPH-5501.bin" @@ -89,7 +89,7 @@ files: md5: "32736f17079d0b2b7024407c39bd3050" validation: [sha1] mode: both - source_ref: "libretro.c:573-587" + source_ref: "libretro.c:633-647" aliases: - "SCPH5502.bin" - "SCPH-5502.bin" @@ -108,7 +108,7 @@ files: md5: "c53ca5908936d412331790f4426c6c33" validation: [sha1] mode: libretro - source_ref: "libretro.c:463-469" + source_ref: "libretro.c:523-529" aliases: ["PSXONPSP660.bin"] note: "override_bios=1. Falls back to region BIOS if not found." @@ -120,7 +120,7 @@ files: md5: "81bbe60ba7a3d1cea1d48c14cbcc647b" validation: [sha1] mode: libretro - source_ref: "libretro.c:471-477" + source_ref: "libretro.c:531-537" aliases: ["PS1_ROM.bin"] note: "override_bios=2. Falls back to region BIOS if not found." @@ -130,6 +130,6 @@ files: required: false size: 524288 mode: libretro - source_ref: "libretro.c:479-485" + source_ref: "libretro.c:539-545" aliases: ["OPENBIOS.bin"] - note: "override_bios=3. No SHA1 validation. Falls back to region BIOS if not found. Also embedded in binary as HLE fallback (libretro.c:2358-2360)." + note: "override_bios=3. No SHA1 validation. Falls back to region BIOS if not found. Also embedded in binary as HLE fallback (libretro.c:2264-2266)." diff --git a/emulators/beetle_saturn.yml b/emulators/beetle_saturn.yml index cdbd5982..982785d5 100644 --- a/emulators/beetle_saturn.yml +++ b/emulators/beetle_saturn.yml @@ -5,7 +5,7 @@ core: mednafen_saturn_libretro source: "https://github.com/libretro/beetle-saturn-libretro" upstream: "https://mednafen.github.io/" profiled_date: "2026-03-24" -source_commit: "b5c8a465d8128d5bc8a6ad9bc0db561068127181" +source_commit: "65f05fa66f83e65e33be83aa433d883b4fd9509a" core_version: "v0.9.45.1" display_name: "Sega - Saturn (Beetle Saturn)" cores: @@ -36,7 +36,7 @@ files: size: 524288 validation: [size] note: "Saturn BIOS v1.01 (Japan). Used when region is JP or Asia NTSC." - source_ref: "mednafen/ss/ss.c:1761 (region filename), mednafen/ss/ss.c:1786-1903 (open, size check, read, sha256)" + source_ref: "mednafen/ss/ss.c:1846 (region filename), mednafen/ss/ss.c:1871-1988 (open, size check, read, sha256)" - name: "mpr-17933.bin" system: sega-saturn @@ -45,7 +45,7 @@ files: size: 524288 validation: [size] note: "Saturn BIOS (NA/EU). Used for all non-JP/Asia-NTSC regions." - source_ref: "mednafen/ss/ss.c:1763 (region filename), mednafen/ss/ss.c:1786-1903 (open, size check, read, sha256)" + source_ref: "mednafen/ss/ss.c:1848 (region filename), mednafen/ss/ss.c:1871-1988 (open, size check, read, sha256)" - name: "mpr-18811-mx.ic1" system: sega-saturn diff --git a/emulators/beetle_vb.yml b/emulators/beetle_vb.yml index fd2d8eea..6452c07a 100644 --- a/emulators/beetle_vb.yml +++ b/emulators/beetle_vb.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/beetle-vb-libretro" upstream: "https://mednafen.github.io/" profiled_date: "2026-03-24" -source_commit: "65debc7c4c7b85e2fd988d2be53496c2cf0b5f44" +source_commit: "83ed42608601fb7b01d41e4f8fb2007a37b8c84e" core_version: "v0.9.36.1" display_name: "Nintendo - Virtual Boy (Beetle VB)" cores: [mednafen_vb, vb] @@ -14,7 +14,7 @@ notes: | Libretro port of Mednafen's Virtual Boy emulation module. No external BIOS or firmware files. The Virtual Boy has no boot ROM; the V810 CPU executes directly from the game ROM mapped at - 0x07000000. Load() in libretro.cpp:1810 takes only ROM data. + 0x07000000. Load() in libretro.cpp:1833 takes only ROM data. Upstream Mednafen supports an optional vb.pal palette file (Documentation/vb.html); the libretro port handles palette via core options instead. diff --git a/emulators/bk.yml b/emulators/bk.yml index c10f37ca..9f929101 100644 --- a/emulators/bk.yml +++ b/emulators/bk.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/bk-emulator" upstream: "https://github.com/emestee/bk-emulator" profiled_date: "2026-03-23" -source_commit: "fe64da42ee463c1b2f4d0566e4d0f7a9667506f6" +source_commit: "92042a753289cedf05e7e6bd8e75849f83e48966" core_version: "1.00" display_name: "Elektronika - BK-0010/BK-0011(M)" cores: diff --git a/emulators/blastem.yml b/emulators/blastem.yml index bd5284b6..c876d064 100644 --- a/emulators/blastem.yml +++ b/emulators/blastem.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/libretro/blastem" upstream: "https://www.retrodev.com/blastem/" profiled_date: "2026-03-23" -source_commit: "b4d75247ebad8852fd9bc385b423df704c6c5af5" +source_commit: "1e0de94dc7e669c0925a22c0fccf6cdc837af0a0" core_version: "v0.6.3-pre" display_name: "Sega - Mega Drive - Genesis (BlastEm)" cores: @@ -43,7 +43,7 @@ files: required: false hle_fallback: true note: "ROM feature database (game-specific mapper/save config). Embedded in core, external is optional override." - source_ref: "libblastem.c:1297-1314 read_bundled_file()" + source_ref: "libblastem.c:1438-1455 read_bundled_file()" # TMSS ROM — only used in standalone mode with tmss-enabled model # libretro build returns NULL for tmss.md (libblastem.c:541) diff --git a/emulators/boytacean.yml b/emulators/boytacean.yml index ec21a871..40125e96 100644 --- a/emulators/boytacean.yml +++ b/emulators/boytacean.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/joamag/boytacean" upstream: "https://github.com/joamag/boytacean" profiled_date: "2026-03-23" -source_commit: "440213b507cfaefcc3adf6a62460097407379bcc" +source_commit: "2eb66337ad1732087c26076ec5bd7d08fe9f6e93" core_version: "0.11.5" display_name: "Nintendo - Game Boy / Color (Boytacean)" cores: @@ -19,12 +19,12 @@ notes: | Libretro: all boot ROMs compiled into binary as static byte arrays in src/data.rs. load_boot_static() copies from arrays. No filesystem access, no RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY. No external files. - ref: frontends/libretro/src/core.rs:402 instance.load(true) -> src/gb.rs:1361 -> load_boot_static + ref: frontends/libretro/src/core.rs:402 instance.load(true) -> src/gb.rs:1427 -> load_boot_static Standalone (SDL): also defaults to embedded boot ROMs via load(true). User can override via --boot-rom-path CLI argument with any boot ROM file. load_boot_file() with hardcoded ./res/boot/*.bin paths exists in - src/gb.rs:1411 but is not called from any frontend. + src/gb.rs:1477 but is not called from any frontend. Boot ROM defaults: DmgBootix (DMG), CgbBoytacean (CGB) — open-source. @@ -36,7 +36,7 @@ files: mode: standalone size: 256 note: "Original Nintendo DMG boot ROM" - source_ref: "src/gb.rs:1450, src/data.rs:14" + source_ref: "src/gb.rs:1516, src/data.rs:14" - name: sgb_boot.bin system: nintendo-gb @@ -45,7 +45,7 @@ files: mode: standalone size: 256 note: "Super Game Boy boot ROM" - source_ref: "src/gb.rs:1451, src/data.rs:29" + source_ref: "src/gb.rs:1517, src/data.rs:29" - name: dmg_bootix.bin system: nintendo-gb @@ -54,7 +54,7 @@ files: mode: standalone size: 256 note: "Open-source DMG boot ROM from Bootix (default DMG)" - source_ref: "src/gb.rs:1452, src/data.rs:44" + source_ref: "src/gb.rs:1518, src/data.rs:44" - name: mgb_bootix.bin system: nintendo-gb @@ -63,7 +63,7 @@ files: mode: standalone size: 256 note: "Open-source MGB (Pocket) boot ROM from Bootix" - source_ref: "src/gb.rs:1453, src/data.rs:59" + source_ref: "src/gb.rs:1519, src/data.rs:59" - name: cgb_boot.bin system: nintendo-gbc @@ -72,7 +72,7 @@ files: mode: standalone size: 2304 note: "Original Nintendo CGB boot ROM" - source_ref: "src/gb.rs:1354, src/data.rs:74" + source_ref: "src/gb.rs:1420, src/data.rs:74" - name: cgb_boytacean.bin system: nintendo-gbc @@ -81,4 +81,4 @@ files: mode: standalone size: 2304 note: "Custom open-source CGB boot ROM (default CGB)" - source_ref: "src/gb.rs:1418, src/data.rs:177" + source_ref: "src/gb.rs:1484, src/data.rs:177" diff --git a/emulators/bsnes.yml b/emulators/bsnes.yml index dcc4a6a9..eb88f8f5 100644 --- a/emulators/bsnes.yml +++ b/emulators/bsnes.yml @@ -5,7 +5,7 @@ source: "https://github.com/libretro/bsnes-libretro" upstream: "https://github.com/bsnes-emu/bsnes" logo: "https://raw.githubusercontent.com/bsnes-emu/bsnes/master/bsnes/target-bsnes/resource/bsnes.svg" profiled_date: "2026-04-05" -source_commit: "6d19eef5835a792e241e33194b4c1e9b75405b88" +source_commit: "05439f96121d2b9d7ad7a5fc1f29d7eebdcc8c43" core_version: "115" display_name: "Nintendo - SNES / SFC (bsnes)" cores: [bsnes] diff --git a/emulators/bsnes2014.yml b/emulators/bsnes2014.yml index 438111b5..5518d7f4 100644 --- a/emulators/bsnes2014.yml +++ b/emulators/bsnes2014.yml @@ -4,7 +4,7 @@ core_classification: frozen_snapshot source: "https://github.com/libretro/bsnes2014" upstream: "https://github.com/bsnes-emu/bsnes" profiled_date: "2026-03-25" -source_commit: "1a6b3caf187605e53fa9970996bcfa49b8c90ce3" +source_commit: "3c1394e042ee444c8248e1b9210e14ea55e836e9" core_version: "v094" display_name: "Nintendo - SNES / SFC (bsnes 2014)" cores: [bsnes2014_accuracy, bsnes2014_balanced, bsnes2014_performance] diff --git a/emulators/bsnes_mercury.yml b/emulators/bsnes_mercury.yml index afd6d308..353f1e6c 100644 --- a/emulators/bsnes_mercury.yml +++ b/emulators/bsnes_mercury.yml @@ -4,7 +4,7 @@ core_classification: enhanced_fork source: "https://github.com/libretro/bsnes-mercury" upstream: "https://byuu.org/higan" profiled_date: "2026-03-25" -source_commit: "ea22363fb0c1ebe92e7a70cdf55e9bb43f9207be" +source_commit: "79d7f9de218b6ffa65a80bbdc5828532bc239232" core_version: "v094 (Mercury)" display_name: "Nintendo - SNES / SFC (bsnes-mercury)" cores: [bsnes_mercury_accuracy, bsnes_mercury_balanced, bsnes_mercury_performance] diff --git a/emulators/cap32.yml b/emulators/cap32.yml index 1f69d740..6a2ab6b7 100644 --- a/emulators/cap32.yml +++ b/emulators/cap32.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/libretro-cap32" upstream: "https://github.com/ColinPitrat/caprice32" profiled_date: "2026-03-23" -source_commit: "4abfb8be233bec630f369379fb6c1d92d31f1c7d" +source_commit: "9171747fe9f36fb3ed9c61f65caaaef4858d49a5" core_version: "v4.2.0" display_name: "Amstrad - CPC/GX4000 (Caprice32)" cores: @@ -20,31 +20,31 @@ notes: | All system ROMs are compiled directly into the core binary as C header arrays in cap32/rom/*.h. No external BIOS files are required. - Embedded ROMs (cap32/cap32.c:345-348): + Embedded ROMs (cap32/cap32.c:348-351): - cap32/rom/464.h: OS_BASIC10[32768] - CPC 464 OS + BASIC 1.0 - cap32/rom/6128.h: OS_BASIC11[32768] - CPC 6128 OS + BASIC 1.1 - cap32/rom/amsdos.h: AMSDOS[16384] - AMSDOS disk controller ROM - cap32/rom/6128p.h: OS_6128P - CPC+ system cartridge ROM - cap32/rom/cpm.h: cpmROM - CP/M boot snapshot (128KB) - ROM selection in emulator_select_ROM() (cap32/cap32.c:1075-1103): + ROM selection in emulator_select_ROM() (cap32/cap32.c:1084-1112): - CPC 464: OS_BASIC10 (32KB) - CPC 664: OS_BASIC10 (32KB) + AMSDOS in slot 7 - CPC 6128: OS_BASIC11 (32KB) + AMSDOS in slot 7 - CPC+: OS_6128P loaded as system cartridge via cpr_load() The standalone (non-libretro) version references external filenames - cpc464.rom, cpc664.rom, cpc6128.rom, amsdos.rom in cap32/cap32.c:352-355 - via config file loading (cap32/cap32.c:1831-1843), but the libretro port - does not use this path. The libretro init (libretro/libretro-core.c:1509-1515) has + cpc464.rom, cpc664.rom, cpc6128.rom, amsdos.rom in cap32/cap32.c:355-358 + via config file loading (cap32/cap32.c:1854-1866), but the libretro port + does not use this path. The libretro init (libretro/libretro-core.c:1612-1618) has a "TODO: future use to load custom bios" comment that is not implemented. Keyboard layout patches are applied to the ROM in memory for French - and Spanish layouts via rom_mods.h (cap32/cap32.c:1105-1129). + and Spanish layouts via rom_mods.h (cap32/cap32.c:1114-1138). CP/M support loads a pre-built snapshot (cpm.h) into memory via - snapshot_load_mem() in cap32/slots.c:90. + snapshot_load_mem() in cap32/slots.c:93. files: # Standalone loads from rom_path/ — libretro embeds all as C arrays @@ -55,7 +55,7 @@ files: mode: standalone size: 32768 note: "CPC 464 OS + BASIC 1.0" - source_ref: "src/cap32.cpp:213, rom/cpc464.rom" + source_ref: "src/cap32.cpp:214, rom/cpc464.rom" - name: cpc664.rom system: amstrad-cpc required: false @@ -76,7 +76,7 @@ files: mode: standalone size: 16384 note: "AMSDOS disc ROM (sideways slot 7)" - source_ref: "src/cap32.cpp:1250" + source_ref: "src/cap32.cpp:1262" - name: system.cpr system: amstrad-cpc required: false @@ -90,16 +90,16 @@ files: mode: standalone size: 8192 note: "Multiface 2 ROM" - source_ref: "caprice32/rom/MF2.rom, src/cap32.cpp:1328-1347" + source_ref: "caprice32/rom/MF2.rom, src/cap32.cpp:1340-1359" platform_details: bios_mapping: - source_ref: "cap32/cap32.c:1075-1103, cap32/cap32.c:345-348" + source_ref: "cap32/cap32.c:1084-1112, cap32/cap32.c:348-351" note: | All ROMs are embedded. emulator_select_ROM() copies the appropriate ROM array into the pbROM buffer based on CPC.model. No filesystem lookup occurs in the libretro port. The retro_system_bios_directory - variable is set up in libretro/libretro-core.c:1513-1524 but only used for + variable is set up in libretro/libretro-core.c:1616-1627 but only used for a future custom BIOS feature that is not yet implemented. embedded_roms: @@ -113,7 +113,7 @@ platform_details: cpmROM (128KB+) - CP/M boot snapshot including SNA header model_rom_map: - source_ref: "cap32/cap32.c:1075-1103" + source_ref: "cap32/cap32.c:1084-1112" note: | CPC 464: OS_BASIC10 only (no disk support) CPC 664: OS_BASIC10 + AMSDOS in ROM slot 7 diff --git a/emulators/cdi2015.yml b/emulators/cdi2015.yml index c1f7a67c..cd9818a0 100644 --- a/emulators/cdi2015.yml +++ b/emulators/cdi2015.yml @@ -4,7 +4,7 @@ core_classification: frozen_snapshot source: "https://github.com/libretro/mame2015-libretro" upstream: "https://github.com/mamedev/mame/tree/mame0160" profiled_date: "2026-03-23" -source_commit: "0eab132212b28896baeac7d8f2cd8ac25e227752" +source_commit: "7adbf440d5f554097f58f8c6ebb673adc4320a31" core_version: "0.160" display_name: "Philips CDi (CDi 2015)" cores: [cdi2015] diff --git a/emulators/citra.yml b/emulators/citra.yml index 16c35780..362d6695 100644 --- a/emulators/citra.yml +++ b/emulators/citra.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/citra" upstream: "https://github.com/citra-emu/citra" profiled_date: "2026-03-23" -source_commit: "4268124a74b55ddba69f29dc9858f222c4bd006d" +source_commit: "a0483e9abe8134ae6b290cdca7d49cb77689f05b" core_version: "Git" display_name: "Nintendo - 3DS (Citra)" cores: [citra] diff --git a/emulators/citra2018.yml b/emulators/citra2018.yml index 87539d95..f35e6def 100644 --- a/emulators/citra2018.yml +++ b/emulators/citra2018.yml @@ -4,7 +4,7 @@ core_classification: frozen_snapshot source: "https://github.com/libretro/citra2018" upstream: "https://github.com/citra-emu/citra" profiled_date: "2026-03-23" -source_commit: "04fafd55252072ba148b87f20d8509ff1a91086e" +source_commit: "95e2f06c179c8daf44fa344c206f549cf332d21b" core_version: "Git" display_name: "Nintendo - 3DS (Citra 2018)" cores: [citra2018] diff --git a/emulators/citra_canary.yml b/emulators/citra_canary.yml index b33d32d7..a4647da5 100644 --- a/emulators/citra_canary.yml +++ b/emulators/citra_canary.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/citra" upstream: "https://github.com/citra-emu/citra" profiled_date: "2026-03-23" -source_commit: "4268124a74b55ddba69f29dc9858f222c4bd006d" +source_commit: "a0483e9abe8134ae6b290cdca7d49cb77689f05b" core_version: "Git" display_name: "Nintendo - 3DS (Citra Canary/Experimental)" cores: [citra_canary] diff --git a/emulators/clk.yml b/emulators/clk.yml index ee079cec..41528215 100644 --- a/emulators/clk.yml +++ b/emulators/clk.yml @@ -3,7 +3,7 @@ type: standalone source: "https://github.com/TomHarte/CLK" upstream: "https://github.com/TomHarte/CLK" profiled_date: "2026-03-26" -source_commit: "096de57445920ecf16cf066979422e34aceb843a" +source_commit: "53a1ee78f2f6857815f50247dbf4f76bc5c8c3d9" core_version: "2026-07-28" display_name: "Clock Signal" cores: [clk] diff --git a/emulators/clownmdemu.yml b/emulators/clownmdemu.yml index b277eb41..dd198931 100644 --- a/emulators/clownmdemu.yml +++ b/emulators/clownmdemu.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/Clownacy/clownmdemu-libretro" upstream: "https://github.com/Clownacy/clownmdemu" profiled_date: "2026-03-23" -source_commit: "935d6fc060eb82172dac29e880fe9b877fbdb640" +source_commit: "d43c2708b0a31c285ce16724b6c4a2e92af07346" core_version: "Git" display_name: "Sega - MD/CD (ClownMDEmu)" cores: @@ -32,6 +32,6 @@ analysis: boot_rom_source: "https://github.com/Clownacy/clownmdemu-mcd-boot" boot_rom_location: "source/mega-cd-boot-rom.c (16384 uint16 entries = 32 KB)" bus_mapping: "0x400000-0x41FFFF (address & 0x20000 == 0)" - source_ref: "source/bus-main-m68k.c:19-21, source/bus-main-m68k.c:510-522" + source_ref: "source/bus-main-m68k.c:19-21, source/bus-main-m68k.c:519-531" bios_hle: true - hle_source_ref: "source/bus-sub-m68k.c:64 (MegaCDBIOSCall)" + hle_source_ref: "source/bus-sub-m68k.c:66 (MegaCDBIOSCall)" diff --git a/emulators/craft.yml b/emulators/craft.yml index 7fd66946..840cc7ba 100644 --- a/emulators/craft.yml +++ b/emulators/craft.yml @@ -4,7 +4,7 @@ core_classification: pure_libretro source: "https://github.com/libretro/Craft" upstream: "https://github.com/fogleman/Craft" profiled_date: "2026-03-23" -source_commit: "e9f3b9108077db019885a384429437d0b6a3904b" +source_commit: "f30e7b4b1d1406c750a504583adf0cc88449a699" core_version: "v1" display_name: "Minecraft (Craft)" cores: [craft] diff --git a/emulators/desmume.yml b/emulators/desmume.yml index 26df94bf..2b9ee5a1 100644 --- a/emulators/desmume.yml +++ b/emulators/desmume.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/desmume" upstream: "https://github.com/TASEmulators/desmume" profiled_date: "2026-03-23" -source_commit: "8f6b32cb9a5e310bd38520e7087ce7fa14765f15" +source_commit: "95b4d798731caa809125b6c3c11d17cc332ff6ef" core_version: "SVN" display_name: "Nintendo - DS (DeSmuME)" cores: [desmume] diff --git a/emulators/dice.yml b/emulators/dice.yml index e13b9c15..41504eb2 100644 --- a/emulators/dice.yml +++ b/emulators/dice.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/mittonk/dice-libretro" upstream: "https://sourceforge.net/projects/dice/" profiled_date: "2026-03-23" -source_commit: "b11714fc4eb5b671ba15f2ec7b98c7ae909f7a4c" +source_commit: "ab766aa25c6ed970ece28f2df5be7daa26b9e439" core_version: "v0.4.2" display_name: "Arcade (DICE)" cores: diff --git a/emulators/directxbox.yml b/emulators/directxbox.yml index dc5f0826..ba4f37fc 100644 --- a/emulators/directxbox.yml +++ b/emulators/directxbox.yml @@ -3,7 +3,7 @@ type: libretro core_classification: pure_libretro source: "https://github.com/libretro/libretro-directxbox" profiled_date: "2026-03-23" -source_commit: "a157f3c1a68cb40dd74d5a664c0e39a245aaa59c" +source_commit: "8b6b806675065efa7addb833e56fff7c05193bb1" core_version: "alpha" display_name: "Microsoft - Xbox (DirectXbox)" cores: @@ -72,7 +72,7 @@ notes: acceleration. The core requires libvirt86 for x86 virtualization. microsoft_bios: > The source references xbox-3944.bin as an alternative flash ROM (Microsoft - retail BIOS, typically 256 KB). It is commented out in libretro.cpp:204 + retail BIOS, typically 256 KB). It is commented out in src/libretro/libretro.cpp:204 because ATA and OHCI hardware are not yet implemented, preventing the Microsoft BIOS from completing boot. machine_types: > diff --git a/emulators/dolphin.yml b/emulators/dolphin.yml index 829941fc..591551de 100644 --- a/emulators/dolphin.yml +++ b/emulators/dolphin.yml @@ -5,7 +5,7 @@ source: "https://github.com/libretro/dolphin" upstream: "https://github.com/dolphin-emu/dolphin" logo: "https://raw.githubusercontent.com/dolphin-emu/dolphin/master/Data/dolphin-emu.svg" profiled_date: "2026-03-23" -source_commit: "e1e6d25fa1392b7d1bc05bf800c71b807a2bd2e0" +source_commit: "4d23cf151640eb810cb1b8e9d9fc922cf59c0b87" core_version: "Git" display_name: "Nintendo - GameCube / Wii (Dolphin)" cores: @@ -111,7 +111,7 @@ files: system: sega-triforce required: true note: "SegaBoot, the Triforce system disc image. Read on every Triforce boot, min(size, 2 MiB) copied into the firmware buffer, nothing validated" - source_ref: "Source/Core/Core/HW/DVD/AMMediaboard.cpp:160, 512, 531-551, Source/Core/Core/HW/DVD/DVDInterface.cpp:292-294, Source/Core/Core/System.h:147" + source_ref: "Source/Core/Core/HW/DVD/AMMediaboard.cpp:163, Source/Core/Core/HW/DVD/AMMediaboard.cpp:521, Source/Core/Core/HW/DVD/AMMediaboard.cpp:551-571, Source/Core/Core/HW/DVD/DVDInterface.cpp:292-294, Source/Core/Core/System.h:147" # -- GBA BIOS (for GC-GBA link) -- # Used by integrated mGBA core for GameCube-GBA connectivity. @@ -132,7 +132,7 @@ files: required: false hle_fallback: true note: "Wii system configuration. Auto-generated by Dolphin, can be imported from NAND backup" - source_ref: "Source/Core/Common/CommonPaths.h:118, Source/Core/Common/FileUtil.cpp:900" + source_ref: "Source/Core/Common/CommonPaths.h:118, Source/Core/Common/FileUtil.cpp:905" - name: "setting.txt" path: "Wii/title/00000001/00000002/data/setting.txt" diff --git a/emulators/dosbox-staging.yml b/emulators/dosbox-staging.yml index 9cab5f6a..163ddb69 100644 --- a/emulators/dosbox-staging.yml +++ b/emulators/dosbox-staging.yml @@ -3,7 +3,7 @@ type: standalone core_classification: enhanced_fork source: "https://github.com/dosbox-staging/dosbox-staging" upstream: "https://github.com/dosbox-staging/dosbox-staging" -source_commit: "639aba29163f5acff84774bf4397dcfe53a4986d" +source_commit: "54bafc7c17e1cbb06f94dddb5803629369d6e219" profiled_date: "2026-08-08" core_version: "0.84.0-alpha" display_name: "DOS (DOSBox Staging)" diff --git a/emulators/dosbox-x.yml b/emulators/dosbox-x.yml index 0bcb7cb9..09aada1c 100644 --- a/emulators/dosbox-x.yml +++ b/emulators/dosbox-x.yml @@ -3,7 +3,7 @@ type: standalone core_classification: enhanced_fork source: "https://github.com/joncampbell123/dosbox-x" upstream: "https://github.com/joncampbell123/dosbox-x" -source_commit: "c98f5a359729f61263d88ae816a4263a7a15f12e" +source_commit: "e013b8bf8e27ef878a646049bf5b2e732878d616" profiled_date: "2026-09-17" core_version: "2026.08.31" display_name: "DOS (DOSBox-X)" @@ -25,7 +25,7 @@ notes: | olivetti/m24/att6300, pc3270, ega, ega200, jega, mcga, vgaonly, the S3, Tseng, Paradise and ATI SVGA cards, the vesa variants, and pc98/pc9801/pc9821. fm_towns is marked STUB in the same list. - ref: src/dosbox.cpp:1534-1574 + ref: src/dosbox.cpp:1537-1577 No system BIOS: the PC BIOS, VGA BIOS, video fonts, keyboard layouts, codepage tables, the Z: drive utilities including GLIDE2X.OVL, and the TTF text font are @@ -46,7 +46,7 @@ notes: | program directory, then in the configuration directory, which is last tried for dosbox-x-.conf; that file is written with the defaults when it does not exist. - ref: src/gui/sdlmain.cpp:8664-8740, src/misc/cross.cpp:229-245 + ref: src/gui/sdlmain.cpp:8667-8743, src/misc/cross.cpp:229-245 MT-32: libmt32emu is built from src/libs/mt32. Only four file names are ever opened, and each candidate is identified by exact file size then SHA1, so the @@ -58,7 +58,7 @@ notes: | the MT32 names. The directory is mt32.romdir, then the working directory, then the resource directory, then the configuration directory. A missing pair logs the accepted file names and disables the device. - ref: src/gui/midi_mt32.h:246-275, src/dosbox.cpp:3585-3595 + ref: src/gui/midi_mt32.h:246-275, src/dosbox.cpp:3607-3617 FluidSynth reads fluid.soundfont; fluid_synth_sfload is the only check. With the setting empty it probes /usr/share/soundfonts/default.sf2, @@ -84,27 +84,27 @@ notes: | identified by its size, which covers ASC16 and ASCFONT.15 from UCDOS and ETen Chinese DOS, ASC24, HZK14, HZK16, HZK24 and STDFONT.15 and STDFONT.24. Unset settings fall back to the built-in font data. - ref: src/ints/int_dosv.cpp:654-749, 1631-1710, src/dosbox.cpp:2547-2580 + ref: src/ints/int_dosv.cpp:654-749, 1631-1710, src/dosbox.cpp:2550-2583 BOOT -bios loads a BIOS image at the top of the first megabyte, truncated to 128 KB, or 96 KB on PC-98 where it also looks for .itf.rom, .ITF.ROM, itf.rom and ITF.ROM to serve the bank switched Initial Firmware Test region through port 43Dh. - ref: src/dos/dos_programs.cpp:2225-2226, 2249-2338 + ref: src/dos/dos_programs.cpp:2227-2228, 2261-2350 BIOSTEST.COM loads an image of up to 64 KB at F000:0 and restarts the CPU at the reset vector; it is compiled only when the debugger is enabled. The settings call binary on reset and call binary on boot load blobs of up to 128 KB into the ROM BIOS area for CPU testing. - ref: src/dos/dos_programs.cpp:3589-3642, src/ints/bios.cpp:13280-13356 + ref: src/dos/dos_programs.cpp:3666-3719, src/ints/bios.cpp:13298-13374 A build configured with --enable-dosbox_agent reads the key=value file named by -agent-config to start the RPC debugger agent; the file names the transport and endpoint, nothing else is read from disk. - ref: configure.ac:1441-1448, src/gui/sdlmain.cpp:8487-8493, src/agent/protocol/agent_protocol.cpp:477-632 + ref: configure.ac:1441-1448, src/gui/sdlmain.cpp:8490-8496, src/agent/protocol/agent_protocol.cpp:477-632 Glide passthrough loads glide2x.dll, libglide2x.so or libglide2x.dylib. - ref: src/hardware/glide.cpp:353-359, src/dosbox.cpp:3485-3487 + ref: src/hardware/glide.cpp:353-359, src/dosbox.cpp:3507-3509 ttf.font, ttf.fontbold, ttf.fontital and ttf.fontboit name a TTF, OTF, FON or TTC font resolved through the same search order plus the system font @@ -121,10 +121,10 @@ notes: | the customcodepage translation table, .kl layout files and the KEYBOARD.SYS to KEYBRD4.SYS libraries read from a mounted drive, the glshaders directory and the .lng translations. - ref: src/ints/bios.cpp:11463-11472, src/gui/sdlmain.cpp:966-968, 7010-7018, + ref: src/ints/bios.cpp:11466-11475, src/gui/sdlmain.cpp:968-970, 7012-7020, src/gui/sdl_mapper.cpp:5731-5787, src/dos/dos.cpp:4402-4437, - src/dos/dos_keyboard_layout.cpp:300-340, src/gui/render.cpp:1538-1545, - src/misc/messages.cpp:294-320 + src/dos/dos_keyboard_layout.cpp:300-340, src/gui/render.cpp:1547-1554, + src/misc/messages.cpp:300-326 files: # -- MT-32 and CM-32L control ROMs -- @@ -273,7 +273,7 @@ files: note: > any SF2 or SF3 file loads; fluid.soundfont names it and fluid_synth_sfload is the only check - source_ref: "src/gui/midi_synth.h:346-384, src/gui/midi_synth.h:462-473, src/dosbox.cpp:3724" + source_ref: "src/gui/midi_synth.h:346-384, src/gui/midi_synth.h:462-473, src/dosbox.cpp:3746" # -- PC-98 character generator -- @@ -287,7 +287,7 @@ files: 256 8x8 cells at 0x0, 256 8x16 cells at 0x800, 96 by 92 16x16 cells at 0x1800; a file of any other length is rejected. Enabled by pc-98 try font rom, on by default - source_ref: "src/ints/int10.cpp:1487-1549, src/dosbox.cpp:2491-2492" + source_ref: "src/ints/int10.cpp:1487-1549, src/dosbox.cpp:2494-2495" - name: "ANEX86.BMP" description: "PC-98 character generator, Anex86 bitmap" @@ -298,7 +298,7 @@ files: pixel, no compression, inverse colour scheme; the first row is the 8x16 single-width set and the rest is 16x16 full-width. Also reachable through the pc-98 anex86 font setting, which is tried before FONT.ROM - source_ref: "src/ints/int10.cpp:1555-1647, src/dosbox.cpp:2495-2498" + source_ref: "src/ints/int10.cpp:1555-1647, src/dosbox.cpp:2498-2501" - name: "FREECG98.BMP" description: "PC-98 character generator, free generated bitmap" @@ -348,32 +348,32 @@ files: description: "Printer Roman typeface" required: false note: "also the fallback typeface for any unmapped LQ selection" - source_ref: "src/hardware/parport/printer.cpp:320-321, src/hardware/parport/printer.cpp:336-337, src/dosbox.cpp:4629-4631" + source_ref: "src/hardware/parport/printer.cpp:320-321, src/hardware/parport/printer.cpp:336-337, src/dosbox.cpp:4691-4693" - name: "sansserif.ttf" path: "FONTS/sansserif.ttf" description: "Printer Sans Serif typeface" required: false - source_ref: "src/hardware/parport/printer.cpp:323-324, src/dosbox.cpp:4629-4631" + source_ref: "src/hardware/parport/printer.cpp:323-324, src/dosbox.cpp:4691-4693" - name: "courier.ttf" path: "FONTS/courier.ttf" description: "Printer Courier typeface" required: false - source_ref: "src/hardware/parport/printer.cpp:326-327, src/dosbox.cpp:4629-4631" + source_ref: "src/hardware/parport/printer.cpp:326-327, src/dosbox.cpp:4691-4693" - name: "script.ttf" path: "FONTS/script.ttf" description: "Printer Script typeface" required: false - source_ref: "src/hardware/parport/printer.cpp:329-330, src/dosbox.cpp:4629-4631" + source_ref: "src/hardware/parport/printer.cpp:329-330, src/dosbox.cpp:4691-4693" - name: "ocra.ttf" path: "FONTS/ocra.ttf" description: "Printer OCR-A typeface" required: false note: "serves both the OCR-A and OCR-B selections" - source_ref: "src/hardware/parport/printer.cpp:332-334, src/dosbox.cpp:4629-4631" + source_ref: "src/hardware/parport/printer.cpp:332-334, src/dosbox.cpp:4691-4693" # -- PC-98 sound board BIOS -- @@ -386,7 +386,7 @@ files: note: > 16 KB read into CC000h from the working directory only, when pc-98 sound bios and pc-98 load sound bios rom file are both set - source_ref: "src/hardware/pc98_fm.cpp:367-385, src/dosbox.cpp:2392-2399" + source_ref: "src/hardware/pc98_fm.cpp:367-385, src/dosbox.cpp:2395-2402" # -- Video BIOS ROM images -- # Loaded in place of the built-in INT 10h when vga bios use rom image is set. @@ -400,7 +400,7 @@ files: max_size: 65536 validation: [size] note: "default file name for machine = svga_et4000" - source_ref: "src/dosbox.cpp:943-994, src/dosbox.cpp:2759-2770" + source_ref: "src/dosbox.cpp:943-994, src/dosbox.cpp:2762-2773" - name: "TRIO64 (Ver. 1.5-07) [VGA] (S3 Incorporated).bin" description: "S3 Trio64 video BIOS" @@ -411,7 +411,7 @@ files: max_size: 65536 validation: [size] note: "default file name for machine = svga_s3" - source_ref: "src/dosbox.cpp:951-953, src/dosbox.cpp:2759-2770" + source_ref: "src/dosbox.cpp:951-953, src/dosbox.cpp:2762-2773" - name: "ibm-vga.bin" description: "IBM VGA option ROM of 10/27/86, laid out as mapped at C000:0" @@ -424,7 +424,7 @@ files: read by LOADROM.COM from a mounted local drive; accepted when the file starts with 55 AA, byte 3 masked with 0xFC equals 0xE8 and the string IBM appears at offset 0x1E, and the machine is EGA or better - source_ref: "src/dos/dos_programs.cpp:3529-3555, src/dos/dos_programs.cpp:3566-3572" + source_ref: "src/dos/dos_programs.cpp:3606-3632, src/dos/dos_programs.cpp:3643-3649" # -- IBM ROM BASIC -- @@ -441,7 +441,7 @@ files: 32 KB to 64 KB in 4 KB steps; LOADROM.COM maps the same image at F600:0 when it is exactly 32768 bytes, starts with E9 8F 7E and carries the string IBM at offset 0x4CD4 - source_ref: "src/ints/bios.cpp:13212-13232, src/dos/dos_programs.cpp:3556-3560, src/dosbox.cpp:1945-1947" + source_ref: "src/ints/bios.cpp:13230-13250, src/dos/dos_programs.cpp:3633-3637, src/dosbox.cpp:1948-1950" # -- PCjr -- @@ -456,7 +456,7 @@ files: read during PCjr cartridge boot; bytes 0x3000 to 0xDFFF are copied to physical F3000. A short read leaves the region untouched and the cartridge still boots - source_ref: "src/dos/dos_programs.cpp:3067-3076" + source_ref: "src/dos/dos_programs.cpp:3079-3088" # -- Whole system BIOS images -- @@ -467,7 +467,7 @@ files: loaded at the top of the first megabyte, rounded up to a paragraph and truncated to 128 KB, or to 96 KB on PC-98; a larger image is clamped rather than rejected - source_ref: "src/dos/dos_programs.cpp:2249-2299" + source_ref: "src/dos/dos_programs.cpp:2261-2311" - name: "ITF.ROM" description: "PC-98 Initial Firmware Test BIOS" @@ -478,4 +478,4 @@ files: served through the port 43Dh bank switch alongside a BOOT -bios image; .itf.rom is tried before the bare name so one directory can hold several - source_ref: "src/dos/dos_programs.cpp:2301-2332" + source_ref: "src/dos/dos_programs.cpp:2313-2344" diff --git a/emulators/dosbox_core.yml b/emulators/dosbox_core.yml index 265fa4c5..f9ac95f5 100644 --- a/emulators/dosbox_core.yml +++ b/emulators/dosbox_core.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/dosbox-core" upstream: "https://sourceforge.net/projects/dosbox/" profiled_date: "2026-03-23" -source_commit: "7bcf083e8309660e2c598d6f7d5982d3851f2178" +source_commit: "d38fcb5013e4dca8d119a9786279cf41465757f2" core_version: "SVN" display_name: "DOS (DOSBox-core)" cores: [dosbox_core] @@ -12,11 +12,11 @@ systems: [dos] notes: | No BIOS required. MT-32 and SoundFont support is optional for MIDI music. MT-32 ROMs loaded by exact filename from system directory. - mt32.romdir = system_dir (libretro/src/libretro.cpp:650-652). CM-32L is default type. + mt32.romdir = system_dir (libretro/src/libretro.cpp:651-653). CM-32L is default type. ref: src/gui/midi_mt32.cpp:35,51-66 MUNT identifies ROMs by SHA1+size (libretro/deps/munt/mt32emu/src/ROMInfo.cpp:171-180). FluidSynth reads .sf2/.sf3/.dls/.gig from system/soundfonts/. - ref: libretro/src/libretro.cpp:1099-1110 + ref: libretro/src/libretro.cpp:1112-1123 BASSMIDI reads .sf2/.sfz from system/soundfonts/, requires BASS + BASSMIDI shared libs in system dir (dlopen'd at runtime). ref: libretro/src/midi_bassmidi.cpp:232-254 diff --git a/emulators/dosbox_svn.yml b/emulators/dosbox_svn.yml index 7464c8fc..1ff1b7a4 100644 --- a/emulators/dosbox_svn.yml +++ b/emulators/dosbox_svn.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/dosbox-svn" upstream: "https://sourceforge.net/projects/dosbox/" profiled_date: "2026-03-23" -source_commit: "53ca2f6303a652d129321cfc521f000cd7ec5531" +source_commit: "46a3164fc0f1e808ae56143d81698b00fb6b4781" core_version: "SVN" display_name: "DOS (DOSBox-SVN)" cores: [dosbox_svn] @@ -19,7 +19,7 @@ notes: | (ALSA, CoreAudio, CoreMIDI, Win32, OSS) + retro_midi_interface. ref: src/gui/midi.cpp - system_directory set and logged (libretro/libretro.cpp:1411-1413), never used + system_directory set and logged (libretro/libretro.cpp:1438-1440), never used to load files. Config uses retro_save_directory (src/misc/cross.cpp:61-71). Keyboard layouts and codepages embedded in binary. ref: dos_keyboard_layout_data.h, dos_codepages.h diff --git a/emulators/dosbox_svn_ce.yml b/emulators/dosbox_svn_ce.yml index 39c19ae2..23aa3be5 100644 --- a/emulators/dosbox_svn_ce.yml +++ b/emulators/dosbox_svn_ce.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/dosbox-svn" upstream: "https://sourceforge.net/projects/dosbox/" profiled_date: "2026-03-23" -source_commit: "53ca2f6303a652d129321cfc521f000cd7ec5531" +source_commit: "46a3164fc0f1e808ae56143d81698b00fb6b4781" core_version: "SVN CE" display_name: "DOS (DOSBox-SVN CE)" cores: [dosbox_svn_ce] @@ -19,7 +19,7 @@ notes: | (ALSA, CoreAudio, CoreMIDI, Win32, OSS) + retro_midi_interface. ref: src/gui/midi.cpp - system_directory set and logged (libretro/libretro.cpp:1411-1413), never used + system_directory set and logged (libretro/libretro.cpp:1438-1440), never used to load files. Config uses retro_save_directory (src/misc/cross.cpp:61-73). Keyboard layouts and codepages embedded in binary. ref: dos_keyboard_layout_data.h, dos_codepages.h diff --git a/emulators/duckstation.yml b/emulators/duckstation.yml index b0a30590..0b9abae7 100644 --- a/emulators/duckstation.yml +++ b/emulators/duckstation.yml @@ -5,7 +5,7 @@ source: "https://github.com/stenzek/duckstation" upstream: "https://github.com/stenzek/duckstation" logo: "https://raw.githubusercontent.com/stenzek/duckstation/master/data/resources/images/duck.png" profiled_date: "2026-03-23" -source_commit: "6f704d405b2374a35944d85e330452e4c3cbc08b" +source_commit: "4122fed9ad3e6e5c2ecf1516cd51675a5931623e" core_version: "v0.1" display_name: "Sony - PlayStation (DuckStation)" cores: [duckstation] @@ -30,7 +30,7 @@ notes: | only by the two settings screens, which fall back to the real filename when it is null. ref: src/core/bios.h:41-43 (field declarations) - ref: src/duckstation-qt/biossettingswidget.cpp:150, src/core/fullscreenui_settings.cpp:3239 + ref: src/duckstation-qt/biossettingswidget.cpp:149, src/core/fullscreenui_settings.cpp:3301 Lower priority = preferred. PS2 deprioritized (>= 100) for dynamic fast boot. Late PAL deprioritized (>= 150) due to additional regional checks. OpenBIOS detected by signature at offset 0x78, not by hash. diff --git a/emulators/easyrpg.yml b/emulators/easyrpg.yml index c3f666c1..2e5985a1 100644 --- a/emulators/easyrpg.yml +++ b/emulators/easyrpg.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/libretro/easyrpg-libretro" upstream: "https://github.com/EasyRPG/Player" profiled_date: "2026-03-23" -source_commit: "03dda252dae0a133181e1c61b77d68c8feb9412d" +source_commit: "a3fbb7c24fd5a39fd95388d09135256a6b19f1e4" core_version: "0.8.1.0" display_name: "RPG Maker 2000/2003 (EasyRPG)" cores: diff --git a/emulators/ecwolf.yml b/emulators/ecwolf.yml index 8fda6180..a8c11368 100644 --- a/emulators/ecwolf.yml +++ b/emulators/ecwolf.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/libretro/ecwolf" upstream: "https://bitbucket.org/ecwolf/ecwolf" profiled_date: "2026-03-23" -source_commit: "f5a68634244c8719645626ef714387b268a5ae32" +source_commit: "0cccd9a85d7ffa33fb695691a8a5db246606518c" core_version: "1.3.99999" display_name: "Wolfenstein 3D (ECWolf)" cores: [ecwolf] @@ -24,10 +24,10 @@ notes: | "embedded" when that fails. The system directory is still passed to SelectGame, but for the game data search, not for the engine package. ref: src/libretro/ecwolf_pk3_data.c, src/wl_iwad.cpp:664-672, - src/libretro/libretro.cpp:1009-1011 + src/libretro/libretro.cpp:1028-1030 Standalone: ecwolf.pk3 searched in progdir (binary directory). - ref: src/libretro/wl_main.cpp:1271 (progdir passed to SelectGame) + ref: src/libretro/wl_main.cpp:1247 (progdir passed to SelectGame) Also: INSTALL_PREFIX/share/ecwolf/ on Linux (src/wl_iwad.cpp:648) Game data files (vswap, gamemaps, vgagraph, audiot) loaded from content diff --git a/emulators/eden.yml b/emulators/eden.yml index dc7887f5..06600bb6 100644 --- a/emulators/eden.yml +++ b/emulators/eden.yml @@ -7,7 +7,7 @@ upstream: "https://git.eden-emu.dev/eden-emu/eden" # Codeberg copy is what keeps this profile checkable. source_mirror: "https://codeberg.org/eden-emu/eden" profiled_date: "2026-03-26" -source_commit: "c0ffc900cdf19b9373549c59a7e6b22c33615ea4" +source_commit: "d16735f5b618942136d6ab53466e3be0a382c30a" core_version: "0.1.1" display_name: "Eden (Nintendo Switch)" cores: diff --git a/emulators/fbneo.yml b/emulators/fbneo.yml index 63c48c47..673a7eb1 100644 --- a/emulators/fbneo.yml +++ b/emulators/fbneo.yml @@ -5,7 +5,7 @@ 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-23" -source_commit: "a251c76229f1637e433b93e29845039752771b6d" +source_commit: "63c4190785cadd5ff84483399375871ed6e98754" core_version: "v1.0.0.2" display_name: "Arcade (FinalBurn Neo)" cores: @@ -1078,7 +1078,7 @@ files: size: 65536 # 0x10000 crc32: "6232df8d" note: "Neo Geo Pocket (b&w) BIOS" - source_ref: "src/burn/drv/pst90s/d_ngp.cpp:962" + source_ref: "src/burn/drv/pst90s/d_ngp.cpp:964" - name: "SNK Neo-Geo Pocket Color BIOS (1999)(SNK)(en-ja).bin" archive: ngp.zip @@ -1087,7 +1087,7 @@ files: size: 65536 crc32: "6eeb6f40" note: "Neo Geo Pocket Color BIOS" - source_ref: "src/burn/drv/pst90s/d_ngp.cpp:963" + source_ref: "src/burn/drv/pst90s/d_ngp.cpp:965" # ------------------------------------------------------- # DECO Cassette System (decocass.zip) @@ -1498,7 +1498,7 @@ files: required: true size: 16384 crc32: "81977335" - source_ref: "src/burn/drv/gba/d_gba.cpp:538" + source_ref: "src/burn/drv/gba/d_gba.cpp:540" - name: "st018.bin" archive: st018.zip diff --git a/emulators/fbneo_cps12.yml b/emulators/fbneo_cps12.yml index afd9b9f6..208598e8 100644 --- a/emulators/fbneo_cps12.yml +++ b/emulators/fbneo_cps12.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/libretro/FBNeo" upstream: "https://github.com/finalburnneo/FBNeo" profiled_date: "2026-03-23" -source_commit: "a251c76229f1637e433b93e29845039752771b6d" +source_commit: "63c4190785cadd5ff84483399375871ed6e98754" core_version: "v1.0.0.2" display_name: "Arcade (FinalBurn Neo) (CPS-1 / CPS-2)" cores: diff --git a/emulators/fbneo_neogeo.yml b/emulators/fbneo_neogeo.yml index e3e331cd..bece09e2 100644 --- a/emulators/fbneo_neogeo.yml +++ b/emulators/fbneo_neogeo.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/libretro/FBNeo" upstream: "https://github.com/finalburnneo/FBNeo" profiled_date: "2026-03-23" -source_commit: "a251c76229f1637e433b93e29845039752771b6d" +source_commit: "63c4190785cadd5ff84483399375871ed6e98754" core_version: "v1.0.0.2" display_name: "Arcade (FinalBurn Neo) (Neo-Geo)" cores: @@ -21,7 +21,7 @@ notes: | 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:881-949): + Search order (src/burner/libretro/libretro.cpp:881-949): 1. {system_dir}/fbneo/patched/{romName} 2. {rom_dir}/{romName} 3. {system_dir}/fbneo/{romName} @@ -39,7 +39,7 @@ notes: | Neo Geo CDZ uses neocdz.zip with parent "neogeo". CD/CDZ BIOS plus zoom table. - hiscore.dat loaded from system_dir/fbneo/ (hiscore.cpp:407). + hiscore.dat loaded from system_dir/fbneo/ (src/burn/hiscore.cpp:407). need_fullpath=false, extensions=zip|7z|cue|ccd, savestate=deterministic. diff --git a/emulators/fixgb.yml b/emulators/fixgb.yml index 3dbfcd4a..e1a04105 100644 --- a/emulators/fixgb.yml +++ b/emulators/fixgb.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/libretro/fixGB" upstream: "https://github.com/FIX94/fixGB" profiled_date: "2026-03-23" -source_commit: "3ab80f3ebf600664c81fa2b0f163ba3f558cf52e" +source_commit: "c7865087b8c8126b8bc60fddb75b20efad992458" core_version: "Alpha v0.8.2" display_name: "Nintendo - Game Boy / Color (fixGB)" cores: diff --git a/emulators/fixnes.yml b/emulators/fixnes.yml index dda25193..1cf6804f 100644 --- a/emulators/fixnes.yml +++ b/emulators/fixnes.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/libretro/fixNES" upstream: "https://github.com/FIX94/fixNES" profiled_date: "2026-03-23" -source_commit: "a692bda786a5c6f3cdc10d5a263830990d25c627" +source_commit: "72af6c6fd9d3b6c23d334ba7385b6a09225f2276" core_version: "Alpha v1.3.1" display_name: "Nintendo - NES / Famicom (fixNES)" cores: diff --git a/emulators/flycast.yml b/emulators/flycast.yml index 605bb131..831c6a13 100644 --- a/emulators/flycast.yml +++ b/emulators/flycast.yml @@ -5,7 +5,7 @@ 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-23" -source_commit: "45bd2f4e59708a7c16a5bb1cb90a94d1b39e330d" +source_commit: "bde196bfbf541435d0e7d3e3fa91dbd154e7c502" core_version: "0.1" display_name: "Sega - Dreamcast/Naomi (Flycast)" cores: @@ -35,25 +35,25 @@ notes: | - NAOMI flat boot ROM search includes epr-21576d.bin fallback not in upstream. BIOS file search uses prefix + name pattern. The libretro port appends "dc/" - to the system directory (libretro.cpp:1972). All files below are relative + to the system directory (core/libretro/libretro.cpp:1972). All files below are relative to system_dir/dc/. - The prefix is determined by platform (sb_mem.cpp:32-49): + The prefix is determined by platform (core/hw/holly/sb_mem.cpp:32-49): Dreamcast -> dc_ Dev Unit -> hkt_ NAOMI -> naomi_ Atomiswave -> (no prefix, BIOS loaded from awbios.zip) - Boot ROM search pattern (sb_mem.cpp:51-68): + Boot ROM search pattern (core/hw/holly/sb_mem.cpp:51-68): {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): + NAOMI also tries: epr-21576d.bin (core/hw/holly/sb_mem.cpp:59) + Flash/NVRAM search pattern (core/hw/holly/sb_mem.cpp:231): {prefix}nvmem.bin, {prefix}flash_wb.bin, {prefix}flash.bin, {prefix}flash.bin.bin BIOS[] also declares airlbios and naomigd. No entry of Games[] carries either name in its bios field and naomi_LoadBios is only ever called with that field or the literal naomi, so neither archive is opened. - ref: naomi_cart.cpp:79,229-240,476-479, naomi_roms.h:79,191 + ref: core/hw/naomi/naomi_cart.cpp:79,229-240,476-479, core/hw/naomi/naomi_roms.h:79,191 files: # ------------------------------------------------------- diff --git a/emulators/fmsx.yml b/emulators/fmsx.yml index 63e3ec7c..3f823f82 100644 --- a/emulators/fmsx.yml +++ b/emulators/fmsx.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/fmsx-libretro" upstream: "https://fms.komkon.org/fMSX/" profiled_date: "2026-03-23" -source_commit: "f013e213458e06d9df718e4bc4b09d46f88aa899" +source_commit: "4de11755ce4f196ac1c8a7bb20bb4eccbc87a7d4" core_version: "6.0" display_name: "Microsoft - MSX (fMSX)" cores: @@ -66,7 +66,7 @@ files: required: true system: msx bundled: true - note: "MSX1 main BIOS (32 KB). Loaded for MSX1 model (fMSX/MSX.c:693)." + note: "MSX1 main BIOS (32 KB). Loaded for MSX1 model (fMSX/MSX.c:697)." source_ref: "fMSX/ROMs/MSX.ROM" # -- MSX2 BIOS -- @@ -78,7 +78,7 @@ files: required: true system: msx2 bundled: true - note: "MSX2 main BIOS (32 KB). Loaded for MSX2 model (fMSX/MSX.c:709)." + note: "MSX2 main BIOS (32 KB). Loaded for MSX2 model (fMSX/MSX.c:713)." source_ref: "fMSX/ROMs/MSX2.ROM" - name: MSX2EXT.ROM @@ -88,7 +88,7 @@ files: required: true system: msx2 bundled: true - note: "MSX2 extension BIOS (16 KB). Loaded alongside MSX2.ROM (fMSX/MSX.c:710)." + note: "MSX2 extension BIOS (16 KB). Loaded alongside MSX2.ROM (fMSX/MSX.c:714)." source_ref: "fMSX/ROMs/MSX2EXT.ROM" # -- MSX2+ BIOS (default model) -- @@ -100,7 +100,7 @@ files: required: true system: msx2plus bundled: true - note: "MSX2+ main BIOS (32 KB). Loaded for MSX2+ model, the default (fMSX/MSX.c:731)." + note: "MSX2+ main BIOS (32 KB). Loaded for MSX2+ model, the default (fMSX/MSX.c:735)." source_ref: "fMSX/ROMs/MSX2P.ROM" - name: MSX2PEXT.ROM @@ -110,7 +110,7 @@ files: required: true system: msx2plus bundled: true - note: "MSX2+ extension BIOS (16 KB). Loaded alongside MSX2P.ROM (fMSX/MSX.c:732)." + note: "MSX2+ extension BIOS (16 KB). Loaded alongside MSX2P.ROM (fMSX/MSX.c:736)." source_ref: "fMSX/ROMs/MSX2PEXT.ROM" # -- Disk support -- @@ -121,7 +121,7 @@ files: sha1: 032cb1c1c75b9a191fa1230978971698d9d2a17f required: false bundled: true - note: "Disk controller BIOS (16 KB). Needed for .dsk content. Enable 'Simulate DiskROM' option (fMSX/MSX.c:780)." + note: "Disk controller BIOS (16 KB). Needed for .dsk content. Enable 'Simulate DiskROM' option (fMSX/MSX.c:784)." source_ref: "fMSX/ROMs/DISK.ROM" # -- Optional expansion ROMs -- @@ -132,7 +132,7 @@ files: sha1: 9d789166e3caf28e4742fe933d962e99618c633d required: false bundled: true - note: "FM-PAC cartridge ROM (64 KB, YM2413 FM synthesis). Auto-loaded into first free slot (fMSX/MSX.c:557)." + note: "FM-PAC cartridge ROM (64 KB, YM2413 FM synthesis). Auto-loaded into first free slot (fMSX/MSX.c:561)." source_ref: "fMSX/ROMs/FMPAC.ROM" - name: KANJI.ROM @@ -141,7 +141,7 @@ files: sha1: 84a645becec0a25d3ab7a909cde1b242699a8662 required: false bundled: true - note: "Kanji font ROM (128 KB). Auto-loaded if present, no option needed (fMSX/MSX.c:530)." + note: "Kanji font ROM (128 KB). Auto-loaded if present, no option needed (fMSX/MSX.c:534)." source_ref: "fMSX/ROMs/KANJI.ROM" - name: MSXDOS2.ROM @@ -150,7 +150,7 @@ files: sha1: c36c9e0f96738a340381e23b4f97245388801a46 required: false bundled: true - note: "MSX-DOS 2 ROM (64 KB). Loaded when 'fmsx_dos2' option enabled and model is MSX2 or MSX2+ (fMSX/MSX.c:545)." + note: "MSX-DOS 2 ROM (64 KB). Loaded when 'fmsx_dos2' option enabled and model is MSX2 or MSX2+ (fMSX/MSX.c:549)." source_ref: "fMSX/ROMs/MSXDOS2.ROM" - name: PAINTER.ROM @@ -159,7 +159,7 @@ files: sha1: 7fd2a28c4fdaeb140f3c8c8fb90271b1472c97b9 required: false bundled: true - note: "Paint utility ROM (64 KB). Auto-loaded for MSX2 and MSX2+ models (fMSX/MSX.c:552)." + note: "Paint utility ROM (64 KB). Auto-loaded for MSX2 and MSX2+ models (fMSX/MSX.c:556)." source_ref: "fMSX/ROMs/PAINTER.ROM" - name: RS232.ROM @@ -168,7 +168,7 @@ files: sha1: 7aec0134ad6a5177f4056fcb6047083e8e00529b required: false bundled: true - note: "RS-232C serial interface ROM (16 KB + 256 B). Loaded into slot 3:3 (fMSX/MSX.c:533)." + note: "RS-232C serial interface ROM (16 KB + 256 B). Loaded into slot 3:3 (fMSX/MSX.c:537)." source_ref: "fMSX/ROMs/RS232.ROM" # -- GameMaster (not bundled, requires core option) -- @@ -176,19 +176,19 @@ files: - name: GMASTER2.ROM required: false bundled: false - note: "Konami GameMaster2 cartridge ROM. Loaded when 'fmsx_game_master' option enabled (fMSX/MSX.c:576)." + note: "Konami GameMaster2 cartridge ROM. Loaded when 'fmsx_game_master' option enabled (fMSX/MSX.c:580)." - name: GMASTER.ROM required: false bundled: false - note: "Konami GameMaster cartridge ROM. Fallback if GMASTER2.ROM is missing (fMSX/MSX.c:580)." + note: "Konami GameMaster cartridge ROM. Fallback if GMASTER2.ROM is missing (fMSX/MSX.c:584)." # -- CMOS persistence (auto-generated, not a BIOS) -- - name: CMOS.ROM required: false bundled: false - note: "RTC/CMOS settings. Auto-saved by the core on exit, auto-loaded on start (fMSX/MSX.c:526)." + note: "RTC/CMOS settings. Auto-saved by the core on exit, auto-loaded on start (fMSX/MSX.c:530)." # -- Text fonts (selectable via fmsx_font core option) -- @@ -196,29 +196,29 @@ files: 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" + note: "Default text font. Loaded by LoadFNT() (fMSX/MSX.c:527). Same content as CYRILLIC.FNT." + source_ref: "fMSX/ROMs/DEFAULT.FNT, libretro.c:1547" - name: ITALIC.FNT required: false bundled: true md5: c83e50e9f33b8dd893c414691822740d note: "Italic text font." - source_ref: "fMSX/ROMs/ITALIC.FNT, libretro.c:1546" + source_ref: "fMSX/ROMs/ITALIC.FNT, libretro.c:1547" - name: INTERNAT.FNT required: false bundled: true md5: ac4f4a90c1b1887db48ded39c9d9c847 note: "International text font." - source_ref: "fMSX/ROMs/INTERNAT.FNT, libretro.c:1546" + source_ref: "fMSX/ROMs/INTERNAT.FNT, libretro.c:1547" - 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" + source_ref: "fMSX/ROMs/CYRILLIC.FNT, libretro.c:1547" - name: KOREAN.FNT region: [south-korea] @@ -226,7 +226,7 @@ files: bundled: true md5: 73291e76638a2f5aa2eceb843df468f4 note: "Korean text font." - source_ref: "fMSX/ROMs/KOREAN.FNT, libretro.c:1546" + source_ref: "fMSX/ROMs/KOREAN.FNT, libretro.c:1547" - name: JAPANESE.FNT region: [japan] @@ -234,7 +234,7 @@ files: bundled: true md5: aa28f0703b951a6be8df3e28e20d263d note: "Japanese text font." - source_ref: "fMSX/ROMs/JAPANESE.FNT, libretro.c:1546" + source_ref: "fMSX/ROMs/JAPANESE.FNT, libretro.c:1547" # -- Cartridge identification database -- @@ -242,11 +242,11 @@ files: required: false bundled: false unsourceable: "dead legacy code path, never created or distributed, replaced by CARTS.SHA" - note: "CRC database for cartridge identification and mapper detection. Tried first, before CARTS.SHA (fMSX/MSX.c:2697)." + note: "CRC database for cartridge identification and mapper detection. Tried first, before CARTS.SHA (fMSX/MSX.c:2701)." - name: CARTS.SHA required: false bundled: true md5: 74b0f217fa0e2b8bb5a2f8e2ecc69da3 - note: "SHA1 database for cartridge identification and mapper detection. Fallback when CARTS.CRC absent (fMSX/MSX.c:2712)." + note: "SHA1 database for cartridge identification and mapper detection. Fallback when CARTS.CRC absent (fMSX/MSX.c:2716)." source_ref: "fMSX/ROMs/CARTS.SHA" diff --git a/emulators/freeintv.yml b/emulators/freeintv.yml index 1a2ab47b..5303595f 100644 --- a/emulators/freeintv.yml +++ b/emulators/freeintv.yml @@ -3,7 +3,7 @@ type: libretro core_classification: pure_libretro source: "https://github.com/libretro/FreeIntv" profiled_date: "2026-03-23" -source_commit: "428915baf2bfc032fc03e645f4f8f9c6c3144979" +source_commit: "ef3e0fe322bec62a7f916c0bb0834c08c348d0b4" core_version: "2018.1.5" display_name: "Mattel - Intellivision (FreeIntv)" cores: @@ -16,7 +16,7 @@ notes: | contributed by Joe Zbiciak (jzIntv), mask ROM embedded in source (src/ivoice.c:337-510, 4097-byte static array). No external ivoice ROM. - BIOS loading in retro_init() (src/libretro.c:1175-1183). Paths joined + BIOS loading in retro_init() (src/libretro.c:1184-1192). Paths joined directly to system directory, no subdirectory. loadExec() reads exec.bin as big-endian 16-bit words into 0x1000-0x1FFF. @@ -35,11 +35,11 @@ files: required: true size: 8192 note: "Executive ROM. Big-endian 16-bit words loaded at 0x1000-0x1FFF." - source_ref: "src/intv.c:51-96, src/libretro.c:1178" + source_ref: "src/intv.c:55-142, src/libretro.c:1187" - name: "grom.bin" system: intellivision required: true size: 2048 note: "Graphics ROM. Raw bytes loaded at 0x3000-0x37FF." - source_ref: "src/intv.c:98-144, src/libretro.c:1182" + source_ref: "src/intv.c:144-190, src/libretro.c:1191" diff --git a/emulators/frodo.yml b/emulators/frodo.yml index 17f1311e..ce966883 100644 --- a/emulators/frodo.yml +++ b/emulators/frodo.yml @@ -5,7 +5,7 @@ cores: [frodo] source: "https://github.com/libretro/frodo-libretro" upstream: "https://github.com/cebix/frodo4" profiled_date: "2026-03-23" -source_commit: "9fb971b072215632f94ba86406c429dd8965dd93" +source_commit: "891d20102a8894dd4fce73fb8bd2f623483fd05f" core_version: "v4.2" display_name: "Commodore - C64 (Frodo)" systems: [commodore-c64] diff --git a/emulators/fsuae.yml b/emulators/fsuae.yml index 7b7ec09f..e0a4ca70 100644 --- a/emulators/fsuae.yml +++ b/emulators/fsuae.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/libretro-fsuae" upstream: "https://github.com/FrodeSolheim/fs-uae" profiled_date: "2026-03-26" -source_commit: "06e3030a46a6063aa0f7028c269d972f06c46d5d" +source_commit: "089bb69207fe8fa5eec0006d1d759fb6426f4027" core_version: "v5.0.7" display_name: "Commodore - Amiga (FS-UAE)" cores: @@ -18,7 +18,7 @@ notes: | Standalone: scans --kickstarts_dir for .rom/.bin files (default: Documents/FS-UAE/Kickstarts/). Batocera overrides to bios/amiga/ via --kickstarts_dir (batocera fsuaePaths.py:8, batocera fsuaeGenerator.py:68). Libretro port: scans save_dir/fsuae/Kickstarts/ (frozen at v2.7.15). - Identification by SHA-1 checksum, not filename (rommgr.cpp:92-151, romservice.py:78-91). + Identification by SHA-1 checksum, not filename (rommgr.cpp:92-151, od-fs/python/fsuae/roms/romservice.py:78-91). AROS kickstart (1 MB) compiled into binary as fallback for all models (rommgr.cpp:112). rom.key searched in kickstart dir and multiple fallback paths (rommgr.cpp:1397-1498). diff --git a/emulators/fuse.yml b/emulators/fuse.yml index 9a4ca7f9..7836a86d 100644 --- a/emulators/fuse.yml +++ b/emulators/fuse.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/fuse-libretro" upstream: "https://sourceforge.net/projects/fuse-emulator/" profiled_date: "2026-03-23" -source_commit: "000a8ae51a5141d75c109a22150e37ba06d57910" +source_commit: "e997e2bc32c888348f862f69f2c53babfedf7791" core_version: "1.6.0" display_name: "Sinclair - ZX Spectrum (Fuse)" cores: @@ -20,7 +20,7 @@ notes: | ROM loading is in src/compat/file.c:91-118. The core first checks an internal table of embedded ROMs (mem_entries[]). If the ROM filename is not found there, it falls back to the filesystem at - {system_dir}/fuse/{rom_filename} (file.c:160-175). + {system_dir}/fuse/{rom_filename} (src/compat/file.c:160-175). Embedded ROMs cover 48K-family, 128K, +2, +3, +3e, SE, TC2048, TC2068. Pentagon, Scorpion, and peripheral ROMs are NOT embedded and must be @@ -29,11 +29,11 @@ notes: | Default ROM filenames are set in fuse/settings.c:209-260. Each machine type loads its ROMs during reset via machine_load_rom() calls in the fuse/machines directory. All ROMs are size-validated at load time - (fuse/machine.c:289). + (fuse/machine.c:287). - The +2A reuses the +3 ROMs (plus3-0/1/2/3.rom) per settings.c:234-237. - The TS2068 reuses TC2068 ROMs (tc2068-0/1.rom) per settings.c:257-258. - Spectrum 16K uses 48.rom per settings.c:211. + The +2A reuses the +3 ROMs (plus3-0/1/2/3.rom) per fuse/settings.c:234-237. + The TS2068 reuses TC2068 ROMs (tc2068-0/1.rom) per fuse/settings.c:257-258. + Spectrum 16K uses 48.rom per fuse/settings.c:211. Upstream FUSE 1.7.0 has SP0256 speech chip (sp0256-al2.rom) and Currah uSpeech (uspeech.rom) peripherals not ported to libretro. @@ -105,7 +105,7 @@ files: size: 16384 validation: [size] note: "Spectrum +3 ROM 0. Also used for +2A. Embedded in core." - source_ref: "fuse/settings.c:239, fuse/settings.c:243, fuse/machines/specplus3.c:197" + source_ref: "fuse/settings.c:239, fuse/settings.c:243, fuse/machines/specplus3.c:193" - name: "fuse/plus3-1.rom" system: sinclair-zxspectrum @@ -116,7 +116,7 @@ files: size: 16384 validation: [size] note: "Spectrum +3 ROM 1. Also used for +2A. Embedded in core." - source_ref: "fuse/settings.c:240, fuse/settings.c:244, fuse/machines/specplus3.c:200" + source_ref: "fuse/settings.c:240, fuse/settings.c:244, fuse/machines/specplus3.c:196" - name: "fuse/plus3-2.rom" system: sinclair-zxspectrum @@ -127,7 +127,7 @@ files: size: 16384 validation: [size] note: "Spectrum +3 ROM 2. Also used for +2A. Embedded in core." - source_ref: "fuse/settings.c:241, fuse/settings.c:245, fuse/machines/specplus3.c:203" + source_ref: "fuse/settings.c:241, fuse/settings.c:245, fuse/machines/specplus3.c:199" - name: "fuse/plus3-3.rom" system: sinclair-zxspectrum @@ -138,7 +138,7 @@ files: size: 16384 validation: [size] note: "Spectrum +3 ROM 3. Also used for +2A. Embedded in core." - source_ref: "fuse/settings.c:242, fuse/settings.c:246, fuse/machines/specplus3.c:206" + source_ref: "fuse/settings.c:242, fuse/settings.c:246, fuse/machines/specplus3.c:202" - name: "fuse/plus3e-0.rom" system: sinclair-zxspectrum @@ -149,7 +149,7 @@ files: size: 16384 validation: [size] note: "Spectrum +3e ROM 0. Embedded in core." - source_ref: "fuse/settings.c:247, fuse/machines/specplus3e.c:70" + source_ref: "fuse/settings.c:247, fuse/machines/specplus3e.c:66" - name: "fuse/plus3e-1.rom" system: sinclair-zxspectrum @@ -160,7 +160,7 @@ files: size: 16384 validation: [size] note: "Spectrum +3e ROM 1. Embedded in core." - source_ref: "fuse/settings.c:248, fuse/machines/specplus3e.c:73" + source_ref: "fuse/settings.c:248, fuse/machines/specplus3e.c:69" - name: "fuse/plus3e-2.rom" system: sinclair-zxspectrum @@ -171,7 +171,7 @@ files: size: 16384 validation: [size] note: "Spectrum +3e ROM 2. Embedded in core." - source_ref: "fuse/settings.c:249, fuse/machines/specplus3e.c:76" + source_ref: "fuse/settings.c:249, fuse/machines/specplus3e.c:72" - name: "fuse/plus3e-3.rom" system: sinclair-zxspectrum @@ -182,7 +182,7 @@ files: size: 16384 validation: [size] note: "Spectrum +3e ROM 3. Same as plus3-3.rom. Embedded in core." - source_ref: "fuse/settings.c:250, fuse/machines/specplus3e.c:79" + source_ref: "fuse/settings.c:250, fuse/machines/specplus3e.c:75" - name: "fuse/se-0.rom" system: sinclair-zxspectrum @@ -249,7 +249,7 @@ files: size: 16384 validation: [size] note: "Pentagon 128K/512K/1024 ROM 0. Required for Pentagon machines." - source_ref: "fuse/settings.c:226, fuse/settings.c:230, fuse/settings.c:234, fuse/machines/pentagon.c:135" + source_ref: "fuse/settings.c:226, fuse/settings.c:230, fuse/settings.c:234, fuse/machines/pentagon.c:131" - name: "fuse/128p-1.rom" system: sinclair-zxspectrum @@ -258,7 +258,7 @@ files: size: 16384 validation: [size] note: "Pentagon 128K/512K/1024 ROM 1. Required for Pentagon machines." - source_ref: "fuse/settings.c:227, fuse/settings.c:231, fuse/settings.c:235, fuse/machines/pentagon.c:138" + source_ref: "fuse/settings.c:227, fuse/settings.c:231, fuse/settings.c:235, fuse/machines/pentagon.c:134" - name: "fuse/trdos.rom" system: sinclair-zxspectrum @@ -267,7 +267,7 @@ files: size: 16384 validation: [size] note: "TR-DOS ROM (Beta 128 disk interface). Used by Pentagon and Scorpion." - source_ref: "fuse/settings.c:228, fuse/settings.c:232, fuse/settings.c:236, fuse/machines/pentagon.c:141" + source_ref: "fuse/settings.c:228, fuse/settings.c:232, fuse/settings.c:236, fuse/machines/pentagon.c:137" - name: "fuse/gluck.rom" system: sinclair-zxspectrum @@ -322,7 +322,7 @@ files: size: 8192 validation: [size] - note: "Interface 1 ROM (edition 2). Loaded by peripherals/if1.c:403." + note: "Interface 1 ROM (edition 2). Loaded by fuse/peripherals/if1.c:403." source_ref: "fuse/settings.c:221, fuse/peripherals/if1.c:404" - name: "fuse/disciple.rom" diff --git a/emulators/gargoyle.yml b/emulators/gargoyle.yml index 43ae1c60..1e29a67e 100644 --- a/emulators/gargoyle.yml +++ b/emulators/gargoyle.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/garglk/garglk" upstream: "https://github.com/garglk/garglk" profiled_date: "2026-08-08" -source_commit: "520c3cbca2d8956d9f4b7e4e9ca2a92dce59778d" +source_commit: "9e06211c20bee35026744424a57f50375cdc29db" core_version: "2026.1" display_name: "Interactive Fiction (Gargoyle)" cores: @@ -55,7 +55,7 @@ notes: | interpreter loads the shipped TTF files by name from the data directory, then the executable directory, then the working directory, and calls winabort() when all three miss. - ref: garglk/garglk.h:675-676 (defaults), garglk/garglk.ini:205,208, garglk/fontfc.cpp:83-154 + ref: garglk/garglk.h:694-695 (defaults), garglk/garglk.ini:205,208, garglk/fontfc.cpp:83-154 (fontconfig lookup), garglk/draw.cpp:381-408 (path fallbacks), 300-350 (make_font, abort), 490-498 (file names) @@ -71,7 +71,7 @@ notes: | and themes in its themes subdirectory. macOS keeps the eight Gargoyle faces in Resources/Fonts and Unifont in Resources; the Windows installer also registers the eight faces as system fonts. - ref: garglk/sysqt.cpp:931-975, garglk/sysmac.mm:1001-1018, garglk/CMakeLists.txt:137,145, + ref: garglk/sysqt.cpp:960-1004, garglk/sysmac.mm:1013-1030, garglk/CMakeLists.txt:137,145, 510-534, gargoyle_osx.sh:124-125,211-213, installer.nsi:89-90,208-215 Themes are read from every *.json in the theme directories, which are the @@ -79,7 +79,7 @@ notes: | the data directory for the AppImage. A parse failure is reported and the file skipped. The light and dark themes are also compiled into the binary, so the on-disk copies of those two replace identical entries. - ref: garglk/theme.cpp:266-319, garglk/sysqt.cpp:953-975, garglk/CMakeLists.txt:81-93 + ref: garglk/theme.cpp:266-319, garglk/sysqt.cpp:982-1004, garglk/CMakeLists.txt:81-93 garglk.ini is not distributed: the default config is compiled in as a string and written to the highest-priority user location on demand. Installing a diff --git a/emulators/gearboy.yml b/emulators/gearboy.yml index 480d598c..82dad098 100644 --- a/emulators/gearboy.yml +++ b/emulators/gearboy.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/drhelius/Gearboy" upstream: "https://github.com/drhelius/Gearboy" profiled_date: "2026-03-23" -source_commit: "88226e000896890d5b847f51e7fb9754317ae5f0" +source_commit: "214b84ed64cefc41071197cd52863deb0658a64d" core_version: "3.4.1" display_name: "Nintendo - Game Boy / Color (Gearboy)" cores: @@ -27,7 +27,7 @@ files: required: false hle_fallback: true validation: [size] - source_ref: "platforms/libretro/libretro.cpp:833, platforms/libretro/libretro.cpp:365, platforms/libretro/libretro.cpp:365" + source_ref: "platforms/libretro/libretro.cpp:964, platforms/libretro/libretro.cpp:408, platforms/libretro/libretro.cpp:408" - name: cgb_boot.bin description: Game Boy Color bootrom @@ -35,4 +35,4 @@ files: required: false hle_fallback: true validation: [size] - source_ref: "platforms/libretro/libretro.cpp:834, platforms/libretro/libretro.cpp:366, platforms/libretro/libretro.cpp:366" + source_ref: "platforms/libretro/libretro.cpp:965, platforms/libretro/libretro.cpp:409, platforms/libretro/libretro.cpp:409" diff --git a/emulators/gearcoleco.yml b/emulators/gearcoleco.yml index ac40842d..7bd6fa6b 100644 --- a/emulators/gearcoleco.yml +++ b/emulators/gearcoleco.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/drhelius/Gearcoleco" upstream: "https://github.com/drhelius/Gearcoleco" profiled_date: "2026-09-17" -source_commit: "8d32d242c6ba2104d75c17bb79773275387d4c37" +source_commit: "da48b1a3d4fcdc23c505f0bba68dd8ed36b489b1" core_version: "1.7.0-7-g8d32d24" display_name: "Coleco - ColecoVision / ADAM (Gearcoleco)" cores: @@ -19,29 +19,29 @@ notes: | declared in kAdamFirmwareMetadata (src/Adam.cpp:26-42): OS-7, EOS and SmartWriter, each with a size, a CRC32 and its accepted file names. - find_firmware() (platforms/libretro/libretro.cpp:773-834) walks the + find_firmware() (platforms/libretro/libretro.cpp:772-833) walks the frontend system directory and then its gearcoleco subdirectory - (libretro.cpp:787), trying every accepted name in each. A file whose size - differs from the role's size is skipped with a warning (libretro.cpp:806-811). + (platforms/libretro/libretro.cpp:786), trying every accepted name in each. A file whose size + differs from the role's size is skipped with a warning (platforms/libretro/libretro.cpp:805-810). Every candidate that passes is compared to the first one found: two valid-sized images with different bytes are an ambiguous role and the load - fails (libretro.cpp:820-827). CRC32 is computed after the search and only - logged when it differs from the table (libretro.cpp:867-870, 918-929). + fails (platforms/libretro/libretro.cpp:819-826). CRC32 is computed after the search and only + logged when it differs from the table (platforms/libretro/libretro.cpp:866-869, 917-928). - The machine is chosen per load (libretro.cpp:2387-2389): .ddp, .dsk, a ZIP + The machine is chosen per load (platforms/libretro/libretro.cpp:2386-2388): .ddp, .dsk, a ZIP holding an ADAM image, an .m3u playlist, no content at all, or a cartridge with the core option gearcoleco_cartridge_hardware set to ADAM start the ADAM; any other cartridge starts the ColecoVision. The "adam" subsystem - (libretro.cpp:529-537) takes a cartridge, two disks and two data packs. + (platforms/libretro/libretro.cpp:528-536) takes a cartridge, two disks and two data packs. - ColecoVision: load_colecovision_firmware() (libretro.cpp:852-879) needs OS-7 - and retro_load_game() returns false without it (libretro.cpp:2399-2403). - It runs again on retro_reset() (libretro.cpp:2204-2205). The image goes + ColecoVision: load_colecovision_firmware() (platforms/libretro/libretro.cpp:851-878) needs OS-7 + and retro_load_game() returns false without it (platforms/libretro/libretro.cpp:2398-2402). + It runs again on retro_reset() (platforms/libretro/libretro.cpp:2203-2204). The image goes through Memory::LoadBiosFromBuffer() (src/Memory.cpp:310-319) and byte 0x69 is patched on reset, 0x32 when the cartridge is PAL and 0x3C otherwise (src/Memory.cpp:246-249); the ADAM always gets 0x3C (src/Memory.cpp:221). - ADAM: load_adam_firmware() (libretro.cpp:881-942) needs all three roles and + ADAM: load_adam_firmware() (platforms/libretro/libretro.cpp:880-941) needs all three roles and every ADAM entry point returns false when one is missing (libretro.cpp: 2372-2373, 2429-2433, 2446-2447, 2530-2534). Adam::LoadFirmware() (src/Adam.cpp:168-190) copies the three images, IsFirmwareReady() @@ -64,7 +64,7 @@ files: crc32: "3aa93ef3" sha1: "45bedc4cbdeac66c7df59e9e599195c778d86a92" validation: [size, crc32] - source_ref: "platforms/libretro/libretro.cpp:773-834 (find_firmware), 852-879 (load_colecovision_firmware), 2399-2403, 2204-2205, src/Adam.cpp:28-32, src/Adam.h:53, src/Memory.cpp:310-319, src/Memory.cpp:246-249" + source_ref: "platforms/libretro/libretro.cpp:772-833 (find_firmware), platforms/libretro/libretro.cpp:851-878 (load_colecovision_firmware), platforms/libretro/libretro.cpp:2398-2402, platforms/libretro/libretro.cpp:2203-2204, src/Adam.cpp:28-32, src/Adam.h:53, src/Memory.cpp:310-319, src/Memory.cpp:246-249" note: > Loaded for both machines. Any 8192-byte image is accepted; a CRC32 other than 3aa93ef3 logs "Unknown OS-7 revision" and runs. PAL timing @@ -77,7 +77,7 @@ files: size: 8192 crc32: "05a37a34" validation: [size, crc32] - source_ref: "platforms/libretro/libretro.cpp:881-942 (load_adam_firmware), 2372-2373, 2429-2433, 2446-2447, 2530-2534, src/Adam.cpp:33-36, src/Adam.h:54, src/Adam.cpp:139-148, src/Adam.cpp:168-190, src/GearcolecoCore.cpp:410-415, src/Adam.cpp:537-540" + source_ref: "platforms/libretro/libretro.cpp:880-941 (load_adam_firmware), platforms/libretro/libretro.cpp:2371-2372, platforms/libretro/libretro.cpp:2428-2432, platforms/libretro/libretro.cpp:2445-2446, platforms/libretro/libretro.cpp:2529-2533, src/Adam.cpp:33-36, src/Adam.h:54, src/Adam.cpp:139-148, src/Adam.cpp:168-190, src/GearcolecoCore.cpp:410-415, src/Adam.cpp:537-540" note: > The 8 KiB EOS bank, the first half of the 16 KiB u22 chip; a CRC32 other than 05a37a34 logs "Unknown EOS revision" and runs. Only the ADAM @@ -92,7 +92,7 @@ files: crc32: "58d86a2a" sha1: "d4aec4efe1431e56fe52d83baf9118542c525255" validation: [size, crc32] - source_ref: "platforms/libretro/libretro.cpp:881-942 (load_adam_firmware), 2372-2373, 2429-2433, 2446-2447, 2530-2534, src/Adam.cpp:37-41, src/Adam.h:55, src/Adam.cpp:139-148, src/Adam.cpp:168-190, src/GearcolecoCore.cpp:410-415, src/Adam.cpp:531-540" + source_ref: "platforms/libretro/libretro.cpp:880-941 (load_adam_firmware), platforms/libretro/libretro.cpp:2371-2372, platforms/libretro/libretro.cpp:2428-2432, platforms/libretro/libretro.cpp:2445-2446, platforms/libretro/libretro.cpp:2529-2533, src/Adam.cpp:37-41, src/Adam.h:55, src/Adam.cpp:139-148, src/Adam.cpp:168-190, src/GearcolecoCore.cpp:410-415, src/Adam.cpp:531-540" note: > A CRC32 other than 58d86a2a logs "Unknown SmartWriter revision" and runs. Only the ADAM needs it: ColecoVision cartridges load without it. diff --git a/emulators/gearsystem.yml b/emulators/gearsystem.yml index ed3830e3..090c21ed 100644 --- a/emulators/gearsystem.yml +++ b/emulators/gearsystem.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/drhelius/Gearsystem" upstream: "https://github.com/drhelius/Gearsystem" profiled_date: "2026-03-23" -source_commit: "d547ae361bf242f25c45260aad29d4adc26e672a" +source_commit: "3c86cbefe71cb7b18df54d0bc3aeedf552081da5" core_version: "3.2.0" display_name: "Sega - MS/GG/SG-1000 (Gearsystem)" cores: @@ -34,17 +34,17 @@ files: - name: "bios.sms" system: sega-mastersystem required: false - source_ref: "platforms/libretro/libretro.cpp:568, platforms/libretro/libretro.cpp:571 (load_bootroms)" + source_ref: "platforms/libretro/libretro.cpp:777, platforms/libretro/libretro.cpp:780 (load_bootroms)" - name: "bios.gg" system: sega-gamegear required: false - source_ref: "platforms/libretro/libretro.cpp:858, platforms/libretro/libretro.cpp:571 (load_bootroms)" + source_ref: "platforms/libretro/libretro.cpp:1067, platforms/libretro/libretro.cpp:780 (load_bootroms)" platform_details: mastersystem: bios_filename: "bios.sms" - source_ref: "src/Memory.cpp:225-230" + source_ref: "src/Memory.cpp:227-232" note: | Boot ROM loaded via LoadBootromSMS() -> LoadBootroom(path, false). Raw binary read, stored in m_pBootromSMS. Bank count computed as @@ -52,7 +52,7 @@ platform_details: gamegear: bios_filename: "bios.gg" - source_ref: "src/Memory.cpp:232-237" + source_ref: "src/Memory.cpp:234-239" note: | Boot ROM loaded via LoadBootromGG() -> LoadBootroom(path, true). Raw binary read, stored in m_pBootromGG. Same bank computation. @@ -61,5 +61,5 @@ platform_details: sg1000: bios_filename: null note: | - No BIOS support. src/Memory.cpp:379-382 returns false from IsBootromEnabled() + No BIOS support. src/Memory.cpp:381-384 returns false from IsBootromEnabled() when IsSG1000() or IsGameGearInSMSMode() is true. diff --git a/emulators/genesis_plus_gx.yml b/emulators/genesis_plus_gx.yml index 3b1b39d5..41b5395e 100644 --- a/emulators/genesis_plus_gx.yml +++ b/emulators/genesis_plus_gx.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/Genesis-Plus-GX" upstream: "https://github.com/ekeeke/Genesis-Plus-GX" profiled_date: "2026-03-23" -source_commit: "a7985a9c4278ac352f8ca7bb4d3cc6b36e9e3e7d" +source_commit: "58c341487e5bfcf979ea68413c7987633adb0c56" core_version: "v1.7.4" display_name: "Sega - MS/GG/MD/CD (Genesis Plus GX)" cores: diff --git a/emulators/geolith.yml b/emulators/geolith.yml index 42b18833..43dd0f4e 100644 --- a/emulators/geolith.yml +++ b/emulators/geolith.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/libretro/geolith-libretro" upstream: "https://gitlab.com/jgemu/geolith" profiled_date: "2026-08-07" -source_commit: "57622ca5aee387867637d51ec553e0d745f6f210" +source_commit: "194024931935eff2092e36fc4f8e53e62ed11097" upstream_commit: "7ed2ef95a446ffb9bf17b6536d24c108310c94da" core_version: "0.4.1" display_name: "SNK - Neo Geo AES/MVS (Geolith)" @@ -21,13 +21,13 @@ notes: | from MAME-format ZIP archives in the system directory. Cartridge content opens aes.zip (System Type = AES, default) or neogeo.zip - (MVS and Universe BIOS) (libretro/libretro.c:1243-1246). CD content opens + (MVS and Universe BIOS) (libretro/libretro.c:1222-1225). CD content opens neocd.zip (Front/Top Loader) or neocdz.zip (CDZ, default, and CD Universe - BIOS) (libretro/libretro.c:1234-1242); Front/Top Loader additionally reads + BIOS) (libretro/libretro.c:1213-1221); Front/Top Loader additionally reads 000-lo.lo from neocdz.zip, so neocdz.zip is needed in every CD mode - (libretro/libretro.c:1253-1260). The Irritating Maze in MVS mode loads + (libretro/libretro.c:1232-1239). The Irritating Maze in MVS mode loads 236-bios.sp1 from irrmaze.zip for trackball support; without it the game - runs but the trackball does not work (libretro/libretro.c:1312-1323). + runs but the trackball does not work (libretro/libretro.c:1281-1292). Inside the opened archive, members are extracted by exact filename (src/geo.c:174-271). One 68K BIOS is selected by system type and region @@ -52,7 +52,7 @@ notes: | detection and the optional CD speed hack patches use byte patterns and apply only when the 68K BIOS is at least 512 KiB (src/geo_cd.c:1888-1910, 1904-1924). Upstream declares the expected archive MD5s through the Jolly - Good API BIOS list (jg.c:220-231); the md5 fields on the archives below + Good API BIOS list (jg.c:228-239); the md5 fields on the archives below are copied from it. files: @@ -64,35 +64,35 @@ files: required: true md5: "ad9585c72130c56f04ae26aae87c289d" note: "Neo Geo AES System ROMs. Opened when System Type is AES (default)." - source_ref: "libretro/libretro.c:1243-1246, jg.c:221-222" + source_ref: "libretro/libretro.c:1222-1225, jg.c:229-230" - name: "neogeo.zip" system: snk-neogeo-mvs required: true md5: "00dad01abdbf8ea9e79ad2fe11bdb182" note: "Neo Geo MVS System ROMs. Opened for MVS and Universe BIOS modes." - source_ref: "libretro/libretro.c:1243-1246, jg.c:223-224" + source_ref: "libretro/libretro.c:1222-1225, jg.c:231-232" - name: "neocd.zip" system: snk-neogeo-cd required: false md5: "006a881532f2caffc3fe9fb5593f2ed5" note: "Neo Geo CD Front/Top Loader System ROMs. Opened only when CD System is front or top loader." - source_ref: "libretro/libretro.c:1234-1241, jg.c:225-226" + source_ref: "libretro/libretro.c:1213-1220, jg.c:233-234" - name: "neocdz.zip" system: snk-neogeo-cd required: true md5: "b31a246b69493c35194fe0bac120dc37" note: "Neo Geo CDZ System ROMs. Opened for CDZ (default) and CD Universe BIOS; also supplies 000-lo.lo to Front/Top Loader mode." - source_ref: "libretro/libretro.c:1234-1260, jg.c:227-228" + source_ref: "libretro/libretro.c:1213-1239, jg.c:235-236" - name: "irrmaze.zip" system: snk-neogeo-mvs required: false md5: "0e369df30a70e45547cef9e4078dc511" note: "The Irritating Maze auxiliary BIOS. Loaded in MVS mode for trackball support; on failure the game runs without trackball." - source_ref: "libretro/libretro.c:1312-1323, jg.c:229-230" + source_ref: "libretro/libretro.c:1281-1292, jg.c:237-238" # ----------------------------------------------------------- # aes.zip members @@ -249,7 +249,7 @@ files: size: 131072 crc32: "5a86cff2" note: "Zoom lookup table. Read from neocdz.zip in every CD mode, including Front/Top Loader." - source_ref: "src/geo.c:234-243, 273-285, libretro/libretro.c:1253-1260" + source_ref: "src/geo.c:234-243, 273-285, libretro/libretro.c:1232-1239" # ----------------------------------------------------------- # irrmaze.zip member @@ -259,4 +259,4 @@ files: system: snk-neogeo-mvs required: false note: "The Irritating Maze auxiliary 68K BIOS, replaces the MVS BIOS to enable trackball input." - source_ref: "src/geo.c:286-299, libretro/libretro.c:1312-1323" + source_ref: "src/geo.c:286-299, libretro/libretro.c:1281-1292" diff --git a/emulators/gopher2600.yml b/emulators/gopher2600.yml index 3b5faf91..fff9015d 100644 --- a/emulators/gopher2600.yml +++ b/emulators/gopher2600.yml @@ -4,7 +4,7 @@ core_classification: other source: "https://github.com/JetSetIlly/Gopher2600" upstream: "https://github.com/JetSetIlly/Gopher2600" profiled_date: "2026-08-08" -source_commit: "6bfd0abeb61ff109e3e354efad8274da1ac629d6" +source_commit: "3b0e186983c6e13af6e2f2f42530138a10d6b31b" core_version: "v0.57.0" display_name: "Atari - 2600 (Gopher2600)" cores: @@ -44,7 +44,7 @@ notes: | stella.pro is Stella's cartridge properties database, read from the configuration directory (properties/properties.go:28,48-58). It is loaded by - NewDebugger (debugger/debugger.go:356), which drives play as well as debug + NewDebugger (debugger/debugger.go:357), which drives play as well as debug (gopher2600.go:261,307,326), so it applies to the plain `gopher2600 ` invocation. A missing file is logged and start-up continues; the ROM selector then falls back to the filename and no television specification is inferred @@ -107,7 +107,7 @@ files: Recognised by the MD5 of the 256 bytes at 0x300, so the name is the one the dump carries rather than one the code fixes. The carousel ROMs are only read once this image has been accepted. - source_ref: "hardware/memory/cartridge/supercharger/demounit.go:56-78, hardware/memory/cartridge/supercharger/supercharger.go:107, 115, hardware/memory/cartridge/fingerprint.go:345" + source_ref: "hardware/memory/cartridge/supercharger/demounit.go:56-78, hardware/memory/cartridge/supercharger/supercharger.go:107, 115, hardware/memory/cartridge/fingerprint.go:358" - name: "Starpath Demonstration Unit 1P.bin" system: atari-2600 @@ -177,4 +177,4 @@ files: system: atari-2600 required: false description: "Stella cartridge properties database, keyed by cartridge MD5" - source_ref: "properties/properties.go:28,48-58; debugger/debugger.go:356" + source_ref: "properties/properties.go:28, 48-58, debugger/debugger.go:357" diff --git a/emulators/gopher64.yml b/emulators/gopher64.yml index 14d5c270..8d845c8f 100644 --- a/emulators/gopher64.yml +++ b/emulators/gopher64.yml @@ -4,7 +4,7 @@ core_classification: other source: "https://github.com/gopher64/gopher64" upstream: "https://github.com/gopher64/gopher64" profiled_date: "2026-08-08" -source_commit: "bb050baeb6c299b1259031e44623f593f8094a10" +source_commit: "1ab3793323ce7a7c1f491ccfb989231a09b58a0f" core_version: "v1.1.34" display_name: "Nintendo - Nintendo 64 (gopher64)" cores: @@ -53,16 +53,16 @@ notes: | and the savestates (src/ui/storage.rs:212-232; src/savestates.rs:179,236). For a netplay launch the GUI serialises the cheats to the cache directory, passes them to a re-exec of itself through the hidden --cheats flag and deletes the - file afterwards (src/ui/gui.rs:583-593,600-615,630; src/lib.rs:141-147). + file afterwards (src/ui/gui.rs:585-595,602-617,632; src/lib.rs:141-147). portable.txt is tested for existence only, to move those three directories beside the executable (src/ui.rs:186-200). Compiled-in data: the cheat database (src/cheats.rs:31), the No-Intro Nintendo 64 export that names entries in the ROM browser - (src/ui/gui.rs:688-690), the RobotoMono face handed to SDL_ttf from memory + (src/ui/gui.rs:690-692), the RobotoMono face handed to SDL_ttf from memory (src/ui/video.rs:109, src/ui/input_profile.rs:99), the parallel-rdp SPIR-V modules (parallel-rdp/spirv.hpp and parallel-rdp/spirv_crt.hpp, used at - parallel-rdp/interface.cpp:4-5,619) and the Slint translations bundled at + parallel-rdp/interface.cpp:4-5,636) and the Slint translations bundled at build time (build.rs:11). files: [] diff --git a/emulators/gpsp.yml b/emulators/gpsp.yml index c9d29d73..93c4fa83 100644 --- a/emulators/gpsp.yml +++ b/emulators/gpsp.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/gpsp" upstream: "https://github.com/davidgfnet/gpsp" profiled_date: "2026-03-23" -source_commit: "8d268a6bb2cd799f8f2791ebb544a7ef550cfc6f" +source_commit: "5819380c2ffb0900219d700a382ee68c464ebb99" core_version: "Git" display_name: "Nintendo - Game Boy Advance (gpSP)" cores: diff --git a/emulators/hatarib.yml b/emulators/hatarib.yml index 4447fad0..6f5c56fd 100644 --- a/emulators/hatarib.yml +++ b/emulators/hatarib.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/bbbradsmith/hatariB" upstream: "https://github.com/hatari/hatari" profiled_date: "2026-09-17" -source_commit: "55a67d34238031a79d9de7f91a5c51e9771bd146" +source_commit: "4fb7ebdfa14d5de7df3076143f255d7d8bf0323c" upstream_commit: "6a8e26d69fb32d61efd398dc1ad9a77122400034" core_version: "1.1 unstable preview" display_name: "Atari - ST/STE/TT/Falcon (hatariB)" @@ -64,7 +64,7 @@ notes: | The three EmuTOS images are EmuTOS 1.4 built from the hatarib-custom-140 branch of bbbradsmith/emutos, which lets DESKTOP.INF and NEWDESK.INF be loaded, and are compiled in through emutos/bin_to_h.py - (DEVELOP.md:10, README.md:313-315). + (DEVELOP.md:10, README.md:324-326). A cartridge is read with core_read_file_system from the option value (hatari/src/cart.c:40, hatari/src/cart.c:57-100) and disabled with @@ -194,7 +194,7 @@ files: path: null description: "CAPSImage 5.1 shared library for IPF and CTR floppy images, Linux, macOS, Android and Raspberry Pi builds" required: false - source_ref: "hatari/src/floppy_ipf.c:320-331, hatari/src/floppy_ipf.c:637-645, hatari/src/floppy_ipf.c:691-749, hatari/src/floppy_ipf.c:757-769, hatari/CMakeLists.txt:246, hatari/cmake/config-cmake.h:99-101, DEVELOP.md:56, DEVELOP.md:59" + source_ref: "hatari/src/floppy_ipf.c:320-331, hatari/src/floppy_ipf.c:637-645, hatari/src/floppy_ipf.c:733-783, hatari/src/floppy_ipf.c:791-803, hatari/CMakeLists.txt:246, hatari/cmake/config-cmake.h:99-101, DEVELOP.md:56, DEVELOP.md:59" note: > Opened with dlopen on the first IPF or CTR read, from the dlopen search path or next to the core, and required to export the CAPS @@ -206,7 +206,7 @@ files: path: null description: "CAPSImage 5.1 shared library for IPF and CTR floppy images, Windows build" required: false - source_ref: "hatari/src/floppy_ipf.c:320-331, hatari/src/floppy_ipf.c:637-645, hatari/src/floppy_ipf.c:691-749, hatari/src/floppy_ipf.c:757-769, DEVELOP.md:56" + source_ref: "hatari/src/floppy_ipf.c:320-331, hatari/src/floppy_ipf.c:637-645, hatari/src/floppy_ipf.c:733-783, hatari/src/floppy_ipf.c:791-803, DEVELOP.md:56" note: > Opened with LoadLibrary on the first IPF or CTR read, from the RetroArch directory or the library search path; without it those diff --git a/emulators/higan_sfc_balanced.yml b/emulators/higan_sfc_balanced.yml index c5e3ed52..a34da810 100644 --- a/emulators/higan_sfc_balanced.yml +++ b/emulators/higan_sfc_balanced.yml @@ -4,7 +4,7 @@ core_classification: enhanced_fork source: "https://github.com/libretro/nSide" upstream: "https://gitlab.com/higan/higan" profiled_date: "2026-09-17" -source_commit: "f8a3ac45ef31a3a367d0a9ecd925110124e73eff" +source_commit: "5b2b5da3a9654d88b2e51fb7a1637808ac601a18" upstream_commit: "3353efd3a1087f4d16d9b9fd2a8e465087ab8ec0" core_version: "106.25" display_name: "Nintendo - SNES / SFC (nSide Balanced)" diff --git a/emulators/izapple2.yml b/emulators/izapple2.yml index 983e9b43..98008d3a 100644 --- a/emulators/izapple2.yml +++ b/emulators/izapple2.yml @@ -4,7 +4,7 @@ core_classification: embedded_hle source: "https://github.com/ivanizag/izapple2" upstream: "https://github.com/ivanizag/izapple2" profiled_date: "2026-08-08" -source_commit: "1b563d7668b331bc06d6d11c093ee1a14fe242be" +source_commit: "877b75fcf00d5bdb88d77554a4ade3ecb8c1a166" core_version: "v2.4.0" display_name: "Apple - Apple II (izapple2)" cores: @@ -30,10 +30,10 @@ notes: | (setup.go:189-199, boardBase64a.go:7-16, boardBasis108.go:28-37). Two of the 27 registered cards name an image the emulator downloads instead - of carrying: prodosromdrive and prodosromcard3 (cardBuilder.go:85-86). Both + of carrying: prodosromdrive and prodosromcard3 (cardBuilder.go:86-87). Both read the card slot ROM out of that image, so neither card has a boot ROM without it. No shipped model uses either card, they are reached with -sN. - prodosnvramdrive is left out of the factory (cardBuilder.go:87). + prodosnvramdrive is left out of the factory (cardBuilder.go:88). -rom and -charrom replace the embedded main and character ROM with a file of the user's choosing, and every disk, hard disk and cassette parameter takes diff --git a/emulators/jaxe.yml b/emulators/jaxe.yml index 06cced99..a3082609 100644 --- a/emulators/jaxe.yml +++ b/emulators/jaxe.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/kurtjd/jaxe" upstream: "https://github.com/kurtjd/jaxe" profiled_date: "2026-03-24" -source_commit: "e8e90e3d683bb560df5882f0ad62ed28f96a541a" +source_commit: "c767afd785e01a15bcd575a2d93b737add82b675" core_version: "GIT" display_name: "CHIP-8/S-CHIP/XO-CHIP (JAXE)" cores: diff --git a/emulators/jgenesis.yml b/emulators/jgenesis.yml index 34e1981d..86cbe80d 100644 --- a/emulators/jgenesis.yml +++ b/emulators/jgenesis.yml @@ -4,7 +4,7 @@ core_classification: other source: "https://github.com/jsgroth/jgenesis" upstream: "https://github.com/jsgroth/jgenesis" profiled_date: "2026-08-08" -source_commit: "0b26611fa23007f2632d32b7cdbdb6369b01eb91" +source_commit: "db1bec7392704aa0ecc2bbbb5ac751fec3c485a0" core_version: "0.14.0" display_name: "Multi-System (jgenesis)" cores: @@ -41,7 +41,7 @@ notes: | Sega CD selects the BIOS by disc region and per_region_bios defaults to true, so the US, European and Japanese images are each reachable - (frontend/jgenesis-native-driver/src/mainloop/genesis.rs:230-259, + (frontend/jgenesis-native-driver/src/mainloop/genesis.rs:215-244, frontend/jgenesis-native-config/src/genesis.rs:117). Setting "Use US BIOS for all regions" collapses all three onto the US slot. @@ -82,7 +82,7 @@ files: mode: standalone size: 131072 validation: [size] - source_ref: "frontend/jgenesis-native-driver/src/mainloop/genesis.rs:40-50 (read), frontend/jgenesis-native-driver/src/mainloop/genesis.rs:253-259 (bios_path_for_region), backend/segacd-core/src/api.rs:77-79 (BIOS_LEN check)" + source_ref: "frontend/jgenesis-native-driver/src/mainloop/genesis.rs:39-49 (read), frontend/jgenesis-native-driver/src/mainloop/genesis.rs:238-244 (bios_path_for_region), backend/segacd-core/src/api.rs:77-79 (BIOS_LEN check)" note: "Selected when the disc region is Americas, and for every region when per_region_bios is off." - name: "bios_CD_E.bin" @@ -93,7 +93,7 @@ files: mode: standalone size: 131072 validation: [size] - source_ref: "frontend/jgenesis-native-driver/src/mainloop/genesis.rs:253-259 (eu_bios_path), backend/segacd-core/src/api.rs:77-79" + source_ref: "frontend/jgenesis-native-driver/src/mainloop/genesis.rs:238-244 (eu_bios_path), backend/segacd-core/src/api.rs:77-79" - name: "bios_CD_J.bin" system: sega-megacd @@ -103,7 +103,7 @@ files: mode: standalone size: 131072 validation: [size] - source_ref: "frontend/jgenesis-native-driver/src/mainloop/genesis.rs:253-259 (jp_bios_path), backend/segacd-core/src/api.rs:77-79" + source_ref: "frontend/jgenesis-native-driver/src/mainloop/genesis.rs:238-244 (jp_bios_path), backend/segacd-core/src/api.rs:77-79" # ------------------------------------------------------- # Game Boy Advance diff --git a/emulators/kemulator.yml b/emulators/kemulator.yml index 573d0507..7c3543aa 100644 --- a/emulators/kemulator.yml +++ b/emulators/kemulator.yml @@ -5,7 +5,7 @@ source: "https://github.com/shinovon/KEmulator" upstream: "https://github.com/shinovon/KEmulator" author: "shinovon" profiled_date: "2026-08-11" -source_commit: "0101182" +source_commit: "769149212e167512b7792953f7646e543d29b9af" core_version: "2.21.5" display_name: "Mobile - J2ME (KEmulator nnmod)" cores: @@ -172,7 +172,7 @@ files: validation: [existence] description: "Device presets: screen sizes, key maps, platform identities" note: "Devices.load reads the PresetsPath setting, /res/presets.xml by default, as a jar resource and falls back to a disk read when the resource is absent, which is how a user-supplied preset file is picked up." - source_ref: "src/main/emulator/Settings.java:131, src/main/emulator/Devices.java:25-50, src/main/emulator/Emulator.java:638" + source_ref: "src/main/emulator/Settings.java:131, src/main/emulator/Devices.java:25-50, src/main/emulator/Emulator.java:644" - name: en.txt system: j2me diff --git a/emulators/lowresnx.yml b/emulators/lowresnx.yml index 6c624c6c..f720fa9b 100644 --- a/emulators/lowresnx.yml +++ b/emulators/lowresnx.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/timoinutilis/lowres-nx" upstream: "https://github.com/timoinutilis/lowres-nx" profiled_date: "2026-03-25" -source_commit: "35adc1a215e975be964b2ef4b652117acd7beba1" +source_commit: "63d5988f74e1eea2ecd6ea0445a8ce260b0a9822" core_version: "v1.2" display_name: "LowRes NX" cores: diff --git a/emulators/lrps2.yml b/emulators/lrps2.yml index 52c50e5e..20fb72b5 100644 --- a/emulators/lrps2.yml +++ b/emulators/lrps2.yml @@ -9,7 +9,7 @@ bios_mode: agnostic source: "https://github.com/libretro/ps2" upstream: "https://github.com/PCSX2/pcsx2" profiled_date: "2026-03-25" -source_commit: "0e9057b73bd128a775aa9e59310d68692838e96c" +source_commit: "6eabf2242d451ee2e6d52b1e3f10efb77143ed05" core_version: "Git" display_name: "Sony - PlayStation 2 (LRPS2)" cores: [lrps2, pcsx2] @@ -89,7 +89,7 @@ files: path: "pcsx2/resources/GameIndex.yaml" required: false description: "game compatibility database" - source_ref: "pcsx2/GameDatabase.cpp:48, pcsx2/GameDatabase.cpp:981" + source_ref: "pcsx2/GameDatabase.cpp:49, pcsx2/GameDatabase.cpp:979" note: > YAML database of per-game patches, settings overrides, and compatibility fixes. OSD warning shown if missing. Some games may not boot or have issues without it. @@ -98,7 +98,7 @@ files: path: "pcsx2/resources/cheats_ws.zip" required: false description: "widescreen patches archive" - source_ref: "pcsx2/VMManager.cpp:375-388" + source_ref: "pcsx2/VMManager.cpp:383-396" note: > ZIP archive of per-game widescreen (16:9) patches in pnach format. Only loaded when widescreen patches are enabled via core options. @@ -108,7 +108,7 @@ files: path: "pcsx2/resources/cheats_ni.zip" required: false description: "no-interlacing patches archive" - source_ref: "pcsx2/VMManager.cpp:410-423" + source_ref: "pcsx2/VMManager.cpp:418-431" note: > ZIP archive of per-game no-interlacing patches in pnach format. Only loaded when no-interlacing patches are enabled via core options. diff --git a/emulators/lutro.yml b/emulators/lutro.yml index f4316e17..c342f043 100644 --- a/emulators/lutro.yml +++ b/emulators/lutro.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/libretro/libretro-lutro" upstream: "https://github.com/libretro/libretro-lutro" profiled_date: "2026-03-24" -source_commit: "b84d0605e847e07657a44a1a11374a03a6e8a489" +source_commit: "6224157a615b18507bc0b117a3398c7a324cd3e5" core_version: "v1" display_name: "Lua Engine (Lutro)" cores: @@ -17,7 +17,7 @@ notes: | standalone upstream. retro_load_game() calls lutro_load(info->path) to load the game - directory or archive (libretro.c:241). The core exposes + directory or archive (libretro.c:267). The core exposes love.filesystem.getAppdataDirectory to games as the system_dir (filesystem.c:296) but does not load any files from it itself. No BIOS, firmware, or system files required. diff --git a/emulators/mame.yml b/emulators/mame.yml index c6df32c1..b6dc26c3 100644 --- a/emulators/mame.yml +++ b/emulators/mame.yml @@ -5,7 +5,7 @@ source: "https://github.com/libretro/mame" upstream: "https://github.com/mamedev/mame" logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg" profiled_date: "2026-03-29" -source_commit: "4fc9a9312baaf34963847f884961ad9793fbbc1d" +source_commit: "9069f39340f2d2b1795df8e71bb1d3d0fbc76598" upstream_commit: "728d957663041fbc943806bf151584acd03e2160" core_version: "0.289" display_name: "Arcade (MAME)" diff --git a/emulators/mame2003.yml b/emulators/mame2003.yml index 092d2220..780a1f14 100644 --- a/emulators/mame2003.yml +++ b/emulators/mame2003.yml @@ -4,7 +4,7 @@ core_classification: frozen_snapshot source: "https://github.com/libretro/mame2003-libretro" upstream: "https://www.mamedev.org" profiled_date: "2026-03-24" -source_commit: "259339e92d5f63e4b293ce0d42a069f9e8ba2a6a" +source_commit: "b9ac708f922386a0ae1f2379dbb31b60d7ec7b25" core_version: "0.78" display_name: "Arcade (MAME 2003)" diff --git a/emulators/mame2003_midway.yml b/emulators/mame2003_midway.yml index ba015227..e8d31abe 100644 --- a/emulators/mame2003_midway.yml +++ b/emulators/mame2003_midway.yml @@ -4,7 +4,7 @@ core_classification: frozen_snapshot source: "https://github.com/libretro/mame2003_midway" upstream: "https://www.mamedev.org" profiled_date: "2026-03-24" -source_commit: "e657f70b6dc67b4f7f9255bc796c5d5ce168d69c" +source_commit: "fb5fb047d0efd9fdc9d56e50fa377f5e47569d35" core_version: "0.78" display_name: "Arcade (MAME 2003 Midway)" diff --git a/emulators/mame2003_plus.yml b/emulators/mame2003_plus.yml index 9b2eaceb..3a8e83b6 100644 --- a/emulators/mame2003_plus.yml +++ b/emulators/mame2003_plus.yml @@ -5,7 +5,7 @@ source: "https://github.com/libretro/mame2003-plus-libretro" upstream: "https://www.mamedev.org" logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg" profiled_date: "2026-03-24" -source_commit: "3a2f7f39b1733a8e6b2dca6f1197f18b9a74867b" +source_commit: "f073a5af73503e782ae2e01dc84d7904028e5203" core_version: "2003-Plus" display_name: "Arcade (MAME 2003-Plus)" mame_version: "0.78 (plus backports)" diff --git a/emulators/mame2015.yml b/emulators/mame2015.yml index 2d437122..5cc114b3 100644 --- a/emulators/mame2015.yml +++ b/emulators/mame2015.yml @@ -5,7 +5,7 @@ source: "https://github.com/libretro/mame2015-libretro" upstream: "https://github.com/mamedev/mame/tree/mame0160" logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg" profiled_date: "2026-03-24" -source_commit: "0eab132212b28896baeac7d8f2cd8ac25e227752" +source_commit: "7adbf440d5f554097f58f8c6ebb673adc4320a31" core_version: "0.160" display_name: "Arcade (MAME 2015)" mame_version: "0.160" diff --git a/emulators/mame2016.yml b/emulators/mame2016.yml index 1d9e8413..84943287 100644 --- a/emulators/mame2016.yml +++ b/emulators/mame2016.yml @@ -5,7 +5,7 @@ source: "https://github.com/libretro/mame2016-libretro" upstream: "https://github.com/mamedev/mame/tree/mame0174" logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg" profiled_date: "2026-03-22" -source_commit: "e3d45e2ba59bac384aa1619687004e504f317b92" +source_commit: "ae07c2f88ff2482ba9f50ffc8c9e7e6fbfe97d0a" core_version: "0.174" cores: diff --git a/emulators/mamearcade.yml b/emulators/mamearcade.yml index 1832b4fd..35b3999b 100644 --- a/emulators/mamearcade.yml +++ b/emulators/mamearcade.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/libretro/mame" upstream: "https://github.com/mamedev/mame" profiled_date: "2026-03-24" -source_commit: "4fc9a9312baaf34963847f884961ad9793fbbc1d" +source_commit: "9069f39340f2d2b1795df8e71bb1d3d0fbc76598" upstream_commit: "728d957663041fbc943806bf151584acd03e2160" core_version: "0.287" display_name: "Arcade (MAME/Arcade)" diff --git a/emulators/mamemess.yml b/emulators/mamemess.yml index 99c1d50b..782bb9c5 100644 --- a/emulators/mamemess.yml +++ b/emulators/mamemess.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/libretro/mame" upstream: "https://github.com/mamedev/mame" profiled_date: "2026-03-29" -source_commit: "c4127c164af8fcf0aea781cc039aaf9b8044696d" +source_commit: "9069f39340f2d2b1795df8e71bb1d3d0fbc76598" upstream_commit: "728d957663041fbc943806bf151584acd03e2160" core_version: "0.287" display_name: "Multi (MAME/MESS)" @@ -251,7 +251,7 @@ files: - name: ekara.zip required: true category: bios_zip - source_ref: "src/mame/tvgames/xavix.cpp:2878" + source_ref: "src/mame/tvgames/xavix.cpp:2904" contents: - name: ekara.bin size: 1048576 @@ -261,7 +261,7 @@ files: - name: ekaraa.zip required: true category: bios_zip - source_ref: "src/mame/tvgames/xavix.cpp:2879" + source_ref: "src/mame/tvgames/xavix.cpp:2905" contents: - name: ekara2.bin size: 1048576 @@ -281,7 +281,7 @@ files: - name: ekarag.zip required: true category: bios_zip - source_ref: "src/mame/tvgames/xavix.cpp:2881" + source_ref: "src/mame/tvgames/xavix.cpp:2907" contents: - name: ekaragermany.bin size: 2097152 @@ -291,7 +291,7 @@ files: - name: ekaras.zip required: true category: bios_zip - source_ref: "src/mame/tvgames/xavix.cpp:2882" + source_ref: "src/mame/tvgames/xavix.cpp:2908" contents: - name: ekaraspanish.bin size: 2097152 @@ -301,7 +301,7 @@ files: - name: isinger.zip required: true category: bios_zip - source_ref: "src/mame/tvgames/xavix.cpp:2884" + source_ref: "src/mame/tvgames/xavix.cpp:2910" contents: - name: kr_isinger.bin size: 1048576 @@ -331,7 +331,7 @@ files: - name: ekaramix.zip required: true category: bios_zip - source_ref: "src/mame/tvgames/xavix.cpp:2893" + source_ref: "src/mame/tvgames/xavix.cpp:2919" contents: - name: ekaramix.bin size: 2097152 @@ -342,7 +342,7 @@ files: - name: ddrfammt.zip required: true category: bios_zip - source_ref: "src/mame/tvgames/xavix.cpp:2896" + source_ref: "src/mame/tvgames/xavix.cpp:2922" contents: - name: ekara_ddr_ha010_81947.bin size: 2097152 @@ -352,7 +352,7 @@ files: - name: popira.zip required: true category: bios_zip - source_ref: "src/mame/tvgames/xavix.cpp:2899" + source_ref: "src/mame/tvgames/xavix.cpp:2925" contents: - name: popira.bin size: 1048576 @@ -372,7 +372,7 @@ files: - name: popira2.zip required: true category: bios_zip - source_ref: "src/mame/tvgames/xavix.cpp:2904" + source_ref: "src/mame/tvgames/xavix.cpp:2930" contents: - name: popira2.bin size: 2097152 @@ -382,7 +382,7 @@ files: - name: taikodp.zip required: true category: bios_zip - source_ref: "src/mame/tvgames/xavix.cpp:2907" + source_ref: "src/mame/tvgames/xavix.cpp:2933" contents: - name: taikodepopira.bin size: 2097152 @@ -392,7 +392,7 @@ files: - name: jpopira.zip required: true category: bios_zip - source_ref: "src/mame/tvgames/xavix.cpp:2910" + source_ref: "src/mame/tvgames/xavix.cpp:2936" contents: - name: jumpingpopira.bin size: 2097152 @@ -406,7 +406,7 @@ files: - name: evio.zip required: true category: bios_zip - source_ref: "src/mame/tvgames/xavix.cpp:2913" + source_ref: "src/mame/tvgames/xavix.cpp:2939" contents: - name: evio.bin size: 2097152 @@ -416,7 +416,7 @@ files: - name: tak_daig.zip required: true category: bios_zip - source_ref: "src/mame/tvgames/xavix.cpp:2918" + source_ref: "src/mame/tvgames/xavix.cpp:2944" contents: - name: robottransformer_unit.bin size: 2097152 @@ -426,7 +426,7 @@ files: - name: gcslottv.zip required: true category: bios_zip - source_ref: "src/mame/tvgames/xavix.cpp:2920" + source_ref: "src/mame/tvgames/xavix.cpp:2946" contents: - name: sammyslotunit.bin size: 2097152 @@ -436,7 +436,7 @@ files: - name: hikara.zip required: true category: bios_zip - source_ref: "src/mame/tvgames/xavix.cpp:2925" + source_ref: "src/mame/tvgames/xavix.cpp:2951" contents: - name: hikara.u3 size: 1048576 @@ -482,7 +482,7 @@ files: required: true category: bios_zip system: apple2 - source_ref: "src/mame/apple/apple2.cpp:1310" + source_ref: "src/mame/apple/apple2.cpp:1206" contents: - name: a2.chr description: Character generator ROM @@ -513,7 +513,7 @@ files: required: true category: bios_zip system: apple2 - source_ref: "src/mame/apple/apple2.cpp:1311" + source_ref: "src/mame/apple/apple2.cpp:1207" contents: - name: 341-0036.chr description: Character generator ROM @@ -548,7 +548,7 @@ files: required: true category: bios_zip system: apple2 - source_ref: "src/mame/apple/apple2e.cpp:6345" + source_ref: "src/mame/apple/apple2e.cpp:6364" contents: - name: 342-0133-a.chr description: Character generator ROM @@ -571,7 +571,7 @@ files: required: true category: bios_zip system: apple2 - source_ref: "src/mame/apple/apple2e.cpp:6352" + source_ref: "src/mame/apple/apple2e.cpp:6371" contents: - name: 342-0265-a.chr description: Enhanced character generator ROM @@ -656,7 +656,7 @@ files: required: true category: bios_zip system: apple2gs - source_ref: "src/mame/apple/apple2gs.cpp:3853-3867" + source_ref: "src/mame/apple/apple2gs.cpp:3893-3907" contents: - name: 341s0632-2.bin description: ADB microcontroller ROM (M50740/50741) @@ -1325,7 +1325,7 @@ files: required: true category: bios_zip system: fm7 - source_ref: "src/mame/fujitsu/fm7.cpp:2186-2207" + source_ref: "src/mame/fujitsu/fm7.cpp:2184-2205" contents: - name: fbasic300.rom description: F-BASIC 3.00 ROM @@ -1352,7 +1352,7 @@ files: required: true category: bios_zip system: fm7 - source_ref: "src/mame/fujitsu/fm7.cpp:2209-2230" + source_ref: "src/mame/fujitsu/fm7.cpp:2207-2228" contents: - name: initiate.rom description: Initiate ROM (boot sequencer) @@ -1379,7 +1379,7 @@ files: required: false category: bios_zip system: fm7 - source_ref: "src/mame/fujitsu/fm7.cpp:2169-2184" + source_ref: "src/mame/fujitsu/fm7.cpp:2168-2183" note: "FM-NEW7 clone, inherits shared ROMs from fm7.zip parent" contents: - name: fbasic302.rom diff --git a/emulators/mednafen_pce.yml b/emulators/mednafen_pce.yml index 6fe29cdb..c9a5e4dc 100644 --- a/emulators/mednafen_pce.yml +++ b/emulators/mednafen_pce.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/beetle-pce-libretro" upstream: "https://mednafen.github.io/" profiled_date: "2026-03-24" -source_commit: "ae99235c2139c176c1a8d0fde2957bf701d3cab0" +source_commit: "b96c11e095b6a40a412d2da02766ae1c3f4fd539" core_version: "v0.9.38.7" display_name: "NEC - PC Engine / SuperGrafx / CD (Beetle PCE)" cores: [mednafen_pce, pce] diff --git a/emulators/mednafen_pce_fast.yml b/emulators/mednafen_pce_fast.yml index 7271291a..83608629 100644 --- a/emulators/mednafen_pce_fast.yml +++ b/emulators/mednafen_pce_fast.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/beetle-pce-fast-libretro" upstream: "https://mednafen.github.io/" profiled_date: "2026-03-24" -source_commit: "95fbd9c51bf0e35aa376a7774e9c02ff927cd991" +source_commit: "3f946f277aef3aa99a95551618bbcd1dd2bda0d9" core_version: "v1.31.0.0" display_name: "NEC - PC Engine / CD (Beetle PCE FAST)" cores: [mednafen_pce_fast, pce_fast, beetle_pce_fast] diff --git a/emulators/melonds-nightly.yml b/emulators/melonds-nightly.yml index 0b8239f6..c65f4ce2 100644 --- a/emulators/melonds-nightly.yml +++ b/emulators/melonds-nightly.yml @@ -3,7 +3,7 @@ type: standalone core_classification: community_fork source: "https://github.com/rafaelvcaetano/melonDS-android" upstream: "https://github.com/rafaelvcaetano/melonDS-android-lib" -source_commit: "3f3a1c8260850ce5f5ffe2b25ee4274b8674fa5f" +source_commit: "c42995caff0144f37ad9791dc9bc96d82e8a6f65" upstream_commit: "431ab4bd0003c4356e25fce89640ae1004579b9b" profiled_date: "2026-08-12" core_version: "2.0.1 (NIGHTLY)" @@ -39,26 +39,26 @@ notes: | (app/src/main/res/xml/pref_custom_firmware.xml:33,39). use_custom_bios defaults off (app/src/main/res/xml/pref_custom_firmware.xml:11, - SharedPreferencesSettingsRepository.kt:258-260). With it off, launching a ROM + app/src/main/java/me/magnum/melonds/impl/SharedPreferencesSettingsRepository.kt:258-260). With it off, launching a ROM skips the directory check entirely and the core substitutes FreeBIOS and a firmware built in memory, so DS games run with nothing supplied. Booting into the firmware menu instead of a ROM always turns it on - (AndroidEmulatorManager.kt:247-253), as does any per-ROM console override - (AndroidEmulatorManager.kt:239). DSi needs both directories: the DSi check - runs the DS check after its own (ConfigurationDirectoryVerifier.kt:13-21). + (app/src/main/java/me/magnum/melonds/impl/emulator/AndroidEmulatorManager.kt:247-253), as does any per-ROM console override + (app/src/main/java/me/magnum/melonds/impl/emulator/AndroidEmulatorManager.kt:239). DSi needs both directories: the DSi check + runs the DS check after its own (app/src/main/java/me/magnum/melonds/domain/services/ConfigurationDirectoryVerifier.kt:13-21). The generated firmware keeps its Wi-Fi access point block in wfcsettings.bin, read at boot and written back by the emulator - (EmulatorArgsBuilder.cpp:189,200-226, MelonInstance.cpp:58-62). It resolves - against context.filesDir (PlatformAndroid.cpp:158-163, - SharedPreferencesSettingsRepository.kt:155), app-private internal storage the + (app/src/main/cpp/EmulatorArgsBuilder.cpp:189,200-226, app/src/main/cpp/MelonInstance.cpp:58-62). It resolves + against context.filesDir (app/src/main/cpp/PlatformAndroid.cpp:158-163, + app/src/main/java/me/magnum/melonds/impl/SharedPreferencesSettingsRepository.kt:155), app-private internal storage the user cannot write to, and holds settings this build produced. Not listed below: there is nothing to obtain. Neither SD card is reachable in this build. getSDCardArgs returns nothing when - a card is disabled (SDCardArgsBuilder.cpp:19-20) and the JNI layer hardcodes + a card is disabled (app/src/main/cpp/SDCardArgsBuilder.cpp:19-20) and the JNI layer hardcodes both the DSi card and the homebrew DLDI card to disabled - (MelonDSAndroidConfiguration.cpp:93-94), with no preference anywhere in the app + (app/src/main/cpp/MelonDSAndroidConfiguration.cpp:93-94), with no preference anywhere in the app to turn either on; the README lists DSi SD card support under missing features. The Action Replay database the core can parse is likewise never built: ARDatabaseDAT is reached only from src/frontend/qt_sdl, and the Android build sets BUILD_QT_SDL OFF and links the core alone diff --git a/emulators/mess2015.yml b/emulators/mess2015.yml index e31b9ac6..b8e94b4b 100644 --- a/emulators/mess2015.yml +++ b/emulators/mess2015.yml @@ -4,7 +4,7 @@ core_classification: frozen_snapshot source: "https://github.com/libretro/mame2015-libretro" upstream: "https://github.com/mamedev/mame/tree/mame0160" profiled_date: "2026-03-24" -source_commit: "0eab132212b28896baeac7d8f2cd8ac25e227752" +source_commit: "7adbf440d5f554097f58f8c6ebb673adc4320a31" core_version: "0.160" display_name: "Multi (MESS 2015)" mame_version: "0.159" diff --git a/emulators/mgba.yml b/emulators/mgba.yml index 5fef064b..1e29677e 100644 --- a/emulators/mgba.yml +++ b/emulators/mgba.yml @@ -5,7 +5,7 @@ source: "https://github.com/libretro/mgba" upstream: "https://github.com/mgba-emu/mgba" logo: "https://raw.githubusercontent.com/mgba-emu/mgba/master/res/mgba-256.png" profiled_date: "2026-03-24" -source_commit: "e31759b24e7a4e3899285ff720d7b573ac328ae7" +source_commit: "7a12d6d4b9acb14c0ae62c9166b6a2f3d08007f6" core_version: "0.10-dev" display_name: "Nintendo - Game Boy Advance (mGBA)" cores: diff --git a/emulators/mu.yml b/emulators/mu.yml index b899e1f8..68796165 100644 --- a/emulators/mu.yml +++ b/emulators/mu.yml @@ -4,7 +4,7 @@ core_classification: pure_libretro source: "https://github.com/libretro/Mu" upstream: "https://github.com/meepingsnesroms/Mu" profiled_date: "2026-03-24" -source_commit: "f9d34a0006440aef8dca0db2a0d896438fcab2cb" +source_commit: "afaeb157b8ba38a4a9bdf426ba663f7efb2cc6f8" core_version: "v1.3.3" display_name: "Palm OS (Mu)" cores: [mu] diff --git a/emulators/mupen64plus_next.yml b/emulators/mupen64plus_next.yml index 600faf67..5b07c393 100644 --- a/emulators/mupen64plus_next.yml +++ b/emulators/mupen64plus_next.yml @@ -4,7 +4,7 @@ core_classification: enhanced_fork source: "https://github.com/libretro/mupen64plus-libretro-nx" upstream: "https://github.com/mupen64plus/mupen64plus-core" profiled_date: "2026-03-24" -source_commit: "f275caf4b2bfa1e6d1c51636746ea793f3d80320" +source_commit: "12edd2c74a517ff86dfa8cfc71ad75e4c10486d5" core_version: "2.6.0" display_name: "Nintendo - Nintendo 64 (Mupen64Plus-Next)" systems: [nintendo-64, nintendo-64dd] diff --git a/emulators/native32emu.yml b/emulators/native32emu.yml index 8dfcf2d2..4941468b 100644 --- a/emulators/native32emu.yml +++ b/emulators/native32emu.yml @@ -4,7 +4,7 @@ core_classification: pure_libretro source: "https://github.com/AloysHF/Native32Emu" upstream: "https://github.com/AloysHF/Native32Emu" profiled_date: "2026-09-03" -source_commit: "59a918ac2a001dbae9cb279fe95e75f830793220" +source_commit: "3dab17439f885c98a8f9da6362c71e7275da44c5" core_version: "1.3.0" display_name: "Sunplus - Native32 (Native32Emu)" cores: @@ -40,8 +40,8 @@ notes: | (crates/native32emu-core/src/save_manager.rs:10-46). RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY and GET_SAVE_DIRECTORY are - defined (crates/native32emu-libretro/src/libretro/constants.rs:36, - crates/native32emu-libretro/src/libretro/constants.rs:47) but nothing + defined (crates/native32emu-libretro/src/libretro/constants.rs:42, + crates/native32emu-libretro/src/libretro/constants.rs:53) but nothing calls them. No include_bytes! data is compiled in. exclusion_note: "No file is read outside the game package: content and every sibling it names (menu, child content, .dat thumbnails, .mpg cutscenes) resolve from the content's own directory tree, saves are written beside the content, the system directory is never queried, no data is embedded with include_bytes!, and the .info declares firmware_count = 0." diff --git a/emulators/neocd.yml b/emulators/neocd.yml index 6a679531..2bb0e32a 100644 --- a/emulators/neocd.yml +++ b/emulators/neocd.yml @@ -4,7 +4,7 @@ core_classification: pure_libretro source: "https://github.com/libretro/neocd_libretro" upstream: "https://github.com/libretro/neocd_libretro" profiled_date: "2026-03-24" -source_commit: "331cb2c4aa3d8490ec83dacf7c3650f13d7c3bf5" +source_commit: "b1e04c738cb48a1dae0574b8877f6a116d270ca1" core_version: "2022" display_name: "SNK - Neo Geo CD (NeoCD)" cores: diff --git a/emulators/nestopia.yml b/emulators/nestopia.yml index 89dd0ae0..269d7b42 100644 --- a/emulators/nestopia.yml +++ b/emulators/nestopia.yml @@ -5,7 +5,7 @@ source: "https://github.com/libretro/nestopia" upstream: "https://gitlab.com/jgemu/nestopia" logo: "https://raw.githubusercontent.com/0ldsk00l/nestopia/master/icons/svg/nestopia.svg" profiled_date: "2026-03-24" -source_commit: "5a1cd378cb46ca9ccc2dd6f8b2b6a79ab986052e" +source_commit: "b9fdc9c4e6d374abacd1a678ae46ec7f963ef59a" core_version: "1.53.1" display_name: "Nintendo - NES / Famicom (Nestopia)" cores: [nestopia] @@ -43,7 +43,7 @@ files: validation: [crc32] md5: "ca30b50f880eb660a320674ed365ef7a" sha1: "57fe1bdee955bb48d357e463ccbf129496930b62" - source_ref: "libretro/libretro.cpp:2111-2139 (FDS load), source/core/NstFds.cpp:57-127 (Bios class, CRC32 validation)" + source_ref: "libretro/libretro.cpp:2169-2197 (FDS load), source/core/NstFds.cpp:57-127 (Bios class, CRC32 validation)" note: "Mapped at 0xE000-0xFFFF (8 KB). retro_load_game returns false if missing when loading .fds files. CRC32 checked: Famicom 0x5E607DCF, Twin Famicom 0x4DF24A6C." # --- NES game database (optional, overrides baked-in copy) --- @@ -52,7 +52,7 @@ files: description: "Nestopia game database for region and mapper autodetection" required: false hle_fallback: true - source_ref: "libretro/libretro.cpp:2063-2093 (database load), libretro/nstdatabase.hpp (baked-in fallback)" + source_ref: "libretro/libretro.cpp:2121-2151 (database load), libretro/nstdatabase.hpp (baked-in fallback)" note: "XML database matching games by SHA1+CRC32. Used for region, mapper, mirroring, and 4-player adapter detection. Built-in fallback exists so this file is optional." # --- Custom palette (optional, core option nestopia_palette = Custom) --- @@ -62,7 +62,7 @@ files: required: false hle_fallback: true size: 192 - source_ref: "libretro/libretro.cpp:2041-2062 (palette load)" + source_ref: "libretro/libretro.cpp:2099-2120 (palette load)" note: "64 RGB triplets (64 x 3 bytes = 192 bytes). Loaded unconditionally at startup; applied only when nestopia_palette core option is set to Custom. Falls back to built-in Royaltea palette. Multiple valid palettes exist so no canonical hash." # --- ADPCM audio samples (optional, game-specific) --- diff --git a/emulators/nethersx2.yml b/emulators/nethersx2.yml index edfa7193..39a6cf31 100644 --- a/emulators/nethersx2.yml +++ b/emulators/nethersx2.yml @@ -6,7 +6,7 @@ source: "https://github.com/Trixarian/NetherSX2-patch" upstream: "https://github.com/Trixarian/AetherSX2" author: "Trixarian" profiled_date: "2026-08-12" -source_commit: "75fc270d50b8c1ba81daf874635471b8d07be09e" +source_commit: "f5f89b3b76e89a8f684da91cf5ad6e542825c0cb" upstream_commit: "1d1f795dfc70e38da67724c7298779260f513889" core_version: "2.1-4248" display_name: "Sony - PlayStation 2 (NetherSX2)" diff --git a/emulators/nicaiemu.yml b/emulators/nicaiemu.yml index de220ba9..94f82f7f 100644 --- a/emulators/nicaiemu.yml +++ b/emulators/nicaiemu.yml @@ -4,7 +4,7 @@ core_classification: pure_libretro source: "https://github.com/AloysHF/NicaiEmu" upstream: "https://github.com/AloysHF/NicaiEmu" profiled_date: "2026-09-03" -source_commit: "43d016098be7e468cabfd46fa6b45047637d6c3a" +source_commit: "6f2522b1cbbf1f2ceac4ecc06059c59b73ffd1b0" core_version: "0.1.0" display_name: "MStar - Nicai (NicaiEmu)" cores: @@ -17,8 +17,8 @@ notes: | Rust by AloysHF. The libretro core and the nicaiemu standalone binary share the nicaiemu-core crate. A .cbe archive is read whole from its full path (need_fullpath = true, - crates/nicaiemu-libretro/src/libretro/api.rs:108; load_machine, - crates/nicaiemu-libretro/src/libretro/api.rs:266-270; CbeArchive::load, + crates/nicaiemu-libretro/src/libretro/api.rs:181; load_machine, + crates/nicaiemu-libretro/src/libretro/api.rs:360-364; CbeArchive::load, crates/nicaiemu-core/src/cbe/archive.rs:68-94). Code, scenes, maps, actors, scripts, images and audio are sections of that archive, and installed resource packages are parsed from the same bytes @@ -29,15 +29,15 @@ notes: | an in-memory sandbox that never touches the host disk (crates/nicaiemu-core/src/machine/virtual_fs.rs:14-30). Text is decoded as GBK and rasterised from the unifont crate compiled into the core - (crates/nicaiemu-core/src/machine/drawing.rs:41, - crates/nicaiemu-core/src/machine/drawing.rs:597). MIDI resources are + (crates/nicaiemu-core/src/machine/drawing.rs:58, + crates/nicaiemu-core/src/machine/drawing.rs:709). MIDI resources are synthesised as decaying sine tones without a sound bank - (crates/nicaiemu-core/src/audio_engine.rs:238-243); WAV and MP3 are + (crates/nicaiemu-core/src/audio_engine.rs:270-275); WAV and MP3 are decoded with symphonia. The libretro crate asks the frontend for no directory. The standalone binary reads and writes only the files named by --load-state and - --save-state (crates/nicaiemu/src/main.rs:114-118). No include_bytes! + --save-state (crates/nicaiemu/src/main.rs:162-166). No include_bytes! data is compiled in. exclusion_note: "No file is read outside the content: the .cbe archive is the only input, the guest filesystem is in-memory, glyphs come from the unifont crate and MIDI is synthesised without a bank, no directory is requested from the frontend, no data is embedded with include_bytes!, and the .info declares firmware_count = 0." diff --git a/emulators/np2kai.yml b/emulators/np2kai.yml index 7412c9b1..bb457ceb 100644 --- a/emulators/np2kai.yml +++ b/emulators/np2kai.yml @@ -4,7 +4,7 @@ core_classification: enhanced_fork source: "https://github.com/libretro/NP2kai" upstream: "https://github.com/AZO234/NP2kai" profiled_date: "2026-03-24" -source_commit: "ac05f003bf44f58a235f5b31de0cd42dabdbf1a8" +source_commit: "1ea561cd7fd62b33f4e7b3f1c2e30fc3e6089f28" core_version: "0.86" display_name: "NEC - PC-98 (Neko Project II Kai)" cores: [np2kai] diff --git a/emulators/nuance.yml b/emulators/nuance.yml index 3c87df49..75e761fa 100644 --- a/emulators/nuance.yml +++ b/emulators/nuance.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/WizzardSK/nuance-libretro" upstream: "https://github.com/andkrau/NuanceResurrection" profiled_date: "2026-09-03" -source_commit: "700d28553f3a06b16385ed9e48f194377e131b03" +source_commit: "daf3ca642756a559ecce91e10da0e73cbad180ff" upstream_commit: "700d28553f3a06b16385ed9e48f194377e131b03" core_version: "0.6.7" display_name: "VM Labs - NUON (Nuance)" @@ -27,7 +27,7 @@ notes: | retro_load_game looks for /nuance/bios.cof and changes the working directory to /nuance when it exists, else to the directory of the - core library when bios.cof sits beside it (src/libretro.cpp:313-352). Every + core library when bios.cof sits beside it (src/libretro.cpp:332-371). Every data file is then opened by bare name from the working directory. InitBios loads bios.cof into MPE3 and MediaInitMPE loads minibios.cof into MPE0 (minibiosX.cof on MPEs 1 to 3). A failed load prints "Missing File!" and @@ -43,10 +43,10 @@ notes: | neither extra section. nuance.cfg is read from the working directory, then from the directory of - the running executable (src/NuonEnvironment.cpp:533-549); without it the + the running executable (src/NuonEnvironment.cpp:547-563); without it the values set in NuonEnvironment::Init apply. The GLSL shaders are opened from the working directory and fall back to the copies compiled into the binary - (src/ShaderProgram.cpp:85-135, src/embedded_shaders.h). FlashEEPROM.bin is + (src/ShaderProgram.cpp:94-144, src/embedded_shaders.h). FlashEEPROM.bin is read by the FlashEEPROM constructor and written by the destructor, both relative to the process working directory at load and unload of the core (src/FlashEEPROM.h:36-51). Game data (nuon.run, nuon.dat) is read from the @@ -61,7 +61,7 @@ files: md5: "23bf80c259f182f582beeb368aba98f5" required: true bundled: true - source_ref: "src/libretro.cpp:313-352, src/NuonEnvironment.cpp:581, src/NuonEnvironment.cpp:603-605, src/bios.cpp:566-582, src/coff.cpp:47-70" + source_ref: "src/libretro.cpp:332-371, src/NuonEnvironment.cpp:595, src/NuonEnvironment.cpp:617-619, src/bios.cpp:566-582, src/coff.cpp:47-70" note: > Loaded into MPE3 by InitBios. The 2007 build shipped in the release archives (19410 bytes, sha1 4f42ed8f5e171cc79112d1c1e201381e83b1fc0d) @@ -102,7 +102,7 @@ files: md5: "20becfdb932042f8ab47c098e92a12ed" required: false bundled: true - source_ref: "src/NuonEnvironment.cpp:533-549, src/NuonEnvironment.cpp:917-1056" + source_ref: "src/NuonEnvironment.cpp:547-563, src/NuonEnvironment.cpp:931-1070" note: > Read from the working directory, then beside the running executable. Absent file leaves the defaults of NuonEnvironment::Init in place. @@ -116,7 +116,7 @@ files: required: false bundled: true has_builtin: true - source_ref: "src/video.cpp:119, src/ShaderProgram.cpp:85-135, src/embedded_shaders.h:31-52" + source_ref: "src/video.cpp:129, src/ShaderProgram.cpp:94-144, src/embedded_shaders.h:31-52" note: > Opened from the working directory; the copy compiled into the binary is used when the file is absent. The release archives ship the file without @@ -131,7 +131,7 @@ files: required: false bundled: true has_builtin: true - source_ref: "src/video.cpp:120, src/ShaderProgram.cpp:85-135, src/embedded_shaders.h:31-52" + source_ref: "src/video.cpp:130, src/ShaderProgram.cpp:94-144, src/embedded_shaders.h:31-52" note: > Selected when UseCRTshader is disabled in nuance.cfg. Same lookup and fallback as video_generic.vs; the release copy is 6090 bytes. @@ -145,7 +145,7 @@ files: required: false bundled: true has_builtin: true - source_ref: "src/video.cpp:120, src/ShaderProgram.cpp:85-135, src/embedded_shaders.h:31-52" + source_ref: "src/video.cpp:130, src/ShaderProgram.cpp:94-144, src/embedded_shaders.h:31-52" note: > Selected when UseCRTshader is enabled, the shipped default. Same lookup and fallback as video_generic.vs; the release copy is 8052 bytes. @@ -170,4 +170,4 @@ files: note: > Read from the working directory by the standalone executables only; NuanceMain.cpp and NuanceMain_linux.cpp are excluded from the libretro - build (CMakeLists.txt:190). + build (CMakeLists.txt:214). diff --git a/emulators/nxengine.yml b/emulators/nxengine.yml index 26d6f3ef..96cf6d87 100644 --- a/emulators/nxengine.yml +++ b/emulators/nxengine.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/libretro/nxengine-libretro" upstream: "https://github.com/Rox64/NXEngine" profiled_date: "2026-03-24" -source_commit: "a1c45fd4d045333f4ea523e556469b545be82b0a" +source_commit: "fd1c0686f8b4c0aea9b5addbc077e3ad7da23bb7" core_version: "1.0.0.6" display_name: "Cave Story (NXEngine)" cores: [nxengine, nx] @@ -17,8 +17,8 @@ notes: | The core requires the freeware Cave Story distribution placed in {system_dir}/nxengine/. When launched without content, it looks for - Doukutsu.exe there (nxengine/libretro/libretro.cpp:273-278). When launched with a .exe - content file, it uses the parent directory of that file (nxengine/libretro/libretro.cpp:256). + Doukutsu.exe there (nxengine/libretro/libretro.cpp:289-294). When launched with a .exe + content file, it uses the parent directory of that file (nxengine/libretro/libretro.cpp:272). At startup (main.cpp:75-90), the core opens Doukutsu.exe and extracts: ORG music (extractorg.c), PXT sound effects (extractpxt.c), stage tile @@ -33,7 +33,7 @@ notes: | The font is compiled-in (bitmap_font.h). The upstream standalone version uses font.ttf via SDL_ttf. - Valid content extension: .exe (nxengine/libretro/libretro.cpp:126). + Valid content extension: .exe (nxengine/libretro/libretro.cpp:142). files: - name: "Doukutsu.exe" @@ -45,7 +45,7 @@ files: size: 1478656 md5: "38695d3d69d7a0ada8178072dad4c58b" sha1: "bb2d0441e073da9c584f23c2ad8c7ab8aac293bf" - source_ref: "main.cpp:77-78 (opened for extraction), nxengine/libretro/libretro.cpp:274 (existence check)" + source_ref: "main.cpp:77-78 (opened for extraction), nxengine/libretro/libretro.cpp:290 (existence check)" note: "Placed in system/nxengine/. The core extracts ORG music, PXT sounds, stage tile attributes, BMP graphics, and wavetable from this binary at each launch." - name: "data/" diff --git a/emulators/openbor.yml b/emulators/openbor.yml index 8b1d6d01..5ac19e10 100644 --- a/emulators/openbor.yml +++ b/emulators/openbor.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/DCurrent/openbor" upstream: "https://github.com/DCurrent/openbor" profiled_date: "2026-08-12" -source_commit: "9d81480f8481fbb9e76b0b5f2a5dfa408376761a" +source_commit: "787b6770409935137579715febf80cf7a529b748" core_version: "4.0 Build 7949" display_name: "OpenBOR Game Engine" cores: diff --git a/emulators/openmsx.yml b/emulators/openmsx.yml index 4e41ab45..f40f8813 100644 --- a/emulators/openmsx.yml +++ b/emulators/openmsx.yml @@ -3,7 +3,7 @@ type: standalone source: "https://github.com/openMSX/openMSX" upstream: "https://github.com/openMSX/openMSX" profiled_date: "2026-03-26" -source_commit: "74b12f3c9305264c36ce45a744b43f4609ae71c7" +source_commit: "50d15b6c5eeba7781d55241f8579339141c9dfb4" core_version: "21.0" display_name: "MSX / ColecoVision / Spectravideo (openMSX)" cores: diff --git a/emulators/opera.yml b/emulators/opera.yml index 0ccaa1c3..1d067dd7 100644 --- a/emulators/opera.yml +++ b/emulators/opera.yml @@ -6,7 +6,7 @@ cores: [opera] source: "https://github.com/libretro/opera-libretro" upstream: "https://sourceforge.net/projects/freedo/" profiled_date: "2026-03-24" -source_commit: "a501a278d057b952d1ad6165549c59ab178ca497" +source_commit: "ea60917d7f8f79a19b46e1d8ecc6eca7be589b6a" core_version: "1.0.0" display_name: "The 3DO Company - 3DO (Opera)" systems: diff --git a/emulators/parallel_n64.yml b/emulators/parallel_n64.yml index 1ddb9e22..86bd5ac4 100644 --- a/emulators/parallel_n64.yml +++ b/emulators/parallel_n64.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/parallel-n64" upstream: "https://github.com/mupen64plus/mupen64plus-core" profiled_date: "2026-03-24" -source_commit: "37605bb45964c7a2695e6301e80f5c6a4feb5558" +source_commit: "0bd516ee793bb87b57e9eef19993b37ac0098d74" core_version: "2.0-rc2" display_name: "Nintendo - Nintendo 64 (ParaLLEl N64)" systems: [nintendo-64, nintendo-64dd] @@ -16,12 +16,12 @@ files: required: false description: "64DD IPL ROM" note: "Only loaded when a 64DD disk image (.ndd) is present via subsystem API. Core fails to load disk games without it." - source_ref: "libretro/libretro.c:848" + source_ref: "libretro/libretro.c:1021" notes: hle_available: true hle_note: > - PIF boot ROM is fully HLE'd (mupen64plus-core/src/device/pif/bootrom_hle.c:48). CIC + PIF boot ROM is fully HLE'd (mupen64plus-core/src/device/pif/bootrom_hle.c:51). CIC challenge/response handled in software (n64_cic_nus_6105.c). No BIOS files needed for standard cartridge games. dd_note: > diff --git a/emulators/pcem.yml b/emulators/pcem.yml index 21ae0162..7418f917 100644 --- a/emulators/pcem.yml +++ b/emulators/pcem.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/libretro-pcem" upstream: "https://github.com/sarah-walker-pcem/pcem" profiled_date: "2026-03-24" -source_commit: "95890058d3cb4b07c455cd1d16e010a115300cee" +source_commit: "e07923e902dcedcf65a502fb3f14e75b9ded5271" core_version: "v11 (PCem-mooch, based on PCem v10.1)" display_name: "PC (PCem)" cores: [pcem] diff --git a/emulators/pcsx2.yml b/emulators/pcsx2.yml index 2d2ed8f0..5d9eae3d 100644 --- a/emulators/pcsx2.yml +++ b/emulators/pcsx2.yml @@ -7,7 +7,7 @@ upstream: "https://github.com/PCSX2/pcsx2" cores: - pcsx2 profiled_date: "2026-03-30" -source_commit: "aaf03c18b677905b3df4568d14efee7f58734049" +source_commit: "81526d4dc7cc70e4ae75abb35a789417456c6d43" core_version: "Git" display_name: "Sony - PlayStation 2 (PCSX2)" systems: [sony-playstation-2] @@ -64,12 +64,12 @@ files: path: pcsx2/resources/cheats_ws.zip required: false mode: libretro - source_ref: "pcsx2/VMManager.cpp:346-359" + source_ref: "pcsx2/VMManager.cpp:348-361" note: "Widescreen patches archive." - name: cheats_ni.zip path: pcsx2/resources/cheats_ni.zip required: false mode: libretro - source_ref: "pcsx2/VMManager.cpp:381-394" + source_ref: "pcsx2/VMManager.cpp:383-396" note: "No-interlacing patches archive." diff --git a/emulators/pcsx2x6.yml b/emulators/pcsx2x6.yml index 8143d0cb..738cd02d 100644 --- a/emulators/pcsx2x6.yml +++ b/emulators/pcsx2x6.yml @@ -5,7 +5,7 @@ bios_mode: agnostic source: "https://github.com/PS2Homebrew-arcade/pcsx2x6" upstream: "https://github.com/PCSX2/pcsx2" profiled_date: "2026-08-08" -source_commit: "55e3b5a46faf0775b59109ba7d2db53d0268ee0f" +source_commit: "583f0e90907d69bb2db670f570d0865260fcc71b" upstream_commit: "5c611f85e13ba250a69c155c678482b219b10d48" core_version: "v0.2.20" display_name: "Namco - System 246 / 256 (PCSX2x6)" diff --git a/emulators/pcsx_rearmed.yml b/emulators/pcsx_rearmed.yml index 74b2499b..85a99a1c 100644 --- a/emulators/pcsx_rearmed.yml +++ b/emulators/pcsx_rearmed.yml @@ -4,7 +4,7 @@ core_classification: embedded_hle source: "https://github.com/libretro/pcsx_rearmed" upstream: "https://github.com/notaz/pcsx_rearmed" profiled_date: "2026-03-25" -source_commit: "05c4dbfa8e4d994820b278345316ce8cbed4209f" +source_commit: "c8816799b50388e61cfe237fe2cdbb7d8175f20a" core_version: "r25" display_name: "Sony - PlayStation (PCSX ReARMed)" cores: [pcsx_rearmed, pcsx_rearmed_neon, pcsx_rearmed_interpreter] @@ -29,7 +29,7 @@ files: required: false hle_fallback: true validation: [size] - source_ref: "frontend/libretro.c:3721-3724 (listed_bios[0])" + source_ref: "frontend/libretro.c:3737-3740 (listed_bios[0])" note: "Preferred JP BIOS, searched first by exact filename." # -- Region: North America (PSX_REGION_US = 0) -- @@ -41,7 +41,7 @@ files: required: false hle_fallback: true validation: [size] - source_ref: "frontend/libretro.c:3721-3724 (listed_bios[1])" + source_ref: "frontend/libretro.c:3737-3740 (listed_bios[1])" note: "Preferred US BIOS, searched first by exact filename." # -- Region: Europe (PSX_REGION_EU = 2) -- @@ -53,7 +53,7 @@ files: required: false hle_fallback: true validation: [size] - source_ref: "frontend/libretro.c:3721-3724 (listed_bios[2])" + source_ref: "frontend/libretro.c:3737-3740 (listed_bios[2])" note: "Preferred EU BIOS, searched first by exact filename." # -- Fallback BIOS filenames (searched in order after scph550x) -- @@ -65,7 +65,7 @@ files: required: false hle_fallback: true validation: [size] - source_ref: "frontend/libretro.c:3721-3724 (listed_bios[3])" + source_ref: "frontend/libretro.c:3737-3740 (listed_bios[3])" note: "Region detected from content at runtime. Must be 512 KB in libretro context." - name: "scph101.bin" @@ -75,7 +75,7 @@ files: required: false hle_fallback: true validation: [size] - source_ref: "frontend/libretro.c:3721-3724 (listed_bios[4])" + source_ref: "frontend/libretro.c:3737-3740 (listed_bios[4])" note: "PSone slim model." - name: "scph7001.bin" @@ -85,7 +85,7 @@ files: required: false hle_fallback: true validation: [size] - source_ref: "frontend/libretro.c:3721-3724 (listed_bios[5])" + source_ref: "frontend/libretro.c:3737-3740 (listed_bios[5])" - name: "scph1001.bin" description: "SCPH-1001 (v2.2 12-04-95 A)" @@ -94,7 +94,7 @@ files: required: false hle_fallback: true validation: [size] - source_ref: "frontend/libretro.c:3721-3724 (listed_bios[6])" + source_ref: "frontend/libretro.c:3737-3740 (listed_bios[6])" note: "Original US model. Last in the explicit filename search list." # -- Dynamic scan fallback -- diff --git a/emulators/picodrive.yml b/emulators/picodrive.yml index 1b0987ad..96c0eff0 100644 --- a/emulators/picodrive.yml +++ b/emulators/picodrive.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/libretro/picodrive" upstream: "https://github.com/irixxxx/picodrive" profiled_date: "2026-03-24" -source_commit: "6248b51ffbe212ce441de023ccea6b10fa4d7082" +source_commit: "1890c2932234c9d30f4cd3851d02228baae8f09e" core_version: "1.99" display_name: "Sega - MS/GG/MD/CD/32X (PicoDrive)" cores: [picodrive] @@ -30,16 +30,16 @@ notes: | 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:1264-1328): + BIOS filename search order (platform/libretro/libretro.c:1272-1336): 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 engine has built-in HLE that generates replacement code at startup when the BIOS - pointers are NULL (pico/32x/memory.c:2200 get_bios(), pico/32x/32x.c:172). + pointers are NULL (pico/32x/memory.c:2202 get_bios(), pico/32x/32x.c:172). No current frontend (libretro or standalone) loads these files; the standalone - loading code is disabled (#if 0 in platform/common/emu.c:1529). + loading code is disabled (#if 0 in platform/common/emu.c:1530). carthw.cfg is a cartridge hardware database loaded from the system directory. A built-in version is compiled into the core (pico/carthw_cfg.c). The external @@ -57,7 +57,7 @@ files: - name: "carthw.cfg" required: false note: "Cartridge hardware database for special mapper and EEPROM detection. Built-in fallback compiled into the core." - source_ref: "platform/libretro/libretro.c:1619, pico/cart.c:1020-1022" + source_ref: "platform/libretro/libretro.c:1627, pico/cart.c:1020-1022" # ------------------------------------------------------- # Mega CD / Sega CD - US region @@ -69,7 +69,7 @@ files: 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:1265" + source_ref: "platform/libretro/libretro.c:1273" - name: "SegaCDBIOS9303.bin" system: sega-segacd @@ -78,7 +78,7 @@ files: required: false size: 131072 note: "US Sega CD BIOS (March 1993). Second in US search order." - source_ref: "platform/libretro/libretro.c:1265" + source_ref: "platform/libretro/libretro.c:1273" - name: "us_scd1_9210.bin" system: sega-segacd @@ -87,7 +87,7 @@ files: required: false size: 131072 note: "US Sega CD Model 1 BIOS (October 1992). Third in US search order." - source_ref: "platform/libretro/libretro.c:1265" + source_ref: "platform/libretro/libretro.c:1273" - name: "bios_CD_U.bin" system: sega-segacd @@ -96,7 +96,7 @@ files: required: false size: 131072 note: "US Sega CD BIOS (generic name). Last in US search order." - source_ref: "platform/libretro/libretro.c:1265" + source_ref: "platform/libretro/libretro.c:1273" # ------------------------------------------------------- # Mega CD / Sega CD - EU region @@ -108,7 +108,7 @@ files: required: true size: 131072 note: "EU Mega CD Model 2 BIOS (June 1993). First in EU search order." - source_ref: "platform/libretro/libretro.c:1268" + source_ref: "platform/libretro/libretro.c:1276" - name: "eu_mcd2_9303.bin" system: sega-megacd @@ -117,7 +117,7 @@ files: required: false size: 131072 note: "EU Mega CD Model 2 BIOS (March 1993). Second in EU search order." - source_ref: "platform/libretro/libretro.c:1268" + source_ref: "platform/libretro/libretro.c:1276" - name: "eu_mcd1_9210.bin" system: sega-megacd @@ -126,7 +126,7 @@ files: required: false size: 131072 note: "EU Mega CD Model 1 BIOS (October 1992). Third in EU search order." - source_ref: "platform/libretro/libretro.c:1268" + source_ref: "platform/libretro/libretro.c:1276" - name: "bios_CD_E.bin" system: sega-megacd @@ -135,7 +135,7 @@ files: required: false size: 131072 note: "EU Mega CD BIOS (generic name). Last in EU search order." - source_ref: "platform/libretro/libretro.c:1268" + source_ref: "platform/libretro/libretro.c:1276" # ------------------------------------------------------- # Mega CD / Sega CD - JP region @@ -147,7 +147,7 @@ files: required: true size: 131072 note: "JP Mega CD Model 2 BIOS (December 1992). First in JP search order." - source_ref: "platform/libretro/libretro.c:1271" + source_ref: "platform/libretro/libretro.c:1279" - name: "jp_mcd1_9112.bin" system: sega-megacd @@ -156,7 +156,7 @@ files: required: false size: 131072 note: "JP Mega CD Model 1 BIOS (December 1991). Second in JP search order." - source_ref: "platform/libretro/libretro.c:1271" + source_ref: "platform/libretro/libretro.c:1279" - name: "jp_mcd1_9111.bin" system: sega-megacd @@ -165,7 +165,7 @@ files: required: false size: 131072 note: "JP Mega CD Model 1 BIOS (November 1991). Third in JP search order." - source_ref: "platform/libretro/libretro.c:1271" + source_ref: "platform/libretro/libretro.c:1279" - name: "bios_CD_J.bin" system: sega-megacd @@ -174,7 +174,7 @@ files: required: false size: 131072 note: "JP Mega CD BIOS (generic name). Last in JP search order." - source_ref: "platform/libretro/libretro.c:1271" + source_ref: "platform/libretro/libretro.c:1279" # ------------------------------------------------------- # Sega 32X - HLE available, no frontend loads these @@ -185,7 +185,7 @@ files: hle_fallback: true size: 256 # 0x100 note: "32X 68K (Genesis-side) BIOS. HLE replacement generated when NULL." - source_ref: "pico/32x/memory.c:2206-2243" + source_ref: "pico/32x/memory.c:2208-2245" - name: "32X_M_BIOS.BIN" system: sega-32x @@ -193,7 +193,7 @@ files: hle_fallback: true size: 2048 # 0x800 note: "32X Master SH2 BIOS. HLE replacement generated when NULL." - source_ref: "pico/32x/memory.c:2249-2276" + source_ref: "pico/32x/memory.c:2251-2278" - name: "32X_S_BIOS.BIN" system: sega-32x @@ -201,7 +201,7 @@ files: hle_fallback: true size: 1024 # 0x400 note: "32X Slave SH2 BIOS. HLE replacement generated when NULL." - source_ref: "pico/32x/memory.c:2279-2297" + source_ref: "pico/32x/memory.c:2281-2299" platform_details: megacd: @@ -209,7 +209,7 @@ platform_details: hle_available: false region_specific: true extensions_tried: [".bin", ".zip"] - source_ref: "pico/pico_int.h:559, platform/libretro/libretro.c:1309-1317" + source_ref: "pico/pico_int.h:559, platform/libretro/libretro.c:1317-1325" 32x: m68k_bios_size: 256 # 0x100 diff --git a/emulators/prboom.yml b/emulators/prboom.yml index da38be46..ddc9e3d1 100644 --- a/emulators/prboom.yml +++ b/emulators/prboom.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/libretro/libretro-prboom" upstream: "http://prboom.sourceforge.net/" profiled_date: "2026-03-24" -source_commit: "b4046cef3641d6bb28c0394915bfcc732cc49652" +source_commit: "b3e47ff5dec483d788e068e7b7fe21be700b5048" core_version: "v2.5.0" display_name: "Doom (PrBoom)" cores: [prboom] @@ -23,7 +23,7 @@ notes: | in the repository root. Without prboom.wad the core falls back to hardcoded internal defaults - (src/d_main.c:1084-1085), so the file is technically optional but expected + (src/d_main.c:1109-1110), so the file is technically optional but expected for correct rendering of menus, HUD digits, and extended features. File search order (libretro.c I_FindFile, line 1742): @@ -33,7 +33,7 @@ notes: | 4. Parent folders of WAD directory (recursive, if enabled) The core accepts .wad, .iwad, .pwad, and .lmp extensions. Game IWADs - it recognizes (src/d_main.c:141-153): doom2f.wad, doom2.wad, plutonia.wad, + it recognizes (src/d_main.c:147-159): doom2f.wad, doom2.wad, plutonia.wad, tnt.wad, freedoom2.wad, doom.wad, doomu.wad, freedoom1.wad, freedoom.wad, doom1.wad. @@ -51,5 +51,5 @@ files: md5: "72ae1b47820fcc93cc0df9c428d0face" sha1: "5f4aed208301449c2e9514edfd325fe9dead76fa" crc32: "a5751b99" - source_ref: "src/d_main.c:1413-1451 (PACKAGE .wad load), libretro/libretro.c:4053-4129 (I_FindFile search), src/config.h:39 (PACKAGE=prboom)" + source_ref: "src/d_main.c:1438-1476 (PACKAGE .wad load), libretro/libretro.c:4254-4330 (I_FindFile search), src/config.h:39 (PACKAGE=prboom)" note: "Searched in system/prboom/ then system/. Falls back to internal defaults if missing, but menus and HUD may render incorrectly without it." diff --git a/emulators/project64.yml b/emulators/project64.yml index df050619..25654626 100644 --- a/emulators/project64.yml +++ b/emulators/project64.yml @@ -4,7 +4,7 @@ core_classification: other source: "https://github.com/project64/project64" upstream: "https://github.com/project64/project64" profiled_date: "2026-08-12" -source_commit: "7720a946203e67db58fbf27e23b6dc193e3cf485" +source_commit: "24376e868350792a181d2121fec20d37354559d6" core_version: "Dev-4.0.0" display_name: "Nintendo - Nintendo 64 (Project64)" cores: diff --git a/emulators/puae.yml b/emulators/puae.yml index 49b36c79..91a9f1b9 100644 --- a/emulators/puae.yml +++ b/emulators/puae.yml @@ -5,7 +5,7 @@ cores: [puae, uae] source: "https://github.com/libretro/libretro-uae" upstream: "https://github.com/GnoStiC/PUAE" profiled_date: "2026-03-24" -source_commit: "96ebfcfc2c66233ad37f6dc99ee991211dc719ad" +source_commit: "6536174a80d74e6c325aaa5390ff091fac8761d0" core_version: "5.3.1" display_name: "Commodore - Amiga (PUAE)" systems: @@ -56,7 +56,7 @@ notes: | 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:5611-5751, + Source: libretro/libretro-core.h:140-245, libretro/libretro-core.c:5612-5752, libretro/libretro-core.c:6044-6093 files: @@ -243,14 +243,14 @@ files: system: commodore-amiga required: false note: "Amiga Forever ROM decryption key. Copied to saves/WHDLoad/Devs/Kickstarts/ for WHDLoad." - source_ref: "libretro/libretro-core.c:5968-5979" + source_ref: "libretro/libretro-core.c:5969-5980" - name: "WHDLoad.key" system: commodore-amiga required: false unsourceable: "per-user signed registration key, never distributed generically, WHDLoad free since v18.2" note: "WHDLoad license key. Copied to saves/WHDLoad/L/ for registered WHDLoad use." - source_ref: "libretro/libretro-core.c:5984-5997" + source_ref: "libretro/libretro-core.c:5985-5998" - name: "WHDLoad.prefs" system: commodore-amiga @@ -290,4 +290,4 @@ platform_details: 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:2650-2677" + source_ref: "libretro/libretro-core.c:2651-2678" diff --git a/emulators/puae2021.yml b/emulators/puae2021.yml index 0012f6c9..8584e3fe 100644 --- a/emulators/puae2021.yml +++ b/emulators/puae2021.yml @@ -5,7 +5,7 @@ cores: [puae2021] source: "https://github.com/libretro/libretro-uae/tree/2.6.1" upstream: "https://github.com/GnoStiC/PUAE" profiled_date: "2026-03-24" -source_commit: "96ebfcfc2c66233ad37f6dc99ee991211dc719ad" +source_commit: "297b34777372fd5f117785798f99b4c7433b6034" core_version: "2.6.1" display_name: "Commodore - Amiga (PUAE 2021)" systems: @@ -60,8 +60,8 @@ notes: | 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:5459-5625, - libretro/libretro-core.c:5711-5870 + Source: libretro/libretro-core.h:140-245, libretro/libretro-core.c:5384-5550, + libretro/libretro-core.c:5636-5795 files: # ------------------------------------------------------- @@ -247,20 +247,20 @@ files: system: commodore-amiga required: false note: "Amiga Forever ROM decryption key. Copied to saves/WHDLoad/Devs/Kickstarts/ for WHDLoad." - source_ref: "libretro/libretro-core.c:5810-5821" + source_ref: "libretro/libretro-core.c:5735-5746" - name: "WHDLoad.key" system: commodore-amiga required: false unsourceable: "per-user signed registration key, never distributed generically, WHDLoad free since v18.2" note: "WHDLoad license key. Copied to saves/WHDLoad/L/ for registered WHDLoad use." - source_ref: "libretro/libretro-core.c:5826-5839" + source_ref: "libretro/libretro-core.c:5751-5764" - name: "WHDLoad.prefs" system: commodore-amiga required: false note: "WHDLoad preferences. Copied to saves/WHDLoad/S/ when present." - source_ref: "libretro/libretro-core.c:5843-5866" + source_ref: "libretro/libretro-core.c:5768-5791" model_kickstart_map: A500: {kickstart: "kick34005.A500", ext: null} @@ -294,4 +294,4 @@ platform_details: 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:2597-2636" + source_ref: "libretro/libretro-core.c:2577-2616" diff --git a/emulators/quasi88.yml b/emulators/quasi88.yml index c77d39f3..e140748d 100644 --- a/emulators/quasi88.yml +++ b/emulators/quasi88.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/quasi88-libretro" upstream: "https://www.retropc.net/showzoh/quasi88/" profiled_date: "2026-03-29" -source_commit: "b5a0e044a914c9a6b8d7b2dd2ddd152f93d35687" +source_commit: "46d9cbd59a48ea4b330911e93740817783e0694e" core_version: "0.6.4" display_name: "NEC - PC-8000 / PC-8800 series (QUASI88)" cores: diff --git a/emulators/rpcs3.yml b/emulators/rpcs3.yml index 1d44399d..1d0c5500 100644 --- a/emulators/rpcs3.yml +++ b/emulators/rpcs3.yml @@ -6,7 +6,7 @@ upstream: "https://github.com/RPCS3/rpcs3" cores: - rpcs3 profiled_date: "2026-03-30" -source_commit: "de6c1b526d930e938b06b237731cbbf491076783" +source_commit: "46aee28f85b9cecc8fd0e5dee0c771f9c88cd27a" core_version: "0.0.35" display_name: "Sony - PlayStation 3 (RPCS3)" systems: [sony-playstation-3] @@ -23,7 +23,7 @@ dev_flash: # -- sys/external/ : LLE firmware SPRX modules -- sys_external: path: "dev_flash/sys/external/" - source_ref: "rpcs3/Emu/Cell/PPUModule.cpp:2579" + source_ref: "rpcs3/Emu/Cell/PPUModule.cpp:2674" note: > Primary firmware module directory. Contains decrypted .sprx modules loaded by liblv2.sprx at boot. RPCS3 can run these via LLE (low-level emulation) or fall @@ -176,7 +176,7 @@ dev_flash: # -- vsh/ : Visual Shell (XMB) -- vsh: path: "dev_flash/vsh/" - source_ref: "rpcs3/rpcs3qt/main_window.cpp:276, rpcs3/rpcs3qt/main_window.cpp:750" + source_ref: "rpcs3/rpcs3qt/main_window.cpp:275, rpcs3/rpcs3qt/main_window.cpp:684" note: "PS3 XMB interface. vsh.self is the main executable, booted via 'Boot VSH' menu." files: - path: "vsh/module/vsh.self" @@ -236,7 +236,7 @@ dev_flash: # -- ps1emu/ : PS1 backward compatibility -- ps1emu: path: "dev_flash/ps1emu/" - source_ref: "rpcs3/Emu/System.cpp:2190" + source_ref: "rpcs3/Emu/System.cpp:2241" note: "PS1 Classics emulator. Booted when running PS1 game via ps1_newemu.self" files: - {name: "ps1_newemu.self", purpose: "PS1 emulator binary"} @@ -252,7 +252,7 @@ dev_flash: # -- pspemu/ : PSP backward compatibility -- pspemu: path: "dev_flash/pspemu/" - source_ref: "rpcs3/Emu/System.cpp:2218, rpcs3/Crypto/key_vault.h:285-290" + source_ref: "rpcs3/Emu/System.cpp:2269, rpcs3/Crypto/key_vault.h:285-290" note: "PSP emulator for PS3. Contains psp_emulator.self, psp_translator.self, and release/*.sprx" files: - {name: "psp_emulator.self", purpose: "PSP emulator main binary"} @@ -274,14 +274,14 @@ dev_flash2: path: "dev_flash2/" filesystem: "CELL_FS_FAT" device: "CELL_FS_IOS:BUILTIN_FLSH2" - source_ref: "rpcs3/Emu/Cell/lv2/sys_fs.cpp:29" + source_ref: "rpcs3/Emu/Cell/lv2/sys_fs.cpp:30" note: "Second flash partition, used for additional system data" dev_flash3: path: "dev_flash3/" filesystem: "CELL_FS_FAT" device: "CELL_FS_IOS:BUILTIN_FLSH3" - source_ref: "rpcs3/Emu/Cell/lv2/sys_fs.cpp:28" + source_ref: "rpcs3/Emu/Cell/lv2/sys_fs.cpp:29" note: "Third flash partition" notes: | diff --git a/emulators/rust_dos.yml b/emulators/rust_dos.yml index 0257c18d..912c1db4 100644 --- a/emulators/rust_dos.yml +++ b/emulators/rust_dos.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://git.libretro.com/libretro/rust-dos" upstream: "https://github.com/dividebysandwich/rust-dos" profiled_date: "2026-10-04" -source_commit: "9a5df84571a6a8442df4ef4d55e2a5c92add6421" +source_commit: "12d8fe849f737b92d0b03b4db79cacc7ba898fab" core_version: "1.3.0" display_name: "DOS (Rust-DOS)" cores: diff --git a/emulators/rvvm.yml b/emulators/rvvm.yml index 46ad597e..43fa07c6 100644 --- a/emulators/rvvm.yml +++ b/emulators/rvvm.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/LekKit/RVVM" upstream: "https://github.com/LekKit/RVVM" profiled_date: "2026-03-25" -source_commit: "a662c0edd507b4e04f20d44490c514b683007ae7" +source_commit: "d6eae2ed964ee9c65f846be657a93cd100d072a7" core_version: "0.6-git" display_name: "RVVM" cores: [rvvm] @@ -45,7 +45,7 @@ files: - name: "fw_payload.bin" path: "rvvm/fw_payload.bin" required: true - source_ref: "src/bindings/libretro/libretro.c:309-314, src/core/rvvm.c:625-632" + source_ref: "src/bindings/libretro/libretro.c:309-314, src/core/rvvm.c:628-635" note: > M-mode firmware loaded at 0x80000000. Typically OpenSBI with U-Boot payload (fw_payload.bin) or standalone (fw_jump.bin). Referenced by @@ -54,7 +54,7 @@ files: - name: "Image" path: "rvvm/Image" required: false - source_ref: "src/bindings/libretro/libretro.c:316-318, src/core/rvvm.c:634-642" + source_ref: "src/bindings/libretro/libretro.c:316-318, src/core/rvvm.c:637-645" note: > S-mode kernel payload loaded at offset 0x200000 (rv64) or 0x400000 (rv32) from RAM base. Only needed with fw_jump.bin as bootrom. @@ -64,7 +64,7 @@ files: path: "rvvm/machine.dtb" required: false mode: standalone - source_ref: "src/main.c:214, src/core/rvvm.c:645-652" + source_ref: "src/main.c:220, src/core/rvvm.c:648-655" note: > Custom Flattened Device Tree. The core auto-generates a DTB based on machine configuration. The libretro binding does not parse a dtb= key diff --git a/emulators/scummvm.yml b/emulators/scummvm.yml index ec04a26a..25ff3771 100644 --- a/emulators/scummvm.yml +++ b/emulators/scummvm.yml @@ -5,7 +5,7 @@ source: "https://github.com/libretro/scummvm" upstream: "https://github.com/scummvm/scummvm" logo: "https://raw.githubusercontent.com/scummvm/scummvm/master/icons/scummvm.svg" profiled_date: "2026-03-25" -source_commit: "c3f4936d1ba2af178816cc9bb06087025e4a2bea" +source_commit: "fcbce3ae815269dacdc309092bc92ccc6d3e13bb" core_version: "2.8.0git" display_name: "ScummVM" cores: [scummvm] @@ -89,7 +89,7 @@ files: - name: "Roland_SC-55.sf2" path: "scummvm/extra/Roland_SC-55.sf2" required: false - source_ref: "backends/platform/libretro/include/libretro-defs.h:32, backends/platform/libretro/src/libretro-os-utils.cpp:194-196" + source_ref: "backends/platform/libretro/include/libretro-defs.h:32, backends/platform/libretro/src/libretro-os-utils.cpp:213-215" note: > Roland SC-55 SoundFont for General MIDI playback. This is the default soundfont (DEFAULT_SOUNDFONT_FILENAME). Bundled in official ScummVM diff --git a/emulators/shadps4.yml b/emulators/shadps4.yml index c63d6929..860165de 100644 --- a/emulators/shadps4.yml +++ b/emulators/shadps4.yml @@ -3,7 +3,7 @@ type: standalone source: "https://github.com/shadps4-emu/shadPS4" upstream: "https://github.com/shadps4-emu/shadPS4" profiled_date: "2026-03-26" -source_commit: "97c8feab184a9a5d358b36a46ee754584ac83b92" +source_commit: "f73709cada28e77523e37806fee5c454711d24ba" core_version: "pre-release 2026-08-08" display_name: "shadPS4 (PlayStation 4)" cores: diff --git a/emulators/smsplus.yml b/emulators/smsplus.yml index fafb0cc3..c3fde4cc 100644 --- a/emulators/smsplus.yml +++ b/emulators/smsplus.yml @@ -4,7 +4,7 @@ core_classification: enhanced_fork source: "https://github.com/libretro/smsplus-gx" upstream: "https://github.com/ekeeke/smsplus-gx" profiled_date: "2026-03-25" -source_commit: "c642bbd0680b5959180a420036108893d0aec961" +source_commit: "3844b46caa926b6494987b97da63092818c4ddef" core_version: "1.8" display_name: "Sega - MS/GG (SMS Plus GX)" cores: @@ -23,7 +23,7 @@ notes: | Standalone ports also support Sord M5 (behind SORDM5_EMU compile flag, not compiled in libretro build). - BIOS loading in bios_init() (source/ports/libretro/smsplus_libretro.c:211-260). bios.sms is + BIOS loading in bios_init() (source/ports/libretro/smsplus_libretro.c:219-268). bios.sms is always attempted but only activated when core option smsplus_sms_bios is "auto" (default: disabled). BIOS.col is loaded only for ColecoVision ROMs and required for them. Standalone ports use BIOS.sms (uppercase) @@ -39,7 +39,7 @@ files: description: "Sega Master System boot ROM" required: false aliases: ["BIOS.sms"] - source_ref: "source/ports/libretro/smsplus_libretro.c:219-237" + source_ref: "source/ports/libretro/smsplus_libretro.c:227-245" note: | Loaded into bios.rom (up to 1 MB allocated). Only active when core option smsplus_sms_bios is "auto". Displays SMS startup screen @@ -50,7 +50,7 @@ files: description: "ColecoVision BIOS ROM" required: true size: 8192 - source_ref: "source/ports/libretro/smsplus_libretro.c:240-256" + source_ref: "source/ports/libretro/smsplus_libretro.c:248-264" note: | Required for ColecoVision games. Read as 0x2000 (8192) bytes into coleco.rom. Without this file, retro_load_game() returns false for diff --git a/emulators/snes9x.yml b/emulators/snes9x.yml index 17bf37ca..786c27c9 100644 --- a/emulators/snes9x.yml +++ b/emulators/snes9x.yml @@ -5,7 +5,7 @@ source: "https://github.com/libretro/snes9x" upstream: "https://github.com/snes9xgit/snes9x" logo: "https://raw.githubusercontent.com/snes9xgit/snes9x/master/gtk/data/snes9x.svg" profiled_date: "2026-03-25" -source_commit: "890b5d445538fe790aa3add3d5702c80f551e0ae" +source_commit: "fae2fea08f74180759ef540ee94259213f503480" core_version: "1.61" display_name: "Nintendo - SNES / SFC (Snes9x)" systems: [nintendo-snes, nintendo-satellaview, nintendo-sufami-turbo] diff --git a/emulators/snes9x2002.yml b/emulators/snes9x2002.yml index f5ba71aa..76abd1bc 100644 --- a/emulators/snes9x2002.yml +++ b/emulators/snes9x2002.yml @@ -4,7 +4,7 @@ core_classification: frozen_snapshot source: "https://github.com/libretro/snes9x2002" upstream: "https://github.com/snes9xgit/snes9x" profiled_date: "2026-03-25" -source_commit: "5bd8bd6d449be8a2ef7909e1aeb2bd8c9c0da8cb" +source_commit: "6ffbf9ef4f0063e1f1b78a40d10c50fc52f2524c" core_version: "7.2.0" display_name: "Nintendo - SNES / SFC (Snes9x 2002)" cores: diff --git a/emulators/snes9x2005.yml b/emulators/snes9x2005.yml index 1895dcd1..1e0f3963 100644 --- a/emulators/snes9x2005.yml +++ b/emulators/snes9x2005.yml @@ -4,7 +4,7 @@ core_classification: frozen_snapshot source: "https://github.com/libretro/snes9x2005" upstream: "https://github.com/ShadauxCat/CATSFC" profiled_date: "2026-03-25" -source_commit: "deb49d80d1836e3e737480a326e31a54c46c04ae" +source_commit: "a79dfe9047e7fec58808aefe48ad2bf499c7af11" core_version: "v1.36" display_name: "Nintendo - SNES / SFC (Snes9x 2005)" cores: diff --git a/emulators/snes9x2005_plus.yml b/emulators/snes9x2005_plus.yml index 7ae72149..c779dc7e 100644 --- a/emulators/snes9x2005_plus.yml +++ b/emulators/snes9x2005_plus.yml @@ -4,7 +4,7 @@ core_classification: frozen_snapshot source: "https://github.com/libretro/snes9x2005" upstream: "https://github.com/ShadauxCat/CATSFC" profiled_date: "2026-03-25" -source_commit: "deb49d80d1836e3e737480a326e31a54c46c04ae" +source_commit: "a79dfe9047e7fec58808aefe48ad2bf499c7af11" core_version: "v1.36" display_name: "Nintendo - SNES / SFC (Snes9x 2005 Plus)" cores: diff --git a/emulators/snes9x2010.yml b/emulators/snes9x2010.yml index a2081f31..202fc3fc 100644 --- a/emulators/snes9x2010.yml +++ b/emulators/snes9x2010.yml @@ -4,7 +4,7 @@ core_classification: frozen_snapshot source: "https://github.com/libretro/snes9x2010" upstream: "https://github.com/snes9xgit/snes9x" profiled_date: "2026-03-25" -source_commit: "7db129b1ecdccb38cb4d7184bcbed39beed79656" +source_commit: "fe690dd321fa5a46b5234a2bde089d2518c62b0e" core_version: "v1.52.4" display_name: "Nintendo - SNES / SFC (Snes9x 2010)" cores: @@ -17,7 +17,7 @@ systems: notes: | Frozen snapshot of Snes9x 1.52.4, rewritten in C with optimizations for PS3 (originally called SNES9x Next). - SPC700 IPL ROM (64 bytes) embedded in src/apu.c:3643 as APUROM[64]. + SPC700 IPL ROM (64 bytes) embedded in src/apu.c:3662 as APUROM[64]. DSP-1 ROM data (1024 x uint16) embedded in src/dsp.c:219 as DSP1ROM[1024]. All coprocessors (DSP-1/2/3/4, CX4, ST010/011/018, SuperFX, SPC7110, SA-1, S-DD1, S-RTC, OBC-1) are pure HLE. diff --git a/emulators/solarus.yml b/emulators/solarus.yml index 59b7f8dd..610a4f60 100644 --- a/emulators/solarus.yml +++ b/emulators/solarus.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://gitlab.com/solarus-games/solarus" upstream: "https://gitlab.com/solarus-games/solarus" profiled_date: "2026-08-08" -source_commit: "9cafa994b10f64ce2cad8a34c9da062feab6002d" +source_commit: "a0b5d4c966bf3f4daec2efc879378d4cf1b62ca7" core_version: "2.2.0" display_name: "Solarus Game Engine" cores: @@ -23,34 +23,34 @@ notes: | The quest arrives as the content argument. get_quest_path takes the last non-option argv and otherwise falls back to SOLARUS_DEFAULT_QUEST, which - defaults to "." (MainLoop.cpp:108-121, cmake/AddOptions.cmake:8, + defaults to "." (src/core/MainLoop.cpp:108-121, cmake/AddOptions.cmake:8, include/solarus/core/Common.h:119-123). open_quest mounts that path through PhysFS directly, then tries /data, /data.solarus and /data.solarus.zip, each both - relative and under PHYSFS_getBaseDir (QuestFiles.cpp:151-165), and the quest - counts as found once quest.dat resolves (QuestFiles.cpp:228-233). The rest + relative and under PHYSFS_getBaseDir (src/core/QuestFiles.cpp:151-165), and the quest + counts as found once quest.dat resolves (src/core/QuestFiles.cpp:228-233). The rest comes out of that mount: quest.dat and project_db.dat - (CurrentQuest.cpp:44,49), fonts under fonts/ as .png, .ttf, .otf, .ttc or .fon - (FontResource.cpp:65-101), shaders under shaders/ (Shader.cpp:113), tilesets, - sprites and music (Tileset.cpp:156-174, SpriteAnimationSet.cpp:48, - MusicSystem.cpp:136-142). + (src/core/CurrentQuest.cpp:44,49), fonts under fonts/ as .png, .ttf, .otf, .ttc or .fon + (src/core/FontResource.cpp:65-101), shaders under shaders/ (src/graphics/Shader.cpp:113), tilesets, + sprites and music (src/entities/Tileset.cpp:156-174, src/graphics/SpriteAnimationSet.cpp:48, + src/audio/MusicSystem.cpp:136-142). Startup reads one file from outside the quest. System::initialize probes SDL_GetBasePath() then SOLARUS_DATADIR_PATH for gamecontrollerdb.txt and hands whichever it finds to SDL through SDL_HINT_GAMECONTROLLERCONFIG_FILE - (System.cpp:71-99). The GLSL fallbacks are raw string literals in - DefaultShaders.h:57,114, and glad, hqx and snes_spc compile in from + (src/core/System.cpp:71-99). The GLSL fallbacks are raw string literals in + include/solarus/graphics/DefaultShaders.h:57,114, and glad, hqx and snes_spc compile in from third_party/. Files the engine writes rather than expects: settings.dat and savegames under - the quest write directory named in quest.dat (Settings.cpp:149-166,240-280, - Savegame.cpp:114), the write root from SDL_GetPrefPath (src/core/QuestFiles.cpp:721), - and error.txt under SOLARUS_FILE_LOGGING (Logger.cpp:29-45). Batocera's + the quest write directory named in quest.dat (src/core/Settings.cpp:183-200,274-314, + src/core/Savegame.cpp:132), the write root from SDL_GetPrefPath (src/core/QuestFiles.cpp:721), + and error.txt under SOLARUS_FILE_LOGGING (src/core/Logger.cpp:29-45). Batocera's 002-pad.patch adds a read of /userdata/system/configs/solarus/pads.ini, which its own generator rewrites at every launch. The editor and launcher subtrees build separately from the root CMakeLists, which adds only cli/, tests/ and third_party/, and their assets are Qt resources compiled into those binaries - (editor/cmake/AddQtFiles.cmake:46-50, launcher/cmake/addTarget.cmake:30). + (editor/cmake/AddQtFiles.cmake:47-51, launcher/cmake/addTarget.cmake:30). files: - name: gamecontrollerdb.txt diff --git a/emulators/spmp8000emu.yml b/emulators/spmp8000emu.yml index 8aea3db3..9dabbadc 100644 --- a/emulators/spmp8000emu.yml +++ b/emulators/spmp8000emu.yml @@ -4,7 +4,7 @@ core_classification: pure_libretro source: "https://github.com/AloysHF/SPMP8000Emu" upstream: "https://github.com/AloysHF/SPMP8000Emu" profiled_date: "2026-09-03" -source_commit: "350c965a9909c4515eeebd190a2a57d2d5bf707a" +source_commit: "b0107b237a0b4e9231adebc7af1521726990b9ab" core_version: "1.0.0" display_name: "Sunplus - SPMP8000 (SPMP8000Emu)" cores: diff --git a/emulators/squirreljme.yml b/emulators/squirreljme.yml index 582c2793..6afddb4f 100644 --- a/emulators/squirreljme.yml +++ b/emulators/squirreljme.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/SquirrelJME/SquirrelJME" upstream: "https://github.com/SquirrelJME/SquirrelJME" profiled_date: "2026-03-25" -source_commit: "b283f27c70b842dbb34bb91f704bfeb7dc5f3e16" +source_commit: "4d7334cf922c8f5abfc94a8d4fc941d350e49914" core_version: "0.3.0" display_name: "Java ME (SquirrelJME)" cores: [squirreljme] diff --git a/emulators/ssf.yml b/emulators/ssf.yml index e0f2e725..439ab2e5 100644 --- a/emulators/ssf.yml +++ b/emulators/ssf.yml @@ -5,6 +5,7 @@ source: "https://github.com/shimazzz/SEGASaturnEmulator-SSF" upstream: closed-source author: "Shima" profiled_date: "2026-08-12" +source_commit: "432e257c312f705d5f85f298710d152240111da8" core_version: "PreviewVer R38" display_name: "Sega - Saturn/ST-V (SSF)" cores: diff --git a/emulators/starboard.yml b/emulators/starboard.yml index 134efcee..018503f9 100644 --- a/emulators/starboard.yml +++ b/emulators/starboard.yml @@ -5,6 +5,7 @@ source: "https://github.com/get-starboard/starboard" upstream: closed-source author: "force9" profiled_date: "2026-08-12" +source_commit: "d3a21a9aaeabb90e59d7a48241b293dba3ee9309" core_version: "0.23.0" display_name: "PortMaster library (Starboard)" verification: existence diff --git a/emulators/stella2014.yml b/emulators/stella2014.yml index 76521ab4..a03e4937 100644 --- a/emulators/stella2014.yml +++ b/emulators/stella2014.yml @@ -4,7 +4,7 @@ core_classification: frozen_snapshot source: "https://github.com/libretro/stella2014-libretro" upstream: "https://github.com/stella-emu/stella" profiled_date: "2026-03-25" -source_commit: "4a7da82595d27b8df7af1ecb467a64b642a41bc9" +source_commit: "7d1361e407e63f29e52892655069e5fb4096e691" core_version: "3.9.3" display_name: "Atari - 2600 (Stella 2014)" cores: @@ -15,12 +15,12 @@ systems: notes: | Frozen snapshot of Stella 3.9.3. The Atari 2600 has no BIOS ROM; the TIA, RIOT, and 6507 CPU are fully emulated in software. The SuperCharger (Starpath) - BIOS is emulated via a built-in dummy ROM (ourDummyROMCode in CartAR.cxx:518). + BIOS is emulated via a built-in dummy ROM (ourDummyROMCode in stella/src/emucore/CartAR.cxx:518). Game properties database (stella.pro) is compiled into DefProps.hxx; external - loading is disabled in the libretro port (PropsSet.cxx:35). The core does not + loading is disabled in the libretro port (stella/src/emucore/PropsSet.cxx:35). The core does not call GET_SYSTEM_DIRECTORY. KidVid Voice Module audio tapes (7 WAV files) are loaded via rfopen with relative filenames from the content directory - (KidVid.cxx:166-185); absence is handled gracefully. EEPROM save data for + (stella/src/emucore/KidVid.cxx:166-185); absence is handled gracefully. EEPROM save data for AtariVox and SaveKey peripherals is managed as NVRAM, not user-supplied. files: diff --git a/emulators/swanstation.yml b/emulators/swanstation.yml index 764850c6..2e2a9d85 100644 --- a/emulators/swanstation.yml +++ b/emulators/swanstation.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/swanstation" upstream: "https://github.com/stenzek/duckstation" profiled_date: "2026-03-25" -source_commit: "7f69c199ed88d5723f71dd3a6e9c1b7a45b535a6" +source_commit: "b6c30a7b270a3f68ac41f268eafdfa678d17dea2" core_version: "v0.1" display_name: "Sony - PlayStation (SwanStation)" cores: [swanstation] diff --git a/emulators/testgl_ff.yml b/emulators/testgl_ff.yml index 51854f55..7eefa200 100644 --- a/emulators/testgl_ff.yml +++ b/emulators/testgl_ff.yml @@ -5,7 +5,7 @@ source: "https://github.com/libretro/libretro-samples" upstream: null source_ref: "video/opengl/libretro_test_gl_fixedfunction/libretro_gl_ff_test.c" profiled_date: "2026-03-25" -source_commit: "caebf22a8d7ea12b353f2b44f4040f77c97fd7f8" +source_commit: "7c2ad112d7a5176de2191e473369668da8946b16" core_version: "v1" display_name: "TestGL (FF)" cores: diff --git a/emulators/testsw.yml b/emulators/testsw.yml index 4148e8b2..33e3e528 100644 --- a/emulators/testsw.yml +++ b/emulators/testsw.yml @@ -5,7 +5,7 @@ source: "https://github.com/libretro/libretro-samples" source_ref: "video/software/rendering/libretro-test.c" upstream: null profiled_date: "2026-03-25" -source_commit: "caebf22a8d7ea12b353f2b44f4040f77c97fd7f8" +source_commit: "7c2ad112d7a5176de2191e473369668da8946b16" core_version: "v1" display_name: "TestSW" cores: diff --git a/emulators/testsw_vram.yml b/emulators/testsw_vram.yml index 2615231b..9b172f15 100644 --- a/emulators/testsw_vram.yml +++ b/emulators/testsw_vram.yml @@ -5,7 +5,7 @@ source: "https://github.com/libretro/libretro-samples" upstream: "https://github.com/libretro/libretro-samples" source_ref: "video/software/rendering_direct_to_vram/libretro-test.c" profiled_date: "2026-03-25" -source_commit: "caebf22a8d7ea12b353f2b44f4040f77c97fd7f8" +source_commit: "7c2ad112d7a5176de2191e473369668da8946b16" core_version: "v1" display_name: "TestSW VRAM" cores: diff --git a/emulators/tic80.yml b/emulators/tic80.yml index 529ea721..5b289a3f 100644 --- a/emulators/tic80.yml +++ b/emulators/tic80.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/libretro/TIC-80" upstream: "https://github.com/nesbox/TIC-80" profiled_date: "2026-03-25" -source_commit: "6412f72d0f4725c153ce3d245729b829e713542e" +source_commit: "14fd99edc29962778bc88d81773288ffc6e8aa53" core_version: "0.80.0" display_name: "TIC-80" cores: @@ -18,19 +18,19 @@ notes: | wrapper (tic80_libretro.c) lives in the upstream repo itself. Content loaded entirely via libretro data buffer (need_fullpath = false, - tic80_libretro.c:340). No call to RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY. + src/system/libretro/tic80_libretro.c:346). No call to RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY. No code path reads any file from the system directory. All VM resources (sprites, palette, font, sound engine) are compiled into the binary. TIC_MODULE_EXT (dynamic scripting plugins) is disabled in libretro - builds via #if !defined(__LIBRETRO__) in tic80_config.h:36. + builds via #if !defined(__LIBRETRO__) in include/tic80_config.h:36. files: [] platform_details: cartridge_format: extensions: "tic, png" - source_ref: "tic80_libretro.c:339" + source_ref: "src/system/libretro/tic80_libretro.c:345" note: | .tic is the native cartridge format. .png loads cartridges encoded as cover images (code stored in PNG metadata). @@ -40,4 +40,4 @@ platform_details: note: | Entire runtime compiled into the binary. No external dependencies. State serialization uses TIC_PERSISTENT_SIZE * 4 bytes of pmem() - data (tic80_libretro.c:1203-1243). + data (src/system/libretro/tic80_libretro.c:1227-1267). diff --git a/emulators/tsugaru.yml b/emulators/tsugaru.yml index 1c0857e2..9709c8bc 100644 --- a/emulators/tsugaru.yml +++ b/emulators/tsugaru.yml @@ -4,7 +4,7 @@ type: standalone source: "https://github.com/captainys/TOWNSEMU" upstream: "https://github.com/captainys/TOWNSEMU" profiled_date: "2026-03-26" -source_commit: "ee0c2673252d6879e78a5de6b560e2d2b125e2b8" +source_commit: "e27adde120fe06150f3d57a6dc7cba66b5f43a32" cores: - tsugaru systems: diff --git a/emulators/ume2015.yml b/emulators/ume2015.yml index 047bf758..23a779ae 100644 --- a/emulators/ume2015.yml +++ b/emulators/ume2015.yml @@ -5,7 +5,7 @@ source: "https://github.com/libretro/mame2015-libretro" upstream: "https://github.com/mamedev/mame/tree/mame0159" logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg" profiled_date: "2026-03-25" -source_commit: "0eab132212b28896baeac7d8f2cd8ac25e227752" +source_commit: "7adbf440d5f554097f58f8c6ebb673adc4320a31" core_version: "0.159" display_name: "Multi (UME 2015)" mame_version: "0.159" diff --git a/emulators/vice.yml b/emulators/vice.yml index 7358ef92..48203c9b 100644 --- a/emulators/vice.yml +++ b/emulators/vice.yml @@ -14,7 +14,7 @@ cores: source: "https://github.com/libretro/vice-libretro" logo: "https://raw.githubusercontent.com/VICE-Team/svn-mirror/main/vice/data/common/vice-logo-black.svg" profiled_date: "2026-03-18" -source_commit: "8818c3a39146b9a26df23a1e4880b4420f93a255" +source_commit: "f63b56688f3133a2bb17499db9eebb7ab81df5f5" core_version: "3.9" display_name: "Commodore - C64 (VICE x64, fast)" systems: @@ -74,7 +74,7 @@ notes: | Source: retrodep/embedded/*.c (embedded ROM tables), vice/src/*/rom.h (ROM name defines), vice/src/drive/driverom.h (drive ROMs), retrodep/ui.c:274-315 (JiffyDOS loading), retrodep/ui.c:258-271 (SCPU kernal), - libretro/libretro-core.c:2801-2866 (core options for JiffyDOS/SCPU) + libretro/libretro-core.c:2807-2872 (core options for JiffyDOS/SCPU) files: # ------------------------------------------------------- @@ -1082,7 +1082,7 @@ files: hle_fallback: true embedded: false note: "SuperCPU DOS v1.40 external kernal. Optional, selected via core option. Goes in system/vice/SCPU64/." - source_ref: "retrodep/ui.c:266, libretro/libretro-core.c:2826" + source_ref: "retrodep/ui.c:266, libretro/libretro-core.c:2832" - name: "vice/SCPU64/scpu-dos-2.04.bin" system: commodore-c64 @@ -1090,7 +1090,7 @@ files: hle_fallback: true embedded: false note: "SuperCPU DOS v2.04 external kernal. Optional, selected via core option. Goes in system/vice/SCPU64/." - source_ref: "retrodep/ui.c:263, libretro/libretro-core.c:2828" + source_ref: "retrodep/ui.c:263, libretro/libretro-core.c:2834" # ------------------------------------------------------- # Drive ROMs (shared across all cores with True Drive Emulation) @@ -1274,7 +1274,7 @@ files: hle_fallback: true embedded: false note: "JiffyDOS C64 kernal replacement. Optional, proprietary. Requires True Drive Emulation + 1541/1571/1581 drive." - source_ref: "retrodep/ui.c:302, libretro/libretro-core.c:2856" + source_ref: "retrodep/ui.c:302, libretro/libretro-core.c:2862" - name: "vice/JiffyDOS_SX-64.bin" system: commodore-c64 @@ -1290,7 +1290,7 @@ files: hle_fallback: true embedded: false note: "JiffyDOS C128 kernal replacement. Optional, proprietary. C128 core only." - source_ref: "retrodep/ui.c:309, libretro/libretro-core.c:2858" + source_ref: "retrodep/ui.c:309, libretro/libretro-core.c:2864" - name: "vice/JiffyDOS_1541-II.bin" system: commodore-c64 diff --git a/emulators/vice_x128.yml b/emulators/vice_x128.yml index 4f9c47bd..2768db5d 100644 --- a/emulators/vice_x128.yml +++ b/emulators/vice_x128.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/vice-libretro" upstream: "https://sourceforge.net/projects/vice-emu/" profiled_date: "2026-03-25" -source_commit: "c8c242db75a559246d6d51017e6dd4ecd75d6a9f" +source_commit: "f63b56688f3133a2bb17499db9eebb7ab81df5f5" core_version: "3.10" display_name: "Commodore - C128 (VICE x128)" cores: [vice_x128, x128] diff --git a/emulators/vice_x64.yml b/emulators/vice_x64.yml index c3ff46e0..da9d981e 100644 --- a/emulators/vice_x64.yml +++ b/emulators/vice_x64.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/vice-libretro" upstream: "https://sourceforge.net/projects/vice-emu/" profiled_date: "2026-03-25" -source_commit: "c8c242db75a559246d6d51017e6dd4ecd75d6a9f" +source_commit: "f63b56688f3133a2bb17499db9eebb7ab81df5f5" core_version: "3.10" display_name: "Commodore - C64 (VICE x64, fast)" cores: [vice_x64, x64] diff --git a/emulators/vice_x64dtv.yml b/emulators/vice_x64dtv.yml index e4bee4de..c219cdd2 100644 --- a/emulators/vice_x64dtv.yml +++ b/emulators/vice_x64dtv.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/vice-libretro" upstream: "https://sourceforge.net/projects/vice-emu/" profiled_date: "2026-03-25" -source_commit: "c8c242db75a559246d6d51017e6dd4ecd75d6a9f" +source_commit: "f63b56688f3133a2bb17499db9eebb7ab81df5f5" core_version: "3.10" display_name: "Commodore - C64DTV (VICE x64dtv)" cores: [vice_x64dtv, x64dtv] diff --git a/emulators/vice_x64sc.yml b/emulators/vice_x64sc.yml index 35438aec..9d96f1bb 100644 --- a/emulators/vice_x64sc.yml +++ b/emulators/vice_x64sc.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/vice-libretro" upstream: "https://sourceforge.net/projects/vice-emu/" profiled_date: "2026-03-25" -source_commit: "c8c242db75a559246d6d51017e6dd4ecd75d6a9f" +source_commit: "f63b56688f3133a2bb17499db9eebb7ab81df5f5" core_version: "3.10" display_name: "Commodore - C64 (VICE x64sc, accurate)" cores: [vice_x64sc] diff --git a/emulators/vice_xscpu64.yml b/emulators/vice_xscpu64.yml index 6881d694..36c45b9f 100644 --- a/emulators/vice_xscpu64.yml +++ b/emulators/vice_xscpu64.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/vice-libretro" upstream: "https://sourceforge.net/projects/vice-emu/" profiled_date: "2026-03-25" -source_commit: "c8c242db75a559246d6d51017e6dd4ecd75d6a9f" +source_commit: "f63b56688f3133a2bb17499db9eebb7ab81df5f5" core_version: "3.10" display_name: "Commodore - C64 SuperCPU (VICE xscpu64)" cores: [vice_xscpu64, xscpu64] diff --git a/emulators/vice_xvic.yml b/emulators/vice_xvic.yml index 75ac055f..a07ee4aa 100644 --- a/emulators/vice_xvic.yml +++ b/emulators/vice_xvic.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/vice-libretro" upstream: "https://sourceforge.net/projects/vice-emu/" profiled_date: "2026-03-25" -source_commit: "c8c242db75a559246d6d51017e6dd4ecd75d6a9f" +source_commit: "f63b56688f3133a2bb17499db9eebb7ab81df5f5" core_version: "3.10" display_name: "Commodore - VIC-20 (VICE xvic)" cores: [vice_xvic, xvic] diff --git a/emulators/virtualjaguar.yml b/emulators/virtualjaguar.yml index e8542d6c..375d6f56 100644 --- a/emulators/virtualjaguar.yml +++ b/emulators/virtualjaguar.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/libretro/virtualjaguar-libretro" upstream: "http://shamusworld.gotdns.org/git/virtualjaguar" profiled_date: "2026-09-04" -source_commit: "03ced5f" +source_commit: "f9a3c89f58836cb2c45a42ad4edfac047050f30a" core_version: "v2.1.0" display_name: "Atari - Jaguar (Virtual Jaguar)" cores: @@ -187,7 +187,7 @@ analysis: mechanism: embedded load_address: "0xE00000" load_size: "0x20000" - source_ref: "libretro.c:5339-5382, libretro.c:6295" + source_ref: "libretro.c:5339-5382, libretro.c:6331" selection_logic: "BT_CUSTOM reads a file, BT_M_SERIES tries jagboot_m.rom, otherwise the embedded array" external_loading: true note: | diff --git a/emulators/vita3k.yml b/emulators/vita3k.yml index 74411dce..9053ba3c 100644 --- a/emulators/vita3k.yml +++ b/emulators/vita3k.yml @@ -3,7 +3,7 @@ type: standalone source: "https://github.com/Vita3K/Vita3K" upstream: "https://github.com/Vita3K/Vita3K" profiled_date: "2026-03-29" -source_commit: "69fd32ef9d00be3f92330b7330d00225e06b598d" +source_commit: "df2880875f397ff8c6e76513ed5d7d0a947af9a0" core_version: "0.2.1" display_name: "Vita3K (PS Vita)" cores: @@ -32,7 +32,7 @@ files: Games load LLE modules from vs0/sys/external/*.suprx. Preload modules (libc, libSceFt2, libpvf) are always LLE. Without firmware most games fail. Some simple titles may run on HLE alone. - source_ref: "vita3k/packages/src/pup.cpp:260-314, vita3k/app/src/app.cpp:175, vita3k/module/src/load_module.cpp:142-161, 187" + source_ref: "vita3k/packages/src/pup.cpp:260-314, vita3k/app/src/app.cpp:176, vita3k/module/src/load_module.cpp:142-161, 187" - name: PSP2UPDAT.PUP path: "psvita/PSP2UPDAT.PUP" @@ -42,7 +42,7 @@ files: Supplementary firmware font package. Populates the sa0 partition with system fonts (PVF format), which the renderer registers as the firmware font directory when the partition holds content. - source_ref: "vita3k/packages/src/pup.cpp:296-297, vita3k/app/src/app.cpp:176, vita3k/renderer/src/renderer.cpp:121-127" + source_ref: "vita3k/packages/src/pup.cpp:296-297, vita3k/app/src/app.cpp:177, vita3k/renderer/src/renderer.cpp:121-127" notes: | Standalone PS Vita emulator. No libretro core. diff --git a/emulators/vitaquake2.yml b/emulators/vitaquake2.yml index b8c45aea..17027d32 100644 --- a/emulators/vitaquake2.yml +++ b/emulators/vitaquake2.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/libretro/vitaquake2" upstream: "https://github.com/Rinnegatamante/vitaQuakeII" profiled_date: "2026-03-25" -source_commit: "59a511555106eef7156c1f34d1ee6c47d11cc4ee" +source_commit: "4b333fe18e8816974f04432af01f87654ae16e21" core_version: "git" display_name: "Quake II (vitaQuake 2)" cores: [vitaquake2, vitaquake2-rogue, vitaquake2-xatrix, vitaquake2-zaero] diff --git a/emulators/wqxemu.yml b/emulators/wqxemu.yml index 410d8094..15d981b2 100644 --- a/emulators/wqxemu.yml +++ b/emulators/wqxemu.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://git.libretro.com/libretro/wqxemu" upstream: "https://github.com/AloysHF/WQXEmu" profiled_date: "2026-09-17" -source_commit: "7191df429042116e707ba68f5b2d2a8ae567b2ad" +source_commit: "868b644df757379b15a04c7354f8f756d11076c3" upstream_commit: "7191df429042116e707ba68f5b2d2a8ae567b2ad" core_version: "0.1.0" display_name: "Wenquxing - Electronic Dictionary (WQXEmu)" diff --git a/emulators/xenia.yml b/emulators/xenia.yml index a682317a..c5782e6b 100644 --- a/emulators/xenia.yml +++ b/emulators/xenia.yml @@ -4,7 +4,7 @@ core_classification: community_fork source: "https://github.com/xenia-canary/xenia-canary" upstream: "https://github.com/xenia-canary/xenia-canary" profiled_date: "2026-03-26" -source_commit: "0e1307bd2e6bfeeff29635a6b823e72e61c97ce9" +source_commit: "7347cd12ef6e3029db3abcf17a0760d9f74f84bd" core_version: "canary" display_name: "Xenia Canary (Xbox 360)" cores: diff --git a/emulators/zesarux.yml b/emulators/zesarux.yml index 86e39a00..439d8a3a 100644 --- a/emulators/zesarux.yml +++ b/emulators/zesarux.yml @@ -3,7 +3,7 @@ type: standalone core_classification: other source: "https://github.com/chernandezba/zesarux" upstream: "https://github.com/chernandezba/zesarux" -source_commit: "331ba12286c008230643ce98a2963bbfe60f3b35" +source_commit: "8e1e8f3fcb5a8e677984df7aeaff30667682ab56" profiled_date: "2026-09-17" core_version: "13.1-SN" display_name: "Sinclair - ZX Spectrum and clones (ZEsarUX)" @@ -34,7 +34,7 @@ systems: notes: | Multi-machine Sinclair emulator. Every ROM is read from disk at run time; - none is compiled into the binary. `rom_load` (src/cpu.c:3203-3803) maps + none is compiled into the binary. `rom_load` (src/cpu.c:3268-3868) maps `current_machine_type` to a filename through a switch, then resolves it with `find_sharedfile` (src/utils.c:1314-1352), which searches the current directory, `../Resources/`, `INSTALL_PREFIX/share/zesarux/` and the directory holding the @@ -47,7 +47,7 @@ notes: | `bundled: true`. A missing machine ROM is not fatal: `rom_load` logs an error and returns - (src/cpu.c:3465-3473), the panic having been removed deliberately. The machine then + (src/cpu.c:3530-3538), the panic having been removed deliberately. The machine then runs on uninitialised memory, so the ROMs the switch names are marked required for the machine they serve. The one hard failure is `prism_failsafe.rom`, which `prism_load_failsafe_rom` loads through its own path and which calls `cpu_panic` @@ -59,8 +59,8 @@ notes: | as an error. `validation: [size]` is set only where the code makes that comparison. - `--romfile` (src/start.c:4870-4874) overrides the machine ROM with any file the user - picks (src/cpu.c:3455-3458); the ROMs under `alternate_roms/` and the extra + `--romfile` (src/start.c:4876-4880) overrides the machine ROM with any file the user + picks (src/cpu.c:3520-3523); the ROMs under `alternate_roms/` and the extra variants in the install root exist for that path and are documented in the shipped src/ALTERNATEROMS file. Interface ROMs are equally overridable (`--divide-rom`, `--divmmc-rom`, `--dandanator-rom`, `--ifrom-rom`, @@ -68,17 +68,17 @@ notes: | ES-DE drives ZEsarUX for its `zxnext` system with `--machine tbblue --tbblue-fast-boot-mode --enable-esxdos-handler`. Fast boot swaps - `tbblue_loader.rom` for `48.rom` (src/cpu.c:3308-3309), and the esxdos handler needs + `tbblue_loader.rom` for `48.rom` (src/cpu.c:3373-3374), and the esxdos handler needs the divMMC firmware `esxmmc085.rom`, so that path loads `48.rom`, `esxmmc085.rom` and the `tbblue.mmc` card image rather than a dedicated Next ROM. ZEsarUX also loads UI and bundled-software resources through the same `find_sharedfile` path: `keyboards/*.bmp` on-screen keyboard art - (src/menu/menu_items.c:19258, 21784, 21805), `z88_shortcuts.bmp` - (src/video/screen.c:11210), the `my_soft/` homebrew collection - (src/menu/menu_items.c:32199, 32258; src/menu/menu_items_storage.c:582), the - `copiers/*.zsf` tape copier snapshots (src/menu/menu_items_storage.c:651, 742) and - `editionnamegame.tzx` (src/cpu.h:73, src/utils.c:17879). They are application + (src/menu/menu_items.c:19480, 21784, 21805), `z88_shortcuts.bmp` + (src/video/screen.c:11254), the `my_soft/` homebrew collection + (src/menu/menu_items.c:32497, 32258; src/menu/menu_items_storage.c:582), the + `copiers/*.zsf` tape copier snapshots (src/menu/menu_items_storage.c:666, 742) and + `editionnamegame.tzx` (src/cpu.h:73, src/utils.c:17885). They are application resources rather than system firmware and carry no entry below. `PrismChime.bin` sits in the source tree but no code reads it and COMMONFILES does not install it. @@ -96,8 +96,8 @@ files: bundled: true system: sinclair-zx-spectrum fast_boot: "tbblue" - source_ref: "src/cpu.c:3213-3222 (16K/48K, CZ 2000, CZ Spectrum), src/cpu.c:3308 (tbblue fast boot), src/utils.c:4098 (size)" - note: "48K BASIC. Also loaded four times over as the TBBlue fast-boot image (src/cpu.c:3588-3597)." + source_ref: "src/cpu.c:3278-3287 (16K/48K, CZ 2000, CZ Spectrum), src/cpu.c:3373 (tbblue fast boot), src/utils.c:4098 (size)" + note: "48K BASIC. Also loaded four times over as the TBBlue fast-boot image (src/cpu.c:3653-3662)." - name: "48es.rom" size: 16384 @@ -105,7 +105,7 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.c:3312-3314, src/utils.c:4098" + source_ref: "src/cpu.c:3377-3379, src/utils.c:4098" note: "Spanish 48K+ ROM, selected for MACHINE_ID_SPECTRUM_48_PLUS_SPA." - name: "inves.rom" @@ -114,8 +114,8 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.c:3224-3227, src/utils.c:4098" - note: "Investronica Inves Spectrum+. Loaded at memoria_spectrum[65536] (src/cpu.c:3486-3492)." + source_ref: "src/cpu.c:3289-3292, src/utils.c:4098" + note: "Investronica Inves Spectrum+. Loaded at memoria_spectrum[65536] (src/cpu.c:3551-3557)." - name: "128.rom" size: 32768 @@ -123,7 +123,7 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.c:3247-3249, src/utils.c:4100" + source_ref: "src/cpu.c:3312-3314, src/utils.c:4100" - name: "128s.rom" size: 32768 @@ -131,7 +131,7 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.c:3251-3253, src/utils.c:4100" + source_ref: "src/cpu.c:3316-3318, src/utils.c:4100" - name: "p2.rom" size: 32768 @@ -139,7 +139,7 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.c:3258-3260, src/utils.c:4100" + source_ref: "src/cpu.c:3323-3325, src/utils.c:4100" note: "ZX Spectrum +2." - name: "p2f.rom" @@ -148,7 +148,7 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.c:3262-3264, src/utils.c:4100" + source_ref: "src/cpu.c:3327-3329, src/utils.c:4100" - name: "p2s.rom" size: 32768 @@ -156,7 +156,7 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.c:3266-3268, src/utils.c:4100" + source_ref: "src/cpu.c:3331-3333, src/utils.c:4100" - name: "p2a40.rom" size: 65536 @@ -164,7 +164,7 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.c:3272-3275, src/utils.c:4102" + source_ref: "src/cpu.c:3337-3340, src/utils.c:4102" note: "+2A/+3 ROM v4.0." - name: "p2a41.rom" @@ -173,7 +173,7 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.c:3277-3280, src/utils.c:4102" + source_ref: "src/cpu.c:3342-3345, src/utils.c:4102" note: "+2A/+3 ROM v4.1." - name: "p2as.rom" @@ -182,7 +182,7 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.c:3282-3285, src/utils.c:4102" + source_ref: "src/cpu.c:3347-3350, src/utils.c:4102" - name: "pentagon.rom" size: 32768 @@ -190,7 +190,7 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.c:3316-3318, src/utils.c:4100 (MACHINE_IS_SPECTRUM_128_P2 covers Pentagon, src/cpu.h:545)" + source_ref: "src/cpu.c:3381-3383, src/utils.c:4100 (MACHINE_IS_SPECTRUM_128_P2 covers Pentagon, src/cpu.h:545)" - name: "se.rom" size: 32768 @@ -198,7 +198,7 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.c:3292-3295, src/utils.c:4106" + source_ref: "src/cpu.c:3357-3360, src/utils.c:4106" note: "Chloe 140SE/280SE, SE Basic IV." - name: "chrome.rom" @@ -207,7 +207,7 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.c:3341-3343, src/utils.c:4112" + source_ref: "src/cpu.c:3406-3408, src/utils.c:4112" - name: "prism.rom" size: 327680 @@ -215,8 +215,8 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.c:3303-3305, src/utils.c:4108" - note: "20 pages of 16K. Page map documented at src/cpu.c:3557-3573." + source_ref: "src/cpu.c:3368-3370, src/utils.c:4108" + note: "20 pages of 16K. Page map documented at src/cpu.c:3622-3638." - name: "prism_failsafe.rom" size: 16384 @@ -224,7 +224,7 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/machines/prism.h:61, src/machines/prism.c:581-590, src/cpu.c:3581" + source_ref: "src/machines/prism.h:61, src/machines/prism.c:581-590, src/cpu.c:3646" note: "Loaded straight after prism.rom by prism_load_failsafe_rom(). The only ROM whose absence is fatal: the loader calls cpu_panic both when the file is missing and when the read is not 16384 bytes." - name: "zxuno_bootloader.rom" @@ -232,7 +232,7 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.c:3288-3290, src/cpu.c:3531-3535" + source_ref: "src/cpu.c:3353-3355, src/cpu.c:3596-3600" size_note: "Read caps at 8192 bytes and only errors when fewer than 1 byte is read, so no exact size check. get_rom_size returns 214 for ZX-Uno (src/utils.c:4104) but that value is unused on this path." - name: "zxevo_tsconf.rom" @@ -241,7 +241,7 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.c:3345-3347, src/utils.c:4114" + source_ref: "src/cpu.c:3410-3412, src/utils.c:4114" - name: "zxevo_baseconf.rom" size: 524288 @@ -249,7 +249,7 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.c:3349-3351, src/utils.c:4116" + source_ref: "src/cpu.c:3414-3416, src/utils.c:4116" note: "ZX Evolution BaseConf ROM set. The 13.1 tree ships the Turbo 2+/PentEvo build with New ROM boot v1.06; the 13.0 release shipped the PentEvo edition 2013 image of the same size." # ============================================================ @@ -262,15 +262,15 @@ files: required: true bundled: true system: sinclair-zx-spectrum-next - source_ref: "src/cpu.c:3307-3310, src/cpu.c:3598-3604, src/utils.c:4110" - note: "FPGA loader, mirrored to 16K at src/cpu.c:3600. Bypassed when --tbblue-fast-boot-mode selects 48.rom instead." + source_ref: "src/cpu.c:3372-3375, src/cpu.c:3663-3669, src/utils.c:4110" + note: "FPGA loader, mirrored to 16K at src/cpu.c:3665. Bypassed when --tbblue-fast-boot-mode selects 48.rom instead." - name: "tbblue.mmc" size: 67108864 required: false bundled: true system: sinclair-zx-spectrum-next - source_ref: "src/menu/menu_items_storage.c:12129-12147, src/configure:1921" + source_ref: "src/menu/menu_items_storage.c:12092-12110, src/configure:1921" note: "SD card image carrying the Next system software. Assigned as MMC card 0 by the local-tbblue menu action; the emulator reports 'tbblue.mmc image not found' when absent." size_note: "64 MB, so it needs storage: large_file once the image is acquired and uploaded as a release asset." @@ -284,7 +284,7 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.c:3229-3231, src/utils.c:4098" + source_ref: "src/cpu.c:3294-3296, src/utils.c:4098" - name: "tk90xs.rom" size: 16384 @@ -292,7 +292,7 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.c:3233-3235, src/utils.c:4098" + source_ref: "src/cpu.c:3298-3300, src/utils.c:4098" - name: "tk95.rom" size: 16384 @@ -300,7 +300,7 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.c:3237-3239, src/utils.c:4098" + source_ref: "src/cpu.c:3302-3304, src/utils.c:4098" - name: "tk95es.rom" size: 16384 @@ -308,7 +308,7 @@ files: required: true bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.c:3241-3243, src/utils.c:4098" + source_ref: "src/cpu.c:3306-3308, src/utils.c:4098" # ============================================================ # Timex @@ -320,7 +320,7 @@ files: required: true bundled: true system: timex-tc2048 - source_ref: "src/cpu.c:3353-3355, src/utils.c:4098 (TC2048 falls under MACHINE_IS_SPECTRUM_16_48, src/cpu.h:543)" + source_ref: "src/cpu.c:3418-3420, src/utils.c:4098 (TC2048 falls under MACHINE_IS_SPECTRUM_16_48, src/cpu.h:543)" - name: "ts2068.rom" size: 24576 @@ -328,7 +328,7 @@ files: required: true bundled: true system: timex-ts2068 - source_ref: "src/cpu.c:3298-3301, src/cpu.c:3634-3648, src/utils.c:4118" + source_ref: "src/cpu.c:3363-3366, src/cpu.c:3699-3713, src/utils.c:4118" note: "Read as two blocks: 16384 into the main ROM table, then 8192 into the EX ROM table. Serves TS2068 and TC2068." - name: "ts1500.rom" @@ -337,7 +337,7 @@ files: required: true bundled: true system: timex-ts1500 - source_ref: "src/cpu.c:3377-3381, src/utils.c:4134" + source_ref: "src/cpu.c:3442-3446, src/utils.c:4134" # ============================================================ # ZX80 / ZX81 family @@ -350,8 +350,8 @@ files: required: true bundled: true system: sinclair-zx80 - source_ref: "src/cpu.c:3357-3362, src/cpu.c:3689-3699, src/utils.c:4130" - note: "Serves ZX80, TK80 and TK82. An 8192-byte file is accepted as-is so the ZX81 ROM can run on a ZX80 (src/cpu.c:3693)." + source_ref: "src/cpu.c:3422-3427, src/cpu.c:3754-3764, src/utils.c:4130" + note: "Serves ZX80, TK80 and TK82. An 8192-byte file is accepted as-is so the ZX81 ROM can run on a ZX80 (src/cpu.c:3758)." - name: "zx81.rom" size: 8192 @@ -359,7 +359,7 @@ files: required: true bundled: true system: sinclair-zx81 - source_ref: "src/cpu.c:3364-3375, src/utils.c:4134" + source_ref: "src/cpu.c:3429-3440, src/utils.c:4134" note: "Serves ZX81, Timex TS1000, TK82C, TK83 and the Czerweny CZ 1000/1500 models." - name: "tk85.rom" @@ -368,7 +368,7 @@ files: required: true bundled: true system: microdigital-tk85 - source_ref: "src/cpu.c:3383-3387, src/utils.c:4132" + source_ref: "src/cpu.c:3448-3452, src/utils.c:4132" note: "The TK85 test precedes the generic ZX81 test in get_rom_size, so 10240 wins over 8192." - name: "zxpand_zx81.rom" @@ -394,7 +394,7 @@ files: required: true bundled: true system: jupiter-ace - source_ref: "src/cpu.c:3389-3393, src/utils.c:4136" + source_ref: "src/cpu.c:3454-3458, src/utils.c:4136" # ============================================================ # Sinclair QL, Cambridge Z88, MK14 @@ -407,7 +407,7 @@ files: required: true bundled: true system: sinclair-ql - source_ref: "src/cpu.c:3424-3429, src/cpu.c:3764-3773" + source_ref: "src/cpu.c:3489-3494, src/cpu.c:3829-3838" size_note: "Reads up to 131072 bytes and errors only below 16384, so the check is a minimum rather than an exact size." - name: "ql_jm.rom" @@ -415,7 +415,7 @@ files: required: false bundled: true system: sinclair-ql - source_ref: "src/cpu.c:3428 (commented alternative), src/start.c:4870-4874" + source_ref: "src/cpu.c:3493 (commented alternative), src/start.c:4876-4880" note: "JM release. Reachable through --romfile; the switch selects ql_js.rom." - name: "tkii220.rom" @@ -423,7 +423,7 @@ files: required: false bundled: true system: sinclair-ql - source_ref: "src/machines/ql.c:1348-1375, src/start.c:5621-5646, src/cpu.c:3797-3801" + source_ref: "src/machines/ql.c:1348-1375, src/start.c:5627-5652, src/cpu.c:3862-3866" note: "QJUMP Toolkit II 2.20, the ROM ql.c names as the example for --ql-rom-c000-file. ql_load_extra_roms() runs after the system ROM and reads 16K into memoria_ql at 0xC000 from the path the option gives; the read count is not checked." - name: "qsound_V1.94.rom" @@ -432,7 +432,7 @@ files: required: false bundled: true system: sinclair-ql - source_ref: "src/soundchips/qsound.h:50, src/soundchips/qsound.c:329-369, src/start.c:6772-6779, src/cpu.c:3798-3801" + source_ref: "src/soundchips/qsound.h:50, src/soundchips/qsound.c:329-369, src/start.c:6799-6806, src/cpu.c:3863-3866" note: "QL Qsound firmware, read into memoria_ql at 0xC0000 once --ql-qsound-enabled is set; the read count is not checked and --ql-qsound-rom points the loader at another file. QSOUND_ROM_FILE is spelled qsound_V1.94.rom while the shipped file is Qsound_V1.94.rom, so the default only resolves on a case-insensitive filesystem." - name: "Z88OZ47.rom" @@ -440,7 +440,7 @@ files: required: true bundled: true system: cambridge-z88 - source_ref: "src/cpu.c:3395-3400, src/cpu.c:3720-3730" + source_ref: "src/cpu.c:3460-3465, src/cpu.c:3785-3795" size_note: "Reads up to 512K and errors only when nothing is read; z88_internal_rom_size is derived from the byte count, so any size is accepted." - name: "mk14.rom" @@ -449,7 +449,7 @@ files: required: true bundled: true system: science-of-cambridge-mk14 - source_ref: "src/cpu.c:3431-3433, src/utils.c:4148" + source_ref: "src/cpu.c:3496-3498, src/utils.c:4148" # ============================================================ # Amstrad CPC and PCW @@ -461,7 +461,7 @@ files: required: true bundled: true system: amstrad-cpc - source_ref: "src/cpu.c:3403-3409, src/utils.c:4140" + source_ref: "src/cpu.c:3468-3474, src/utils.c:4140" note: "Serves CPC 464 and CPC 4128." - name: "cpc664.rom" @@ -470,7 +470,7 @@ files: required: true bundled: true system: amstrad-cpc - source_ref: "src/cpu.c:3411-3413, src/utils.c:4142" + source_ref: "src/cpu.c:3476-3478, src/utils.c:4142" - name: "cpc6128.rom" size: 49152 @@ -478,7 +478,7 @@ files: required: true bundled: true system: amstrad-cpc - source_ref: "src/cpu.c:3415-3417, src/utils.c:4142" + source_ref: "src/cpu.c:3480-3482, src/utils.c:4142" - name: "pcw_boot.rom" size: 275 @@ -486,8 +486,8 @@ files: required: true bundled: true system: pcw - source_ref: "src/cpu.c:3435-3441, src/cpu.c:3785-3791, src/utils.c:4150" - note: "Boot block the PCW pulls into RAM rather than a mapped ROM (src/cpu.c:3784). Serves PCW 8256 and 8512." + source_ref: "src/cpu.c:3500-3506, src/cpu.c:3850-3856, src/utils.c:4150" + note: "Boot block the PCW pulls into RAM rather than a mapped ROM (src/cpu.c:3849). Serves PCW 8256 and 8512." - name: "pcw_8x_boot1.dsk" size: 194864 @@ -515,7 +515,7 @@ files: required: true bundled: true system: sam-coupe - source_ref: "src/cpu.c:3419-3422, src/utils.c:4144" + source_ref: "src/cpu.c:3484-3487, src/utils.c:4144" - name: "atomlite.rom" size: 32768 @@ -523,7 +523,7 @@ files: required: false bundled: true system: sam-coupe - source_ref: "src/cpu.c:3420, src/utils.c:4144" + source_ref: "src/cpu.c:3485, src/utils.c:4144" note: "Replaces samcoupe.rom when Atom Lite emulation is on." - name: "samram.rom" @@ -554,14 +554,14 @@ files: required: true bundled: true system: colecovision - source_ref: "src/cpu.c:3320-3322, src/utils.c:4120" + source_ref: "src/cpu.c:3385-3387, src/utils.c:4120" - name: "sg1000.rom" size: 155 required: true bundled: true system: sg-1000 - source_ref: "src/cpu.c:3324-3326, src/cpu.c:3658-3662" + source_ref: "src/cpu.c:3389-3391, src/cpu.c:3723-3727" size_note: "Nothing is read from this file. The SG-1000 branch is empty and the source comment states the file only has to exist for the open to succeed." - name: "sms.rom" @@ -570,7 +570,7 @@ files: required: true bundled: true system: sega-mastersystem - source_ref: "src/cpu.c:3328-3330, src/utils.c:4124" + source_ref: "src/cpu.c:3393-3395, src/utils.c:4124" - name: "msx.rom" size: 32768 @@ -578,7 +578,7 @@ files: required: true bundled: true system: msx - source_ref: "src/cpu.c:3332-3334, src/utils.c:4126" + source_ref: "src/cpu.c:3397-3399, src/utils.c:4126" - name: "svi.rom" size: 32768 @@ -586,7 +586,7 @@ files: required: true bundled: true system: spectravideo - source_ref: "src/cpu.c:3336-3339, src/utils.c:4128" + source_ref: "src/cpu.c:3401-3404, src/utils.c:4128" note: "Serves SVI-318 and SVI-328." # ============================================================ @@ -664,7 +664,7 @@ files: required: false bundled: true system: sinclair-zx-spectrum - source_ref: "src/storage/zxmmcplus.h:30, src/start.c:5950-5953, src/storage/zxmmcplus.c:756-778" + source_ref: "src/storage/zxmmcplus.h:30, src/start.c:5956-5959, src/storage/zxmmcplus.c:756-778" note: "ZXMMC+ flash ROM image, the default for --zxmmcplus-flash-file." size_note: "The image holds ROM and RAM together, so the check is ZXMMCPLUS_FLASHROM_SIZE + ZXMMCPLUS_RAM_SIZE, not the 512K ROM constant alone." @@ -674,7 +674,7 @@ files: required: false bundled: true system: sinclair-zx-spectrum - source_ref: "src/machines/zxuno.h:29, src/machines/zxuno.h:80, src/start.c:4910-4913, src/cpu.c:3539, src/machines/zxuno.c:1186-1208" + source_ref: "src/machines/zxuno.h:29, src/machines/zxuno.h:80, src/start.c:4916-4919, src/cpu.c:3604, src/machines/zxuno.c:1186-1208" note: "ZX-Uno SPI flash image, loaded by zxuno_load_spi_flash() right after the bootloader. Default for --zxunospifile. ZXUNO_SPI_SIZE is 4096 KB." # ============================================================ @@ -687,7 +687,7 @@ files: required: false bundled: true system: sinclair-zx-spectrum - source_ref: "src/copy_interfaces/multiface.c:224, src/copy_interfaces/multiface.c:232-242, src/menu/menu_items.c:42277-42282" + source_ref: "src/copy_interfaces/multiface.c:224, src/copy_interfaces/multiface.c:232-242, src/menu/menu_items.c:42575-42580" note: "Multiface One. The file selector rejects anything that is not exactly 8 KB." - name: "mf128.rom" @@ -696,7 +696,7 @@ files: required: false bundled: true system: sinclair-zx-spectrum - source_ref: "src/copy_interfaces/multiface.c:224, src/copy_interfaces/multiface.c:232-242, src/menu/menu_items.c:42277-42282" + source_ref: "src/copy_interfaces/multiface.c:224, src/copy_interfaces/multiface.c:232-242, src/menu/menu_items.c:42575-42580" note: "Multiface 128." - name: "mf3.rom" @@ -705,7 +705,7 @@ files: required: false bundled: true system: sinclair-zx-spectrum - source_ref: "src/copy_interfaces/multiface.c:224, src/copy_interfaces/multiface.c:232-242, src/menu/menu_items.c:42277-42282" + source_ref: "src/copy_interfaces/multiface.c:224, src/copy_interfaces/multiface.c:232-242, src/menu/menu_items.c:42575-42580" note: "Multiface 3." - name: "specmate.rom" @@ -837,7 +837,7 @@ files: required: false bundled: true system: sinclair-zx-spectrum - source_ref: "src/menu/menu_items.c:41821-41847" + source_ref: "src/menu/menu_items.c:42119-42145" note: "Spectrum program the emulator injects to dump RAM to tape." # ============================================================ @@ -871,21 +871,21 @@ files: required: false bundled: true system: sinclair-zx-spectrum - source_ref: "src/start.c:4870-4874, src/cpu.c:3455-3458" + source_ref: "src/start.c:4876-4880, src/cpu.c:3520-3523" - name: "tk90x_v1br.rom" size: 16384 required: false bundled: true system: sinclair-zx-spectrum - source_ref: "src/ALTERNATEROMS:97, src/start.c:4870-4874, src/cpu.c:3455-3458" + source_ref: "src/ALTERNATEROMS:97, src/start.c:4876-4880, src/cpu.c:3520-3523" - name: "tk90x_v2es.rom" size: 16384 required: false bundled: true system: sinclair-zx-spectrum - source_ref: "src/ALTERNATEROMS:98, src/start.c:4870-4874, src/cpu.c:3455-3458" + source_ref: "src/ALTERNATEROMS:98, src/start.c:4876-4880, src/cpu.c:3520-3523" note: "Corrected TK90X ROM." - name: "tk95es_modif.rom" @@ -893,7 +893,7 @@ files: required: false bundled: true system: sinclair-zx-spectrum - source_ref: "src/ALTERNATEROMS:101-106, src/start.c:4870-4874, src/cpu.c:3455-3458" + source_ref: "src/ALTERNATEROMS:101-106, src/start.c:4876-4880, src/cpu.c:3520-3523" note: "TK95 Spanish ROM with message and symbol fixes by Rodolfo Edison Guerra." - name: "Z88OZ431.rom" @@ -901,49 +901,49 @@ files: required: false bundled: true system: cambridge-z88 - source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4870-4874" + source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4876-4880" - name: "Z88OZ441.rom" size: 524288 required: false bundled: true system: cambridge-z88 - source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4870-4874" + source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4876-4880" - name: "Z88OZ45.rom" size: 524288 required: false bundled: true system: cambridge-z88 - source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4870-4874" + source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4876-4880" - name: "Z88OZ46.rom" size: 524288 required: false bundled: true system: cambridge-z88 - source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4870-4874" + source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4876-4880" - name: "Z88UK220.rom" size: 131072 required: false bundled: true system: cambridge-z88 - source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4870-4874" + source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4876-4880" - name: "Z88UK300.rom" size: 131072 required: false bundled: true system: cambridge-z88 - source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4870-4874" + source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4876-4880" - name: "Z88UK400.rom" size: 131072 required: false bundled: true system: cambridge-z88 - source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4870-4874" + source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4876-4880" - name: "aszmice07.rom" path: "alternate_roms/aszmice07.rom" @@ -951,7 +951,7 @@ files: required: false bundled: true system: sinclair-zx81 - source_ref: "src/ALTERNATEROMS:4-5, src/start.c:4870-4874" + source_ref: "src/ALTERNATEROMS:4-5, src/start.c:4876-4880" note: "ASZMIC E07 replacement ROM with assembler and debugger. The 4K image is stored twice to reach 8K." - name: "sp-rom.rom" @@ -960,7 +960,7 @@ files: required: false bundled: true system: sinclair-zx81 - source_ref: "src/ALTERNATEROMS:7-9, src/start.c:4870-4874" + source_ref: "src/ALTERNATEROMS:7-9, src/start.c:4876-4880" note: "Comprocsys SP ROM add-on card, loaded at address 2000H." - name: "ace.rom" @@ -970,7 +970,7 @@ files: bundled: true system: jupiter-ace variant_group: "jupiter-ace-rom" - source_ref: "src/ALTERNATEROMS:11-12, src/start.c:4870-4874" + source_ref: "src/ALTERNATEROMS:11-12, src/start.c:4876-4880" note: "Jupiter Ace ROM patched by Dutra Lacerda, distinct from the root ace.rom." - name: "opense.rom" @@ -979,7 +979,7 @@ files: required: false bundled: true system: sinclair-zx-spectrum - source_ref: "src/ALTERNATEROMS:14-15, src/start.c:4870-4874" + source_ref: "src/ALTERNATEROMS:14-15, src/start.c:4876-4880" note: "OpenSE BASIC 3.1.2 for the 48K." - name: "sebasic4_rom1.rom" @@ -988,7 +988,7 @@ files: required: false bundled: true system: sinclair-zx-spectrum - source_ref: "src/ALTERNATEROMS:18-19, src/start.c:4870-4874" + source_ref: "src/ALTERNATEROMS:18-19, src/start.c:4876-4880" note: "SE BASIC 4.1.0 standalone ROM 1 for the 48K." - name: "derby_p_32K.rom" @@ -997,7 +997,7 @@ files: required: false bundled: true system: sinclair-zx-spectrum - source_ref: "src/ALTERNATEROMS:21-23, src/start.c:4870-4874" + source_ref: "src/ALTERNATEROMS:21-23, src/start.c:4876-4880" note: "Derby+ for 128K machines with 32K of ROM." - name: "derby_pp_64K.rom" @@ -1006,7 +1006,7 @@ files: required: false bundled: true system: sinclair-zx-spectrum - source_ref: "src/ALTERNATEROMS:21-23, src/start.c:4870-4874" + source_ref: "src/ALTERNATEROMS:21-23, src/start.c:4876-4880" note: "Derby++ for 128K machines with 64K of ROM." - name: "plus2c.rom" @@ -1015,7 +1015,7 @@ files: required: false bundled: true system: sinclair-zx-spectrum - source_ref: "src/ALTERNATEROMS:40-41, src/start.c:4870-4874" + source_ref: "src/ALTERNATEROMS:40-41, src/start.c:4876-4880" note: "Unofficial +2C ROM by Andrew Owen, for 128K/+2." - name: "plus2b.rom" @@ -1024,7 +1024,7 @@ files: required: false bundled: true system: sinclair-zx-spectrum - source_ref: "src/ALTERNATEROMS:46-76, src/start.c:4870-4874" + source_ref: "src/ALTERNATEROMS:46-76, src/start.c:4876-4880" note: "+2B ROM set for +2A/+3: 128 editor, 48K BASIC, BBC BASIC, OpenSE BASIC 3.1.1." - name: "plus3e_mmcen3eE.rom" @@ -1033,7 +1033,7 @@ files: required: false bundled: true system: sinclair-zx-spectrum - source_ref: "src/cpu.h:365, src/menu/menu_items.c:30678-30688, src/ALTERNATEROMS:26-30" + source_ref: "src/cpu.h:369, src/menu/menu_items.c:30976-30986, src/ALTERNATEROMS:26-30" note: "+3e v1.38 English for MMC. Resolved by name through find_sharedfile for the +2e/+3e MMC machine preset." - name: "plus3e_mmces3eE.rom" @@ -1042,7 +1042,7 @@ files: required: false bundled: true system: sinclair-zx-spectrum - source_ref: "src/ALTERNATEROMS:26-30, src/start.c:4870-4874" + source_ref: "src/ALTERNATEROMS:26-30, src/start.c:4876-4880" note: "+3e v1.38 Spanish for MMC." - name: "plus3e_sm8en3eE.rom" @@ -1051,7 +1051,7 @@ files: required: false bundled: true system: sinclair-zx-spectrum - source_ref: "src/ALTERNATEROMS:32-36, src/start.c:4870-4874" + source_ref: "src/ALTERNATEROMS:32-36, src/start.c:4876-4880" note: "+3e v1.38 English for simple 8-bit IDE." - name: "plus3e_sm8es3eE.rom" @@ -1060,5 +1060,5 @@ files: required: false bundled: true system: sinclair-zx-spectrum - source_ref: "src/ALTERNATEROMS:32-36, src/start.c:4870-4874" + source_ref: "src/ALTERNATEROMS:32-36, src/start.c:4876-4880" note: "+3e v1.38 Spanish for simple 8-bit IDE."