Files
libretro/emulators/melonds.yml
Abdessamad Derraz e13e8734b9 chore: standardize notes: to note: in file entries
240 file-level entries used notes: instead of the canonical note:
field. verify.py and cross_reference.py only read note:, so these
were silently ignored.
2026-03-29 10:02:20 +02:00

92 lines
3.1 KiB
YAML

emulator: melonDS
type: standalone + libretro
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: |
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
system: nintendo-ds
description: "ARM9 BIOS"
required: false
hle_fallback: true
size: 4096
validation: {core: [size], upstream: [size, crc32]}
crc32: "0x2ab23573"
source_ref: "src/NDS.h:196, src/NDS.cpp:467-477, src/frontend/Util_ROM.cpp:99-111"
note: "FreeBIOS fallback (src/FreeBIOS.h); native needed for Key1 cartridge crypto"
- name: bios7.bin
system: nintendo-ds
description: "ARM7 BIOS"
required: false
hle_fallback: true
size: 16384
validation: {core: [size], upstream: [size, crc32]}
crc32: "0x1280f0d5"
source_ref: "src/NDS.h:197, src/NDS.cpp:482-492, src/frontend/Util_ROM.cpp:117-131"
note: "FreeBIOS fallback (src/FreeBIOS.h); native needed for Key1 init at offset 0x0030"
- name: firmware.bin
system: nintendo-ds
description: "NDS firmware image"
required: false
hle_fallback: true
validation: [size]
source_ref: "src/SPI.cpp:192-211, src/frontend/Util_ROM.cpp:174-195"
note: "Generated 128KB firmware as fallback; native must be 256KB or 512KB for boot"
# --- Nintendo DSi (TWL) ---
- name: dsi_bios9.bin
system: nintendo-dsi
description: "DSi ARM9 BIOS"
required: true
size: 65536
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
system: nintendo-dsi
description: "DSi ARM7 BIOS"
required: true
size: 65536
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"
note: "Contains eMMC key-Y at offset 0x8308 for NAND init"
- name: dsi_firmware.bin
system: nintendo-dsi
description: "DSi firmware image"
required: true
size: 131072
validation: [size]
source_ref: "src/SPI.cpp:197-211, src/frontend/Util_ROM.cpp:201-217"
- name: dsi_nand.bin
system: nintendo-dsi
description: "DSi NAND dump"
required: true
source_ref: "src/frontend/Util_ROM.cpp:224-235, src/DSi_NAND.cpp"
note: "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"
note: "Created if missing; requires melonds_dsi_sdcard core option enabled"