mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 04:12:33 -05:00
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:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"generated_at": "2026-03-24T10:35:58Z",
|
||||
"generated_at": "2026-03-24T11:45:29Z",
|
||||
"total_files": 6733,
|
||||
"total_size": 5288644732,
|
||||
"files": {
|
||||
@@ -94909,7 +94909,8 @@
|
||||
],
|
||||
"sgb_bios.bin": [
|
||||
"aa2f50a77dfb4823da96ba99309085a3c6278515",
|
||||
"369e6eb5e0c975eaa52a4a3f6ee07b2a3c3c16de"
|
||||
"369e6eb5e0c975eaa52a4a3f6ee07b2a3c3c16de",
|
||||
"f282b3aaf98f8423dab7d77f1aa0192be630f2fb"
|
||||
],
|
||||
"sgb1.boot.rom": [
|
||||
"aa2f50a77dfb4823da96ba99309085a3c6278515"
|
||||
@@ -95238,6 +95239,12 @@
|
||||
"DBPATCH.wav": [
|
||||
"e0c98d00fe3004942c4a2842f06e2702dd2bd7c7"
|
||||
],
|
||||
"DMG_ROM.bin": [
|
||||
"1db57a1e8b6e4096f811587f9eab0c6675fd9755"
|
||||
],
|
||||
"dmg0_rom.bin": [
|
||||
"1db57a1e8b6e4096f811587f9eab0c6675fd9755"
|
||||
],
|
||||
"amiga-os-300-a4000.rom": [
|
||||
"f0b4e9e29e12218c2d5bd7020e4e785297d91fd7"
|
||||
],
|
||||
@@ -95274,6 +95281,9 @@
|
||||
"upd7801g.bios": [
|
||||
"6e89d1227581c76441a53d605f9e324185f1da33"
|
||||
],
|
||||
"FdsBios.bin": [
|
||||
"57fe1bdee955bb48d357e463ccbf129496930b62"
|
||||
],
|
||||
"BS-X.bios": [
|
||||
"604556b2e62860af18db5a77f2956ebc75450020"
|
||||
],
|
||||
@@ -95346,12 +95356,6 @@
|
||||
"2608_RYM.WAV": [
|
||||
"c65592330c9dd84011151daed52f9aec926b7e56"
|
||||
],
|
||||
"DMG_ROM.bin": [
|
||||
"1db57a1e8b6e4096f811587f9eab0c6675fd9755"
|
||||
],
|
||||
"dmg0_rom.bin": [
|
||||
"1db57a1e8b6e4096f811587f9eab0c6675fd9755"
|
||||
],
|
||||
"dc_flash_wb.bin": [
|
||||
"72c65f2a11ee7b72b77b9945187b7a332632e14a"
|
||||
],
|
||||
@@ -115656,6 +115660,9 @@
|
||||
"c0a04b87ad138e6754a6688ad757004467950c08",
|
||||
"35e101f63194d75e234ef843ae6af893423b7f64",
|
||||
"e0c98d00fe3004942c4a2842f06e2702dd2bd7c7",
|
||||
"1db57a1e8b6e4096f811587f9eab0c6675fd9755",
|
||||
"369e6eb5e0c975eaa52a4a3f6ee07b2a3c3c16de",
|
||||
"f282b3aaf98f8423dab7d77f1aa0192be630f2fb",
|
||||
"f0b4e9e29e12218c2d5bd7020e4e785297d91fd7",
|
||||
"4e83a94ae5155bbea14d7331a5a8db82457bd5ae",
|
||||
"6386e58bc1bba5e76baec9e8a1ca4b99dc3c573f",
|
||||
@@ -115666,6 +115673,7 @@
|
||||
"34fa37599f2f9eb607390ef2458a3c22d87f09a9",
|
||||
"273a9933b68a290c5aedcd6d69faa7b1d22c0344",
|
||||
"6e89d1227581c76441a53d605f9e324185f1da33",
|
||||
"57fe1bdee955bb48d357e463ccbf129496930b62",
|
||||
"604556b2e62860af18db5a77f2956ebc75450020",
|
||||
"d1ae642aed4f0584eeb81ff50180db694e5101d4",
|
||||
"4ae4d37409ff99411a623da9f6a44192170a854e",
|
||||
@@ -115684,12 +115692,9 @@
|
||||
"db1031585968cfc6ec2ecda5c9a5a52f61444a3b",
|
||||
"b4f14e58030ed40fff2dc312b58ea4440bdf8cc5",
|
||||
"c65592330c9dd84011151daed52f9aec926b7e56",
|
||||
"1db57a1e8b6e4096f811587f9eab0c6675fd9755",
|
||||
"72c65f2a11ee7b72b77b9945187b7a332632e14a",
|
||||
"6d27d71aec4dfba98f66316ae74a1426d567698a",
|
||||
"1293d68bf9643bc4f36954c1e80e38f39864528d",
|
||||
"369e6eb5e0c975eaa52a4a3f6ee07b2a3c3c16de",
|
||||
"f282b3aaf98f8423dab7d77f1aa0192be630f2fb",
|
||||
"3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3",
|
||||
"409e82adac40f6bdd18eb6c84e8b2fbdc7fb5498",
|
||||
"b7af62f0bc95fdca4b31d236f8327dafc80f83b7",
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
emulator: Beetle PSX (Mednafen PSX)
|
||||
type: libretro
|
||||
core_classification: community_fork
|
||||
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"
|
||||
display_name: "Sony - PlayStation (Beetle PSX)"
|
||||
cores: [mednafen_psx, mednafen_psx_hw]
|
||||
systems: [sony-playstation]
|
||||
bios_size: 524288 # 512 KB for all accepted BIOS images
|
||||
verification: sha1
|
||||
notes: >
|
||||
Region-based BIOS selection: the core picks JP/NA/EU firmware based on disc region.
|
||||
SHA1 validated with warning on mismatch (does not block loading).
|
||||
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.
|
||||
"Skip BIOS" option exists but causes compatibility issues (PAL copy protection, Saga Frontier).
|
||||
Alternate filenames are case variants and model aliases for the same image.
|
||||
Comment in source references MAME psx.cpp as hash source.
|
||||
"Skip BIOS" option patches BIOS ROM but causes compatibility issues.
|
||||
Upstream Mednafen loads the same 3 region BIOS; override BIOS are libretro additions.
|
||||
|
||||
files:
|
||||
# -- Region: Japan (REGION_JP) --
|
||||
@@ -23,8 +23,11 @@ files:
|
||||
description: "SCPH-5500 (v3.0 09-09-96 J)"
|
||||
region: "NTSC-J"
|
||||
required: true
|
||||
size: 524288
|
||||
sha1: "b05def971d8ec59f346f2d9ac21fb742e3eb6917"
|
||||
md5: "8dd7d5296a650fac7319bce665a6a53c"
|
||||
validation: [sha1]
|
||||
mode: both
|
||||
source_ref: "libretro.cpp:252-256"
|
||||
aliases: ["SCPH5500.bin", "SCPH-5500.bin"]
|
||||
|
||||
@@ -34,8 +37,11 @@ files:
|
||||
description: "SCPH-5501, 5503, 7003 (v3.0 11-18-96 A)"
|
||||
region: "NTSC-U"
|
||||
required: true
|
||||
size: 524288
|
||||
sha1: "0555c6fae8906f3f09baf5988f00e55f88e9f30b"
|
||||
md5: "490f666e1afb15b7362b406ed1cea246"
|
||||
validation: [sha1]
|
||||
mode: both
|
||||
source_ref: "libretro.cpp:258-270"
|
||||
aliases:
|
||||
- "SCPH5501.bin"
|
||||
@@ -53,8 +59,11 @@ files:
|
||||
description: "SCPH-5502, 5552 (v3.0 01-06-97 E)"
|
||||
region: "PAL"
|
||||
required: true
|
||||
size: 524288
|
||||
sha1: "f6bc2d1f5eb6593de7d089c425ac681d6fffd3f0"
|
||||
md5: "32736f17079d0b2b7024407c39bd3050"
|
||||
validation: [sha1]
|
||||
mode: both
|
||||
source_ref: "libretro.cpp:272-282"
|
||||
aliases:
|
||||
- "SCPH5502.bin"
|
||||
@@ -69,18 +78,24 @@ files:
|
||||
description: "PSP embedded PS1 BIOS (region-free override)"
|
||||
region: "Auto"
|
||||
required: false
|
||||
size: 524288
|
||||
sha1: "96880d1ca92a016ff054be5159bb06fe03cb4e14"
|
||||
md5: "c53ca5908936d412331790f4426c6c33"
|
||||
source_ref: "libretro.cpp:190-196"
|
||||
validation: [sha1]
|
||||
mode: libretro
|
||||
source_ref: "libretro.cpp:190-195"
|
||||
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"
|
||||
description: "PS3 embedded PS1 BIOS (region-free override)"
|
||||
region: "Auto"
|
||||
required: false
|
||||
size: 524288
|
||||
sha1: "c40146361eb8cf670b19fdc9759190257803cab7"
|
||||
md5: "81bbe60ba7a3d1cea1d48c14cbcc647b"
|
||||
source_ref: "libretro.cpp:198-204"
|
||||
validation: [sha1]
|
||||
mode: libretro
|
||||
source_ref: "libretro.cpp:198-203"
|
||||
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."
|
||||
|
||||
@@ -1,96 +1,67 @@
|
||||
emulator: Beetle Saturn (Mednafen)
|
||||
emulator: beetle_saturn
|
||||
type: libretro
|
||||
core_classification: community_fork
|
||||
core: mednafen_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"
|
||||
display_name: "Sega - Saturn (Beetle Saturn)"
|
||||
cores:
|
||||
- mednafen_saturn
|
||||
systems:
|
||||
- sega-saturn
|
||||
|
||||
notes: |
|
||||
Beetle Saturn is the libretro port of Mednafen's Sega Saturn emulation module.
|
||||
Two region-specific BIOS files are used: sega_101.bin for Japan/Asia NTSC,
|
||||
mpr-17933.bin for North America, Europe, and all other regions. The core
|
||||
returns false from InitCommon() if the BIOS file is missing or not exactly
|
||||
512 KB, so both BIOS files are required for full region coverage.
|
||||
Libretro port of Mednafen's Saturn emulation module, frozen circa v0.9.45.1
|
||||
(2017) with some later backports. Region auto-detection reads the disc header
|
||||
and selects the matching BIOS. Manual override via beetle_saturn_region option.
|
||||
|
||||
Region auto-detection reads the disc header and picks the matching BIOS.
|
||||
Manual region override is available via beetle_saturn_region core option.
|
||||
InitCommon() returns false if the BIOS file is missing or not exactly 512 KB.
|
||||
Both region BIOS files are required for full region coverage.
|
||||
|
||||
The KOF95 and Ultraman ROM carts are optional game-specific expansion
|
||||
cartridges loaded from the system directory. The Action Replay 4M Plus
|
||||
cart (satar4mp.bin) is listed but marked unfinished in source (needs
|
||||
CPU UBC emulation).
|
||||
KOF95 and Ultraman ROM carts are loaded when the cart type is set via core
|
||||
option or auto-detected from the internal game database.
|
||||
|
||||
BIOS loading: mednafen/ss/ss.cpp InitCommon() lines 920-961.
|
||||
Cart loading: mednafen/ss/cart.cpp CART_Init() lines 128-220.
|
||||
Firmware path: libretro.cpp MDFN_MakeFName(MDFNMKF_FIRMWARE) -> system dir.
|
||||
Default cart ROM filenames: mednafen/settings.cpp MDFN_GetSettingS().
|
||||
Upstream Mednafen (1.32.x) has ST-V arcade board support (3 additional BIOS
|
||||
files) and bootable ROM cart support, both absent from this libretro port.
|
||||
|
||||
files:
|
||||
# -------------------------------------------------------
|
||||
# Saturn BIOS - Japan / Asia NTSC
|
||||
# -------------------------------------------------------
|
||||
- name: "sega_101.bin"
|
||||
system: sega-saturn
|
||||
region: [japan, asia-ntsc]
|
||||
required: true
|
||||
size: 524288 # 512 KB
|
||||
md5: "85ec9ca47d8f6807718151cbcca8b964"
|
||||
size: 524288
|
||||
validation: [size]
|
||||
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"
|
||||
system: sega-saturn
|
||||
region: [north-america, europe, south-korea, asia-pal, brazil, latin-america]
|
||||
required: true
|
||||
size: 524288 # 512 KB
|
||||
md5: "3240872c70984b6cbfda1586cab68dbe"
|
||||
size: 524288
|
||||
validation: [size]
|
||||
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"
|
||||
system: sega-saturn
|
||||
required: false
|
||||
size: 2097152 # 2 MB (0x200000, rom.cpp reads up to this)
|
||||
md5: "255113ba943c92a54facd25a10fd780c"
|
||||
size: 2097152
|
||||
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"
|
||||
system: sega-saturn
|
||||
required: false
|
||||
size: 2097152 # 2 MB
|
||||
md5: "1cd19988d1d72a3e7caa0b73234c96b4"
|
||||
size: 2097152
|
||||
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"
|
||||
system: sega-saturn
|
||||
required: false
|
||||
note: "Action Replay 4M Plus firmware. Unfinished in source, needs CPU UBC emulation."
|
||||
source_ref: "mednafen/ss/cart.cpp:174-188, mednafen/settings.cpp:68-69"
|
||||
|
||||
platform_details:
|
||||
saturn:
|
||||
bios_size: 524288 # 512 KB
|
||||
rom_cart_size: 2097152 # 2 MB max (rom.cpp)
|
||||
workram_low: 1048576 # 1 MB
|
||||
workram_high: 1048576 # 1 MB
|
||||
bios_address: "0x00000000-0x000FFFFF"
|
||||
cart_address: "0x02000000-0x03FFFFFF"
|
||||
hle_available: false
|
||||
source_ref: "mednafen/ss/ss.cpp:906-908"
|
||||
size: 262144
|
||||
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"
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
emulator: Beetle WonderSwan (Mednafen WonderSwan)
|
||||
type: libretro
|
||||
core_classification: pure_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"
|
||||
display_name: "Bandai - WonderSwan/Color (Beetle Wonderswan)"
|
||||
cores: [beetle_wswan]
|
||||
systems: [bandai-wswan, bandai-wswanc]
|
||||
|
||||
notes: |
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
emulator: "mednafen_psx"
|
||||
type: alias
|
||||
alias_of: "beetle_psx"
|
||||
profiled_date: "2026-03-18"
|
||||
profiled_date: "2026-03-24"
|
||||
core_version: "v0.9.44.1"
|
||||
display_name: "Sony - PlayStation (Beetle PSX)"
|
||||
note: "This core uses the same BIOS/firmware as beetle_psx. See emulators/beetle_psx.yml for details."
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
emulator: "mednafen_saturn"
|
||||
type: alias
|
||||
alias_of: "beetle_saturn"
|
||||
profiled_date: "2026-03-18"
|
||||
profiled_date: "2026-03-24"
|
||||
core_version: "v0.9.45.1"
|
||||
display_name: "Sega - Saturn (Beetle Saturn)"
|
||||
note: "This core uses the same BIOS/firmware as beetle_saturn. See emulators/beetle_saturn.yml for details."
|
||||
|
||||
@@ -1,8 +1,24 @@
|
||||
emulator: "mednafen_supafaust"
|
||||
type: alias
|
||||
alias_of: "bsnes"
|
||||
profiled_date: "2026-03-18"
|
||||
emulator: mednafen_supafaust
|
||||
type: libretro
|
||||
core_classification: community_fork
|
||||
source: "https://github.com/libretro/supafaust"
|
||||
upstream: "https://mednafen.github.io/"
|
||||
profiled_date: "2026-03-24"
|
||||
core_version: "1.29.0"
|
||||
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: []
|
||||
|
||||
@@ -1,8 +1,53 @@
|
||||
emulator: "mednafen_supergrafx"
|
||||
type: alias
|
||||
alias_of: "mednafen_pce"
|
||||
emulator: mednafen_supergrafx
|
||||
type: libretro
|
||||
core_classification: community_fork
|
||||
source: "https://github.com/libretro/beetle-supergrafx-libretro"
|
||||
upstream: "https://mednafen.github.io/"
|
||||
profiled_date: "2026-03-24"
|
||||
core_version: "v1.23.0"
|
||||
display_name: "NEC - PC Engine SuperGrafx (Beetle SuperGrafx)"
|
||||
note: "Different repo (beetle-supergrafx-libretro) but loads identical BIOS files as mednafen_pce."
|
||||
files: []
|
||||
cores: [mednafen_supergrafx]
|
||||
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()."
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
emulator: "mednafen_wswan"
|
||||
type: alias
|
||||
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"
|
||||
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: []
|
||||
|
||||
@@ -1,82 +1,91 @@
|
||||
emulator: MelonDS
|
||||
emulator: melonDS
|
||||
type: standalone + libretro
|
||||
source: "https://github.com/melonDS-emu/melonDS"
|
||||
logo: "https://raw.githubusercontent.com/melonDS-emu/melonDS/master/res/melon.svg"
|
||||
profiled_date: "2026-03-18"
|
||||
core_classification: community_fork
|
||||
cores: [melonds]
|
||||
source: "https://github.com/libretro/melonDS"
|
||||
upstream: "https://github.com/melonDS-emu/melonDS"
|
||||
profiled_date: "2026-03-24"
|
||||
core_version: "Git"
|
||||
display_name: "Nintendo - DS (melonDS)"
|
||||
systems: [nintendo-ds, nintendo-dsi]
|
||||
|
||||
notes: |
|
||||
MelonDS includes a built-in FreeBIOS replacement for basic DS mode (NTR).
|
||||
Native BIOS/firmware files are required for DSi mode and recommended for
|
||||
full DS compatibility (Key1 crypto for cartridge auth).
|
||||
ARM9 BIOS size: 0x1000 (4 KB), ARM7 BIOS size: 0x4000 (16 KB).
|
||||
DSi BIOS size: 0x10000 (64 KB) each.
|
||||
Config keys: DS.BIOS9Path, DS.BIOS7Path, DS.FirmwarePath,
|
||||
DSi.BIOS9Path, DSi.BIOS7Path, DSi.FirmwarePath, DSi.NANDPath.
|
||||
FreeBIOS fallback for DS mode (NTR); DSi mode requires all native files.
|
||||
Libretro fork based on melonDS ~0.9.x era, validates size only.
|
||||
Upstream adds CRC32 validation on BIOS files (MemConstants.h).
|
||||
DSi SD card emulation controlled by melonds_dsi_sdcard core option.
|
||||
|
||||
files:
|
||||
# --- Nintendo DS (NTR) ---
|
||||
- name: "bios9.bin"
|
||||
- name: bios9.bin
|
||||
system: nintendo-ds
|
||||
description: "ARM9 BIOS (NDS mode)"
|
||||
description: "ARM9 BIOS"
|
||||
required: false
|
||||
hle_fallback: true
|
||||
size: 4096
|
||||
validation: {core: [size], upstream: [size, crc32]}
|
||||
crc32: "0x2ab23573"
|
||||
source_ref: "src/MemConstants.h:30,37"
|
||||
notes: "FreeBIOS fallback available; native needed for Key1 cartridge crypto (src/NDSCart.cpp:147-153)"
|
||||
source_ref: "src/NDS.h:196, src/NDS.cpp:467-477, src/frontend/Util_ROM.cpp:99-111"
|
||||
notes: "FreeBIOS fallback (src/FreeBIOS.h); native needed for Key1 cartridge crypto"
|
||||
|
||||
- name: "bios7.bin"
|
||||
- name: bios7.bin
|
||||
system: nintendo-ds
|
||||
description: "ARM7 BIOS (NDS mode)"
|
||||
description: "ARM7 BIOS"
|
||||
required: false
|
||||
hle_fallback: true
|
||||
size: 16384
|
||||
validation: {core: [size], upstream: [size, crc32]}
|
||||
crc32: "0x1280f0d5"
|
||||
source_ref: "src/MemConstants.h:31,36"
|
||||
notes: "FreeBIOS fallback available; native needed for Key1 init at offset 0x0030 (src/NDSCart.cpp:149-153)"
|
||||
source_ref: "src/NDS.h:197, src/NDS.cpp:482-492, src/frontend/Util_ROM.cpp:117-131"
|
||||
notes: "FreeBIOS fallback (src/FreeBIOS.h); native needed for Key1 init at offset 0x0030"
|
||||
|
||||
- name: "firmware.bin"
|
||||
- name: firmware.bin
|
||||
system: nintendo-ds
|
||||
description: "NDS firmware image"
|
||||
required: false
|
||||
hle_fallback: true
|
||||
source_ref: "src/frontend/qt_sdl/EmuInstance.cpp:561"
|
||||
notes: "Generated firmware used as default; native firmware needed for boot animation and wifi settings"
|
||||
validation: [size]
|
||||
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) ---
|
||||
- name: "dsi_bios9.bin"
|
||||
- name: dsi_bios9.bin
|
||||
system: nintendo-dsi
|
||||
description: "ARM9i BIOS (DSi mode)"
|
||||
description: "DSi ARM9 BIOS"
|
||||
required: true
|
||||
size: 65536
|
||||
crc32_full: "0xBAE84F6C"
|
||||
crc32_low32k: "0x11E7C1EA"
|
||||
source_ref: "src/MemConstants.h:32,41,45"
|
||||
notes: "No FreeBIOS fallback for DSi; full dump needed for native boot (src/DSi.cpp:150-152)"
|
||||
validation: {core: [size], upstream: [size, crc32]}
|
||||
crc32: "0xBAE84F6C"
|
||||
source_ref: "src/DSi.h:33, src/DSi.cpp:587-599, src/frontend/Util_ROM.cpp:145-156"
|
||||
|
||||
- name: "dsi_bios7.bin"
|
||||
- name: dsi_bios7.bin
|
||||
system: nintendo-dsi
|
||||
description: "ARM7i BIOS (DSi mode)"
|
||||
description: "DSi ARM7 BIOS"
|
||||
required: true
|
||||
size: 65536
|
||||
crc32_full: "0x4316CC42"
|
||||
crc32_low32k: "0x5434691D"
|
||||
source_ref: "src/MemConstants.h:32,40,44"
|
||||
notes: "Contains eMMC key-Y at offset 0x8308 used for NAND init (src/frontend/qt_sdl/EmuInstance.cpp:1044)"
|
||||
validation: {core: [size], upstream: [size, crc32]}
|
||||
crc32: "0x4316CC42"
|
||||
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 for NAND init"
|
||||
|
||||
- name: "dsi_firmware.bin"
|
||||
- name: dsi_firmware.bin
|
||||
system: nintendo-dsi
|
||||
description: "DSi firmware image"
|
||||
required: true
|
||||
source_ref: "src/frontend/qt_sdl/EmuInstance.cpp:593"
|
||||
notes: "Separate from DS firmware; config key DSi.FirmwarePath"
|
||||
size: 131072
|
||||
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
|
||||
description: "DSi NAND dump"
|
||||
required: true
|
||||
source_ref: "src/DSi_NAND.h:34, src/Args.h:132"
|
||||
notes: "eMMC image; uses AES keys from ARM7i BIOS and ARM9i BIOS (src/DSi_AES.cpp:94)"
|
||||
source_ref: "src/frontend/Util_ROM.cpp:224-235, src/DSi_NAND.cpp"
|
||||
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"
|
||||
|
||||
@@ -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
|
||||
type: libretro
|
||||
core_classification: community_fork
|
||||
cores: [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:
|
||||
- nintendo-ds
|
||||
- nintendo-dsi
|
||||
|
||||
notes: |
|
||||
Newer fork of melonDS for libretro with DSi support.
|
||||
DS BIOS files are optional (built-in FreeBIOS used as fallback).
|
||||
DSi mode requires all four DSi-specific files.
|
||||
Core searches "melonDS DS/" subfolder first, then system root.
|
||||
Libretro-specific remake using melonDS as a statically-linked library.
|
||||
DS mode has FreeBIOS/generated firmware fallback; DSi mode requires all
|
||||
native files. 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:
|
||||
# DS mode (optional, FreeBIOS fallback)
|
||||
# --- Nintendo DS (NTR) ---
|
||||
- name: bios7.bin
|
||||
system: nintendo-ds
|
||||
description: "ARM7 BIOS"
|
||||
required: false
|
||||
hle_fallback: true
|
||||
md5: df692a80a5b1bc90728bc3dfc76cd948
|
||||
note: "NDS ARM7 BIOS"
|
||||
size: 16384
|
||||
validation: [size]
|
||||
crc32: "0x1280f0d5"
|
||||
source_ref: "src/libretro/config/console.cpp:219, melonDS:src/MemConstants.h:31,36"
|
||||
|
||||
- name: bios9.bin
|
||||
system: nintendo-ds
|
||||
description: "ARM9 BIOS"
|
||||
required: false
|
||||
hle_fallback: true
|
||||
md5: a392174eb3e572fed6447e956bde4b25
|
||||
note: "NDS ARM9 BIOS"
|
||||
size: 4096
|
||||
validation: [size]
|
||||
crc32: "0x2ab23573"
|
||||
source_ref: "src/libretro/config/console.cpp:220, melonDS:src/MemConstants.h:30,37"
|
||||
|
||||
- name: firmware.bin
|
||||
system: nintendo-ds
|
||||
description: "NDS firmware image"
|
||||
required: false
|
||||
hle_fallback: true
|
||||
sha1: 8497afdd16af92d6887b71582846c40514e9039f
|
||||
md5: 145eaef5bd3037cbc247c213bb3da1b3
|
||||
size: 262144
|
||||
# DSi mode (required)
|
||||
source_ref: "src/libretro/config/console.cpp:184"
|
||||
notes: "Filename configurable via core options; generated firmware used as fallback"
|
||||
|
||||
# --- 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
|
||||
system: nintendo-dsi
|
||||
description: "DSi firmware image"
|
||||
required: true
|
||||
sha1: d2a5af338f09c5cbdd5d7628db5b9c075c69b616
|
||||
md5: 8daa89fd280b3e5ec79fbab73ad6684e
|
||||
size: 131072
|
||||
source_ref: "src/libretro/config/console.cpp:352-358"
|
||||
notes: "Filename configurable via core options; must have DSi firmware header"
|
||||
|
||||
- name: dsi_nand.bin
|
||||
system: nintendo-dsi
|
||||
description: "DSi NAND dump"
|
||||
required: true
|
||||
sha1: b48f44194fe918aaaec5298861479512b581d661
|
||||
md5: dfafb1908da8f527df7a372e649b50be
|
||||
size: 251658304
|
||||
source_ref: "src/libretro/config/console.cpp:378"
|
||||
notes: "Filename configurable via core options; 240MB or 245.5MB with optional no$cash footer"
|
||||
|
||||
197
emulators/mesen-s.yml
Normal file
197
emulators/mesen-s.yml
Normal 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"
|
||||
@@ -1,95 +1,69 @@
|
||||
emulator: Mesen
|
||||
type: libretro
|
||||
core_classification: official_port
|
||||
source: "https://github.com/libretro/Mesen"
|
||||
upstream: "https://github.com/SourMesen/Mesen"
|
||||
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"
|
||||
display_name: "Nintendo - NES / Famicom (Mesen)"
|
||||
cores: [mesen]
|
||||
systems: [nintendo-nes, nintendo-fds]
|
||||
|
||||
notes: |
|
||||
Mesen is a cycle-accurate NES/Famicom emulator (the original, NES-only
|
||||
version -- not Mesen2 which adds SNES/GB/PCE). NES cartridge games
|
||||
need no BIOS. Famicom Disk System games require the FDS BIOS ROM.
|
||||
Mesen is a cycle-accurate NES/Famicom emulator by Sour (the original
|
||||
NES-only version, archived in 2020 in favor of Mesen2). NES cartridge
|
||||
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
|
||||
disksys.rom as fallback. Both are loaded from the system directory root
|
||||
(GetHomeFolder = RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY). If neither is
|
||||
found or the file is not exactly 8192 bytes, FDS games fail to load.
|
||||
The core tries FdsBios.bin first, then disksys.rom as fallback. Both are
|
||||
loaded from the system directory root. If neither is found or the file is
|
||||
not exactly 8192 bytes, FDS games fail to load (BiosMissing).
|
||||
|
||||
The Study Box is an obscure Famicom tape-based learning peripheral
|
||||
(mapper 186). Its BIOS (StudyBox.bin, 256 KB) is loaded the same way.
|
||||
Only needed for Study Box tape dumps (.stbx format).
|
||||
The Study Box is a Famicom tape-based learning peripheral (mapper 186).
|
||||
Its BIOS (StudyBox.bin, 256 KB) is loaded the same way. Only needed for
|
||||
Study Box tape dumps (.stbx format).
|
||||
|
||||
MesenDB.txt (game database for CRC-based ROM identification) is baked
|
||||
into the core binary as MesenDB.inc. An external file in the system
|
||||
directory overrides the built-in copy but is never required.
|
||||
MesenDB.txt (game database) is baked into the libretro binary as
|
||||
MesenDB.inc and loaded in retro_init(). The external file path in
|
||||
InitDatabase() is never reached in the libretro context.
|
||||
|
||||
MesenPalette.pal is an optional custom palette file, loaded only when
|
||||
the mesen_palette core option is set to Custom. Accepts 192 bytes
|
||||
(64 colors) or 1536 bytes (512 colors with emphasis combos). Multiple
|
||||
palettes exist so no canonical hash.
|
||||
(64 colors) or 1536 bytes (512 colors with emphasis combos).
|
||||
|
||||
HdPacks go in system/HdPacks/<rom_name>/ -- not BIOS files, ignored
|
||||
here.
|
||||
HdPacks go in system/HdPacks/<rom_name>/ -- per-game content, not
|
||||
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::CombinePath(GetHomeFolder(), filename) -- flat,
|
||||
no subdirectories.
|
||||
CombinePath(GetHomeFolder(), filename) -- flat, no subdirectories.
|
||||
|
||||
No functional divergence between upstream and libretro for BIOS loading.
|
||||
|
||||
files:
|
||||
# --- Famicom Disk System BIOS (required for FDS games) ---
|
||||
- name: "disksys.rom"
|
||||
aliases: ["FdsBios.bin"]
|
||||
system: nintendo-fds
|
||||
description: "FDS BIOS ROM"
|
||||
required: true
|
||||
size: 8192
|
||||
md5: "ca30b50f880eb660a320674ed365ef7a"
|
||||
sha1: "57fe1bdee955bb48d357e463ccbf129496930b62"
|
||||
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 tries FdsBios.bin first, falls back to disksys.rom. CRC32 0x5E607DCF (standard Famicom). Size must be exactly 8192 bytes or BiosMissing is set."
|
||||
validation: [size]
|
||||
source_ref: "Core/FdsLoader.cpp:45-59 (LoadBios tries FdsBios.bin then disksys.rom), Core/FdsLoader.cpp:143-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."
|
||||
|
||||
# --- 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"
|
||||
system: nintendo-nes
|
||||
description: "Famicom Study Box BIOS ROM"
|
||||
required: false
|
||||
size: 262144
|
||||
md5: ~
|
||||
sha1: ~
|
||||
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, iNES mapper 65533). Only needed for .stbx tape dumps. Extremely obscure hardware, no widely-known hash."
|
||||
validation: [size]
|
||||
source_ref: "Core/StudyBoxLoader.cpp:125-133 (LoadBios), Core/StudyBoxLoader.cpp:149-152 (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."
|
||||
|
||||
# --- 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"
|
||||
system: nintendo-nes
|
||||
description: "External NES color palette"
|
||||
required: false
|
||||
size: 192
|
||||
md5: ~
|
||||
sha1: ~
|
||||
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."
|
||||
source_ref: "Libretro/libretro.cpp:301-323 (load_custom_palette), Libretro/libretro.cpp:405-406 (called when mesen_palette == Custom)"
|
||||
validation: [size]
|
||||
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."
|
||||
|
||||
@@ -1,8 +1,38 @@
|
||||
emulator: "mess2015"
|
||||
type: alias
|
||||
alias_of: "mame2016"
|
||||
profiled_date: "2026-03-18"
|
||||
core_version: "Git"
|
||||
emulator: MESS 2015
|
||||
type: libretro
|
||||
core_classification: frozen_snapshot
|
||||
source: "https://github.com/libretro/mame2015-libretro"
|
||||
upstream: "https://github.com/mamedev/mame/tree/mame0160"
|
||||
profiled_date: "2026-03-24"
|
||||
core_version: "0.160"
|
||||
display_name: "Multi (MESS 2015)"
|
||||
note: "This core uses the same BIOS/firmware as mame2016. See emulators/mame2016.yml for details."
|
||||
files: []
|
||||
mame_version: "0.159"
|
||||
|
||||
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"
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
emulator: Meteor GBA
|
||||
type: libretro
|
||||
core_classification: community_fork
|
||||
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"
|
||||
display_name: "Nintendo - Game Boy Advance (Meteor)"
|
||||
cores:
|
||||
@@ -10,49 +12,21 @@ systems:
|
||||
- nintendo-gba
|
||||
|
||||
notes: |
|
||||
Meteor is a Game Boy Advance emulator by Philippe Daouadi (2009-2011).
|
||||
|
||||
The libretro port does NOT load or use any external BIOS file. The core has
|
||||
a complete HLE BIOS implementation (ameteor/source/bios.cpp) that handles
|
||||
GBA SWI calls directly in C++. When no real BIOS is loaded (HasBios() returns
|
||||
false), Cpu::SoftwareInterrupt() dispatches SWI calls to the HLE handlers
|
||||
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.
|
||||
GBA emulator by Philippe Daouadi (2009-2011), libretro port by
|
||||
Hans-Kristian Arntzen. HLE BIOS in ameteor/source/bios.cpp handles
|
||||
SWI calls via Cpu::SoftwareInterrupt() when HasBios() is false
|
||||
(ameteor/source/cpu.cpp:245-311). The libretro port never calls
|
||||
LoadBios() and never queries RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY.
|
||||
Standalone frontends (GTK, text) support optional real BIOS loading.
|
||||
|
||||
files: []
|
||||
|
||||
platform_details:
|
||||
gba:
|
||||
bios_size: 16384 # 0x4000
|
||||
bios_size: 16384
|
||||
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: |
|
||||
Full HLE BIOS. The libretro port never loads an external BIOS file.
|
||||
Cpu::SoftwareInterrupt() checks HasBios() -- if false (always in libretro),
|
||||
SWI calls are routed to C++ reimplementations. If a real BIOS were loaded
|
||||
(standalone only), execution would go through the actual BIOS ROM code via
|
||||
SoftwareInterrupt() -> branch to 0x08.
|
||||
Cpu::SoftwareInterrupt() checks HasBios() — if false (always in
|
||||
libretro), SWI calls are routed to C++ reimplementations.
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
emulator: mGBA
|
||||
type: libretro
|
||||
core_classification: official_port
|
||||
source: "https://github.com/libretro/mgba"
|
||||
upstream: "https://github.com/mgba-emu/mgba"
|
||||
logo: "https://raw.githubusercontent.com/mgba-emu/mgba/master/res/mgba-256.png"
|
||||
profiled_date: "2026-03-18"
|
||||
profiled_date: "2026-03-24"
|
||||
core_version: "0.10-dev"
|
||||
display_name: "Nintendo - Game Boy Advance (mGBA)"
|
||||
cores:
|
||||
@@ -32,10 +34,12 @@ notes: |
|
||||
GBA -> gba_bios.bin
|
||||
GB (DMG/MGB) -> gb_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
|
||||
and maps SGB2 to sgb_bios.bin (marked TODO for a dedicated file).
|
||||
The standalone core (src/gb/core.c:637-684) correctly maps SGB2 to
|
||||
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.
|
||||
Accepted checksums cover DMG, DMG0, MGB, SGB, SGB2, CGB, CGB0, CGBE,
|
||||
@@ -50,6 +54,7 @@ files:
|
||||
required: false
|
||||
hle_fallback: true
|
||||
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."
|
||||
source_ref: "src/platform/libretro/libretro.c:2099"
|
||||
|
||||
@@ -60,6 +65,7 @@ files:
|
||||
system: nintendo-gb
|
||||
required: false
|
||||
size: 256 # 256 B (0x100)
|
||||
validation: [crc32]
|
||||
note: "DMG/MGB boot ROM. Scrolling Nintendo logo. Skipped if absent."
|
||||
source_ref: "src/platform/libretro/libretro.c:2134"
|
||||
|
||||
@@ -70,6 +76,7 @@ files:
|
||||
system: nintendo-gbc
|
||||
required: false
|
||||
size: 2304 # 2304 B (0x900)
|
||||
validation: [crc32]
|
||||
note: "CGB boot ROM. Used for CGB, AGB (GBA in GB mode), and SCGB models."
|
||||
source_ref: "src/platform/libretro/libretro.c:2127"
|
||||
|
||||
@@ -80,14 +87,15 @@ files:
|
||||
system: nintendo-sgb
|
||||
required: false
|
||||
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"
|
||||
|
||||
platform_details:
|
||||
gba:
|
||||
bios_size: 16384 # 16 KB
|
||||
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: |
|
||||
GBALoadBIOS() validates size (must be exactly 0x4000) then computes
|
||||
an internal checksum. Two official checksums are recognized:
|
||||
@@ -120,4 +128,5 @@ platform_details:
|
||||
notes: |
|
||||
Accepted SGB CRC32 checksums:
|
||||
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.
|
||||
|
||||
@@ -1,69 +1,55 @@
|
||||
emulator: Mini vMac
|
||||
type: libretro
|
||||
core_classification: community_fork
|
||||
source: "https://github.com/libretro/libretro-minivmac"
|
||||
profiled_date: "2026-03-18"
|
||||
core_version: "GIT"
|
||||
upstream: "https://www.gryphel.com/c/minivmac/"
|
||||
profiled_date: "2026-03-24"
|
||||
core_version: "36.04"
|
||||
display_name: "Mac II (minivmac)"
|
||||
cores: [minivmac]
|
||||
systems: [macintosh-ii]
|
||||
|
||||
# Mini vMac is a Macintosh II emulator. The libretro port is hardcoded for
|
||||
# Mac II emulation (CurEmMd = kEmMd_II) with 68020 CPU, FPU, ADB, VIA2, ASC.
|
||||
# ROM is loaded from the RetroArch system directory.
|
||||
# Libretro port of Mini vMac 36.04, hardcoded for Mac II emulation
|
||||
# (CurEmMd = kEmMd_II). 68020 CPU, FPU, ADB, VIA2, ASC. 640x480, 8-bit color.
|
||||
# The VidROM is generated in memory by Vid_Init(), not loaded from a file.
|
||||
|
||||
# ROM loading order (OSGLUERETRO.c LoadMacRom):
|
||||
# 1. <system>/MacIIx.ROM (tried first, same 256 KB size)
|
||||
# 2. <system>/MacII.ROM (defined as RomFileName in CNFGRAPI.h)
|
||||
# 3. --rom command line arg (if provided)
|
||||
# ROM loading order in LoadMacRom (OSGLUERETRO.c:774):
|
||||
# 1. <system_dir>/MacIIx.ROM
|
||||
# 2. <system_dir>/MacII.ROM
|
||||
# 3. --rom command line arg
|
||||
# 4. ~/.gryphel/mnvm_rom/MacII.ROM
|
||||
# 5. app parent directory
|
||||
# 6. current directory
|
||||
|
||||
# ROM size: kROM_Size = 0x00040000 = 262144 bytes (256 KB)
|
||||
# ROM checksums defined in CNFGRAPI.h:
|
||||
# kRomCheckSum1 = 0x9779D2C4 (Mac II v1)
|
||||
# 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.
|
||||
# The libretro port does NOT call ROM_IsValid() (unlike upstream backends),
|
||||
# so no checksum validation occurs. ROM_Init() patches the Mac's own boot
|
||||
# ROM check (DisableRomCheck = 1, ROMEMDEV.c:279).
|
||||
|
||||
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"
|
||||
path: "MacII.ROM"
|
||||
required: true
|
||||
size: 262144
|
||||
validation: [size]
|
||||
source_ref: "minivmac/cfg/CNFGRAPI.h:32, minivmac/src/OSGLUERETRO.c:781"
|
||||
note: >
|
||||
Macintosh II ROM image (256 KB). The core loads this from the system
|
||||
directory. Must be exactly 262144 bytes. ROM checksum verification is
|
||||
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.
|
||||
Macintosh II ROM image (256 KB). Hardcoded as RomFileName. The core
|
||||
reads exactly kROM_Size (262144) bytes via filestream_read.
|
||||
|
||||
- name: "MacIIx.ROM"
|
||||
path: "MacIIx.ROM"
|
||||
required: false
|
||||
size: 262144
|
||||
validation: [size]
|
||||
source_ref: "minivmac/src/OSGLUERETRO.c:778"
|
||||
note: >
|
||||
Macintosh IIx ROM image (256 KB). Checked first in the ROM loading
|
||||
sequence. If present, it takes priority over MacII.ROM. The Mac IIx
|
||||
uses the same 68020-class architecture as the Mac II.
|
||||
Macintosh IIx ROM image (256 KB). Tried first in the loading sequence.
|
||||
If present, takes priority over MacII.ROM.
|
||||
|
||||
notes:
|
||||
emulation_target: >
|
||||
The libretro build is configured exclusively for Macintosh II emulation
|
||||
(kEmMd_II). Build options: 68020 CPU, FPU enabled, ADB keyboard/mouse,
|
||||
VIA2, ASC sound chip. Screen: 640x480, 8-bit color depth.
|
||||
disk_formats: >
|
||||
Supported disk image formats: .dsk, .img, .zip, .hvf, .cmd
|
||||
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.
|
||||
Configured for Macintosh II (kEmMd_II). 68020 CPU, FPU, ADB, VIA2, ASC
|
||||
sound. Screen: 640x480, 8-bit color depth.
|
||||
info_discrepancy: >
|
||||
.info declares firmware_count=1 (MacII.ROM only). The code also tries
|
||||
MacIIx.ROM first (OSGLUERETRO.c:778).
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
emulator: "mkxp-z"
|
||||
emulator: mkxp-z
|
||||
type: alias
|
||||
alias_of: "mkxp_z"
|
||||
core_version: ""
|
||||
alias_of: mkxp_z
|
||||
display_name: "RPG Maker XP/VX/VX Ace (mkxp-z)"
|
||||
profiled_date: "2026-03-18"
|
||||
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."
|
||||
profiled_date: "2026-03-24"
|
||||
files: []
|
||||
|
||||
@@ -1,124 +1,66 @@
|
||||
emulator: mkxp-z
|
||||
type: libretro
|
||||
source: "https://github.com/mkxp-z/mkxp-z"
|
||||
profiled_date: "2026-03-18"
|
||||
core_version: ""
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/white-axe/mkxp-z"
|
||||
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)"
|
||||
cores:
|
||||
- mkxp-z
|
||||
systems:
|
||||
- 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: |
|
||||
No individual BIOS or firmware files required. The three RTP directories
|
||||
listed below are optional collections of default game assets. Only needed
|
||||
when a game references stock RPG Maker assets instead of bundling them.
|
||||
Game engine implementing RGSS 1/2/3 (Ruby Game Scripting System) for
|
||||
RPG Maker XP, VX and VX Ace. Fork of Ancurio/mkxp. Libretro port by
|
||||
white-axe, not yet merged upstream.
|
||||
|
||||
RPG Maker XP uses RGSS1 (Ruby Game Scripting System 1).
|
||||
RPG Maker VX uses RGSS2.
|
||||
RPG Maker VX Ace uses RGSS3.
|
||||
|
||||
Each RTP is a directory tree containing Audio/ and Graphics/ subdirs,
|
||||
plus Fonts/ for VX and VX Ace. These are not hashable single files.
|
||||
All entries are directories, not individual files. No hashable BIOS.
|
||||
RTPs are shared asset packages needed only when a game references stock
|
||||
assets instead of bundling its own. MIDI soundfont (GMGSx.sf2) is
|
||||
embedded in the binary.
|
||||
|
||||
files:
|
||||
# ================================================================
|
||||
# RPG Maker XP RTP (optional, game-dependent)
|
||||
# mkxp-z_libretro.info firmware0
|
||||
# ================================================================
|
||||
|
||||
- name: "RPG Maker XP RTP (Standard)"
|
||||
- name: "Standard"
|
||||
description: "RPG Maker XP Run-Time Package"
|
||||
category: game_data
|
||||
path: "mkxp-z/RTP/Standard/"
|
||||
required: false
|
||||
type: directory
|
||||
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.
|
||||
source_ref: "core.cpp:1042-1085, core.cpp:1087-1158"
|
||||
|
||||
# ================================================================
|
||||
# RPG Maker VX RTP (optional, game-dependent)
|
||||
# mkxp-z_libretro.info firmware1
|
||||
# ================================================================
|
||||
|
||||
- name: "RPG Maker VX RTP (RPGVX)"
|
||||
- name: "RPGVX"
|
||||
description: "RPG Maker VX Run-Time Package"
|
||||
category: game_data
|
||||
path: "mkxp-z/RTP/RPGVX/"
|
||||
required: false
|
||||
type: directory
|
||||
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.
|
||||
source_ref: "core.cpp:1042-1085, core.cpp:1087-1158"
|
||||
|
||||
# ================================================================
|
||||
# RPG Maker VX Ace RTP (optional, game-dependent)
|
||||
# mkxp-z_libretro.info firmware2
|
||||
# ================================================================
|
||||
|
||||
- name: "RPG Maker VX Ace RTP (RPGVXAce)"
|
||||
- name: "RPGVXAce"
|
||||
description: "RPG Maker VX Ace Run-Time Package"
|
||||
category: game_data
|
||||
path: "mkxp-z/RTP/RPGVXAce/"
|
||||
required: false
|
||||
type: directory
|
||||
source_ref: "mkxp-z_libretro.info:firmware2, sharedstate.cpp:144-145"
|
||||
note: >
|
||||
Run-Time Package for RPG Maker VX Ace (RGSS3) games. Largest of the
|
||||
three RTPs with expanded tilesets, character generators, battle system
|
||||
assets, fonts and audio. VX Ace is the most commonly used RPG Maker
|
||||
version on the RGSS engine. Only needed by games that reference stock
|
||||
VX Ace assets.
|
||||
source_ref: "core.cpp:1042-1085, core.cpp:1087-1158"
|
||||
|
||||
- name: "Fonts"
|
||||
description: "Fallback font directory (.otf/.ttf)"
|
||||
category: game_data
|
||||
path: "mkxp-z/Fonts/"
|
||||
required: false
|
||||
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"
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
emulator: MojoZork
|
||||
type: game
|
||||
source: "https://github.com/libretro/libretro-mojozork"
|
||||
profiled_date: "2026-03-18"
|
||||
type: libretro
|
||||
core_classification: pure_libretro
|
||||
source: "https://github.com/icculus/mojozork"
|
||||
upstream: "https://github.com/icculus/mojozork"
|
||||
profiled_date: "2026-03-24"
|
||||
core_version: "0.1"
|
||||
display_name: "Infocom Z-Machine (MojoZork)"
|
||||
cores:
|
||||
- mojozork
|
||||
systems: []
|
||||
systems: [zmachine]
|
||||
|
||||
notes: |
|
||||
MojoZork is a Z-machine interpreter for libretro, capable of running
|
||||
Infocom-era interactive fiction (Zork, Hitchhiker's Guide, etc.) and
|
||||
other Z-code story files (.z1 through .z8, .zblorb).
|
||||
|
||||
No BIOS or system files required. Story files are loaded directly
|
||||
as content.
|
||||
Z-Machine interpreter for Infocom text adventures (v1-v3).
|
||||
Fonts embedded in binary. No system directory access. Story files
|
||||
loaded as content.
|
||||
|
||||
files: []
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
emulator: Moonlight
|
||||
type: utility
|
||||
source: "https://github.com/libretro/moonlight-libretro"
|
||||
profiled_date: "2026-03-18"
|
||||
core_classification: community_fork
|
||||
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"
|
||||
display_name: "Moonlight"
|
||||
cores:
|
||||
@@ -9,11 +11,13 @@ cores:
|
||||
systems: []
|
||||
|
||||
notes: |
|
||||
Moonlight is a game streaming client that connects to NVIDIA
|
||||
GameStream or Sunshine hosts. The libretro port allows streaming
|
||||
PC games through RetroArch.
|
||||
Game streaming client for NVIDIA GameStream / Sunshine.
|
||||
Port of moonlight-embedded for RetroArch, primarily targeting
|
||||
Lakka on Nintendo Switch.
|
||||
|
||||
No BIOS or system files required. Configuration (host IP, pairing)
|
||||
is handled through core options and the pairing process.
|
||||
The core auto-generates all needed files on first run
|
||||
(crypto keypair for pairing, unique ID, settings) in the
|
||||
system directory under a key/ subdirectory. No user-supplied
|
||||
files required.
|
||||
|
||||
files: []
|
||||
|
||||
@@ -1,18 +1,23 @@
|
||||
emulator: mpv
|
||||
type: utility
|
||||
core_classification: community_fork
|
||||
source: "https://github.com/libretro/libretro-mpv"
|
||||
profiled_date: "2026-03-18"
|
||||
core_version: "Git"
|
||||
upstream: "https://github.com/mpv-player/mpv"
|
||||
profiled_date: "2026-03-24"
|
||||
core_version: "0.2.alpha"
|
||||
display_name: "MPV"
|
||||
cores:
|
||||
- mpv
|
||||
systems: []
|
||||
|
||||
notes: |
|
||||
Libretro port of mpv, a media player based on MPlayer and mplayer2.
|
||||
Plays video and audio files within RetroArch using mpv's decoding
|
||||
pipeline.
|
||||
|
||||
No BIOS or system files required.
|
||||
Libretro wrapper around libmpv. Links against the mpv shared library
|
||||
for video/audio decoding and OpenGL rendering. Experimental, proof of
|
||||
concept. No system directory access — the core only loads the content
|
||||
file passed by RetroArch.
|
||||
|
||||
# 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: []
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
emulator: Mr.Boom
|
||||
type: game
|
||||
core_classification: official_port
|
||||
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"
|
||||
display_name: "Mr.Boom (Bomberman)"
|
||||
cores: [mrboom]
|
||||
systems: []
|
||||
files: []
|
||||
notes: >
|
||||
Bomberman clone supporting up to 8 players. Ported to libretro from
|
||||
the original x86 assembly game by Remdy Software.
|
||||
All game assets are compiled into the core binary.
|
||||
No content file, BIOS, or system directory files required.
|
||||
Bomberman clone supporting up to 8 players. Converted from DOS x86
|
||||
assembly by the original author (Remdy Software) using asm2c.
|
||||
All game assets (graphics, sounds, music) are compiled into the core binary.
|
||||
|
||||
@@ -1,35 +1,27 @@
|
||||
emulator: Mu
|
||||
type: libretro
|
||||
core_classification: pure_libretro
|
||||
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"
|
||||
display_name: "Palm OS (Mu)"
|
||||
cores: [mu]
|
||||
systems: [palm-os]
|
||||
|
||||
notes: |
|
||||
Mu emulates Palm OS handhelds: Palm m500, Palm m515, and (if compiled
|
||||
with EMU_SUPPORT_PALM_OS5) the Tungsten T3.
|
||||
|
||||
A Palm OS ROM dump is required. The core selects the ROM filename based
|
||||
on the "OS Version" core option:
|
||||
Mu emulates Palm m500, Palm m515, and (with EMU_SUPPORT_PALM_OS5)
|
||||
Tungsten T3. 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 m515 / Palm OS 4.1 -> palmos41-en-m515.rom (default)
|
||||
Tungsten T3 / Palm OS 5.2 -> palmos52-en-t3.rom
|
||||
Tungsten T3 / Palm OS 6.0 -> palmos60-en-t3.rom
|
||||
|
||||
ROM path construction: retro_load_game() joins
|
||||
RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY + "/" + osVersion + ".rom".
|
||||
|
||||
The bootloader (bootloader-dbvz.rom) is optional. It contains the
|
||||
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.
|
||||
ROM path: 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.
|
||||
Supports no-game mode (boots Palm OS desktop from ROM without content).
|
||||
|
||||
files:
|
||||
# --- Palm m515 / Palm OS 4.1 (default device) ---
|
||||
@@ -37,17 +29,15 @@ files:
|
||||
system: palm-os
|
||||
description: "Palm m515 ROM, Palm OS 4.1 English"
|
||||
required: true
|
||||
md5: "83cb1d1c76e568b916dc2e7c0bf669f6"
|
||||
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,744-763 (retro_load_game ROM loading)"
|
||||
note: "Default ROM. Selected when core option is 'Palm m515/Palm OS 4.1'."
|
||||
source_ref: "libretroBuildSystem/libretro.c:173-176 (check_variables), 744-763 (retro_load_game ROM loading)"
|
||||
|
||||
# --- Palm m500 / Palm OS 4.0 ---
|
||||
- name: "palmos40-en-m500.rom"
|
||||
system: palm-os
|
||||
description: "Palm m500 ROM, Palm OS 4.0 English"
|
||||
required: false
|
||||
md5: "f50e4d5e4d98dc831f2c34a9107651eb"
|
||||
note: "Selected when core option is 'Palm m500/Palm OS 4.0'. Max 4 MB."
|
||||
note: "Selected when core option is 'Palm m500/Palm OS 4.0'."
|
||||
source_ref: "libretroBuildSystem/libretro.c:169-172"
|
||||
|
||||
# --- Tungsten T3 / Palm OS 5.2.1 (requires EMU_SUPPORT_PALM_OS5) ---
|
||||
@@ -55,8 +45,7 @@ files:
|
||||
system: palm-os
|
||||
description: "Tungsten T3 ROM, Palm OS 5.2.1 English"
|
||||
required: false
|
||||
md5: "de46ec84d9aabf655eabdf9b00a3845d"
|
||||
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."
|
||||
note: "Selected when core option is 'Tungsten T3/Palm OS 5.2.1'. Requires EMU_SUPPORT_PALM_OS5 compile flag."
|
||||
source_ref: "libretroBuildSystem/libretro.c:178-181"
|
||||
|
||||
# --- Tungsten T3 / Palm OS 6.0 (requires EMU_SUPPORT_PALM_OS5) ---
|
||||
@@ -64,7 +53,7 @@ files:
|
||||
system: palm-os
|
||||
description: "Tungsten T3 ROM, Palm OS 6.0 English"
|
||||
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"
|
||||
|
||||
# --- MC68VZ328 bootloader ---
|
||||
@@ -72,17 +61,17 @@ files:
|
||||
system: palm-os
|
||||
description: "MC68VZ328 UART bootloader"
|
||||
required: false
|
||||
md5: "9da101cd2317830649a31f8fa46debec"
|
||||
note: "Optional for m500/m515. Ignored for Tungsten T3. Loads from system directory."
|
||||
source_ref: "libretroBuildSystem/libretro.c:766-782"
|
||||
note: "Optional for m500/m515. Ignored for Tungsten T3."
|
||||
source_ref: "libretroBuildSystem/libretro.c:766-782, src/dbvz.c:1408-1423 (dbvzLoadBootloader)"
|
||||
|
||||
platform_details:
|
||||
palm_m5xx:
|
||||
rom_size: 4194304 # 4 MB (M5XX_ROM_SIZE)
|
||||
bootloader_size: 512 # DBVZ_BOOTLOADER_SIZE (0x200)
|
||||
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:
|
||||
rom_size: 16777216 # 16 MB (TUNGSTEN_T3_ROM_SIZE)
|
||||
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"
|
||||
|
||||
@@ -1,51 +1,31 @@
|
||||
emulator: Mupen64Plus-Next
|
||||
type: libretro
|
||||
core_classification: enhanced_fork
|
||||
source: "https://github.com/libretro/mupen64plus-libretro-nx"
|
||||
profiled_date: "2026-03-18"
|
||||
core_version: "1.0"
|
||||
upstream: "https://github.com/mupen64plus/mupen64plus-core"
|
||||
profiled_date: "2026-03-24"
|
||||
core_version: "2.8"
|
||||
display_name: "Nintendo - Nintendo 64 (Mupen64Plus-Next)"
|
||||
systems: [nintendo-64, nintendo-64dd]
|
||||
cores: [mupen64plus_next, mupen64plus_next_gles3, mupen64plus_next_gles2, parallel_n64]
|
||||
|
||||
# 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.
|
||||
cores: [mupen64plus_next, mupen64plus_next_develop, mupen64plus_next_gles3, mupen64plus_next_gles2]
|
||||
|
||||
files:
|
||||
# -- 64DD IPL ROM (mupen64plus_next variants) --
|
||||
- name: "IPL.n64"
|
||||
path: "Mupen64plus/IPL.n64"
|
||||
size: 4194304 # 0x400000 (4 MB)
|
||||
md5: "8d3d9f294b6e174bc7b1d2fd1c727530"
|
||||
size: 4194304
|
||||
required: false
|
||||
note: "64DD IPL ROM for N64 Disk Drive games. Only needed for .ndd disk images via subsystem API"
|
||||
source_ref: "mupen64plus-core/src/main/main.c:959-961, libretro/libretro.c:641"
|
||||
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]
|
||||
note: "64DD IPL ROM. Only needed for N64 Disk Drive games (.ndd) via subsystem API"
|
||||
source_ref: "mupen64plus-core/src/main/main.c:954-979"
|
||||
|
||||
notes:
|
||||
hle_available: true
|
||||
hle_note: >
|
||||
N64 does not require any BIOS or firmware files for standard cartridge games.
|
||||
The PIF boot ROM is fully emulated via HLE (bootrom_hle.c). CIC chip
|
||||
challenge/response is handled in software (n64_cic_nus_6105.c).
|
||||
PIF boot ROM is fully HLE'd (bootrom_hle.c). CIC challenge/response
|
||||
handled in software (n64_cic_nus_6105.c). No BIOS files needed for
|
||||
standard cartridge games.
|
||||
dd_note: >
|
||||
The 64DD IPL ROM is only needed to run N64 Disk Drive games (.ndd).
|
||||
It is loaded via the retro subsystem API (RETRO_GAME_TYPE_DD), which
|
||||
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.
|
||||
64DD IPL ROM loaded from system/Mupen64plus/IPL.n64 when a .ndd disk
|
||||
is present. Accepts Z64, N64, and V64 byte-swap formats.
|
||||
transferpak_note: >
|
||||
Transfer Pak support (GB/GBC games on N64) is handled via subsystem API.
|
||||
No additional firmware files needed, just the GB ROM and save file.
|
||||
Transfer Pak support (GB/GBC games on N64) handled via subsystem API.
|
||||
No additional firmware files needed.
|
||||
|
||||
8
emulators/mupen64plus_next_develop.yml
Normal file
8
emulators/mupen64plus_next_develop.yml
Normal 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: []
|
||||
8
emulators/mupen64plus_next_gles2.yml
Normal file
8
emulators/mupen64plus_next_gles2.yml
Normal 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: []
|
||||
8
emulators/mupen64plus_next_gles3.yml
Normal file
8
emulators/mupen64plus_next_gles3.yml
Normal 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: []
|
||||
@@ -1,144 +1,122 @@
|
||||
emulator: NeoCD
|
||||
type: libretro
|
||||
core_classification: pure_libretro
|
||||
source: "https://github.com/libretro/neocd_libretro"
|
||||
profiled_date: "2026-03-18"
|
||||
core_version: "2019"
|
||||
upstream: "https://github.com/libretro/neocd_libretro"
|
||||
profiled_date: "2026-03-24"
|
||||
core_version: "2022"
|
||||
display_name: "SNK - Neo Geo CD (NeoCD)"
|
||||
cores:
|
||||
- neocd
|
||||
systems:
|
||||
- snk-neogeo-cd
|
||||
|
||||
notes: |
|
||||
NeoCD is a dedicated SNK Neo Geo CD emulator. It supports Front Loader,
|
||||
Top Loader, and CDZ hardware variants. BIOS files go in {system_dir}/neocd/
|
||||
subdirectory (src/path.cpp:7, src/libretro_bios.cpp:76-81).
|
||||
Complete rewrite of NeoCD in C++11. Scans {system_dir}/neocd/ for any .rom
|
||||
or .bin file, also inside .zip archives (src/libretro_bios.cpp:69-105,
|
||||
src/path.cpp:6 NEOCD_SYSTEM_SUBDIR = "neocd").
|
||||
|
||||
The core scans the neocd/ directory for any .rom or .bin file (also inside
|
||||
.zip archives), reads the first 512 bytes, and identifies the BIOS type by
|
||||
binary pattern matching at fixed ROM addresses (src/bios.cpp:168-208).
|
||||
Filenames listed in the .info are conventional but not enforced by the core.
|
||||
BIOS identified by binary pattern matching at fixed ROM addresses, not by
|
||||
filename (src/bios.cpp:167-206). Files are auto byte-swapped if needed
|
||||
(src/bios.cpp:148-160). Files smaller than 524288 bytes are skipped
|
||||
(src/libretro_bios.cpp:42).
|
||||
|
||||
Three hardware families are detected: Front Loader (NeoCD), Top Loader
|
||||
(NeoCD), and CDZ. Modified BIOS variants are also recognized: SMKDan 0.07,
|
||||
SMKDan 0.07b, Universe BIOS 3.2, and Universe BIOS 3.3. The core applies
|
||||
speed hack patches and CD recognition patches at load time for each type
|
||||
(src/bios.cpp:209-280).
|
||||
Three hardware families detected: Front Loader, Top Loader, CDZ. Modified
|
||||
variants recognized: SMKDan 0.07, SMKDan 0.07b, Universe BIOS 3.2,
|
||||
Universe BIOS 3.3 (src/bios.h:11-27). Any single valid BIOS is sufficient;
|
||||
selection via core options dropdown sorted alphabetically.
|
||||
|
||||
The Y-ZOOM ROM (ng-lo.rom / 000-lo.lo) is a sprite zoom lookup table loaded
|
||||
separately (src/memory.h:22, YZOOMROM_SIZE = 0x10000 = 65536 bytes). It is
|
||||
optional but improves sprite scaling accuracy.
|
||||
Y-ZOOM ROM (ng-lo.rom / 000-lo.lo) listed in .info but generated
|
||||
algorithmically, never loaded from file (src/memory.cpp:223-253
|
||||
generateYZoomData, CRC32 E09E253C). These are phantom .info entries.
|
||||
|
||||
All firmware entries are marked optional in the .info (any single valid BIOS
|
||||
is sufficient). The core presents detected BIOSes as a dropdown in the core
|
||||
options menu, sorted alphabetically by description.
|
||||
|
||||
BIOS ROM size: 524288 bytes (0x80000, src/memory.h:16).
|
||||
Y-ZOOM ROM size: 65536 bytes (0x10000, src/memory.h:22).
|
||||
.info firmware_count=12 but 2 are phantoms (Y-ZOOM), effective count=10.
|
||||
.info lists uni-bioscd.rom as "Universe BIOS 3.2" but SHA1 matches
|
||||
Universe BIOS 3.3 (confirmed by GitHub README).
|
||||
|
||||
files:
|
||||
# Front Loader BIOS (NeoCD original front-loading unit)
|
||||
# --- Front Loader family ---
|
||||
|
||||
- name: neocd_f.rom
|
||||
dest: neocd/neocd_f.rom
|
||||
system: snk-neogeo-cd
|
||||
required: false
|
||||
size: 524288
|
||||
note: "Front Loader BIOS, official NeoCD format"
|
||||
source_ref: "retroarch/libneocd_libretro.info:15 (firmware0)"
|
||||
note: "Front Loader BIOS (big-endian, NeoCD naming)"
|
||||
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
|
||||
dest: neocd/front-sp1.bin
|
||||
system: snk-neogeo-cd
|
||||
required: false
|
||||
size: 524288
|
||||
note: "Front Loader BIOS, MAME naming (same content as neocd_f.rom)"
|
||||
source_ref: "retroarch/libneocd_libretro.info:39 (firmware8)"
|
||||
note: "Front Loader BIOS (little-endian, MAME naming)"
|
||||
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
|
||||
dest: neocd/top-sp1.bin
|
||||
system: snk-neogeo-cd
|
||||
required: false
|
||||
size: 524288
|
||||
note: "Top Loader BIOS, MAME naming (same content as neocd_t.rom)"
|
||||
source_ref: "retroarch/libneocd_libretro.info:42 (firmware9)"
|
||||
note: "Top Loader BIOS (little-endian, MAME naming)"
|
||||
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
|
||||
dest: neocd/neocd.bin
|
||||
system: snk-neogeo-cd
|
||||
required: false
|
||||
size: 524288
|
||||
note: "CDZ BIOS, MAME naming (same content as neocd_z.rom)"
|
||||
source_ref: "retroarch/libneocd_libretro.info:45 (firmware10)"
|
||||
note: "CDZ BIOS (little-endian, MAME naming)"
|
||||
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
|
||||
dest: neocd/uni-bioscd.rom
|
||||
system: snk-neogeo-cd
|
||||
required: false
|
||||
size: 524288
|
||||
note: "Universe BIOS CD, third-party multi-region BIOS (hack)"
|
||||
source_ref: "retroarch/libneocd_libretro.info:48 (firmware11)"
|
||||
note: "Universe BIOS 3.3, CDZ-based third-party multi-region BIOS"
|
||||
source_ref: "src/bios.cpp:68 UNIVERSE33_SEARCH_PATTERN at 0xC00150"
|
||||
|
||||
@@ -1,25 +1,24 @@
|
||||
emulator: NooDS
|
||||
type: libretro
|
||||
source: "https://github.com/Hydr8gon/NooDS"
|
||||
profiled_date: "2026-03-18"
|
||||
core_classification: community_fork
|
||||
source: "https://github.com/jonian/libretro-noods"
|
||||
upstream: "https://github.com/Hydr8gon/NooDS"
|
||||
profiled_date: "2026-03-24"
|
||||
core_version: "Git"
|
||||
display_name: "Nintendo - DS (NooDS)"
|
||||
cores: [noods]
|
||||
systems: [nintendo-ds, nintendo-gba]
|
||||
|
||||
notes: |
|
||||
NooDS includes full HLE BIOS for ARM9, ARM7 and GBA SWI routines, making
|
||||
all BIOS files optional when direct boot is enabled (default). HLE tables
|
||||
cover SWI 0x00-0x20 for each processor (hle_bios.cpp:24-62). When BIOS
|
||||
files are missing, a special opcode (0xFF at offset 3) is written for
|
||||
interrupt return and the HLE handler is activated (memory.cpp:130-169).
|
||||
Firmware is auto-generated (128KB non-bootable) if not provided, with
|
||||
default WiFi config, touch calibration and user settings (spi.cpp:90-160).
|
||||
Native BIOS+firmware required only for firmware boot (non-direct-boot mode).
|
||||
ARM9 BIOS read: 0x1000 bytes (4 KB), ARM7 BIOS read: 0x4000 bytes (16 KB),
|
||||
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.
|
||||
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). When missing,
|
||||
HLE handler activated via special opcode at offset 3 (memory.cpp:139-168).
|
||||
Firmware auto-generated (128KB non-bootable) if not provided, with default
|
||||
WiFi config, touch calibration and user settings (spi.cpp:90-160). Native
|
||||
BIOS+firmware required only for firmware boot (non-direct-boot mode).
|
||||
Bootable firmware threshold: >128KB (spi.cpp:87). DLDI patching provides
|
||||
SD card access for homebrew via nds_sd_card.bin (dldi.cpp:29-77).
|
||||
File loading code identical between upstream and libretro port.
|
||||
|
||||
files:
|
||||
- name: "bios9.bin"
|
||||
@@ -28,8 +27,7 @@ files:
|
||||
required: false
|
||||
hle_fallback: true
|
||||
size: 4096
|
||||
md5: "a392174eb3e572fed6447e956bde4b25"
|
||||
source_ref: "src/memory.cpp:130-142, src/memory.h:73"
|
||||
source_ref: "src/memory.cpp:130-141"
|
||||
notes: "HLE fallback for all SWI calls; native needed for firmware boot and logo verification (copyBiosLogo)"
|
||||
|
||||
- name: "bios7.bin"
|
||||
@@ -38,8 +36,7 @@ files:
|
||||
required: false
|
||||
hle_fallback: true
|
||||
size: 16384
|
||||
md5: "df692a80a5b1bc90728bc3dfc76cd948"
|
||||
source_ref: "src/memory.cpp:144-156, src/memory.h:74"
|
||||
source_ref: "src/memory.cpp:144-155"
|
||||
notes: "HLE fallback for all SWI calls; native needed for firmware boot"
|
||||
|
||||
- name: "firmware.bin"
|
||||
@@ -47,7 +44,7 @@ files:
|
||||
description: "NDS firmware image"
|
||||
required: false
|
||||
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"
|
||||
|
||||
- name: "gba_bios.bin"
|
||||
@@ -56,6 +53,12 @@ files:
|
||||
required: false
|
||||
hle_fallback: true
|
||||
size: 16384
|
||||
md5: "a860e8c0b6d573d191e4ec7db1b1e4f6"
|
||||
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 (core.cpp:244-247)"
|
||||
source_ref: "src/memory.cpp:158-168, src/core.cpp:252-256"
|
||||
notes: "HLE fallback via swiTableGba; native BIOS disables HLE and enables real GBA boot"
|
||||
|
||||
- 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"
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
emulator: "parallel_n64"
|
||||
type: alias
|
||||
alias_of: "mupen64plus"
|
||||
profiled_date: "2026-03-18"
|
||||
emulator: "ParaLLEl N64"
|
||||
type: libretro
|
||||
source: "https://github.com/libretro/parallel-n64"
|
||||
profiled_date: "2026-03-24"
|
||||
core_version: "2.0-rc2"
|
||||
display_name: "Nintendo - Nintendo 64 (ParaLLEl N64)"
|
||||
note: "This core uses the same BIOS/firmware as mupen64plus. See emulators/mupen64plus.yml for details."
|
||||
files: []
|
||||
systems: [nintendo-64, nintendo-64dd]
|
||||
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"
|
||||
|
||||
Reference in New Issue
Block a user