Nintendo DS emulators

From Emulation General Wiki
Jump to: navigation, search
The Nintendo DS handheld console
The Nintendo DS is a handheld console produced by Nintendo in 2004/2005. The main selling point was the use of dual screens for gameplay, with one being a touchscreen. It is the only console to have come close to the PlayStation 2 in lifetime sales, as a result of attracting a large amount of casual players, and even non-gamers, into the gaming community.


Name Operating System(s) Latest Version GBA NDS DSi Libretro Core Recommended
DeSmuME Multi-platform SVN
DeSmuME X432R Multi-platform Build
GBE+ Windows/Linux NDS support ✗ (WIP)
MelonDS Windows/Linux 0.3 ✗ (WIP)
Medusa Windows/Linux alpha 2 ✗ (WIP)
ndsemu Windows GitHub
No$GBA Windows, DOS 2.8e
PC ~ Dead projects
dasShiny Windows, Linux Git
DuoS Windows 8/25/2012 Beta
Ensata Windows 1.4d
iDeaS Windows, Linux
DraStic Android r2.5.0.3a
Dsoid Android SVN
nds4droid Android SVN
nds4ios iOS SVN


  • DeSmuME is one of the most developed emulators for regular DS games, but works best with higher end computers. This emulator aims for accuracy over speed but you can tinker with the vast amount of setting to get some extra FPS (see Common Problems and Solutions for tips). If you're still having a hard time running anything without the output playing like syrup try No$GBA, or Drastic emulated through Bluestacks. DeSmuME is generally recommended regardless of your PC power. However it's not perfect and still very unoptimized. DeSmuME won't cover Wi-Fi features (outside of an online play fork) or DSi emulation either because of some aspects of its unique development philosophy, so you'll have to look for other alternatives for those.
  • DraStic is a closed source payware emulator for Android devices that can run games at decent speed even on potato phones, there's unsubstantiated rumors that the devs deliberately put in issues to mess with the pirated version though. It's on par or better than DeSmuMe, and emulating it through Bluestacks on PC is actually a viable and fast alternative aside from a slight input delay.
  • No$GBA focuses on speed, and has major compatibility issues and glitches. As this was first a GBA emulator, the 3D added by the DS is still very poorly handled. However, it might be an option for a very low end machine but don't expect a lot of games to run perfectly, or at all. A fan program, No$Zoomer, was released for version 2.6 which increases compatibility and more setting, as well as the titular zooming option. The biggest boost is noise cancellation which will clear up the static No$GBA makes with 3d rendering. Version 2.7a isn't compatible with No$Zoomer yet but does add resizing windows options but any increase of emulating skills is not noticeable. As of v2.8 it supports DSi games, and is currently the only emulator that does. Only use No$GBA for DSi games, its debugging features (if you do translate/romhack DS/GBA games), if you value emulation speed above everything, or as a last resort.
  • melonDS is a recent DS emulator by ex-DeSmuMe devs who want to make a better optimized emulator eventually including features the existing emulators either don't have or have but are marred with other problems. It's still very early in the works but can boot some games. A couple other new emulators are also under development.
  • ensata is a leaked official DS emulator by Nintendo. It's not very usable or compatible, but does run a few games.
  • iDeaS is a dead experimental DS emulator with a plug-in system. It's very slow and buggy, but some features like the camera and the slide accessory were only emulated partially by iDeaS. Not recommended.

High Resolution[edit]

  • DeSmuME X432R is a fork of DeSmuME, that has many more graphical enhancement such as an option to increase internal resolution and use MSAA, See the DeSmuME page for more details. Check out this site to see what you're missing out on.
  • libretro port of DeSmuME also has an option to increase internal resolution since August 8, 2015 git commit. It requires a very high-end CPU to run at reasonable framerate.
  • DraStic has released a beta version supporting double the original resolution.
  • The Wii U's DS Virtual Console have a configuration file with support for x2 internal resolution without any significant performance hit (as well as a brightness setting). However, there's no legit way to enable it without a homebrew-enabled console.


