Files
libretro/emulators/melonds.yml
T
Abdessamad Derraz b3b3880c19 chore: say which repository each source_ref cites
Profiles that read two repositories, a libretro port and its upstream,
now prefix each citation with source or upstream, decided by which tree
carries the cited value at its pin. The emulator pages use the word to
tell libretro glue, emulator code as the port carries it, and the
upstream emulator apart.
2026-10-20 09:23:41 +02:00

98 lines
3.4 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"
source_commit: "66b5d2634cd0a79030562811e6e05f5532f800ba"
core_version: "Git"
display_name: "Nintendo - DS (melonDS)"
systems: [nintendo-ds, nintendo-dsi]
notes: |
FreeBIOS fallback for DS mode (NTR), while 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: 2ab23573
source_ref: "source src/NDS.h:196, source src/NDS.cpp:467-477, source 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: 1280f0d5
source_ref: "source src/NDS.h:197, source src/NDS.cpp:482-492, source 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
min_size: 262144
max_size: 524288
validation: [size]
source_ref: "source src/SPI.cpp:192-211, source 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: bae84f6c
source_ref: "source src/DSi.h:33, source src/DSi.cpp:587-599, source 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: 4316cc42
source_ref: "source src/DSi.h:34, source src/DSi.cpp:604-620, source 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: "source src/SPI.cpp:197-211, source src/frontend/Util_ROM.cpp:201-217"
- name: dsi_nand.bin
agnostic: true
system: nintendo-dsi
description: "DSi NAND dump"
required: true
size: 251658304
storage: large_file
source_ref: "source src/frontend/Util_ROM.cpp:224-235, source src/DSi_NAND.cpp:58-97"
note: "Any regional dump works. Nocash footer required (DSi eMMC CID/CPU at EOF-0x40 or 0xFF800). AES keys derived from ARM7i BIOS offset 0x8308."
- name: dsi_sd_card.bin
system: nintendo-dsi
description: "DSi SD card image"
required: false
source_ref: "source src/frontend/Util_ROM.cpp:237-243, source src/libretro/libretro.cpp:837, 553"
note: "Created if missing, requires melonds_dsi_sdcard core option enabled"