melonDSi beta release
Apologies for the silent month. Things are shaking up here irl, as I'm starting that job, and looking for a new apartment, which is a bit of a shitshow.

Anyway, here we go: we present you melonDSi, in unfinished beta glory. The JIT beta will follow, but I first want to ensure Generic is comfortable with it.

The end goal will be to merge this with regular melonDS once it's in a better state, but, for now, we're providing it for the curious folks.

How to use melonDSi

BE SURE TO READ THIS BEFORE USING MELONDSI. You are using a beta release, provided with zero polishing and with a debug console. I expect that you know what you are doing to atleast some extent.

melonDSi will require several files to be dumped from a DSi. It's a bit messy right now, but we hope to come up with more user-friendly solutions in the future.

So, if you have a DSi, you might want to install unlaunch on it.

A quick rundown of the files melonDSi requires:

* bios9.bin / bios7.bin: DS-mode BIOS images. Those are the same as the ones from a DS. They shouldn't be required to get DSi software running, but melonDSi will refuse to start if they aren't present.

* bios9i.bin / bios7i.bin: DSi-mode BIOS images. Those can be dumped from your DSi using the good ol' dsbf_dump.nds.

* firmware.bin: SPI FLASH image. See above. dsbf_dump.bin yields a 'FWxxxxxx.bin' file which you need to rename. It should be 128K.

* aeskeys.bin: AES keys at boot time, dumpable using dsidumper.

* initmem9.bin / initmem7.bin: Boot-time contents of ARM9 ITCM and ARM7 WRAM, containing several other useful keys. See above.

* nand.bin: DSi NAND image, ideally dumped with fwTool. This should be dumped from the same console as dsikeys.bin and initmem9/7.bin.

* boot2_9.bin / boot2_7.bin: Second-stage bootloader, to be extracted from the NAND with twltool, using the following command:

twltool boot2 --in nand.bin

Gives you files arm9.bin and arm7.bin, to be renamed to boot2_9.bin and boot2_7.bin respectively.


Make sure that your DSi-mode ARM7 BIOS is good. Open bios7i.bin in a hex editor. Ensure that the first 32 bytes are the following:

06 00 00 EA 06 00 00 EA 1F 00 00 EA 04 00 00 EA
03 00 00 EA FE FF FF EA 13 00 00 EA 00 00 00 EA

Make sure that your NAND dump has the 'nocash footer' at the end. Open it in a hex editor and check that it has the string 'DSi eMMC CID/CPU' at offset 0xF000000. This is the beginning of the 64-byte 'nocash footer', which holds the eMMC CID and console ID.

Ideally make sure that direct boot is disabled.

Using melonDSi

As with regular melonDS, System->Run will boot the firmware, which should land you into the DSi menu if you did everything right.

You will need to recalibrate the touchscreen through the system settings app to have it work correctly.

melonDSi can boot some DSi-mode apps, but they currently don't work that well.

Booting games

melonDSi is able to boot DS-mode games from the DSi menu. They currently run with the DS-mode BIOSes and backwards-compatible touchscreen mode, but at the 133MHz clock speed and with 16MB of RAM.

DSi-enhanced games do not boot yet.

Direct boot is likely to break things as it hasn't been updated yet.

Other issues

Do not attempt using savestates, they can and will go wrong.

melonDSi is based on melonDS 0.8.1, so it will have the bugs present in that version.

Enjoy! Or atleast, try to.

melonDSi, Windows 64-bit
melonDSi, Linux 64-bit

If you want to help us take melonDSi further: here's our Patreon
shadow the hedgehog says:
Oct 30th 2019
when i try loading any app from home menu it says an error occured please read the dsi operations manual can someone help me my dsicord is shadow jpg supports trans rights#8040
Post a comment