Files
libretro/emulators/melonds.yml
T
Abdessamad Derraz be4f440483 feat: add melonds data root
main.cpp:182-211 picks the portable or Qt config folder. dsi_sd_card.bin reads as dsisd.bin there, the DSi.SD.ImagePath default (Config.cpp:120).
2026-10-24 01:15:09 +02:00

113 lines
4.3 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"
upstream_commit: "7d8dea42e221b13521270c423b61add41a741b97"
core_version: "Git"
display_name: "Nintendo - DS (melonDS)"
systems: [nintendo-ds, nintendo-dsi]
data_root:
windows:
path: "<folder of melonDS.exe>"
source_ref: "upstream src/frontend/qt_sdl/main.cpp:182-184, 196-205, upstream src/frontend/qt_sdl/CMakeLists.txt:197-202"
note: "portable beside melonDS.exe when that folder exists. A build with the PORTABLE option off uses the Qt config location"
macos:
path: "~/Library/Preferences/melonDS"
source_ref: "upstream src/frontend/qt_sdl/main.cpp:182-200, 206-211"
note: "portable beside melonDS.app when that folder exists"
linux:
path: "$XDG_CONFIG_HOME/melonDS, else ~/.config/melonDS"
source_ref: "upstream src/frontend/qt_sdl/main.cpp:182-184, 196-200, 206-211"
note: "portable beside the executable when that folder exists"
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
standalone_path: "dsisd.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, upstream src/frontend/qt_sdl/Config.cpp:120, upstream src/FATStorage.cpp:1024-1025"
note: "Created if missing, requires melonds_dsi_sdcard core option enabled"