Nintendo DSi emulators

From Emulation General Wiki
Revision as of 21:42, 23 December 2019 by Dipswitch (talk | contribs) (Created page with "300px|thumb|right|The design was very similar to the DS Lite Released on April 5, 2009, the '''Nintendo DSi''' added new lighting effects, an inner and o...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The design was very similar to the DS Lite

Released on April 5, 2009, the Nintendo DSi added new lighting effects, an inner and outer 0.3 megapixel digital cameras, 16MB of RAM (compared to the previous 4MB of RAM), a faster ARM9 CPU clocked at 133 MHz, and offered downloadable titles called "DSiWare". It cost $169.99 at launch and later dropped to $149.99. The system, however, was region-locked, meaning that DSi exclusives from different regions couldn't be used and the system language couldn't be changed. It also did away with backwards-compatiblity by removing Slot-2 which was used to load GBA cartridges and other gaming accessories (i.e. Guitar Hero: On Tour).

Game Formats

There are three types of games that uses the DSi hardware enhancements:

DSi-enhanced retail cartridges
A regular game cartridge that is compatible with the older NDS models, but unlocks more RAM and features when used on the DSi (commonly it's just camera support, but may provide better performance with the extra RAM). Only a couple of games had this feature and is similar to how some late Game Boy Color games (mainly the ones made by Capcom or WayForward in the early 2000s) would offer additional feature if played on the Game Boy Advance. These games will still boot on any NDS emulators, but will be detected as if it was on the original DS and will not load any DSi enhancements. DSi-enhanced games will also have an animated icon when displayed in the boot menu of the DSi and the titleID on the cartridge will say TWL instead of NTR.
DSi-exclusive retail cartridges
Retail cartridges that relies on the DSi hardware features. An error screen will show when attempting to load one of these games on a regular DS console(and by extension, emulators also). These cartridges where white instead of gray and only five games were physically released this way, either as launch titles or because they were too big to be sold as DSiWare (see below).
DSiWare
Downloadable titles only available through the DSi Shop (discontinued as of March 31, 2017). They have a 16MB size limitation due to the small size of the internal NAND and a lot of interesting exclusives for the system released as DSiWare. The Nintendo 3DS eShop also has some DSiWare for purchase (which is the only legal way of obtaining them now), though it uses a different file packaging format than the DSi. The system itself is also capable of running other DSiWare since the firmware used for backwards-compatibility is the same as the DSi.

All three formats can be converted to .nds format. Compared to regular DS games, DSi games have some additional header information that wasn't even correctly dumped in most early sets. The 2017 set has updated many of these to the correct format, though it's still severely lacking in DSiWare exclusives. DSiWare dumps exist in both .nds format and .cia format (for installation on a homebrewed 3DS).

Even though it's possible to convert these titles to .nds, when attempting to run these games on a normal emulator it will either show an error message (when attempting to run a DSi-exclusive title), or will crash on boot-up (when attempting to run DSiWare) due to missing encryption abilities and lack of DSi hardware support. DSi-enhanced games will run as if it was on a regular DS model.

On the DSi/3DS family of handhelds, the first two formats can be played on some select DSi-compatible flashcarts like the discontinued and expensive CycloDS iEvolution flashcart(which won't work on a stock 3DS unless you install custom firmware to whitelist it). As for the third type, some are only available for digital purchase at the 3DS eShop and are installed as apps to the limited TWL NAND. Users with custom firmware can also convert DSiWare to an installable .cia and even dump already installed ones back to .nds. Since the DSi Shop has closed, the only way of obtaining DSiWare on the physical system is by homebrewing your DSi and either installing it to the system's NAND, or launching the .nds ROM through Unlaunch.

Emulation

Name Operating System(s) Latest Version DSi (enhanced) DSi (exclusive) DSi (digital) Recommended
No$GBA Windows, DOS 2.9b
melonDS Windows, Linux alpha ~ ~ (WIP)

There hasn't been much of a need for DSi emulation due to it's small library of exclusive games and lack of DSi-enhanced titles that provide anything major besides camera support. The only thing really notable is DSiWare, which saw several exclusive releases.

No$GBA added support for DSi games of all three formats starting with version 2.8, although some games won't boot and others have graphical glitches. You'll need to enable "16MB DSi/retail" under the settings in order to use it. Compatibility is very iffy due to No$GBA's already poor DS emulation, and the camera is just spoofed as a static image and will causes the emulator to crash whenever used, meaning games that uses it may boot, but won't be very playable.

DSi used an encryption system for the game dumps that went on to be enhanced and used for the 3DS. This encryption is checked at start-up, hence why Nintendo DS emulators don't even manage to boot DSiWare dumps. It's very unlikely DSi-mode emulation is ever going to be implemented in DeSmuME in particular due to various creative differences unique to that project.

melonDS recently started attempts at DSi emulation and has been able to boot the system's firmware[1] and even showed that it can boot Flipnote Studios, but freezes when attempting to create a new note.[2]. It's being worked on off an experimental branch and requires a lot of files to be dumped from the DSi in order to work, but it could become the most usable option for DSi emulation in the near future. Most of it is being done using the documentation that the No$GBA devs have already compiled on the subject.

BIOS Files

DSi emulation requires a copy of the lower 32K-halves of the ARM7/ARM9 BIOS files (BIOSDSI7.ROM and BIOSDSI9.ROM), which are different from the regular DS BIOS files and needed for the decryption. All the needed files are bios7i.bin, bios9i.bin, BIOSDSI7.ROM, BIOSDSI9.ROM, BIOSNDS7.ROM, and BIOSNDS9.ROM. These unicorns can be found here.

It's also advised (but still completely optional) to use a NAND dump as well to increase compatibility (though adding games is more complex, and a soft-modding solution to dump it is still being worked on). Rename it to "DSi-1.mmc" (should be about 250MB). In No$GBA, change "Reset/Startup Entrypoint" to "GBA/NDS BIOS" to now boot the emulator and games in DSi mode. Hex editing is required in order to "install" new DSiWare titles. Using a NAND dump fixes a lot of glitches and crashes related to languages and use of the internal DSi font.