Local Multiplayer, Wi-Fi Connection, and Wii/DS Connection[edit]

  • Local Multiplayer is not supported by any emulator. No$GBA can emulate it but the connection fails somewhere during establishing the actual connection (despite the names from the other DS showing just fine).
  • Download Play isn't supported by any emulator so far, though NDS-bootstrap homebrew on the Nintendo 3DS can boot some of them.
  • Nintendo WFC (Online Multiplayer) was successfully emulated with third-party DeSmuME forks, but has quite a bit of requirements (Ethernet cable, though this can be circumvented with external software). After service shutdown, there was a version compatible with the fan servers (restoring all DLC data but sadly most multiplayer games had their content lost forever).
  • DS/Wii connection isn't emulated in any capacity. Pokémon Battle Revolution playability is very limited this way.

These features are not supported by the mainline DeSmuME project in particular due to timing inaccuracies and creative differences, and it's highly unlikely they will ever be included in the future. If you're interested in these features, follow other projects and refrain from contacting the developers about them as per their wishes in their "official stance" on Wi-Fi features in general.

GBA/DS Connectivity[edit]

Inserting a GBA card in Slot-2 in a Nintendo DS unit (that's not a DSi) while a DS game is running could unlock various gameplay features in some DS games. DeSmuME can emulate this: while playing the DS ROM, go to "Config, Slot 2 (GBA Slot)" and select "GBA Cartridge". Now select the GBA ROM file, and make sure its sav file is in the same folder. You may need to reset the game sometimes to see the effect in-game.

Features like the solar sensor in Boktai DS (Lunar Knight) using the GBA Boktai cartridges in Slot-2 are not emulated yet on the other hand.


Nintendo released the DSi in 2009, doing away with Slot-2 (used by GBA cartridges and Guitar Hero games) but also adding new lighting effects, a camera, more RAM, and downloadable titles called DSiWare though those were capped to 16MB because they were installed to the very small internal NAND memory. DSiWare releases were also region locked, and the system language couldn't be changed. The Nintendo 3DS is also compatible with those games and offers a way to back them up to an SD card.

Game Formats[edit]

There's three types of games using DSi hardware enhancements:

  • DSi-enhanced retail cartridges: Regular DS retail cartridges compatible with the older DS models, but unlocking more RAM and features when used on the DSi, similar to some late GBC games on the GBA. A couple of dozen games from Japan and US/EUR relied on this method. Those games will still boot on DS emulators but without the DSi enhancements.
  • DSi-exclusive retail cartridges: Retail cartridges relying heavily on the DSi hardware features. A boot-up error screen will show when attempting to load those on regular DS models (and by extension, emulators for those). Only five games were released this way, either launch games or because they were too big to fit in 16MB.
  • DSiWare: Downloadable titles downloaded only through the DSi eShop (discontinued), or the Nintendo 3DS eShop (though it uses a different file packaging format). They have a 16MB size limitation and there's lots of interesting exclusives for the system released that way.

All three formats can be converted to *.nds format. Compared to regular DS games, DSi games had some additional header information that wasn't even correctly dumped in the earlier broken dumps. The 2017 set has updated many of those, though it's still severely lacking in DSiWare exclusives. DSiWare dumps exist in both NDS format, or CIA format (for the ones who want to boot it on their 3DS).

On the old DS or DS Lite models, as well as most Nintendo DS emulators, the first type will load in regular DS mode without any DSi enhancements, the second will show an error message, and the third will crash on boot-up due to missing encryption abilities and DSi hardware support.

On the DSi/3DS family of handhelds, the first two formats can be played on some select DSi-compatible flashcarts like the (discontinued and now expensive) CycloDS iEvolution flashcard (which won't work on a stock 3DS not with custom firmware to whitelist it). As for the third type, it's available for digital purchase at their respective stores (DSi Shop for DSi, eShop for the 3DS) and installed as apps to the limited TWL NAND. In the 3DS' case, they can also be installed as custom titles in .cia format (like all 3DS applications, but here it's also a container for an .nds rom in this case, and converting back and forth is possible).


Name Operating System(s) Latest Version DSi (enhanced) DSi (exclusive) DSi (digital) Recommended
No$GBA Windows, DOS 2.8e

No$GBA added support for DSi games of all three formats starting with version 2.8, although some games wont boot and others have graphical glitches. You'll need to enable "16MB DSi/retail" under the settings. Emulation is very iffy due to a so-so DS emulation foundation in NO$GBA, and the camera is just spoofed as a static image but just causes an emulator crash whenever used, meaning games that use it may boot but it 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 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.

BIOS Files[edit]

DSi emulation requires a copy of the lower 32K-halves of the ARM7/ARM9 BIOSes (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). Change "Reset/Startup Entrypoint to "GBA/NDS BIOS" to now boot the emulator and games in DSi mode. Hex editing required to "install" new DSiWare titles, though loading retail games in DSi mode from the menu is still possible easily. This fixes lots of glitches and crashes related to languages and use of the internal DSi font.

Special Hardware[edit]

  • Guitar Hero Pad: Used in the "Guitar Hero: On Tour" series (required) and Band Hero DS. Supported by DeSmuME (Slot 2).
  • Piano for Easy Piano: Supported by DeSmuME (Slot 2).
  • Taito Paddle Controller: Compatible with Arkanoid, Space Invaders Extreme, Space Invaders Extreme 2 and Space Bust-a-Move. Supported by DeSmuME (Slot 2).
  • Tilt Sensor: Used in "Tony Hawk's Motion/Hue's Pixel Painter." No emulators support this add-on yet.
  • Rumble Pack: Supported by DeSmuME (Slot 2). Requires compatible Joystick.
  • Slide Controller: Required by "Slide Adventure Mag Kid". Yasu made a shoddy plug-in for iDeaS (recommended version was to try to emulate it. No emulators support this add-on at the moment.
  • Pokémon Keyboard: Bundled with the Pokémon Typing game (JP/UK/FR). The game refuses to boot without a keyboard, but it can be run on emulators with an anti-piracy fix and another DeSmuME-specific save bug fix. While it's playable using the on-screen keyboard on the lower screen, the keyboard wasn't actually emulated. There is a patched version of DesMuMe with a Lua script (Download by clicking on "Descargar".) that permits using the actual keyboard by mapping presses of the actual keyboard to taps of the virtual Touch Screen. However, the way the Lua script was coded mapped the virtual numbers to the actual number pad, presumably because the actual number keys are mapped to hotkeys. However, you can blank the hotkeys and modify the Lua script. Even then, not only is the emulated workaround a little slow, but saving is still broken. Use savestates, instead.
  • DS Camera: Accessory bundled with the Japan-only Face Training (an European localization for Christmas 2007 was cancelled, and it was released as a retail DSi game in 2010 using the internal camera rather than the original accessory). Not to be confused with the built-in DSi camera. No emulators exist for it at all.

iQue DS Region Lock[edit]

Nintendo released their Nintendo DS in China under the name iQue DS, along with a few localized games. Much like they did with the GBA too. Except for one thing. While the Chinese DS ROMs are perfectly normal DS ROMs, besides the tiny fact they have region locking implemented, preventing them from running on any DS system that's not the Chinese iQue DS model (but any 3DS from any region will run these Chinese DS games, despite the 3DSs games being region-locked. Go figure.) No other DS games - not even Korean releases - do this.

If you try to emulate those ROMs with No$GBA, it just crashes. DeSmuME will at least boot, but always show the message that shows on real (non-iQue) DS hardware - a glowing message on a black background saying "Only for iQue DS" (in English) and just loop endlessly on that same screen. In the event you're desperate to emulate those releases, you'll want to change the ROM (with a hex editor) - specifically the byte at 0x1D must be changed from 80 to 00.

Other issues[edit]

Certain games, such as American Girl titles (e.g. Julie Finds a Way and Kit Mystery Challenge) suffer from severe flickering issues which keep those games from being playable on most emulators; so far DraStic is the only emulator able to run the two games properly, and while Desmume r5043 had an initial fix that worked around the flickering issues, it was removed in later revisions as it broke compatibility with Pokemon SoulSilver among others; this has since been patched on r5531 once the true nature of the bug was better understood.