[DSi shito]

It doesn't get further than this though, but, considering the amount of work this required, between implementing the newfangled DSi hardware and fixing stupid bugs, this isn't a bad start. We can also thank nocash and all the other comrades who have been paving the way and making this possible at all.

This is nowhere near ready for a release tho. It's an experimental branch in which I felt like playing around with things, attempting to boot a DSi firmware, and, well, this happened.

This also requires a bunch of data that have to be dumped from a DSi:

* NAND dump
* console ID
* RSA/Blowfish/AES keys

Those can be dumped from a DSi with unlaunch, but we will need a user-friendly way to do so.


There is also the issue that, well, this isn't completely clean and perfect.

When booting the DS firmware, we just load the ARM9 and ARM7 BIOSes, point the emulated CPUs to the reset vectors, and let it do all the work, just like how an actual DS would do. That way, we avoid any issues caused by incomplete memory/register setup when running a game, because the original boot ROM and firmware are taking care of everything. We also have a good reference for perfecting our direct boot implementation.

However, with the DSi, there's an issue: so far, we have only been able to dump the lower 32K of the 64K BIOSes. This is problematic as the first thing the reset vector does is jump to the upper half of the ROM. Then, said upper half is permanently locked right before jumping to the next bootloader stage (boot2), meaning that even if you somehow ran a completely custom boot2, you couldn't dump the upper halves of the BIOSes by software. The only way would be via hardware glitching attacks, or maybe by haxing a 3DS if it happens to have the full DSi BIOSes (noting that, ironically, the 3DS BIOSes were able to be dumped by software).

This means we run into issues like "decryption of X failed because the key is missing". We can work around them, but it's not as clean as starting from square one.

Oh well.
A dragon says:
Jun 22nd 2019
Yes and no. I am not too familiar with other DS emulators, but there are other games that took advantage of it. I think Feel the Magic had the similar functionality where if it detected a Sonic Advance game in the system, you could get some stuff for that. Another would be Pokemon Mystery Dungeon Red and Blue Rescue Team games. I know the DS one allowed you to put the GBA one in the same system to attempt a rescue mission. Not sure if that worked the other way around or not.
kevincrans says:
Jun 22nd 2019
Super Awesome!

Even Desmume can't do this, Drastic can't run it either I think and I had some problems in the past trying Dsi-ware with No$Gba, so for me this makes MelonDS the best DS emulator out there.

Now, I'm gonna try to run the memory pit exploit on it, just for curiosity.
anon says:
Jun 22nd 2019
Any reason for not using Let's Encrypt? It's gratis and some of the early issues like lack of wildcard support have long been resolved. Even byuu's article where they ranted about certificates, which had criticism of Let's Encrypt, is nowhere to be found these days.

If we can get more people to use melonDS (they should!), then we can't afford the red "Not secure" warning in browser address bars while accessing via http:// or the error pages when trying via https://
poudink says:
Jun 23rd 2019
I really don't think that's scared away many users
Guest says:
Jun 24th 2019
Arisotura: I have tried that, but all I get is a white screen, and this has been the case for me since 0.6 (and since 0.7 I have been compiling from source since the resulting binary is much smaller (~1.1MB for current binaries), plus I like living on the edge

I've been using the firmware from GameTechWiki (, with the BIOS files themselves hosted on
Guest says:
Jun 24th 2019
A dragon: As some who had owned Pokémon Mystery Dungeon: Blue Rescue Team (and a friend who has the Red Rescue Team, a well as both a GameBoy Advance SP and a Nintendo DS (I had neither) as a kid, I can say that it was one-way only (nothing lost on the GBA game, though), plus you could have the team from the GBA game appear as bosses in the dojo (I think it was something like that, I don't remember much beyond the actual story and the visuals of the different places, despite having spent days engrossed in the guide books (I liked reading them over and over again, even when I had no need to)).
Guest says:
Jun 24th 2019
*...a friend who had... I have no idea about nowadays.
Arisotura says:
Jun 24th 2019
can we quit it already with the HTTPS obsession? if your browser freaks over regular HTTP, maybe you need to get a less shitty browser. it's not like the evil haxors will steal your credit card number from this website.
Arisotura says:
Jun 24th 2019
Guest: that firmware is some old hacked version that breaks if you configure WFC. the same issue will happen on hardware if that firmware is flashed to a console. basically the WFC config entries overwrite some of the added code, bricking it.

you will get no such issues if you use original firmware.
AsPika2219 says:
Jun 25th 2019
Cool! DSi! I hope System Flaw will played with nice DSi Camera fuction!
Guest says:
Jun 26th 2019
Thanks Arisotura, I'll try using better firmware.
Guest says:
Jun 29th 2019
Yep, with another firmware (which is also a newer version, I think the last one for the DS Lite, but I forget), fixed all of those issues for me.
Plus, things I set from the firmware (such as name, birthdate, etc.) actually persist, unlike on DeSmuME (though it has been a few years since then).
Lalala says:
Oct 7th 2019
Desmume saves the firmware settings to a different file nowadays while melonds writes directly to the firmware file itself
Calebe says:
Oct 16th 2019
So are we going to have to turn around to add bios files and stuff? Wouldn't it be better if all the files were already added?
Finding some files on the internet, like initmem9 and 7, is tricky.
Post a comment