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"