[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.
SupremeDevice says:
Jun 20th 2019
Nice!!! Crazy to think that DSi emulation is already being added.
fintogive says:
Jun 20th 2019
development is moving very fast that's all that matters to me :P to dump the dsi bios maybe the best way is to wire up the bios chip and manually dump it via programmer.
Zinx says:
Jun 20th 2019
Note that you probably only need a DSi.
I don't think you can dump all the files from a 3DS.
Guest says:
Jun 20th 2019
I see you managed to launch the firmware without directly launching the game.
I wish that were possible with the DS/DS Lite firmwares (or is it possible only with the melonDSi branch?).
anon says:
Jun 20th 2019
Looks like your X.509 certificate has expired! Since you were self-signing it, which is a no-no for browsers, could you use Let's Encrypt instead?

Keep up the great work! :)
Arisotura says:
Jun 21st 2019
>Let's Encrypt

request denied

other than that, thanks

Guest: you can launch DS firmwares too (disable direct boot in emu settings, or System->Run to run it with no cart). of course this will only work with a DS/DSLite firmware dump.
Anon says:
Jun 21st 2019
Hi, I have a question that's not exactly on topic, but emulator-related. Is it possible to have separate windows for each of the DS screens? I'd like to have the upper screen on one monitor and bottom screen on the other. Would that be difficult to implement?
Thelolest says:
Jun 21st 2019
There was an effort by stuck pixel/dark Samus to dump it via hardware, but I don't know if He succeeded:
Thelolest says:
Jun 21st 2019
Having said that, the partial bios dump no$gba is currently using can be found easily on the "archive" website, but I think that you already know that... If I recall correctly it's made by an hardware ram dump made by lime wire a long time ago and the keys extracted by wulfy stylez when RE the TWL firmware on the 3ds...
It bothers me how we still don't have a full copy :/
butterh2 says:
Jun 21st 2019
this looks very cool! a functioning dsi emulator might theoretically mean that you could draw a flipnote with a drawing tablet and upload to sudomemo
ill be sure to keep an eye on this
Liam Olson says:
Jun 21st 2019
Any chance for others to test the DSi features? I'd love to test on another emulator that's not NO$GBA
Khangaroo says:
Jun 21st 2019
how about dumping the full 64k dsi bioses using the 3ds? 3ds seems to be cracked a lot wider open than the dsi is... sure they probably won't be exactly the same, but it might work
Khangaroo says:
Jun 21st 2019
oh wait, i can't read
A dragon says:
Jun 21st 2019
Never really had a DSi, so this wouldn't benefit me too much. I get that some people might use it, though. What I'd like is a way to use Game Boy Advance files to do cross platform things. Examples would be transfering Pokemon from the Game Boy Advance games to the Diamond and Pearl games or unlocking stuff that might require a certain game in the GBA slot.
Me says:
Jun 21st 2019
You mean migrating Pokemon? ^
Most if not all DS emulators have that so I would be surprised if melonds never gets that.

I hope they will release a new version soon with dsi booting, I want to try the dsi firmware from the famous archive link which worked in no$gba.

And ofc it would be great if someone finally dumps the complete dsi bios!
Post a comment