feat: re-profile 30 emulators, beetle to parallel_n64

source-verified: mesen FdsBios.bin→alias, MesenDB.txt phantom (embedded).
mupen64plus 64DD_IPL.bin→IPL.n64 (code path fix). neocd 000-lo.lo/ng-lo.rom
phantoms (algorithmically generated). new profiles: mesen-s, mupen64plus
next develop/gles2/gles3. regenerate database.
This commit is contained in:
Abdessamad Derraz
2026-03-24 14:06:20 +01:00
parent cda012b10a
commit 69987cc0bb
31 changed files with 836 additions and 646 deletions

View File

@@ -1,5 +1,5 @@
{ {
"generated_at": "2026-03-24T10:35:58Z", "generated_at": "2026-03-24T11:45:29Z",
"total_files": 6733, "total_files": 6733,
"total_size": 5288644732, "total_size": 5288644732,
"files": { "files": {
@@ -94909,7 +94909,8 @@
], ],
"sgb_bios.bin": [ "sgb_bios.bin": [
"aa2f50a77dfb4823da96ba99309085a3c6278515", "aa2f50a77dfb4823da96ba99309085a3c6278515",
"369e6eb5e0c975eaa52a4a3f6ee07b2a3c3c16de" "369e6eb5e0c975eaa52a4a3f6ee07b2a3c3c16de",
"f282b3aaf98f8423dab7d77f1aa0192be630f2fb"
], ],
"sgb1.boot.rom": [ "sgb1.boot.rom": [
"aa2f50a77dfb4823da96ba99309085a3c6278515" "aa2f50a77dfb4823da96ba99309085a3c6278515"
@@ -95238,6 +95239,12 @@
"DBPATCH.wav": [ "DBPATCH.wav": [
"e0c98d00fe3004942c4a2842f06e2702dd2bd7c7" "e0c98d00fe3004942c4a2842f06e2702dd2bd7c7"
], ],
"DMG_ROM.bin": [
"1db57a1e8b6e4096f811587f9eab0c6675fd9755"
],
"dmg0_rom.bin": [
"1db57a1e8b6e4096f811587f9eab0c6675fd9755"
],
"amiga-os-300-a4000.rom": [ "amiga-os-300-a4000.rom": [
"f0b4e9e29e12218c2d5bd7020e4e785297d91fd7" "f0b4e9e29e12218c2d5bd7020e4e785297d91fd7"
], ],
@@ -95274,6 +95281,9 @@
"upd7801g.bios": [ "upd7801g.bios": [
"6e89d1227581c76441a53d605f9e324185f1da33" "6e89d1227581c76441a53d605f9e324185f1da33"
], ],
"FdsBios.bin": [
"57fe1bdee955bb48d357e463ccbf129496930b62"
],
"BS-X.bios": [ "BS-X.bios": [
"604556b2e62860af18db5a77f2956ebc75450020" "604556b2e62860af18db5a77f2956ebc75450020"
], ],
@@ -95346,12 +95356,6 @@
"2608_RYM.WAV": [ "2608_RYM.WAV": [
"c65592330c9dd84011151daed52f9aec926b7e56" "c65592330c9dd84011151daed52f9aec926b7e56"
], ],
"DMG_ROM.bin": [
"1db57a1e8b6e4096f811587f9eab0c6675fd9755"
],
"dmg0_rom.bin": [
"1db57a1e8b6e4096f811587f9eab0c6675fd9755"
],
"dc_flash_wb.bin": [ "dc_flash_wb.bin": [
"72c65f2a11ee7b72b77b9945187b7a332632e14a" "72c65f2a11ee7b72b77b9945187b7a332632e14a"
], ],
@@ -115656,6 +115660,9 @@
"c0a04b87ad138e6754a6688ad757004467950c08", "c0a04b87ad138e6754a6688ad757004467950c08",
"35e101f63194d75e234ef843ae6af893423b7f64", "35e101f63194d75e234ef843ae6af893423b7f64",
"e0c98d00fe3004942c4a2842f06e2702dd2bd7c7", "e0c98d00fe3004942c4a2842f06e2702dd2bd7c7",
"1db57a1e8b6e4096f811587f9eab0c6675fd9755",
"369e6eb5e0c975eaa52a4a3f6ee07b2a3c3c16de",
"f282b3aaf98f8423dab7d77f1aa0192be630f2fb",
"f0b4e9e29e12218c2d5bd7020e4e785297d91fd7", "f0b4e9e29e12218c2d5bd7020e4e785297d91fd7",
"4e83a94ae5155bbea14d7331a5a8db82457bd5ae", "4e83a94ae5155bbea14d7331a5a8db82457bd5ae",
"6386e58bc1bba5e76baec9e8a1ca4b99dc3c573f", "6386e58bc1bba5e76baec9e8a1ca4b99dc3c573f",
@@ -115666,6 +115673,7 @@
"34fa37599f2f9eb607390ef2458a3c22d87f09a9", "34fa37599f2f9eb607390ef2458a3c22d87f09a9",
"273a9933b68a290c5aedcd6d69faa7b1d22c0344", "273a9933b68a290c5aedcd6d69faa7b1d22c0344",
"6e89d1227581c76441a53d605f9e324185f1da33", "6e89d1227581c76441a53d605f9e324185f1da33",
"57fe1bdee955bb48d357e463ccbf129496930b62",
"604556b2e62860af18db5a77f2956ebc75450020", "604556b2e62860af18db5a77f2956ebc75450020",
"d1ae642aed4f0584eeb81ff50180db694e5101d4", "d1ae642aed4f0584eeb81ff50180db694e5101d4",
"4ae4d37409ff99411a623da9f6a44192170a854e", "4ae4d37409ff99411a623da9f6a44192170a854e",
@@ -115684,12 +115692,9 @@
"db1031585968cfc6ec2ecda5c9a5a52f61444a3b", "db1031585968cfc6ec2ecda5c9a5a52f61444a3b",
"b4f14e58030ed40fff2dc312b58ea4440bdf8cc5", "b4f14e58030ed40fff2dc312b58ea4440bdf8cc5",
"c65592330c9dd84011151daed52f9aec926b7e56", "c65592330c9dd84011151daed52f9aec926b7e56",
"1db57a1e8b6e4096f811587f9eab0c6675fd9755",
"72c65f2a11ee7b72b77b9945187b7a332632e14a", "72c65f2a11ee7b72b77b9945187b7a332632e14a",
"6d27d71aec4dfba98f66316ae74a1426d567698a", "6d27d71aec4dfba98f66316ae74a1426d567698a",
"1293d68bf9643bc4f36954c1e80e38f39864528d", "1293d68bf9643bc4f36954c1e80e38f39864528d",
"369e6eb5e0c975eaa52a4a3f6ee07b2a3c3c16de",
"f282b3aaf98f8423dab7d77f1aa0192be630f2fb",
"3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3", "3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3",
"409e82adac40f6bdd18eb6c84e8b2fbdc7fb5498", "409e82adac40f6bdd18eb6c84e8b2fbdc7fb5498",
"b7af62f0bc95fdca4b31d236f8327dafc80f83b7", "b7af62f0bc95fdca4b31d236f8327dafc80f83b7",

View File

@@ -1,20 +1,20 @@
emulator: Beetle PSX (Mednafen PSX) emulator: Beetle PSX (Mednafen PSX)
type: libretro type: libretro
core_classification: community_fork
source: "https://github.com/libretro/beetle-psx-libretro" source: "https://github.com/libretro/beetle-psx-libretro"
profiled_date: "2026-03-18" upstream: "https://mednafen.github.io/"
profiled_date: "2026-03-24"
core_version: "v0.9.44.1" core_version: "v0.9.44.1"
display_name: "Sony - PlayStation (Beetle PSX)" display_name: "Sony - PlayStation (Beetle PSX)"
cores: [mednafen_psx, mednafen_psx_hw] cores: [mednafen_psx, mednafen_psx_hw]
systems: [sony-playstation] systems: [sony-playstation]
bios_size: 524288 # 512 KB for all accepted BIOS images
verification: sha1
notes: > notes: >
Region-based BIOS selection: the core picks JP/NA/EU firmware based on disc region. 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 validated with warning on mismatch (does not block loading).
SHA1 and alternate filenames sourced from MAME psx.cpp (libretro.cpp:184).
Override option allows using PSP or PS3 extracted PS1 BIOS as region-free alternative. Override option allows using PSP or PS3 extracted PS1 BIOS as region-free alternative.
"Skip BIOS" option exists but causes compatibility issues (PAL copy protection, Saga Frontier). "Skip BIOS" option patches BIOS ROM but causes compatibility issues.
Alternate filenames are case variants and model aliases for the same image. Upstream Mednafen loads the same 3 region BIOS; override BIOS are libretro additions.
Comment in source references MAME psx.cpp as hash source.
files: files:
# -- Region: Japan (REGION_JP) -- # -- Region: Japan (REGION_JP) --
@@ -23,8 +23,11 @@ files:
description: "SCPH-5500 (v3.0 09-09-96 J)" description: "SCPH-5500 (v3.0 09-09-96 J)"
region: "NTSC-J" region: "NTSC-J"
required: true required: true
size: 524288
sha1: "b05def971d8ec59f346f2d9ac21fb742e3eb6917" sha1: "b05def971d8ec59f346f2d9ac21fb742e3eb6917"
md5: "8dd7d5296a650fac7319bce665a6a53c" md5: "8dd7d5296a650fac7319bce665a6a53c"
validation: [sha1]
mode: both
source_ref: "libretro.cpp:252-256" source_ref: "libretro.cpp:252-256"
aliases: ["SCPH5500.bin", "SCPH-5500.bin"] aliases: ["SCPH5500.bin", "SCPH-5500.bin"]
@@ -34,8 +37,11 @@ files:
description: "SCPH-5501, 5503, 7003 (v3.0 11-18-96 A)" description: "SCPH-5501, 5503, 7003 (v3.0 11-18-96 A)"
region: "NTSC-U" region: "NTSC-U"
required: true required: true
size: 524288
sha1: "0555c6fae8906f3f09baf5988f00e55f88e9f30b" sha1: "0555c6fae8906f3f09baf5988f00e55f88e9f30b"
md5: "490f666e1afb15b7362b406ed1cea246" md5: "490f666e1afb15b7362b406ed1cea246"
validation: [sha1]
mode: both
source_ref: "libretro.cpp:258-270" source_ref: "libretro.cpp:258-270"
aliases: aliases:
- "SCPH5501.bin" - "SCPH5501.bin"
@@ -53,8 +59,11 @@ files:
description: "SCPH-5502, 5552 (v3.0 01-06-97 E)" description: "SCPH-5502, 5552 (v3.0 01-06-97 E)"
region: "PAL" region: "PAL"
required: true required: true
size: 524288
sha1: "f6bc2d1f5eb6593de7d089c425ac681d6fffd3f0" sha1: "f6bc2d1f5eb6593de7d089c425ac681d6fffd3f0"
md5: "32736f17079d0b2b7024407c39bd3050" md5: "32736f17079d0b2b7024407c39bd3050"
validation: [sha1]
mode: both
source_ref: "libretro.cpp:272-282" source_ref: "libretro.cpp:272-282"
aliases: aliases:
- "SCPH5502.bin" - "SCPH5502.bin"
@@ -69,18 +78,24 @@ files:
description: "PSP embedded PS1 BIOS (region-free override)" description: "PSP embedded PS1 BIOS (region-free override)"
region: "Auto" region: "Auto"
required: false required: false
size: 524288
sha1: "96880d1ca92a016ff054be5159bb06fe03cb4e14" sha1: "96880d1ca92a016ff054be5159bb06fe03cb4e14"
md5: "c53ca5908936d412331790f4426c6c33" md5: "c53ca5908936d412331790f4426c6c33"
source_ref: "libretro.cpp:190-196" validation: [sha1]
mode: libretro
source_ref: "libretro.cpp:190-195"
aliases: ["PSXONPSP660.bin"] aliases: ["PSXONPSP660.bin"]
notes: "override_bios=1 (psxonpsp option). Falls back to region BIOS if not found." notes: "override_bios=1. Falls back to region BIOS if not found."
- name: "ps1_rom.bin" - name: "ps1_rom.bin"
description: "PS3 embedded PS1 BIOS (region-free override)" description: "PS3 embedded PS1 BIOS (region-free override)"
region: "Auto" region: "Auto"
required: false required: false
size: 524288
sha1: "c40146361eb8cf670b19fdc9759190257803cab7" sha1: "c40146361eb8cf670b19fdc9759190257803cab7"
md5: "81bbe60ba7a3d1cea1d48c14cbcc647b" md5: "81bbe60ba7a3d1cea1d48c14cbcc647b"
source_ref: "libretro.cpp:198-204" validation: [sha1]
mode: libretro
source_ref: "libretro.cpp:198-203"
aliases: ["PS1_ROM.bin"] aliases: ["PS1_ROM.bin"]
notes: "override_bios=2 (ps1_rom option). Falls back to region BIOS if not found." notes: "override_bios=2. Falls back to region BIOS if not found."

View File

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

View File

@@ -1,9 +1,12 @@
emulator: Beetle WonderSwan (Mednafen WonderSwan) emulator: Beetle WonderSwan (Mednafen WonderSwan)
type: libretro type: libretro
core_classification: pure_libretro
source: "https://github.com/libretro/beetle-wswan-libretro" source: "https://github.com/libretro/beetle-wswan-libretro"
profiled_date: "2026-03-18" upstream: "https://mednafen.github.io/"
profiled_date: "2026-03-24"
core_version: "v0.9.35.1" core_version: "v0.9.35.1"
display_name: "Bandai - WonderSwan/Color (Beetle Wonderswan)" display_name: "Bandai - WonderSwan/Color (Beetle Wonderswan)"
cores: [beetle_wswan]
systems: [bandai-wswan, bandai-wswanc] systems: [bandai-wswan, bandai-wswanc]
notes: | notes: |

View File

@@ -1,7 +1,7 @@
emulator: "mednafen_psx" emulator: "mednafen_psx"
type: alias type: alias
alias_of: "beetle_psx" alias_of: "beetle_psx"
profiled_date: "2026-03-18" profiled_date: "2026-03-24"
core_version: "v0.9.44.1" core_version: "v0.9.44.1"
display_name: "Sony - PlayStation (Beetle PSX)" display_name: "Sony - PlayStation (Beetle PSX)"
note: "This core uses the same BIOS/firmware as beetle_psx. See emulators/beetle_psx.yml for details." note: "This core uses the same BIOS/firmware as beetle_psx. See emulators/beetle_psx.yml for details."

View File

@@ -1,7 +1,7 @@
emulator: "mednafen_saturn" emulator: "mednafen_saturn"
type: alias type: alias
alias_of: "beetle_saturn" alias_of: "beetle_saturn"
profiled_date: "2026-03-18" profiled_date: "2026-03-24"
core_version: "v0.9.45.1" core_version: "v0.9.45.1"
display_name: "Sega - Saturn (Beetle Saturn)" display_name: "Sega - Saturn (Beetle Saturn)"
note: "This core uses the same BIOS/firmware as beetle_saturn. See emulators/beetle_saturn.yml for details." note: "This core uses the same BIOS/firmware as beetle_saturn. See emulators/beetle_saturn.yml for details."

View File

@@ -1,8 +1,24 @@
emulator: "mednafen_supafaust" emulator: mednafen_supafaust
type: alias type: libretro
alias_of: "bsnes" core_classification: community_fork
profiled_date: "2026-03-18" source: "https://github.com/libretro/supafaust"
upstream: "https://mednafen.github.io/"
profiled_date: "2026-03-24"
core_version: "1.29.0" core_version: "1.29.0"
display_name: "Nintendo - SNES / SFC (Beetle Supafaust)" display_name: "Nintendo - SNES / SFC (Beetle Supafaust)"
note: "This core uses the same BIOS/firmware as bsnes. See emulators/bsnes.yml for details." cores: [mednafen_supafaust]
systems: [nintendo-snes]
# Port of Mednafen's experimental snes_faust module.
# All special chips (DSP-1, DSP-2, CX4, SuperFX, SA-1, S-DD1) emulated via HLE.
# DSP-1 data ROM synthesized in code (dsp1-datarom-synth.h).
# DSP-3, DSP-4, ST010, ST011, ST018, SPC7110 detected but not emulated (fall through).
# MSU1 supported (loads data from game directory, not system directory).
# RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY never called.
notes: >
Port of Mednafen's snes_faust module. All special chip firmware
emulated via HLE with synthesized data ROMs. No external firmware loading.
source_ref: dsp1.cpp:120-177, dsp2.cpp:118-140, cx4.cpp:1548-1656,
cart.cpp:129-584, libretro.cpp:496-742
files: [] files: []

View File

@@ -1,8 +1,53 @@
emulator: "mednafen_supergrafx" emulator: mednafen_supergrafx
type: alias type: libretro
alias_of: "mednafen_pce" core_classification: community_fork
source: "https://github.com/libretro/beetle-supergrafx-libretro"
upstream: "https://mednafen.github.io/"
profiled_date: "2026-03-24" profiled_date: "2026-03-24"
core_version: "v1.23.0" core_version: "v1.23.0"
display_name: "NEC - PC Engine SuperGrafx (Beetle SuperGrafx)" display_name: "NEC - PC Engine SuperGrafx (Beetle SuperGrafx)"
note: "Different repo (beetle-supergrafx-libretro) but loads identical BIOS files as mednafen_pce." cores: [mednafen_supergrafx]
files: [] systems: [nec-pc-engine]
verification: existence
notes: >
Fork of Mednafen's pce_fast module with SuperGrafx and CD support.
Separate codebase from beetle_pce (mednafen/pce_fast/ vs mednafen/pce/).
BIOS loaded via HuC_LoadCD() at CD-ROM load time. Core option "sgx_cdbios"
selects which card image to use (default: System Card 3).
DetectGECD() auto-detects Games Express discs and overrides to gexpress.pce.
DetectSGXCD() detects SuperGrafx CD titles via magic bytes.
Arcade Card mode (sgx_arcadecard option, not exposed) extends System Card 3
with extra RAM mapping.
No hash or size validation on BIOS load.
Upstream pce_fast module has a single pce_fast.cdbios string setting;
the 4-option dropdown is a libretro addition. Upstream has no separate
gecdbios setting (unlike the accurate pce module).
files:
- name: "syscard3.pce"
description: "CD-ROM System Card 3.0 (Japan)"
region: "NTSC-J"
required: true
source_ref: "libretro.cpp:972-973, mednafen/settings.cpp:37"
notes: "Default value for sgx_cdbios option."
- name: "syscard2.pce"
description: "CD-ROM System Card 2.0 (Japan)"
region: "NTSC-J"
required: false
source_ref: "libretro.cpp:974-975"
notes: "sgx_cdbios = 'System Card 2'."
- name: "syscard1.pce"
description: "CD-ROM System Card 1.0 (Japan)"
region: "NTSC-J"
required: false
source_ref: "libretro.cpp:976-977"
notes: "sgx_cdbios = 'System Card 1'."
- name: "gexpress.pce"
description: "Games Express CD Card"
region: "NTSC-J"
required: false
source_ref: "libretro.cpp:978-979, mednafen/pce_fast/pce.cpp:330-367,453-454"
notes: "sgx_cdbios = 'Games Express' or auto-detected via DetectGECD()."

View File

@@ -1,8 +1,9 @@
emulator: "mednafen_wswan" emulator: "mednafen_wswan"
type: alias type: alias
alias_of: "beetle_wswan" alias_of: "beetle_wswan"
profiled_date: "2026-03-18" source: "https://github.com/libretro/beetle-wswan-libretro"
profiled_date: "2026-03-24"
core_version: "v0.9.35.1" core_version: "v0.9.35.1"
display_name: "Bandai - WonderSwan/Color (Beetle Wonderswan)" display_name: "Bandai - WonderSwan/Color (Beetle Wonderswan)"
note: "This core uses the same BIOS/firmware as beetle_wswan. See emulators/beetle_wswan.yml for details." note: "Binary name for beetle_wswan. Same codebase, single .so/.dll."
files: [] files: []

View File

@@ -1,82 +1,91 @@
emulator: MelonDS emulator: melonDS
type: standalone + libretro type: standalone + libretro
source: "https://github.com/melonDS-emu/melonDS" core_classification: community_fork
logo: "https://raw.githubusercontent.com/melonDS-emu/melonDS/master/res/melon.svg" cores: [melonds]
profiled_date: "2026-03-18" source: "https://github.com/libretro/melonDS"
upstream: "https://github.com/melonDS-emu/melonDS"
profiled_date: "2026-03-24"
core_version: "Git" core_version: "Git"
display_name: "Nintendo - DS (melonDS)" display_name: "Nintendo - DS (melonDS)"
systems: [nintendo-ds, nintendo-dsi] systems: [nintendo-ds, nintendo-dsi]
notes: | notes: |
MelonDS includes a built-in FreeBIOS replacement for basic DS mode (NTR). FreeBIOS fallback for DS mode (NTR); DSi mode requires all native files.
Native BIOS/firmware files are required for DSi mode and recommended for Libretro fork based on melonDS ~0.9.x era, validates size only.
full DS compatibility (Key1 crypto for cartridge auth). Upstream adds CRC32 validation on BIOS files (MemConstants.h).
ARM9 BIOS size: 0x1000 (4 KB), ARM7 BIOS size: 0x4000 (16 KB). DSi SD card emulation controlled by melonds_dsi_sdcard core option.
DSi BIOS size: 0x10000 (64 KB) each.
Config keys: DS.BIOS9Path, DS.BIOS7Path, DS.FirmwarePath,
DSi.BIOS9Path, DSi.BIOS7Path, DSi.FirmwarePath, DSi.NANDPath.
files: files:
# --- Nintendo DS (NTR) --- # --- Nintendo DS (NTR) ---
- name: "bios9.bin" - name: bios9.bin
system: nintendo-ds system: nintendo-ds
description: "ARM9 BIOS (NDS mode)" description: "ARM9 BIOS"
required: false required: false
hle_fallback: true hle_fallback: true
size: 4096 size: 4096
validation: {core: [size], upstream: [size, crc32]}
crc32: "0x2ab23573" crc32: "0x2ab23573"
source_ref: "src/MemConstants.h:30,37" source_ref: "src/NDS.h:196, src/NDS.cpp:467-477, src/frontend/Util_ROM.cpp:99-111"
notes: "FreeBIOS fallback available; native needed for Key1 cartridge crypto (src/NDSCart.cpp:147-153)" notes: "FreeBIOS fallback (src/FreeBIOS.h); native needed for Key1 cartridge crypto"
- name: "bios7.bin" - name: bios7.bin
system: nintendo-ds system: nintendo-ds
description: "ARM7 BIOS (NDS mode)" description: "ARM7 BIOS"
required: false required: false
hle_fallback: true hle_fallback: true
size: 16384 size: 16384
validation: {core: [size], upstream: [size, crc32]}
crc32: "0x1280f0d5" crc32: "0x1280f0d5"
source_ref: "src/MemConstants.h:31,36" source_ref: "src/NDS.h:197, src/NDS.cpp:482-492, src/frontend/Util_ROM.cpp:117-131"
notes: "FreeBIOS fallback available; native needed for Key1 init at offset 0x0030 (src/NDSCart.cpp:149-153)" notes: "FreeBIOS fallback (src/FreeBIOS.h); native needed for Key1 init at offset 0x0030"
- name: "firmware.bin" - name: firmware.bin
system: nintendo-ds system: nintendo-ds
description: "NDS firmware image" description: "NDS firmware image"
required: false required: false
hle_fallback: true hle_fallback: true
source_ref: "src/frontend/qt_sdl/EmuInstance.cpp:561" validation: [size]
notes: "Generated firmware used as default; native firmware needed for boot animation and wifi settings" source_ref: "src/SPI.cpp:192-211, src/frontend/Util_ROM.cpp:174-195"
notes: "Generated 128KB firmware as fallback; native must be 256KB or 512KB for boot"
# --- Nintendo DSi (TWL) --- # --- Nintendo DSi (TWL) ---
- name: "dsi_bios9.bin" - name: dsi_bios9.bin
system: nintendo-dsi system: nintendo-dsi
description: "ARM9i BIOS (DSi mode)" description: "DSi ARM9 BIOS"
required: true required: true
size: 65536 size: 65536
crc32_full: "0xBAE84F6C" validation: {core: [size], upstream: [size, crc32]}
crc32_low32k: "0x11E7C1EA" crc32: "0xBAE84F6C"
source_ref: "src/MemConstants.h:32,41,45" source_ref: "src/DSi.h:33, src/DSi.cpp:587-599, src/frontend/Util_ROM.cpp:145-156"
notes: "No FreeBIOS fallback for DSi; full dump needed for native boot (src/DSi.cpp:150-152)"
- name: "dsi_bios7.bin" - name: dsi_bios7.bin
system: nintendo-dsi system: nintendo-dsi
description: "ARM7i BIOS (DSi mode)" description: "DSi ARM7 BIOS"
required: true required: true
size: 65536 size: 65536
crc32_full: "0x4316CC42" validation: {core: [size], upstream: [size, crc32]}
crc32_low32k: "0x5434691D" crc32: "0x4316CC42"
source_ref: "src/MemConstants.h:32,40,44" source_ref: "src/DSi.h:34, src/DSi.cpp:604-620, src/frontend/Util_ROM.cpp:158-170"
notes: "Contains eMMC key-Y at offset 0x8308 used for NAND init (src/frontend/qt_sdl/EmuInstance.cpp:1044)" notes: "Contains eMMC key-Y at offset 0x8308 for NAND init"
- name: "dsi_firmware.bin" - name: dsi_firmware.bin
system: nintendo-dsi system: nintendo-dsi
description: "DSi firmware image" description: "DSi firmware image"
required: true required: true
source_ref: "src/frontend/qt_sdl/EmuInstance.cpp:593" size: 131072
notes: "Separate from DS firmware; config key DSi.FirmwarePath" validation: [size]
source_ref: "src/SPI.cpp:197-211, src/frontend/Util_ROM.cpp:201-217"
- name: "dsi_nand.bin" - name: dsi_nand.bin
system: nintendo-dsi system: nintendo-dsi
description: "DSi NAND dump" description: "DSi NAND dump"
required: true required: true
source_ref: "src/DSi_NAND.h:34, src/Args.h:132" source_ref: "src/frontend/Util_ROM.cpp:224-235, src/DSi_NAND.cpp"
notes: "eMMC image; uses AES keys from ARM7i BIOS and ARM9i BIOS (src/DSi_AES.cpp:94)" notes: "Uses AES keys from ARM7i BIOS offset 0x8308"
- name: dsi_sd_card.bin
system: nintendo-dsi
description: "DSi SD card image"
required: false
source_ref: "src/frontend/Util_ROM.cpp:237-243, src/libretro/libretro.cpp:837,553"
notes: "Created if missing; requires melonds_dsi_sdcard core option enabled"

View File

@@ -1,58 +1,83 @@
# melonDS DS — Nintendo DS/DSi (libretro, newer fork)
# ref: JesseTG/melonds-ds, docs.libretro.com/library/melonds_ds
# Prefers files in "melonDS DS/" subfolder. DS mode has HLE fallback.
# DSi mode requires real BIOS + NAND dump.
#
# doc vs source: docs use bios7.bin/bios9.bin (NDS) and dsi_bios7.bin/
# dsi_bios9.bin (DSi). The older melonDS core uses the same names.
# Repo stores NDS ARM7/ARM9 as biosdsi7.bin/biosdsi9.bin (DSi dumps that
# also work for NDS). The md5 in docs (df692a80/a392174e) are for the
# smaller NDS-only dumps, different from the DSi dumps in the repo.
emulator: melonDS DS emulator: melonDS DS
type: libretro type: libretro
core_classification: community_fork
cores: [melonds_ds] cores: [melonds_ds]
source: "https://github.com/JesseTG/melonds-ds" source: "https://github.com/JesseTG/melonds-ds"
upstream: "https://github.com/melonDS-emu/melonDS"
profiled_date: "2026-03-24"
core_version: "1.2.0"
display_name: "Nintendo - DS (melonDS DS)"
systems: systems:
- nintendo-ds - nintendo-ds
- nintendo-dsi - nintendo-dsi
notes: | notes: |
Newer fork of melonDS for libretro with DSi support. Libretro-specific remake using melonDS as a statically-linked library.
DS BIOS files are optional (built-in FreeBIOS used as fallback). DS mode has FreeBIOS/generated firmware fallback; DSi mode requires all
DSi mode requires all four DSi-specific files. native files. Core searches "melonDS DS/" subfolder first, then system root.
Core searches "melonDS DS/" subfolder first, then system root. In DSi mode, NDS BIOS (bios7/bios9) are also required alongside DSi BIOS.
Firmware and NAND filenames are user-selectable via core options.
files: files:
# DS mode (optional, FreeBIOS fallback) # --- Nintendo DS (NTR) ---
- name: bios7.bin - name: bios7.bin
system: nintendo-ds system: nintendo-ds
description: "ARM7 BIOS"
required: false required: false
hle_fallback: true hle_fallback: true
md5: df692a80a5b1bc90728bc3dfc76cd948 size: 16384
note: "NDS ARM7 BIOS" validation: [size]
crc32: "0x1280f0d5"
source_ref: "src/libretro/config/console.cpp:219, melonDS:src/MemConstants.h:31,36"
- name: bios9.bin - name: bios9.bin
system: nintendo-ds system: nintendo-ds
description: "ARM9 BIOS"
required: false required: false
hle_fallback: true hle_fallback: true
md5: a392174eb3e572fed6447e956bde4b25 size: 4096
note: "NDS ARM9 BIOS" validation: [size]
crc32: "0x2ab23573"
source_ref: "src/libretro/config/console.cpp:220, melonDS:src/MemConstants.h:30,37"
- name: firmware.bin - name: firmware.bin
system: nintendo-ds system: nintendo-ds
description: "NDS firmware image"
required: false required: false
hle_fallback: true hle_fallback: true
sha1: 8497afdd16af92d6887b71582846c40514e9039f source_ref: "src/libretro/config/console.cpp:184"
md5: 145eaef5bd3037cbc247c213bb3da1b3 notes: "Filename configurable via core options; generated firmware used as fallback"
size: 262144
# DSi mode (required) # --- Nintendo DSi (TWL) ---
- name: dsi_bios7.bin
system: nintendo-dsi
description: "DSi ARM7 BIOS"
required: true
size: 65536
validation: [size]
crc32: "0x4316CC42"
source_ref: "src/libretro/config/console.cpp:333, melonDS:src/MemConstants.h:32,44"
notes: "Contains eMMC key-Y at offset 0x8308 for NAND init"
- name: dsi_bios9.bin
system: nintendo-dsi
description: "DSi ARM9 BIOS"
required: true
size: 65536
validation: [size]
crc32: "0xBAE84F6C"
source_ref: "src/libretro/config/console.cpp:338, melonDS:src/MemConstants.h:32,45"
- name: dsi_firmware.bin - name: dsi_firmware.bin
system: nintendo-dsi system: nintendo-dsi
description: "DSi firmware image"
required: true required: true
sha1: d2a5af338f09c5cbdd5d7628db5b9c075c69b616 source_ref: "src/libretro/config/console.cpp:352-358"
md5: 8daa89fd280b3e5ec79fbab73ad6684e notes: "Filename configurable via core options; must have DSi firmware header"
size: 131072
- name: dsi_nand.bin - name: dsi_nand.bin
system: nintendo-dsi system: nintendo-dsi
description: "DSi NAND dump"
required: true required: true
sha1: b48f44194fe918aaaec5298861479512b581d661 source_ref: "src/libretro/config/console.cpp:378"
md5: dfafb1908da8f527df7a372e649b50be notes: "Filename configurable via core options; 240MB or 245.5MB with optional no$cash footer"
size: 251658304

197
emulators/mesen-s.yml Normal file
View File

@@ -0,0 +1,197 @@
# mesen-s - SNES / Game Boy / Game Boy Color emulator
# Profiled from: libretro/Mesen-S (libretro port) + SourMesen/Mesen-S (upstream)
emulator: mesen-s
display_name: "Mesen-S"
type: libretro
core_classification: official_port
source: "https://github.com/libretro/Mesen-S"
upstream: "https://github.com/SourMesen/Mesen-S"
profiled_date: "2026-03-24"
core_version: "0.4.0"
cores: [mesen-s]
systems: [nintendo-snes, nintendo-gb, nintendo-gbc, nintendo-super-game-boy, nintendo-satellaview]
notes: >
High-accuracy SNES/SFC emulator with Game Boy/Color and Super Game Boy
support. Upstream archived at 0.4.0, superseded by Mesen2. DSP firmware
can be loaded as combined files (dsp1.rom, dsp1b.rom, dsp2.rom, dsp3.rom,
dsp4.rom, st010.rom, st011.rom) or split program/data ROMs. Combined
files are tried first, size validated. HLE coprocessor option available
for DSP-1/DSP-1B only (libretro core option mesen-s_hle_coprocessor).
CX4 is fully HLE, no firmware needed. ST018 detected but not emulated.
GB/GBC/SGB boot ROMs fall back to embedded open-source SameBoy boot ROMs
when external files are not found.
files:
# -- NEC uPD7725 DSP firmware (split format) --
# Combined format also accepted: dsp1.rom (8192), dsp1b.rom (8192),
# dsp2.rom (8192), dsp3.rom (8192), dsp4.rom (8192)
- name: "dsp1.program.rom"
size: 6144
required: false
hle_fallback: true
validation: [size]
note: "DSP-1 program ROM. HLE fallback in libretro port only"
source_ref: "Core/NecDsp.cpp:95, Core/FirmwareHelper.h:17-35"
- name: "dsp1.data.rom"
size: 2048
required: false
hle_fallback: true
validation: [size]
note: "DSP-1 data ROM"
source_ref: "Core/NecDsp.cpp:95, Core/FirmwareHelper.h:17-35"
- name: "dsp1b.program.rom"
size: 6144
required: false
hle_fallback: true
validation: [size]
note: "DSP-1B program ROM. HLE fallback in libretro port only"
source_ref: "Core/NecDsp.cpp:96"
- name: "dsp1b.data.rom"
size: 2048
required: false
hle_fallback: true
validation: [size]
note: "DSP-1B data ROM"
source_ref: "Core/NecDsp.cpp:96"
- name: "dsp2.program.rom"
size: 6144
required: false
validation: [size]
note: "DSP-2 program ROM"
source_ref: "Core/NecDsp.cpp:97"
- name: "dsp2.data.rom"
size: 2048
required: false
validation: [size]
note: "DSP-2 data ROM"
source_ref: "Core/NecDsp.cpp:97"
- name: "dsp3.program.rom"
size: 6144
required: false
validation: [size]
note: "DSP-3 program ROM"
source_ref: "Core/NecDsp.cpp:98"
- name: "dsp3.data.rom"
size: 2048
required: false
validation: [size]
note: "DSP-3 data ROM"
source_ref: "Core/NecDsp.cpp:98"
- name: "dsp4.program.rom"
size: 6144
required: false
validation: [size]
note: "DSP-4 program ROM"
source_ref: "Core/NecDsp.cpp:99"
- name: "dsp4.data.rom"
size: 2048
required: false
validation: [size]
note: "DSP-4 data ROM"
source_ref: "Core/NecDsp.cpp:99"
# -- NEC uPD96050 coprocessor firmware (split format) --
# Combined format also accepted: st010.rom (53248), st011.rom (53248)
- name: "st010.program.rom"
size: 49152
required: false
validation: [size]
note: "ST-010 program ROM"
source_ref: "Core/NecDsp.cpp:100"
- name: "st010.data.rom"
size: 4096
required: false
validation: [size]
note: "ST-010 data ROM"
source_ref: "Core/NecDsp.cpp:100"
- name: "st011.program.rom"
size: 49152
required: false
validation: [size]
note: "ST-011 program ROM"
source_ref: "Core/NecDsp.cpp:101"
- name: "st011.data.rom"
size: 4096
required: false
validation: [size]
note: "ST-011 data ROM"
source_ref: "Core/NecDsp.cpp:101"
# -- Game Boy boot ROMs --
- name: "dmg_boot.bin"
size: 256
required: false
hle_fallback: true
aliases: [gb_bios.bin]
validation: [size]
note: "Game Boy (DMG) boot ROM. Falls back to embedded SameBoy open-source boot ROM"
source_ref: "Core/FirmwareHelper.h:148, Core/Gameboy.cpp:108-114, Core/GbBootRom.h:6"
- name: "cgb_boot.bin"
size: 2304
required: false
hle_fallback: true
aliases: [gbc_bios.bin]
validation: [size]
note: "Game Boy Color boot ROM. Falls back to embedded SameBoy open-source boot ROM"
source_ref: "Core/FirmwareHelper.h:149, Core/Gameboy.cpp:108-119, Core/GbBootRom.h:6"
- name: "sgb_boot.bin"
size: 256
required: false
hle_fallback: true
aliases: [sgb_bios.bin]
validation: [size]
note: "Super Game Boy boot ROM for GB CPU. Falls back to embedded SameBoy open-source boot ROM"
source_ref: "Core/FirmwareHelper.h:150, Core/Gameboy.cpp:108-127, Core/GbBootRom.h:6"
- name: "sgb2_boot.bin"
size: 256
required: false
hle_fallback: true
aliases: [sgb_bios.bin]
validation: [size]
note: "Super Game Boy 2 boot ROM for GB CPU. Falls back to embedded SameBoy open-source boot ROM"
source_ref: "Core/FirmwareHelper.h:151, Core/Gameboy.cpp:108-127, Core/GbBootRom.h:6"
# -- Super Game Boy cartridge ROMs --
- name: "SGB1.sfc"
size: 262144
required: false
validation: [size]
note: "Super Game Boy SNES cartridge ROM. Without it, SGB mode falls back to regular GB"
source_ref: "Core/FirmwareHelper.h:118-133, Core/BaseCartridge.cpp:630-638"
- name: "SGB2.sfc"
size: 524288
required: false
validation: [size]
note: "Super Game Boy 2 SNES cartridge ROM. Core option mesen-s_sgb2 selects SGB version"
source_ref: "Core/FirmwareHelper.h:118-133, Core/BaseCartridge.cpp:630-638"
# -- Satellaview --
- name: "BS-X.bin"
size: 1048576
required: false
validation: [size]
note: "Satellaview BS-X BIOS ROM. Minimum accepted size is 32768 bytes"
source_ref: "Core/FirmwareHelper.h:39-47,96-113, Core/BaseCartridge.cpp:65"

View File

@@ -1,95 +1,69 @@
emulator: Mesen emulator: Mesen
type: libretro type: libretro
core_classification: official_port
source: "https://github.com/libretro/Mesen" source: "https://github.com/libretro/Mesen"
upstream: "https://github.com/SourMesen/Mesen"
logo: "https://raw.githubusercontent.com/SourMesen/Mesen2/master/UI/Assets/Mesen.svg" logo: "https://raw.githubusercontent.com/SourMesen/Mesen2/master/UI/Assets/Mesen.svg"
profiled_date: "2026-03-18" profiled_date: "2026-03-24"
core_version: "0.9.9" core_version: "0.9.9"
display_name: "Nintendo - NES / Famicom (Mesen)" display_name: "Nintendo - NES / Famicom (Mesen)"
cores: [mesen]
systems: [nintendo-nes, nintendo-fds] systems: [nintendo-nes, nintendo-fds]
notes: | notes: |
Mesen is a cycle-accurate NES/Famicom emulator (the original, NES-only Mesen is a cycle-accurate NES/Famicom emulator by Sour (the original
version -- not Mesen2 which adds SNES/GB/PCE). NES cartridge games NES-only version, archived in 2020 in favor of Mesen2). NES cartridge
need no BIOS. Famicom Disk System games require the FDS BIOS ROM. games need no BIOS. Famicom Disk System games require the FDS BIOS ROM.
The core tries two filenames for the FDS BIOS: FdsBios.bin first, then The core tries FdsBios.bin first, then disksys.rom as fallback. Both are
disksys.rom as fallback. Both are loaded from the system directory root loaded from the system directory root. If neither is found or the file is
(GetHomeFolder = RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY). If neither is not exactly 8192 bytes, FDS games fail to load (BiosMissing).
found or the file is not exactly 8192 bytes, FDS games fail to load.
The Study Box is an obscure Famicom tape-based learning peripheral The Study Box is a Famicom tape-based learning peripheral (mapper 186).
(mapper 186). Its BIOS (StudyBox.bin, 256 KB) is loaded the same way. Its BIOS (StudyBox.bin, 256 KB) is loaded the same way. Only needed for
Only needed for Study Box tape dumps (.stbx format). Study Box tape dumps (.stbx format).
MesenDB.txt (game database for CRC-based ROM identification) is baked MesenDB.txt (game database) is baked into the libretro binary as
into the core binary as MesenDB.inc. An external file in the system MesenDB.inc and loaded in retro_init(). The external file path in
directory overrides the built-in copy but is never required. InitDatabase() is never reached in the libretro context.
MesenPalette.pal is an optional custom palette file, loaded only when MesenPalette.pal is an optional custom palette file, loaded only when
the mesen_palette core option is set to Custom. Accepts 192 bytes the mesen_palette core option is set to Custom. Accepts 192 bytes
(64 colors) or 1536 bytes (512 colors with emphasis combos). Multiple (64 colors) or 1536 bytes (512 colors with emphasis combos).
palettes exist so no canonical hash.
HdPacks go in system/HdPacks/<rom_name>/ -- not BIOS files, ignored HdPacks go in system/HdPacks/<rom_name>/ -- per-game content, not
here. system BIOS.
File path construction: Libretro/libretro.cpp retro_init() sets File path construction: retro_load_game() sets
FolderUtilities::SetHomeFolder(systemFolder). All BIOS lookups use FolderUtilities::SetHomeFolder(systemFolder). All BIOS lookups use
FolderUtilities::CombinePath(GetHomeFolder(), filename) -- flat, CombinePath(GetHomeFolder(), filename) -- flat, no subdirectories.
no subdirectories.
No functional divergence between upstream and libretro for BIOS loading.
files: files:
# --- Famicom Disk System BIOS (required for FDS games) ---
- name: "disksys.rom" - name: "disksys.rom"
aliases: ["FdsBios.bin"]
system: nintendo-fds system: nintendo-fds
description: "FDS BIOS ROM" description: "FDS BIOS ROM"
required: true required: true
size: 8192 size: 8192
md5: "ca30b50f880eb660a320674ed365ef7a" validation: [size]
sha1: "57fe1bdee955bb48d357e463ccbf129496930b62" source_ref: "Core/FdsLoader.cpp:45-59 (LoadBios tries FdsBios.bin then disksys.rom), Core/FdsLoader.cpp:143-146 (LoadRom validates size == 0x2000)"
source_ref: "Core/FdsLoader.cpp:45-60 (LoadBios), Core/FdsLoader.cpp:140-146 (LoadRom validates size == 0x2000)" notes: "Mapped at 0xE000-0xFFFF as PRG ROM bank 0. Core checks FdsBios.bin first, falls back to disksys.rom. Size must be exactly 8192 bytes or BiosMissing is set."
notes: "Mapped at 0xE000-0xFFFF as PRG ROM bank 0. Core tries FdsBios.bin first, falls back to disksys.rom. CRC32 0x5E607DCF (standard Famicom). Size must be exactly 8192 bytes or BiosMissing is set."
# --- FDS BIOS alternate filename ---
- name: "FdsBios.bin"
system: nintendo-fds
description: "FDS BIOS ROM (Mesen-preferred filename)"
required: false
size: 8192
md5: "ca30b50f880eb660a320674ed365ef7a"
sha1: "57fe1bdee955bb48d357e463ccbf129496930b62"
source_ref: "Core/FdsLoader.cpp:50 (primary lookup path)"
notes: "Same file as disksys.rom. Mesen checks this name first. Only one of the two is needed."
# --- Study Box BIOS (required for Study Box tape content) ---
- name: "StudyBox.bin" - name: "StudyBox.bin"
system: nintendo-nes system: nintendo-nes
description: "Famicom Study Box BIOS ROM" description: "Famicom Study Box BIOS ROM"
required: false required: false
size: 262144 size: 262144
md5: ~ validation: [size]
sha1: ~ source_ref: "Core/StudyBoxLoader.cpp:125-133 (LoadBios), Core/StudyBoxLoader.cpp:149-152 (LoadRom validates size == 0x40000)"
source_ref: "Core/StudyBoxLoader.cpp:125-133 (LoadBios), Core/StudyBoxLoader.cpp:146-157 (LoadRom validates size == 0x40000)" notes: "256 KB BIOS for the Study Box tape peripheral (mapper 186). Only needed for .stbx tape dumps. Size must be exactly 262144 bytes."
notes: "256 KB BIOS for the Study Box tape peripheral (mapper 186, iNES mapper 65533). Only needed for .stbx tape dumps. Extremely obscure hardware, no widely-known hash."
# --- Game database (optional, baked-in fallback) ---
- name: "MesenDB.txt"
system: nintendo-nes
description: "Mesen game database for CRC-based ROM identification"
required: false
size: ~
md5: ~
sha1: ~
source_ref: "Core/GameDatabase.cpp:74-81 (InitDatabase), Libretro/MesenDB.inc (baked-in copy)"
notes: "CSV game database keyed by CRC32. Used for mapper, mirroring, input type, and VS System detection. A complete copy is compiled into the binary, so this file is optional. Placing a newer version in the system directory overrides the built-in data."
# --- Custom palette (optional, core option mesen_palette = Custom) ---
- name: "MesenPalette.pal" - name: "MesenPalette.pal"
system: nintendo-nes system: nintendo-nes
description: "External NES color palette" description: "External NES color palette"
required: false required: false
size: 192 source_ref: "Libretro/libretro.cpp:301-323 (load_custom_palette), Libretro/libretro.cpp:405-406 (called when mesen_palette == Custom)"
md5: ~ validation: [size]
sha1: ~ notes: "Loaded when mesen_palette core option is Custom. Accepts exactly 192 bytes (64 RGB triplets) or 1536 bytes (512 entries for emphasis combos). Falls back to built-in default palette if size doesn't match."
source_ref: "Libretro/libretro.cpp:301-323 (load_custom_palette)"
notes: "Loaded when mesen_palette core option is Custom. Accepts 192 bytes (64 RGB triplets) or 1536 bytes (512 entries for emphasis combos). Falls back to built-in default palette. Multiple valid palettes exist so no canonical hash."

View File

@@ -1,8 +1,38 @@
emulator: "mess2015" emulator: MESS 2015
type: alias type: libretro
alias_of: "mame2016" core_classification: frozen_snapshot
profiled_date: "2026-03-18" source: "https://github.com/libretro/mame2015-libretro"
core_version: "Git" upstream: "https://github.com/mamedev/mame/tree/mame0160"
profiled_date: "2026-03-24"
core_version: "0.160"
display_name: "Multi (MESS 2015)" display_name: "Multi (MESS 2015)"
note: "This core uses the same BIOS/firmware as mame2016. See emulators/mame2016.yml for details." mame_version: "0.159"
files: []
cores:
- mess2015
systems: []
notes: |
Frozen snapshot of MAME/MESS 0.159 (version.c says 0.159, core reports 0.160).
Built from same repo as mame2015/ume2015/cdi2015 with TARGET=mess.
619 machine drivers (home computers, consoles, handhelds, calculators).
No BIOS root sets (no GAME_IS_BIOS_ROOT in src/mess/). Machine ROMs loaded
per-machine via MAME ROM system from content directory.
Software list support via 375 XML hash files in system_dir/mess2015/hash/.
Hash files are bundled in the source repo at /hash/. Not on libretro buildbot.
.info incorrectly says SYSTEMDIR\ume\hash — actual path is mess2015/hash.
hiscore.c integrated (libretro addition, not in upstream MAME 0.159).
SAMPLES sound driver disabled in mess.mak.
Per-game cheat XMLs via system_dir/mess2015/cheat/.
Artwork layouts via system_dir/mess2015/artwork/.
Upstream comparison (tag mame0160): romload.c and softlist.c unmodified.
files:
- name: hiscore.dat
required: false
category: game_data
source_ref: "src/emu/hiscore.c:335-337"
note: "high score definitions, loaded via f.open without explicit search path"

View File

@@ -1,7 +1,9 @@
emulator: Meteor GBA emulator: Meteor GBA
type: libretro type: libretro
core_classification: community_fork
source: "https://github.com/libretro/meteor-libretro" source: "https://github.com/libretro/meteor-libretro"
profiled_date: "2026-03-18" upstream: "https://github.com/blastrock/meteor"
profiled_date: "2026-03-24"
core_version: "v1.4" core_version: "v1.4"
display_name: "Nintendo - Game Boy Advance (Meteor)" display_name: "Nintendo - Game Boy Advance (Meteor)"
cores: cores:
@@ -10,49 +12,21 @@ systems:
- nintendo-gba - nintendo-gba
notes: | notes: |
Meteor is a Game Boy Advance emulator by Philippe Daouadi (2009-2011). GBA emulator by Philippe Daouadi (2009-2011), libretro port by
Hans-Kristian Arntzen. HLE BIOS in ameteor/source/bios.cpp handles
The libretro port does NOT load or use any external BIOS file. The core has SWI calls via Cpu::SoftwareInterrupt() when HasBios() is false
a complete HLE BIOS implementation (ameteor/source/bios.cpp) that handles (ameteor/source/cpu.cpp:245-311). The libretro port never calls
GBA SWI calls directly in C++. When no real BIOS is loaded (HasBios() returns LoadBios() and never queries RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY.
false), Cpu::SoftwareInterrupt() dispatches SWI calls to the HLE handlers Standalone frontends (GTK, text) support optional real BIOS loading.
instead of executing the BIOS ROM (ameteor/source/cpu.cpp:244-311).
The standalone frontends (GTK, text) expose LoadBios() for optional real BIOS
loading, but the libretro port (libretro/libretro.cpp) never calls LoadBios()
and never queries RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY. The retro_load_game()
function only loads the ROM via LoadRom().
HLE SWI coverage: SoftReset (0x00), RegisterRamReset (0x01), Halt (0x02),
IntrWait (0x04), VBlankIntrWait (0x05), Div (0x06), DivArm (0x07),
Sqrt (0x08), ArcTan (0x09), ArcTan2 (0x0A), CpuSet (0x0B),
CpuFastSet (0x0C), BgAffineSet (0x0E), ObjAffineSet (0x0F),
LZ77UnCompWram (0x11), LZ77UnCompVram (0x12), HuffUnComp (0x13),
RLUnCompWram (0x14), RLUnCompVram (0x15).
Missing from HLE: Stop (0x03), BitUnPack (0x10), Diff8bitUnFilter (0x16-0x17),
Diff16bitUnFilter (0x18), SoundBias (0x19), SoundDriverInit (0x1A-0x1F),
MidiKey2Freq (0x1F), SoundDriverVSyncOff/On (0x28-0x29), GetBiosChecksum (0x0D).
The BIOS memory region (0x00000000-0x00003FFF, 16 KB) is allocated only if
LoadBios() is called. Memory reads to this region return BIOS protection values
(0x0E for 8-bit, 0xF00E for 16-bit, 0xE1B0F00E for 32-bit) when no BIOS is
loaded and PC is outside the BIOS area.
Bios000h() (entry point) initializes stack pointers and jumps to 0x08000004,
matching real GBA hardware boot sequence. In the libretro port, retro_reset()
resets all units except BIOS and ROM memory.
files: [] files: []
platform_details: platform_details:
gba: gba:
bios_size: 16384 # 0x4000 bios_size: 16384
hle_bios: true hle_bios: true
source_ref: "ameteor/source/bios.cpp, ameteor/source/cpu.cpp:244-311" source_ref: "ameteor/source/bios.cpp, ameteor/source/cpu.cpp:245-311"
notes: | notes: |
Full HLE BIOS. The libretro port never loads an external BIOS file. Full HLE BIOS. The libretro port never loads an external BIOS file.
Cpu::SoftwareInterrupt() checks HasBios() -- if false (always in libretro), Cpu::SoftwareInterrupt() checks HasBios() if false (always in
SWI calls are routed to C++ reimplementations. If a real BIOS were loaded libretro), SWI calls are routed to C++ reimplementations.
(standalone only), execution would go through the actual BIOS ROM code via
SoftwareInterrupt() -> branch to 0x08.

View File

@@ -1,8 +1,10 @@
emulator: mGBA emulator: mGBA
type: libretro type: libretro
core_classification: official_port
source: "https://github.com/libretro/mgba" 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" logo: "https://raw.githubusercontent.com/mgba-emu/mgba/master/res/mgba-256.png"
profiled_date: "2026-03-18" profiled_date: "2026-03-24"
core_version: "0.10-dev" core_version: "0.10-dev"
display_name: "Nintendo - Game Boy Advance (mGBA)" display_name: "Nintendo - Game Boy Advance (mGBA)"
cores: cores:
@@ -32,10 +34,12 @@ notes: |
GBA -> gba_bios.bin GBA -> gba_bios.bin
GB (DMG/MGB) -> gb_bios.bin GB (DMG/MGB) -> gb_bios.bin
GBC (CGB/AGB) -> gbc_bios.bin GBC (CGB/AGB) -> gbc_bios.bin
SGB (SGB/SGB2)-> sgb_bios.bin SGB -> sgb_bios.bin
SGB2 -> gb_bios.bin (falls to default, missing case)
The standalone core (src/gb/core.c:637-684) handles the same models The standalone core (src/gb/core.c:637-684) correctly maps SGB2 to
and maps SGB2 to sgb_bios.bin (marked TODO for a dedicated file). sgb_bios.bin (marked TODO for a dedicated file). The libretro port
omits GB_MODEL_SGB2 from its switch, so SGB2 falls to default.
GBIsBIOS() in src/gb/gb.c validates BIOS files by CRC32 checksum. GBIsBIOS() in src/gb/gb.c validates BIOS files by CRC32 checksum.
Accepted checksums cover DMG, DMG0, MGB, SGB, SGB2, CGB, CGB0, CGBE, Accepted checksums cover DMG, DMG0, MGB, SGB, SGB2, CGB, CGB0, CGBE,
@@ -50,6 +54,7 @@ files:
required: false required: false
hle_fallback: true hle_fallback: true
size: 16384 # 16 KB (0x4000, GBA_SIZE_BIOS) size: 16384 # 16 KB (0x4000, GBA_SIZE_BIOS)
validation: [size]
note: "GBA BIOS. HLE replacement built in. Real BIOS adds boot logo and full SWI accuracy." note: "GBA BIOS. HLE replacement built in. Real BIOS adds boot logo and full SWI accuracy."
source_ref: "src/platform/libretro/libretro.c:2099" source_ref: "src/platform/libretro/libretro.c:2099"
@@ -60,6 +65,7 @@ files:
system: nintendo-gb system: nintendo-gb
required: false required: false
size: 256 # 256 B (0x100) size: 256 # 256 B (0x100)
validation: [crc32]
note: "DMG/MGB boot ROM. Scrolling Nintendo logo. Skipped if absent." note: "DMG/MGB boot ROM. Scrolling Nintendo logo. Skipped if absent."
source_ref: "src/platform/libretro/libretro.c:2134" source_ref: "src/platform/libretro/libretro.c:2134"
@@ -70,6 +76,7 @@ files:
system: nintendo-gbc system: nintendo-gbc
required: false required: false
size: 2304 # 2304 B (0x900) size: 2304 # 2304 B (0x900)
validation: [crc32]
note: "CGB boot ROM. Used for CGB, AGB (GBA in GB mode), and SCGB models." note: "CGB boot ROM. Used for CGB, AGB (GBA in GB mode), and SCGB models."
source_ref: "src/platform/libretro/libretro.c:2127" source_ref: "src/platform/libretro/libretro.c:2127"
@@ -80,14 +87,15 @@ files:
system: nintendo-sgb system: nintendo-sgb
required: false required: false
size: 256 # 256 B (0x100) size: 256 # 256 B (0x100)
note: "SGB/SGB2 boot ROM. Also used when model is SGB2 (no separate sgb2_bios.bin)." validation: [crc32]
note: "SGB boot ROM. SGB2 maps here in standalone (src/gb/core.c:643) but falls to gb_bios.bin in libretro."
source_ref: "src/platform/libretro/libretro.c:2130" source_ref: "src/platform/libretro/libretro.c:2130"
platform_details: platform_details:
gba: gba:
bios_size: 16384 # 16 KB bios_size: 16384 # 16 KB
hle_bios: true hle_bios: true
source_ref: "src/gba/hle-bios.c, src/gba/gba.c:520-548" source_ref: "src/gba/hle-bios.c, src/gba/gba.c:520-551"
notes: | notes: |
GBALoadBIOS() validates size (must be exactly 0x4000) then computes GBALoadBIOS() validates size (must be exactly 0x4000) then computes
an internal checksum. Two official checksums are recognized: an internal checksum. Two official checksums are recognized:
@@ -120,4 +128,5 @@ platform_details:
notes: | notes: |
Accepted SGB CRC32 checksums: Accepted SGB CRC32 checksums:
SGB = 0xEC8A83B9, SGB2 = 0x53D0DD63 SGB = 0xEC8A83B9, SGB2 = 0x53D0DD63
SGB2 model falls through to sgb_bios.bin (marked TODO upstream). SGB2 maps here in standalone (marked TODO upstream). Libretro port
omits SGB2 case, falls to gb_bios.bin.

View File

@@ -1,69 +1,55 @@
emulator: Mini vMac emulator: Mini vMac
type: libretro type: libretro
core_classification: community_fork
source: "https://github.com/libretro/libretro-minivmac" source: "https://github.com/libretro/libretro-minivmac"
profiled_date: "2026-03-18" upstream: "https://www.gryphel.com/c/minivmac/"
core_version: "GIT" profiled_date: "2026-03-24"
core_version: "36.04"
display_name: "Mac II (minivmac)" display_name: "Mac II (minivmac)"
cores: [minivmac]
systems: [macintosh-ii] systems: [macintosh-ii]
# Mini vMac is a Macintosh II emulator. The libretro port is hardcoded for # Libretro port of Mini vMac 36.04, hardcoded for Mac II emulation
# Mac II emulation (CurEmMd = kEmMd_II) with 68020 CPU, FPU, ADB, VIA2, ASC. # (CurEmMd = kEmMd_II). 68020 CPU, FPU, ADB, VIA2, ASC. 640x480, 8-bit color.
# ROM is loaded from the RetroArch system directory. # The VidROM is generated in memory by Vid_Init(), not loaded from a file.
# ROM loading order (OSGLUERETRO.c LoadMacRom): # ROM loading order in LoadMacRom (OSGLUERETRO.c:774):
# 1. <system>/MacIIx.ROM (tried first, same 256 KB size) # 1. <system_dir>/MacIIx.ROM
# 2. <system>/MacII.ROM (defined as RomFileName in CNFGRAPI.h) # 2. <system_dir>/MacII.ROM
# 3. --rom command line arg (if provided) # 3. --rom command line arg
# 4. ~/.gryphel/mnvm_rom/MacII.ROM # 4. ~/.gryphel/mnvm_rom/MacII.ROM
# 5. app parent directory # 5. app parent directory
# 6. current directory # 6. current directory
# ROM size: kROM_Size = 0x00040000 = 262144 bytes (256 KB) # The libretro port does NOT call ROM_IsValid() (unlike upstream backends),
# ROM checksums defined in CNFGRAPI.h: # so no checksum validation occurs. ROM_Init() patches the Mac's own boot
# kRomCheckSum1 = 0x9779D2C4 (Mac II v1) # ROM check (DisableRomCheck = 1, ROMEMDEV.c:279).
# kRomCheckSum2 = 0x97221136 (Mac II v2)
# Note: DisableRomCheck = 1, so checksum validation is skipped at runtime
# (ROMEMDEV.c patches the ROM check jump). Any 256 KB Mac II ROM works.
files: files:
# -- MacII.ROM (primary, required) --
# Standard Macintosh II ROM image. This is the hardcoded RomFileName.
# The core reads exactly kROM_Size (262144) bytes from this file.
- name: "MacII.ROM" - name: "MacII.ROM"
path: "MacII.ROM" path: "MacII.ROM"
required: true required: true
size: 262144 size: 262144
validation: [size]
source_ref: "minivmac/cfg/CNFGRAPI.h:32, minivmac/src/OSGLUERETRO.c:781" source_ref: "minivmac/cfg/CNFGRAPI.h:32, minivmac/src/OSGLUERETRO.c:781"
note: > note: >
Macintosh II ROM image (256 KB). The core loads this from the system Macintosh II ROM image (256 KB). Hardcoded as RomFileName. The core
directory. Must be exactly 262144 bytes. ROM checksum verification is reads exactly kROM_Size (262144) bytes via filestream_read.
disabled in the libretro build, so either Mac II ROM revision works.
# -- MacIIx.ROM (alternative, optional) --
# Tried before MacII.ROM in the loading sequence. The Mac IIx ROM is the
# same 256 KB size and is compatible with the Mac II emulation mode.
- name: "MacIIx.ROM" - name: "MacIIx.ROM"
path: "MacIIx.ROM" path: "MacIIx.ROM"
required: false required: false
size: 262144 size: 262144
validation: [size]
source_ref: "minivmac/src/OSGLUERETRO.c:778" source_ref: "minivmac/src/OSGLUERETRO.c:778"
note: > note: >
Macintosh IIx ROM image (256 KB). Checked first in the ROM loading Macintosh IIx ROM image (256 KB). Tried first in the loading sequence.
sequence. If present, it takes priority over MacII.ROM. The Mac IIx If present, takes priority over MacII.ROM.
uses the same 68020-class architecture as the Mac II.
notes: notes:
emulation_target: > emulation_target: >
The libretro build is configured exclusively for Macintosh II emulation Configured for Macintosh II (kEmMd_II). 68020 CPU, FPU, ADB, VIA2, ASC
(kEmMd_II). Build options: 68020 CPU, FPU enabled, ADB keyboard/mouse, sound. Screen: 640x480, 8-bit color depth.
VIA2, ASC sound chip. Screen: 640x480, 8-bit color depth. info_discrepancy: >
disk_formats: > .info declares firmware_count=1 (MacII.ROM only). The code also tries
Supported disk image formats: .dsk, .img, .zip, .hvf, .cmd MacIIx.ROM first (OSGLUERETRO.c:778).
The core auto-inserts the loaded content as a floppy disk.
Supports up to NumDrives simultaneous disk images.
rom_checksum_note: >
DisableRomCheck is set to 1 in ROMEMDEV.c, meaning the core patches out
the ROM checksum verification at boot. This allows any valid Mac II era
ROM to work regardless of exact revision.

View File

@@ -1,9 +1,6 @@
emulator: "mkxp-z" emulator: mkxp-z
type: alias type: alias
alias_of: "mkxp_z" alias_of: mkxp_z
core_version: ""
display_name: "RPG Maker XP/VX/VX Ace (mkxp-z)" display_name: "RPG Maker XP/VX/VX Ace (mkxp-z)"
profiled_date: "2026-03-18" profiled_date: "2026-03-24"
display_name: "RPG Maker XP/VX/VX Ace (mkxp-z)"
note: "This core uses the same BIOS/firmware as mkxp_z. See emulators/mkxp_z.yml for details."
files: [] files: []

View File

@@ -1,124 +1,66 @@
emulator: mkxp-z emulator: mkxp-z
type: libretro type: libretro
source: "https://github.com/mkxp-z/mkxp-z" core_classification: game_engine
profiled_date: "2026-03-18" source: "https://github.com/white-axe/mkxp-z"
core_version: "" source_ref: "branch: libretro (PR #255 to mkxp-z/mkxp-z)"
upstream: "https://github.com/mkxp-z/mkxp-z"
profiled_date: "2026-03-24"
core_version: "f4bc5aa"
display_name: "RPG Maker XP/VX/VX Ace (mkxp-z)" display_name: "RPG Maker XP/VX/VX Ace (mkxp-z)"
cores: cores:
- mkxp-z - mkxp-z
systems: systems:
- rpgmaker - rpgmaker
# mkxp-z is an open-source player for RPG Maker XP, VX and VX Ace games.
# Heavily modified fork of mkxp implementing the RGSS (Ruby Game Scripting
# System) interface versions 1, 2 and 3.
#
# The libretro .info file (mkxp-z_libretro.info) declares 3 firmware entries,
# all optional. These are RTP (Run-Time Package) directories, not individual
# files. Each RTP contains default assets (tilesets, sprites, music, sound
# effects, fonts) shared by games that don't bundle their own.
#
# Games that ship all assets internally need no RTP at all.
#
# firmware0: mkxp-z/RTP/Standard (RPG Maker XP RTP) optional
# firmware1: mkxp-z/RTP/RPGVX (RPG Maker VX RTP) optional
# firmware2: mkxp-z/RTP/RPGVXAce (RPG Maker VX Ace RTP) optional
#
# Directory layout under <system_dir>:
# mkxp-z/RTP/Standard/ RPG Maker XP RTP
# Audio/ BGM, BGS, ME, SE in ogg/midi/wav
# Graphics/ tilesets, characters, battlers, etc.
# mkxp-z/RTP/RPGVX/ RPG Maker VX RTP
# Audio/
# Fonts/
# Graphics/
# mkxp-z/RTP/RPGVXAce/ RPG Maker VX Ace RTP
# Audio/
# Fonts/
# Graphics/
#
# RTP installers are available from https://www.rpgmakerweb.com/run-time-package
# On non-Windows, use innoextract to unpack the Windows installers.
#
# RTP path resolution (sharedstate.cpp:144-145, config.cpp:326):
# config.rtps[] is populated from the "RTP" JSON array in mkxp.json.
# The libretro port sets these to <system_dir>/mkxp-z/RTP/<name>.
# Each path is added to PhysFS search path via fileSystem.addPath().
#
# Additional optional directories:
# mkxp-z/Fonts/ custom fallback fonts (.otf/.ttf)
# mkxp-z/Scripts/Preload/ Ruby scripts run before game scripts
# mkxp-z/Scripts/Postload/ Ruby scripts run before rgss_main (RGSS3)
#
# MIDI playback: mkxp-z uses FluidSynth internally. A soundfont can be
# specified per-game in mkxp.json via "midiSoundFont". No global soundfont
# file is declared as firmware.
#
# Supported extensions: ini, json, rxproj, rvproj, rvproj2, mkxp, mkxpz, zip, 7z
# Required GPU: OpenGL Core >= 2.0 or OpenGL ES >= 2.0
notes: | notes: |
No individual BIOS or firmware files required. The three RTP directories Game engine implementing RGSS 1/2/3 (Ruby Game Scripting System) for
listed below are optional collections of default game assets. Only needed RPG Maker XP, VX and VX Ace. Fork of Ancurio/mkxp. Libretro port by
when a game references stock RPG Maker assets instead of bundling them. white-axe, not yet merged upstream.
RPG Maker XP uses RGSS1 (Ruby Game Scripting System 1). All entries are directories, not individual files. No hashable BIOS.
RPG Maker VX uses RGSS2. RTPs are shared asset packages needed only when a game references stock
RPG Maker VX Ace uses RGSS3. assets instead of bundling its own. MIDI soundfont (GMGSx.sf2) is
embedded in the binary.
Each RTP is a directory tree containing Audio/ and Graphics/ subdirs,
plus Fonts/ for VX and VX Ace. These are not hashable single files.
files: files:
# ================================================================ - name: "Standard"
# RPG Maker XP RTP (optional, game-dependent) description: "RPG Maker XP Run-Time Package"
# mkxp-z_libretro.info firmware0
# ================================================================
- name: "RPG Maker XP RTP (Standard)"
category: game_data category: game_data
path: "mkxp-z/RTP/Standard/" path: "mkxp-z/RTP/Standard/"
required: false required: false
type: directory source_ref: "core.cpp:1042-1085, core.cpp:1087-1158"
source_ref: "mkxp-z_libretro.info:firmware0, sharedstate.cpp:144-145"
note: >
Run-Time Package for RPG Maker XP (RGSS1) games. Contains default
tilesets, character sprites, battle animations, panoramas, windowskins,
BGM, BGS, ME and SE audio files. Only needed by games that reference
stock XP assets. Distributed by Enterbrain as a Windows installer,
extractable with innoextract on other platforms.
# ================================================================ - name: "RPGVX"
# RPG Maker VX RTP (optional, game-dependent) description: "RPG Maker VX Run-Time Package"
# mkxp-z_libretro.info firmware1
# ================================================================
- name: "RPG Maker VX RTP (RPGVX)"
category: game_data category: game_data
path: "mkxp-z/RTP/RPGVX/" path: "mkxp-z/RTP/RPGVX/"
required: false required: false
type: directory source_ref: "core.cpp:1042-1085, core.cpp:1087-1158"
source_ref: "mkxp-z_libretro.info:firmware1, sharedstate.cpp:144-145"
note: >
Run-Time Package for RPG Maker VX (RGSS2) games. Contains default
tilesets, character sprites, face graphics, battle animations, fonts
and audio assets. VX uses a different tileset format than XP. Only
needed by games that reference stock VX assets.
# ================================================================ - name: "RPGVXAce"
# RPG Maker VX Ace RTP (optional, game-dependent) description: "RPG Maker VX Ace Run-Time Package"
# mkxp-z_libretro.info firmware2
# ================================================================
- name: "RPG Maker VX Ace RTP (RPGVXAce)"
category: game_data category: game_data
path: "mkxp-z/RTP/RPGVXAce/" path: "mkxp-z/RTP/RPGVXAce/"
required: false required: false
type: directory source_ref: "core.cpp:1042-1085, core.cpp:1087-1158"
source_ref: "mkxp-z_libretro.info:firmware2, sharedstate.cpp:144-145"
note: > - name: "Fonts"
Run-Time Package for RPG Maker VX Ace (RGSS3) games. Largest of the description: "Fallback font directory (.otf/.ttf)"
three RTPs with expanded tilesets, character generators, battle system category: game_data
assets, fonts and audio. VX Ace is the most commonly used RPG Maker path: "mkxp-z/Fonts/"
version on the RGSS engine. Only needed by games that reference stock required: false
VX Ace assets. source_ref: "core.cpp:1160-1172"
- name: "Preload"
description: "Ruby scripts loaded before game scripts"
category: game_data
path: "mkxp-z/Scripts/Preload/"
required: false
source_ref: "core.cpp:876-907"
- name: "Postload"
description: "Ruby scripts loaded after game scripts (RGSS3 only)"
category: game_data
path: "mkxp-z/Scripts/Postload/"
required: false
source_ref: "core.cpp:886-917"

View File

@@ -1,19 +1,18 @@
emulator: MojoZork emulator: MojoZork
type: game type: libretro
source: "https://github.com/libretro/libretro-mojozork" core_classification: pure_libretro
profiled_date: "2026-03-18" source: "https://github.com/icculus/mojozork"
upstream: "https://github.com/icculus/mojozork"
profiled_date: "2026-03-24"
core_version: "0.1" core_version: "0.1"
display_name: "Infocom Z-Machine (MojoZork)" display_name: "Infocom Z-Machine (MojoZork)"
cores: cores:
- mojozork - mojozork
systems: [] systems: [zmachine]
notes: | notes: |
MojoZork is a Z-machine interpreter for libretro, capable of running Z-Machine interpreter for Infocom text adventures (v1-v3).
Infocom-era interactive fiction (Zork, Hitchhiker's Guide, etc.) and Fonts embedded in binary. No system directory access. Story files
other Z-code story files (.z1 through .z8, .zblorb). loaded as content.
No BIOS or system files required. Story files are loaded directly
as content.
files: [] files: []

View File

@@ -1,7 +1,9 @@
emulator: Moonlight emulator: Moonlight
type: utility type: utility
source: "https://github.com/libretro/moonlight-libretro" core_classification: community_fork
profiled_date: "2026-03-18" source: "https://github.com/rock88/moonlight-libretro"
upstream: "https://github.com/moonlight-stream/moonlight-embedded"
profiled_date: "2026-03-24"
core_version: "1.0.3" core_version: "1.0.3"
display_name: "Moonlight" display_name: "Moonlight"
cores: cores:
@@ -9,11 +11,13 @@ cores:
systems: [] systems: []
notes: | notes: |
Moonlight is a game streaming client that connects to NVIDIA Game streaming client for NVIDIA GameStream / Sunshine.
GameStream or Sunshine hosts. The libretro port allows streaming Port of moonlight-embedded for RetroArch, primarily targeting
PC games through RetroArch. Lakka on Nintendo Switch.
No BIOS or system files required. Configuration (host IP, pairing) The core auto-generates all needed files on first run
is handled through core options and the pairing process. (crypto keypair for pairing, unique ID, settings) in the
system directory under a key/ subdirectory. No user-supplied
files required.
files: [] files: []

View File

@@ -1,18 +1,23 @@
emulator: mpv emulator: mpv
type: utility type: utility
core_classification: community_fork
source: "https://github.com/libretro/libretro-mpv" source: "https://github.com/libretro/libretro-mpv"
profiled_date: "2026-03-18" upstream: "https://github.com/mpv-player/mpv"
core_version: "Git" profiled_date: "2026-03-24"
core_version: "0.2.alpha"
display_name: "MPV" display_name: "MPV"
cores: cores:
- mpv - mpv
systems: [] systems: []
notes: | notes: |
Libretro port of mpv, a media player based on MPlayer and mplayer2. Libretro wrapper around libmpv. Links against the mpv shared library
Plays video and audio files within RetroArch using mpv's decoding for video/audio decoding and OpenGL rendering. Experimental, proof of
pipeline. concept. No system directory access — the core only loads the content
file passed by RetroArch.
No BIOS or system files required.
# source_ref: mpv-libretro.c — single-file core (672 lines). No call to
# RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY. Only file access is the content
# path via retro_load_game(info->path) forwarded to mpv loadfile command
# (line 241, 296). No fopen, no system_dir path construction.
files: [] files: []

View File

@@ -1,14 +1,15 @@
emulator: Mr.Boom emulator: Mr.Boom
type: game type: game
core_classification: official_port
source: "https://github.com/libretro/mrboom-libretro" source: "https://github.com/libretro/mrboom-libretro"
profiled_date: "2026-03-18" upstream: "https://github.com/libretro/mrboom-libretro"
profiled_date: "2026-03-24"
core_version: "3.1" core_version: "3.1"
display_name: "Mr.Boom (Bomberman)" display_name: "Mr.Boom (Bomberman)"
cores: [mrboom] cores: [mrboom]
systems: [] systems: []
files: [] files: []
notes: > notes: >
Bomberman clone supporting up to 8 players. Ported to libretro from Bomberman clone supporting up to 8 players. Converted from DOS x86
the original x86 assembly game by Remdy Software. assembly by the original author (Remdy Software) using asm2c.
All game assets are compiled into the core binary. All game assets (graphics, sounds, music) are compiled into the core binary.
No content file, BIOS, or system directory files required.

View File

@@ -1,35 +1,27 @@
emulator: Mu emulator: Mu
type: libretro type: libretro
core_classification: pure_libretro
source: "https://github.com/libretro/Mu" source: "https://github.com/libretro/Mu"
profiled_date: "2026-03-18" upstream: "https://github.com/meepingsnesroms/Mu"
profiled_date: "2026-03-24"
core_version: "v1.3.3" core_version: "v1.3.3"
display_name: "Palm OS (Mu)" display_name: "Palm OS (Mu)"
cores: [mu]
systems: [palm-os] systems: [palm-os]
notes: | notes: |
Mu emulates Palm OS handhelds: Palm m500, Palm m515, and (if compiled Mu emulates Palm m500, Palm m515, and (with EMU_SUPPORT_PALM_OS5)
with EMU_SUPPORT_PALM_OS5) the Tungsten T3. Tungsten T3. A Palm OS ROM dump is required. The core selects the
ROM filename based on the "OS Version" core option:
A Palm OS ROM dump is required. The core selects the ROM filename based
on the "OS Version" core option:
Palm m500 / Palm OS 4.0 -> palmos40-en-m500.rom Palm m500 / Palm OS 4.0 -> palmos40-en-m500.rom
Palm m515 / Palm OS 4.1 -> palmos41-en-m515.rom (default) Palm m515 / Palm OS 4.1 -> palmos41-en-m515.rom (default)
Tungsten T3 / Palm OS 5.2 -> palmos52-en-t3.rom Tungsten T3 / Palm OS 5.2 -> palmos52-en-t3.rom
Tungsten T3 / Palm OS 6.0 -> palmos60-en-t3.rom Tungsten T3 / Palm OS 6.0 -> palmos60-en-t3.rom
ROM path construction: retro_load_game() joins ROM path: RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY + "/" + osVersion + ".rom".
RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY + "/" + osVersion + ".rom". No hash or size validation; the code reads whatever file is present.
The bootloader is optional and ignored for Tungsten T3.
The bootloader (bootloader-dbvz.rom) is optional. It contains the Supports no-game mode (boots Palm OS desktop from ROM without content).
MC68VZ328 UART bootloader and is only relevant for m500/m515 devices.
For the Tungsten T3 it is ignored even if present.
The m500/m515 ROM is loaded into a 4 MB region (M5XX_ROM_SIZE),
padded with 0x00 if smaller, and byte-swapped on little-endian hosts.
The Tungsten T3 ROM maps into a 16 MB region (TUNGSTEN_T3_ROM_SIZE).
The core also supports no-game mode (supports_no_game = true). Without
content, it boots the standard Palm OS desktop from the ROM.
files: files:
# --- Palm m515 / Palm OS 4.1 (default device) --- # --- Palm m515 / Palm OS 4.1 (default device) ---
@@ -37,17 +29,15 @@ files:
system: palm-os system: palm-os
description: "Palm m515 ROM, Palm OS 4.1 English" description: "Palm m515 ROM, Palm OS 4.1 English"
required: true required: true
md5: "83cb1d1c76e568b916dc2e7c0bf669f6" note: "Default ROM. Selected when core option is 'Palm m515/Palm OS 4.1'."
note: "Default ROM. Selected when core option is 'Palm m515/Palm OS 4.1'. Max 4 MB, byte-swapped on LE." source_ref: "libretroBuildSystem/libretro.c:173-176 (check_variables), 744-763 (retro_load_game ROM loading)"
source_ref: "libretroBuildSystem/libretro.c:173-176,744-763 (retro_load_game ROM loading)"
# --- Palm m500 / Palm OS 4.0 --- # --- Palm m500 / Palm OS 4.0 ---
- name: "palmos40-en-m500.rom" - name: "palmos40-en-m500.rom"
system: palm-os system: palm-os
description: "Palm m500 ROM, Palm OS 4.0 English" description: "Palm m500 ROM, Palm OS 4.0 English"
required: false required: false
md5: "f50e4d5e4d98dc831f2c34a9107651eb" note: "Selected when core option is 'Palm m500/Palm OS 4.0'."
note: "Selected when core option is 'Palm m500/Palm OS 4.0'. Max 4 MB."
source_ref: "libretroBuildSystem/libretro.c:169-172" source_ref: "libretroBuildSystem/libretro.c:169-172"
# --- Tungsten T3 / Palm OS 5.2.1 (requires EMU_SUPPORT_PALM_OS5) --- # --- Tungsten T3 / Palm OS 5.2.1 (requires EMU_SUPPORT_PALM_OS5) ---
@@ -55,8 +45,7 @@ files:
system: palm-os system: palm-os
description: "Tungsten T3 ROM, Palm OS 5.2.1 English" description: "Tungsten T3 ROM, Palm OS 5.2.1 English"
required: false required: false
md5: "de46ec84d9aabf655eabdf9b00a3845d" note: "Selected when core option is 'Tungsten T3/Palm OS 5.2.1'. Requires EMU_SUPPORT_PALM_OS5 compile flag."
note: "Selected when core option is 'Tungsten T3/Palm OS 5.2.1'. Max 16 MB. Only available if core compiled with EMU_SUPPORT_PALM_OS5."
source_ref: "libretroBuildSystem/libretro.c:178-181" source_ref: "libretroBuildSystem/libretro.c:178-181"
# --- Tungsten T3 / Palm OS 6.0 (requires EMU_SUPPORT_PALM_OS5) --- # --- Tungsten T3 / Palm OS 6.0 (requires EMU_SUPPORT_PALM_OS5) ---
@@ -64,7 +53,7 @@ files:
system: palm-os system: palm-os
description: "Tungsten T3 ROM, Palm OS 6.0 English" description: "Tungsten T3 ROM, Palm OS 6.0 English"
required: false required: false
note: "Selected when core option is 'Tungsten T3/Palm OS 6.0'. Max 16 MB. Only available if core compiled with EMU_SUPPORT_PALM_OS5." note: "Selected when core option is 'Tungsten T3/Palm OS 6.0'. Requires EMU_SUPPORT_PALM_OS5 compile flag."
source_ref: "libretroBuildSystem/libretro.c:182-185" source_ref: "libretroBuildSystem/libretro.c:182-185"
# --- MC68VZ328 bootloader --- # --- MC68VZ328 bootloader ---
@@ -72,17 +61,17 @@ files:
system: palm-os system: palm-os
description: "MC68VZ328 UART bootloader" description: "MC68VZ328 UART bootloader"
required: false required: false
md5: "9da101cd2317830649a31f8fa46debec" note: "Optional for m500/m515. Ignored for Tungsten T3."
note: "Optional for m500/m515. Ignored for Tungsten T3. Loads from system directory." source_ref: "libretroBuildSystem/libretro.c:766-782, src/dbvz.c:1408-1423 (dbvzLoadBootloader)"
source_ref: "libretroBuildSystem/libretro.c:766-782"
platform_details: platform_details:
palm_m5xx: palm_m5xx:
rom_size: 4194304 # 4 MB (M5XX_ROM_SIZE) rom_size: 4194304 # 4 MB (M5XX_ROM_SIZE)
bootloader_size: 512 # DBVZ_BOOTLOADER_SIZE (0x200)
cpu: "MC68VZ328" cpu: "MC68VZ328"
source_ref: "include/m5XXBus.h:23, src/emulator.c:191-212" source_ref: "include/m5XXBus.h:23,28, src/emulator.c:191-212"
tungsten_t3: tungsten_t3:
rom_size: 16777216 # 16 MB (TUNGSTEN_T3_ROM_SIZE) rom_size: 16777216 # 16 MB (TUNGSTEN_T3_ROM_SIZE)
cpu: "PXA260 (ARM)" cpu: "PXA260 (ARM)"
source_ref: "include/tungstenT3Bus.h:17, src/emulator.c:158-164" source_ref: "include/tungstenT3Bus.h:17, src/emulator.c:145-162"

View File

@@ -1,51 +1,31 @@
emulator: Mupen64Plus-Next emulator: Mupen64Plus-Next
type: libretro type: libretro
core_classification: enhanced_fork
source: "https://github.com/libretro/mupen64plus-libretro-nx" source: "https://github.com/libretro/mupen64plus-libretro-nx"
profiled_date: "2026-03-18" upstream: "https://github.com/mupen64plus/mupen64plus-core"
core_version: "1.0" profiled_date: "2026-03-24"
core_version: "2.8"
display_name: "Nintendo - Nintendo 64 (Mupen64Plus-Next)" display_name: "Nintendo - Nintendo 64 (Mupen64Plus-Next)"
systems: [nintendo-64, nintendo-64dd] systems: [nintendo-64, nintendo-64dd]
cores: [mupen64plus_next, mupen64plus_next_gles3, mupen64plus_next_gles2, parallel_n64] cores: [mupen64plus_next, mupen64plus_next_develop, mupen64plus_next_gles3, mupen64plus_next_gles2]
# PIF boot ROM is fully HLE'd (bootrom_hle.c), no external PIF ROM needed.
# CIC emulation is also handled internally (n64_cic_nus_6105.c).
# The only optional firmware is the 64DD IPL ROM for N64 Disk Drive games.
# mupen64plus_next cores use: system/Mupen64plus/IPL.n64
# parallel_n64 uses: system/64DD_IPL.bin
# Both expect the same ROM, different path.
files: files:
# -- 64DD IPL ROM (mupen64plus_next variants) --
- name: "IPL.n64" - name: "IPL.n64"
path: "Mupen64plus/IPL.n64" path: "Mupen64plus/IPL.n64"
size: 4194304 # 0x400000 (4 MB) size: 4194304
md5: "8d3d9f294b6e174bc7b1d2fd1c727530"
required: false required: false
note: "64DD IPL ROM for N64 Disk Drive games. Only needed for .ndd disk images via subsystem API" note: "64DD IPL ROM. Only needed for N64 Disk Drive games (.ndd) via subsystem API"
source_ref: "mupen64plus-core/src/main/main.c:959-961, libretro/libretro.c:641" source_ref: "mupen64plus-core/src/main/main.c:954-979"
cores: [mupen64plus_next, mupen64plus_next_gles3, mupen64plus_next_gles2]
# -- 64DD IPL ROM (parallel_n64) --
- name: "64DD_IPL.bin"
path: "64DD_IPL.bin"
md5: "8d3d9f294b6e174bc7b1d2fd1c727530"
required: false
note: "Same 64DD IPL ROM, different path expected by parallel_n64"
cores: [parallel_n64]
notes: notes:
hle_available: true hle_available: true
hle_note: > hle_note: >
N64 does not require any BIOS or firmware files for standard cartridge games. PIF boot ROM is fully HLE'd (bootrom_hle.c). CIC challenge/response
The PIF boot ROM is fully emulated via HLE (bootrom_hle.c). CIC chip handled in software (n64_cic_nus_6105.c). No BIOS files needed for
challenge/response is handled in software (n64_cic_nus_6105.c). standard cartridge games.
dd_note: > dd_note: >
The 64DD IPL ROM is only needed to run N64 Disk Drive games (.ndd). 64DD IPL ROM loaded from system/Mupen64plus/IPL.n64 when a .ndd disk
It is loaded via the retro subsystem API (RETRO_GAME_TYPE_DD), which is present. Accepts Z64, N64, and V64 byte-swap formats.
takes both a disk image and an optional cartridge ROM.
The core accepts Z64 (big-endian), N64 (little-endian), and V64
(byte-swapped) formats and converts internally.
transferpak_note: > transferpak_note: >
Transfer Pak support (GB/GBC games on N64) is handled via subsystem API. Transfer Pak support (GB/GBC games on N64) handled via subsystem API.
No additional firmware files needed, just the GB ROM and save file. No additional firmware files needed.

View File

@@ -0,0 +1,8 @@
emulator: "Mupen64Plus-Next Develop"
type: alias
alias_of: "mupen64plus_next"
profiled_date: "2026-03-24"
core_version: "2.8"
display_name: "Nintendo - Nintendo 64 (Mupen64Plus-Next Develop)"
note: "Same codebase as mupen64plus_next, built from develop branch. Experimental/testing variant."
files: []

View File

@@ -0,0 +1,8 @@
emulator: "Mupen64Plus-Next GLES2"
type: alias
alias_of: "mupen64plus_next"
profiled_date: "2026-03-24"
core_version: "2.8"
display_name: "Nintendo - Nintendo 64 (Mupen64Plus-Next GLES2)"
note: "Same codebase as mupen64plus_next, compiled with GLES=1 (-DHAVE_OPENGLES2) for OpenGL ES 2.0 devices. Same BIOS files."
files: []

View File

@@ -0,0 +1,8 @@
emulator: "Mupen64Plus-Next GLES3"
type: alias
alias_of: "mupen64plus_next"
profiled_date: "2026-03-24"
core_version: "2.8"
display_name: "Nintendo - Nintendo 64 (Mupen64Plus-Next GLES3)"
note: "Same codebase as mupen64plus_next, compiled with -DHAVE_OPENGLES3 for OpenGL ES 3.0 devices. Same BIOS files."
files: []

View File

@@ -1,144 +1,122 @@
emulator: NeoCD emulator: NeoCD
type: libretro type: libretro
core_classification: pure_libretro
source: "https://github.com/libretro/neocd_libretro" source: "https://github.com/libretro/neocd_libretro"
profiled_date: "2026-03-18" upstream: "https://github.com/libretro/neocd_libretro"
core_version: "2019" profiled_date: "2026-03-24"
core_version: "2022"
display_name: "SNK - Neo Geo CD (NeoCD)" display_name: "SNK - Neo Geo CD (NeoCD)"
cores:
- neocd
systems: systems:
- snk-neogeo-cd - snk-neogeo-cd
notes: | notes: |
NeoCD is a dedicated SNK Neo Geo CD emulator. It supports Front Loader, Complete rewrite of NeoCD in C++11. Scans {system_dir}/neocd/ for any .rom
Top Loader, and CDZ hardware variants. BIOS files go in {system_dir}/neocd/ or .bin file, also inside .zip archives (src/libretro_bios.cpp:69-105,
subdirectory (src/path.cpp:7, src/libretro_bios.cpp:76-81). src/path.cpp:6 NEOCD_SYSTEM_SUBDIR = "neocd").
The core scans the neocd/ directory for any .rom or .bin file (also inside BIOS identified by binary pattern matching at fixed ROM addresses, not by
.zip archives), reads the first 512 bytes, and identifies the BIOS type by filename (src/bios.cpp:167-206). Files are auto byte-swapped if needed
binary pattern matching at fixed ROM addresses (src/bios.cpp:168-208). (src/bios.cpp:148-160). Files smaller than 524288 bytes are skipped
Filenames listed in the .info are conventional but not enforced by the core. (src/libretro_bios.cpp:42).
Three hardware families are detected: Front Loader (NeoCD), Top Loader Three hardware families detected: Front Loader, Top Loader, CDZ. Modified
(NeoCD), and CDZ. Modified BIOS variants are also recognized: SMKDan 0.07, variants recognized: SMKDan 0.07, SMKDan 0.07b, Universe BIOS 3.2,
SMKDan 0.07b, Universe BIOS 3.2, and Universe BIOS 3.3. The core applies Universe BIOS 3.3 (src/bios.h:11-27). Any single valid BIOS is sufficient;
speed hack patches and CD recognition patches at load time for each type selection via core options dropdown sorted alphabetically.
(src/bios.cpp:209-280).
The Y-ZOOM ROM (ng-lo.rom / 000-lo.lo) is a sprite zoom lookup table loaded Y-ZOOM ROM (ng-lo.rom / 000-lo.lo) listed in .info but generated
separately (src/memory.h:22, YZOOMROM_SIZE = 0x10000 = 65536 bytes). It is algorithmically, never loaded from file (src/memory.cpp:223-253
optional but improves sprite scaling accuracy. generateYZoomData, CRC32 E09E253C). These are phantom .info entries.
All firmware entries are marked optional in the .info (any single valid BIOS .info firmware_count=12 but 2 are phantoms (Y-ZOOM), effective count=10.
is sufficient). The core presents detected BIOSes as a dropdown in the core .info lists uni-bioscd.rom as "Universe BIOS 3.2" but SHA1 matches
options menu, sorted alphabetically by description. Universe BIOS 3.3 (confirmed by GitHub README).
BIOS ROM size: 524288 bytes (0x80000, src/memory.h:16).
Y-ZOOM ROM size: 65536 bytes (0x10000, src/memory.h:22).
files: files:
# Front Loader BIOS (NeoCD original front-loading unit) # --- Front Loader family ---
- name: neocd_f.rom - name: neocd_f.rom
dest: neocd/neocd_f.rom dest: neocd/neocd_f.rom
system: snk-neogeo-cd system: snk-neogeo-cd
required: false required: false
size: 524288 size: 524288
note: "Front Loader BIOS, official NeoCD format" note: "Front Loader BIOS (big-endian, NeoCD naming)"
source_ref: "retroarch/libneocd_libretro.info:15 (firmware0)" source_ref: "src/bios.cpp:59 FRONT_LOADER_SEARCH_PATTERN at 0xC0006C"
# Front Loader BIOS, SMKDan custom
- name: neocd_sf.rom
dest: neocd/neocd_sf.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "Front Loader BIOS, SMKDan custom"
source_ref: "retroarch/libneocd_libretro.info:18 (firmware1)"
# Top Loader BIOS (NeoCD top-loading unit)
- name: neocd_t.rom
dest: neocd/neocd_t.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "Top Loader BIOS, official NeoCD format"
source_ref: "retroarch/libneocd_libretro.info:21 (firmware2)"
# Top Loader BIOS, SMKDan custom
- name: neocd_st.rom
dest: neocd/neocd_st.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "Top Loader BIOS, SMKDan custom"
source_ref: "retroarch/libneocd_libretro.info:24 (firmware3)"
# CDZ BIOS (Neo Geo CDZ, last revision)
- name: neocd_z.rom
dest: neocd/neocd_z.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "CDZ BIOS, official NeoCD format"
source_ref: "retroarch/libneocd_libretro.info:27 (firmware4)"
# CDZ BIOS, SMKDan custom
- name: neocd_sz.rom
dest: neocd/neocd_sz.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "CDZ BIOS, SMKDan custom"
source_ref: "retroarch/libneocd_libretro.info:30 (firmware5)"
# Y-ZOOM ROM (sprite zoom lookup table)
- name: ng-lo.rom
dest: neocd/ng-lo.rom
system: snk-neogeo-cd
required: false
size: 65536
note: "Y-ZOOM ROM, NeoCD format"
source_ref: "retroarch/libneocd_libretro.info:33 (firmware6)"
# Y-ZOOM ROM, MAME naming
- name: 000-lo.lo
dest: neocd/000-lo.lo
system: snk-neogeo-cd
required: false
size: 65536
note: "Y-ZOOM ROM, MAME naming (same content as ng-lo.rom)"
source_ref: "retroarch/libneocd_libretro.info:36 (firmware7)"
# Front Loader BIOS, MAME naming
- name: front-sp1.bin - name: front-sp1.bin
dest: neocd/front-sp1.bin dest: neocd/front-sp1.bin
system: snk-neogeo-cd system: snk-neogeo-cd
required: false required: false
size: 524288 size: 524288
note: "Front Loader BIOS, MAME naming (same content as neocd_f.rom)" note: "Front Loader BIOS (little-endian, MAME naming)"
source_ref: "retroarch/libneocd_libretro.info:39 (firmware8)" source_ref: "src/bios.cpp:59 FRONT_LOADER_SEARCH_PATTERN, src/bios.cpp:148-160 autoByteSwap"
- name: neocd_sf.rom
dest: neocd/neocd_sf.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "Front Loader BIOS, SMKDan 0.07b"
source_ref: "src/bios.cpp:62 SMKDANBETA_FRONT_SEARCH_PATTERN at 0xC00004"
# --- Top Loader family ---
- name: neocd_t.rom
dest: neocd/neocd_t.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "Top Loader BIOS (big-endian, NeoCD naming)"
source_ref: "src/bios.cpp:60 TOP_LOADER_SEARCH_PATTERN at 0xC0006C"
# Top Loader BIOS, MAME naming
- name: top-sp1.bin - name: top-sp1.bin
dest: neocd/top-sp1.bin dest: neocd/top-sp1.bin
system: snk-neogeo-cd system: snk-neogeo-cd
required: false required: false
size: 524288 size: 524288
note: "Top Loader BIOS, MAME naming (same content as neocd_t.rom)" note: "Top Loader BIOS (little-endian, MAME naming)"
source_ref: "retroarch/libneocd_libretro.info:42 (firmware9)" source_ref: "src/bios.cpp:60 TOP_LOADER_SEARCH_PATTERN, src/bios.cpp:148-160 autoByteSwap"
- name: neocd_st.rom
dest: neocd/neocd_st.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "Top Loader BIOS, SMKDan 0.07b"
source_ref: "src/bios.cpp:63 SMKDANBETA_TOP_SEARCH_PATTERN at 0xC00004"
# --- CDZ family ---
- name: neocd_z.rom
dest: neocd/neocd_z.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "CDZ BIOS (big-endian, NeoCD naming)"
source_ref: "src/bios.cpp:61 CDZ_SEARCH_PATTERN at 0xC0006C"
# CDZ BIOS, MAME naming
- name: neocd.bin - name: neocd.bin
dest: neocd/neocd.bin dest: neocd/neocd.bin
system: snk-neogeo-cd system: snk-neogeo-cd
required: false required: false
size: 524288 size: 524288
note: "CDZ BIOS, MAME naming (same content as neocd_z.rom)" note: "CDZ BIOS (little-endian, MAME naming)"
source_ref: "retroarch/libneocd_libretro.info:45 (firmware10)" source_ref: "src/bios.cpp:61 CDZ_SEARCH_PATTERN, src/bios.cpp:148-160 autoByteSwap"
- name: neocd_sz.rom
dest: neocd/neocd_sz.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "CDZ BIOS, SMKDan 0.07b"
source_ref: "src/bios.cpp:64 SMKDANBETA_CDZ_SEARCH_PATTERN at 0xC00004"
# Universe BIOS for CD systems
- name: uni-bioscd.rom - name: uni-bioscd.rom
dest: neocd/uni-bioscd.rom dest: neocd/uni-bioscd.rom
system: snk-neogeo-cd system: snk-neogeo-cd
required: false required: false
size: 524288 size: 524288
note: "Universe BIOS CD, third-party multi-region BIOS (hack)" note: "Universe BIOS 3.3, CDZ-based third-party multi-region BIOS"
source_ref: "retroarch/libneocd_libretro.info:48 (firmware11)" source_ref: "src/bios.cpp:68 UNIVERSE33_SEARCH_PATTERN at 0xC00150"

View File

@@ -1,25 +1,24 @@
emulator: NooDS emulator: NooDS
type: libretro type: libretro
source: "https://github.com/Hydr8gon/NooDS" core_classification: community_fork
profiled_date: "2026-03-18" source: "https://github.com/jonian/libretro-noods"
upstream: "https://github.com/Hydr8gon/NooDS"
profiled_date: "2026-03-24"
core_version: "Git" core_version: "Git"
display_name: "Nintendo - DS (NooDS)" display_name: "Nintendo - DS (NooDS)"
cores: [noods] cores: [noods]
systems: [nintendo-ds, nintendo-gba] systems: [nintendo-ds, nintendo-gba]
notes: | notes: |
NooDS includes full HLE BIOS for ARM9, ARM7 and GBA SWI routines, making Full HLE BIOS for ARM9, ARM7 and GBA SWI routines (hle_bios.cpp:24-60).
all BIOS files optional when direct boot is enabled (default). HLE tables All BIOS files optional when direct boot is enabled (default). When missing,
cover SWI 0x00-0x20 for each processor (hle_bios.cpp:24-62). When BIOS HLE handler activated via special opcode at offset 3 (memory.cpp:139-168).
files are missing, a special opcode (0xFF at offset 3) is written for Firmware auto-generated (128KB non-bootable) if not provided, with default
interrupt return and the HLE handler is activated (memory.cpp:130-169). WiFi config, touch calibration and user settings (spi.cpp:90-160). Native
Firmware is auto-generated (128KB non-bootable) if not provided, with BIOS+firmware required only for firmware boot (non-direct-boot mode).
default WiFi config, touch calibration and user settings (spi.cpp:90-160). Bootable firmware threshold: >128KB (spi.cpp:87). DLDI patching provides
Native BIOS+firmware required only for firmware boot (non-direct-boot mode). SD card access for homebrew via nds_sd_card.bin (dldi.cpp:29-77).
ARM9 BIOS read: 0x1000 bytes (4 KB), ARM7 BIOS read: 0x4000 bytes (16 KB), File loading code identical between upstream and libretro port.
GBA BIOS read: 0x4000 bytes (16 KB). Firmware bootable threshold: >128 KB
(spi.cpp:87). DSi mode supported but uses same BIOS files.
Config: noods.ini keys bios9Path, bios7Path, firmwarePath, gbaBiosPath.
files: files:
- name: "bios9.bin" - name: "bios9.bin"
@@ -28,8 +27,7 @@ files:
required: false required: false
hle_fallback: true hle_fallback: true
size: 4096 size: 4096
md5: "a392174eb3e572fed6447e956bde4b25" source_ref: "src/memory.cpp:130-141"
source_ref: "src/memory.cpp:130-142, src/memory.h:73"
notes: "HLE fallback for all SWI calls; native needed for firmware boot and logo verification (copyBiosLogo)" notes: "HLE fallback for all SWI calls; native needed for firmware boot and logo verification (copyBiosLogo)"
- name: "bios7.bin" - name: "bios7.bin"
@@ -38,8 +36,7 @@ files:
required: false required: false
hle_fallback: true hle_fallback: true
size: 16384 size: 16384
md5: "df692a80a5b1bc90728bc3dfc76cd948" source_ref: "src/memory.cpp:144-155"
source_ref: "src/memory.cpp:144-156, src/memory.h:74"
notes: "HLE fallback for all SWI calls; native needed for firmware boot" notes: "HLE fallback for all SWI calls; native needed for firmware boot"
- name: "firmware.bin" - name: "firmware.bin"
@@ -47,7 +44,7 @@ files:
description: "NDS firmware image" description: "NDS firmware image"
required: false required: false
hle_fallback: true hle_fallback: true
source_ref: "src/spi.cpp:62-160, src/settings.cpp:42" source_ref: "src/spi.cpp:62-160"
notes: "Auto-generated 128KB non-bootable firmware as fallback; native dump (>128KB) needed for firmware boot" notes: "Auto-generated 128KB non-bootable firmware as fallback; native dump (>128KB) needed for firmware boot"
- name: "gba_bios.bin" - name: "gba_bios.bin"
@@ -56,6 +53,12 @@ files:
required: false required: false
hle_fallback: true hle_fallback: true
size: 16384 size: 16384
md5: "a860e8c0b6d573d191e4ec7db1b1e4f6" source_ref: "src/memory.cpp:158-168, src/core.cpp:252-256"
source_ref: "src/memory.cpp:158-169, src/memory.h:75, src/core.cpp:244-252" notes: "HLE fallback via swiTableGba; native BIOS disables HLE and enables real GBA boot"
notes: "HLE fallback via swiTableGba; native BIOS disables HLE and enables real GBA boot (core.cpp:244-247)"
- name: "nds_sd_card.bin"
system: nintendo-ds
description: "DLDI SD card image for homebrew"
required: false
source_ref: "src/dldi.cpp:80-83, src/libretro/libretro.cpp:331"
notes: "Opened on DLDI startup() call from homebrew ROMs; user-created FAT image"

View File

@@ -1,8 +1,16 @@
emulator: "parallel_n64" emulator: "ParaLLEl N64"
type: alias type: libretro
alias_of: "mupen64plus" source: "https://github.com/libretro/parallel-n64"
profiled_date: "2026-03-18" profiled_date: "2026-03-24"
core_version: "2.0-rc2" core_version: "2.0-rc2"
display_name: "Nintendo - Nintendo 64 (ParaLLEl N64)" display_name: "Nintendo - Nintendo 64 (ParaLLEl N64)"
note: "This core uses the same BIOS/firmware as mupen64plus. See emulators/mupen64plus.yml for details." systems: [nintendo-64, nintendo-64dd]
files: [] cores: [parallel_n64, parallel_n64_debug]
# Needs full source-verified profiling. Minimal profile based on known file paths.
files:
- name: "64DD_IPL.bin"
path: "64DD_IPL.bin"
required: false
note: "64DD IPL ROM. Only needed for N64 Disk Drive games"