Nintendo DS emulators

From Emulation General Wiki
Jump to navigation Jump to search
Nintendo DS
Developer Nintendo
Manufacturer Foxconn
Type Handheld game console
Generation Seventh
Release date November 21, 2004
Discontinued Yes; date undisclosed
Predecessor Game Boy Advance
Successor Nintendo 3DS
Emulated
For emulators that run on the Nintendo DS, see Emulators on Nintendo DS.

The Nintendo DS (DS) is a handheld console produced by Nintendo and released on November 21, 2004, and had 2 ARM CPUs (ARM9 and ARM7) with 4 MB of RAM and was priced at $149.99 ($256 in 2026). The main selling point was the use of dual screens for gameplay, with one being a touchscreen. It was Nintendo's best selling portable console and best selling hardware overall (154.02 million units), having come close to the PlayStation 2 in lifetime sales (over 160 million units) until officially being surpassed by the Nintendo Switch in early 2026 (155.37 million units). This popularity came as a result of attracting many casual players, and even non-gamers, into the gaming community.

Remember, certain titles such as DSi retail and DSiWare games are exclusive to the DSi. Make sure your chosen emulator supports these variations (see "DSi-exclusive features" section) if you want to play them.

Emulators

[edit | edit source]
Before editing, review the getting involved and recommended pages. See system requirements page for performance demand of the emulators.
See tables for enhancements and hardware features & peripherals.
For more details such as licensing, programming language, emulation method, visit each emulator’s dedicated page.
Name Platform(s) Active? Latest version License Compatibility libretro core DSi Recommended? (overall)
PC
melonDS Windows Linux macOS FreeBSD NetBSD OpenBSD Linux ARM Windows on ARM Dev builds 1.1

libretro core[note 1]

GPLv2 (Copyleft) ? (Issues)
melonDS DS Windows Linux macOS libretro core

git

GPLv3 (Copyleft) ?
DeSmuME Windows Linux macOS 0.9.13/Nightly

libretro core

GPLv2 (Copyleft) ? (Issues)
DraStic Pandora Dragonbox Pyra 0.1 Pyra Proprietary[1] 4.55%
49 out of 1078 titles

67.12%
49 out of 73 reported titles

~
BizHawk

(melonDS)

Windows Linux Dev builds

2.11.1

MIT
BSD-3-Clause
? ~
No$GBA Windows MS-DOS 3.06 Proprietary ? ~
CorgiDS Windows Linux macOS git

SVN

GPLv3 (Copyleft) ?
dasShiny Windows Linux git GPLv3 (Copyleft) ?
DualSOUP Windows git ? ?
DuoS Windows 8/25/2012 Beta Proprietary ?
dust Windows Linux macOS git GPLv3 (Copyleft) ?
Ensata Windows 1.4d Proprietary ?
GBE+ Windows Linux macOS 1.10 GPLv2 (Copyleft) ? ✗ (WIP)
guac Windows Linux Linux ARM 0.0.4 BSD-3-Clause (Permissive) ? ✗ (WIP)
iDeaS Windows Linux 1.0.4.0 Proprietary ?
mGBA/medusa Windows Linux macOS ~[2] alpha 2 MPL 2.0 (Copyleft) ? ✗ (WIP)
ndsemu Windows git ? ?
NeonDS Windows 0.2.1 Proprietary ?
NooDS Windows Linux macOS git GPLv3 (Copyleft) ? ✗ (WIP)
SkyEmu Windows Linux macOS Dev Builds

v5

MIT (Permissive) ? ✗ (WIP)
Mobile
melonDS (unofficial)

melonds_libretro

Android iOS git

1.10.0

libretro core[note 1]

WatermelonDS fork

(Copyleft) ? [note 2]
DraStic Android r2.6.0.4a build 109

SeedlessDS fork

Proprietary[1] 11.78%
127 out of 1078 titles

87.59%
127 out of 145 reported titles

~[note 3] [note 4]
melonDS DS Android iOS AppleTV libretro core

git

GPLv3 (Copyleft) ? ~[note 5]
DeSmuME_libretro Android iOS libretro core GPLv2 (Copyleft) ? ~[note 5]
Delta iOS iPadOS 1.7.3s

git

AGPLv3 (Copyleft) ? ~
iNDS

(nds4ios-derived)

(DeSmuME-based)

iOS git Proprietary ?
nds4droid

(DeSmuME-based)

Android git GPLv3 (Copyleft) ?
nds4ios iOS SVN Proprietary ?
NooDS Android 0.1

git

GPLv3 (Copyleft) ? ✗ (WIP)
SkyEmu Android iOS git MIT (Permissive) ? ✗ (WIP)
Folium iOS iPadOS App Store ($)

2.0

Latest IPA

GPLv3 (Copyleft) ? ? TBD
Manic EMU iOS iPadOS 2.0.0

git

AGPLv3 (Copyleft) ? ? TBD
Provenance iOS iPadOS AppleTV 3.3.0

git

? ? ? ?
Retro Pal iOS 1.2.5 GPLv3 (Copyleft) ? ? ? TBD
NiN10 iOS iPadOS watchOS 3.6 Proprietary ? ? TBD
Console
Virtual Console Wii U Proprietary Only for selected titles ?
DeSmuME_libretro Switch PlayStation 4 PlayStation Vita 0.9.13 GPLv2 (Copyleft) ?
DeSmuME PSP PlayStation Portable V4

Experimental

GPLv2 (Copyleft) 1.48%
16 out of 1078 titles

25.4%
16 out of 63 reported titles

~
DeSmuME Wii Wii r185 Proprietary ? ~
DesmumeX Xbox 0.87 Proprietary ? ~
melonDS

melonds_libretro

Switch PlayStation Vita PlayStation 2 libretro core[note 1]

git (Switch)

git (Vita Port)

git (PS2 Port)

GPLv2 (Copyleft) ? ~ (WIP)
NooDS Switch PlayStation Vita Wii U PlayStation Portable git (Switch/Vita/WiiU)

git (PSP port)

GPLv3 (Copyleft) ? ~ (WIP)
DSonPSP PlayStation Portable (POC) 0.7 ? ?
Browser
DeSmuME Web 0.9.13/Nightly

libretro core

GPLv2 (Copyleft) ? (Issues)
dust Web git GPLv3 (Copyleft) ?

Native

[edit | edit source]
Name Platform(s) Active? Latest version License Compatibility DSi Recommended? (overall)
nds-bootstrap Nintendo DS Nintendo 3DS 2.13.1 GPLv3 98.79%
1065 out of 1078 reported titles
TWL-FIRM Nintendo 3DS Proprietary No documented issues

Comparisons

[edit | edit source]
melonDS
Unlike DeSmuME, melonDS has some DSi support. In terms of being user-friendly, options in melonDS are more simplified. Has similar DS game compatibility as DeSmuME. Both can run games at a higher internal resolution (sharper 3D objects) and can open ROMs inside a compressed archive (ZIP, RAR, 7Z etc.). Both can display the two screens in a variety of ways, but melonDS has a hybrid mode. (Example) While the developers of No$GBA had documented the Wi-Fi capabilities first, melonDS is the first and only emulator that has gotten as far as it has, and it has been found to work reasonably well with a handful of games. Switching to OpenGL in core options may give a performance boost, with 1.0 RC version OpenGL compute shader renderer introduced similar to other compute shader renderers. In May 2023, it was confirmed that there are plans for high-level emulation of Arm7 on MelonDS. The project is codenamed MelonHLE.
melonDS DS
An enhanced remake of the melonDS libretro that prioritizes standalone parity, reliability, and usability. Features included in this remake that were not available in the melonDS libretro core include full Wi-Fi support (Kaeru WFC, AltWFC, Wiimmfi), firmware overrides (name, color, birthday, etc.), homebrew save data support, screen rotation in the core settings (as the screen rotation feature in RetroArch's Video settings did not rotate touch inputs for melonDS and DeSmuME and can distort the screen), additional screen layout options, directly boot Nintendo DSi and DSiWare titles (unlike the standard melonDS — which requires manually installing DSiWare to the DSi NAND via its GUI — the MelonDS DS Libretro core includes the convenient Streamlined DSiWare Installation feature), RetroAchievements support for DSi(Ware) games, battery support, and selectable NAND and firmware images. However, some melonDS libretro core features aren't yet presented in this remake, such as local wireless connection, GDB Stub Support, DSi Camera support, and OpenGL compute shader renderer, but some are planned to be implemented. With that stated, this remake is not a perfect replacement for the melonDS libretro core but has its uses that the original core and the DeSmuME libretro core lack.
melonDS-Android
An unofficial Android port of melonDS by rafaelvcaetano, this Nintendo DS/DSi emulator is available on the Google Play Store for free. As of Beta 1.8.0 on February 3, 2023, which is based on melonDS v0.9.5, this emulator includes a DSiWare Manager, which allows users to install and play DSiWare titles in the emulator after booting the DSi boot menu. DSiWare title data is importable/exportable since Beta 1.10.0 on March 10, 2025. DSi camera has been implemented since Beta 1.9.0 on November 2, 2023, as well as RetroAchievements support for Nintendo DS games (DSiWare games booted from the DSi boot menu are not supported). External screen support from SapphireRhodonite's fork (melonDualDS, currently known as WatermelonDS) was implemented in melonDS-Android's v2.0.0 release on April 18, 2026, but SapphireRhodonite's fork is more optimized for dual/external screens. DSiWare titles can also be boot directly in the v2.0.0 update; DSiWare titles booted directly are detected by RetroAchievements.
WatermelonDS
A fork of melonDS-Android by SapphireRhodonite (assisted by melonDS-Android's developer rafaelvcaetano), WatermelonDS (formerly known as melonDualDS until update v0.7.0 on August 7, 2026) has support and optimization for external screens, allowing the player to use both Nintendo DS game screens on two screens for gaming handhelds and accessories such as AYN Thor, AYANEO Pocket DS, ONEXSUGAR Sugar-1, Retroid Dual Screen add-on, and more (though, lower-end devices like Anbernic RG DS may struggle), though single-screen devices are still supported. Also includes Vulkan support since the v0.7.0 beta, and a brand new user interface as of v0.7.0 release when melonDualDS was rebranded as WatermelonDS. v0.7.0 also has fixes and optimizations for RetroAchievements (including detection for games in .7z archives, Multiset support, and the ability to earn achievements offline in Casual mode; though the latter has been implemented in RAOfflineProxy), and an experimental Vulkan feature called FastPath, which improves performance at higher resolution scaling. Like melonDS-Android, this fork can also boot DSiWare games directly (and has RetroAchievements support), or be booted indirectly by installing them in the DSiWare Manager and booting the DSi boot menu.
DeSmuME
DeSmuME has gained significant improvements since 2018; new features include less CPU/GPU resource usage and high-resolution 3D rendering, and Wi-Fi emulation has been reintroduced in the latest builds. v0.9.13 from May 2022 is the first "Stable" build in over 7 years and is highly recommended over all previous builds (though dev builds are also generally very usable). OpenEmu uses a shallow fork of the v0.9.11 build and should be avoided as well.
DraStic
A (currently) closed-source emulator for Android devices that can run games at a decent speed even on potato phones. It is on par with (or in some cases better than) DeSmuME, and emulating it through BlueStacks on PC may actually be a viable and fast alternative aside from a slight input delay. Some rumors have spread around that the developers deliberately put in issues to mess with unofficial copies, though this is considered unsubstantiated. At the very least, you shouldn't expect any support from Exophase and company if you use an unofficial copy. It is available on the Raspberry Pi and Odroid via RetroPie, and runs relatively well. As of March 5, 2024, due to yuzu lawsuits mainly focused on the Zelda franchise, the creator made it free and plans on open-sourcing the code.
SeedlessDS
A fork by SapphireRhodonite built on top of the DraStic r2.6.0.4a core, this fork includes optimizations for dual/external screens (DraStic already had external screen support), a brand new user interface, and experimental RetroAchievements implementation (not yet supported officially), while keeping the emulator lightweight for low-end devices. This fork is meant for RetroAchievements users with a low-end Android device like the Anbernic RG DS that lacks the CPU/GPU power to run Nintendo DS/DSi games in melonDS-Android/WatermelonDS, but it can also be used on single-screen devices.
No$GBA
Focuses on speed, and has major compatibility issues and glitches as a result. Because it was initially a GBA emulator, the DS' 3D features are still very poorly handled. It is a good option for low-end machines, but don't expect a lot of games to run perfectly. A fan program, No$Zoomer, was released for version 2.6, which increases compatibility and options, as well as the titular zooming and resizing abilities. The biggest addition is noise cancellation which clears up static No$GBA makes with its 3D rendering. It doesn't change accuracy though. No$Zoomer never rebased to newer No$GBA versions, and it looks like it was abandoned, so it likely never will. In v2.8, No$GBA became the first emulator to support DSi games, which has been their most notable feature. Only use No$GBA for DSi games that don't work on other emulators, debugging (if you've taken up ROM hacking for DS games or homebrew development), if you value speed above everything, if you're using a potato PC, or just as a last resort.
BizHawk
Uses melonDS 0.9.5 core for Nintendo DS and DSi emulation, mGBA or VBA-Next cores for Game Boy Advance emulation
Delta
An open-source multi-system emulator for iOS with the ability to emulate many consoles and handhelds, including the DS. Since version 1.3, Delta Emulator allows you to emulate Nintendo DS with a DeSmuME or melonDS (0.9.1) core. You will need to have DS BIOS or DSi BIOS to play DS/DSi games in Delta using the melonDS core. It also allows you to boot into DS/DSi home screen and functions similarly to melonDS.
NooDS
A one-man project aiming for simplicity and speed, filling a similar niche as the old NeonDS or No$GBA. It's a WIP that is currently not nearly as accurate as competing options, but it now includes HLE firmware re-implementations to allow running games straight out of the box. It's also one of the few modern DS emulators to support playing GBA games.
mGBA/medusa
mGBA developer endrift is also creating a DS emulator, but it is very much a work-in-progress and isn't nearly as far as melonDS in terms of the capabilities it's covered. As of March 2018, medusa's development is "suspended until further notice".[2]
iDeaS
An abandoned and experimental DS emulator that uses a plug-in system, it is very slow and buggy but has partially gotten some features working, like the camera and slide accessories.
Ensata
Nintendo's official DS emulator that was leaked to the public. It is not very usable or compatible, but it can run a few games.
nds-bootstrap

nds-bootstrap is an application for Nintendo DS, DSi and 3DS that allows DS and DSi ROMs and homebrew homebrew to be booted from SD cards (DSi/3DS) or flashcard (DS). It is included in TWiLightMenu++, where selecting a game will start it via nds-bootstrap, but games can also be started straight from the 3DS home screen by creating shortcuts with forwarders such as YANBF. In terms of enhancements, it supports cheats from usrcheat.dat (different databases even include analogue control patches for 3DS), a widescreen mode, which stretches the image to fill the whole upper screen of the 3DS (the internal resolution stays at the DS's 256x192, however), and, in contrast to all the emulators so far, it even supports "overclocking" in the form of booting 3DS games in DSi mode (with the DSi's clock rate of 133 MHz, double the DS's 67 MHz), which significantly increases the frame rate of certain games (Rayman DS, Trackmania DS, Trackmania Turbo etc.).

Comparisons of several Nintendo DS emulators:

High resolution

[edit | edit source]
melonDS
Has an OpenGL renderer with upscaling as of version 0.8. The renderer is much faster than DeSmuME's and supports increasing the internal resolution up to 16x native resolution. More features, such as texture filtering, are planned.
DeSmuME X432R
A fork of DeSmuME that has graphical enhancements, such as an option to increase internal resolution and use MSAA. The devs of DeSmuME have now included an option for increased internal resolution (see below), making X432R outdated. See the DeSmuME page for more details.
DeSmuME (libretro)
Also has the option to increase internal resolution since the 8/8/15 git commit. It requires a very high-end CPU to run at a reasonable frame rate.
DraStic
Has released a beta version supporting double the original resolution.
Virtual Console (Wii U)
Has a configuration file with support for x2 internal resolution without any significant performance hit (as well as a brightness setting). However, there is no legit way to enable it without a homebrew-enabled console.

Enhancements

[edit | edit source]
Please only include recommended emulators in this table. Do not bump or spam GitHub threads, issues, or feature request pages.
Name melonDS melonDS DS DeSmuME
Controls Input lag mitigating ?
Mouse injector ~ ?
Turbo button ? ?
Graphics Better texture filtering
Enhancement option for providing better texture filtering methods comparing the original hardware had.
? ? ?
Pre-rendering anti-aliasing
(SSAA, MSAA)
~

MSAA only.

Resizable internal resolution
Super resolution
(FSR, DLSS, and XeSS)
Requires access to the depth buffer and temporal data like motion-vectors, so it is quite challenging and unlikely to be possible soon.

Besides any GPU that can use DLSS can run these emulators at 4K native with ease anyway.

Texture packs WIP
Widescreen hack
Widescreen is possible thanks to specific codes made by the community for a lot of DS games.
? ?
Performance Frame generation technologies
(LSFG, DLSS-FG and SM, XeSS-FG, AFMF and FSR FG)
Implementing frame generation technology in an emulator is unfortunately quite challenging and unlikely to be possible soon however post-processing techniques such as motion interpolation is quite possible. Input latency will be a crucial factor, but its impact likely varies depending on the specific technique used, it is recommended to use after applying the "Internal frame rate hack".

While AFMF or LSFG could be used with melonDS or DeSmuME?, please be aware some visual glitches and artifacts may occur at this time.

Internal frame rate hack ?
Overclock ~ ? ?
Post-processing AI-powered filter
(Freestyle)
? ? ?
Filters ?
Inverse tone mapping ? ? ?
Post-rendering anti-aliasing
(FXAA, TXAA, and MLAA/SMAA)
~
Only possible with software renderer.
? ~
Supports MSAA but there is no post-rendering AA technique supported.
Post-rendering scaling
(Sharp bilinear, Lanczos, and FSR 1)
?
Shader chain ~[note 6] ~[note 6]
Quality of life Automatic updater ? ? ?
Big Picture Mode ? ? ?
Command-line options ? ? ?
Built-in cheat manager
Built-in mod editor and manager
Built-in patch manager ? ? ?
Built-in save manager ? ? ?
Pause/Resume emulation ?
Per-game profiles ~[note 6] ~[note 6]
Portable and stealth
Useful enhancement feature for non-personal computer use or plug-and-play scenarios. However, the software may still require the necessary prerequisites and dependencies for your operating system if it is not statically linked.
?
Streamable compression format
TAS features Fast forward/Turbo speed
Frame step
(forwards and backwards)
? ? ?
Macros/Scripts/Lua WIP ?
Movie recording/playback
Rewind
Save states ~
Save states not available for Nintendo DSi(Ware) titles in MelonDS DS.
Misc. Audio filters and presets
Simulation of characteristic playback limitations and coloration of vintage consumer audio hardware, such as CRT television speakers, arcade cabinets, handheld consoles, early PC sound outputs, and low-fidelity integrated speakers. These filters are not intended to be perfectly accurate recreations, but rather to evoke the tonal qualities, distortion, bandwidth limits, resonance, and compression associated with 8-bit and 16-bit era devices. Examples include mono or narrow stereo output, reduced frequency response, speaker cone distortion, mild saturation, aliasing, and preset lo-fi profiles inspired by classic TVs, portable game systems, radios, and retro multimedia hardware.
Exclusive to libretro cores at the moment.
Debug features
EmuVR support Exclusive to libretro cores at the moment.
File browser
Lets the user look at the ROM's internal files.
Free Look
Free Look is an enhancement feature that allows manipulation of the in-game camera.
WIP[3]
Multiple screens ? ?
Netplay ~[note 6]
RetroAchievements ~
Nintendo DS RetroAchievements is exclusive in libretro cores and the unofficial melonDS Android port. DSi games aren't supported in these emulators/cores for RetroAchievements.

DSi RetroAchievements is supported in BizHawk's MelonDS core and the MelonDS DS libretro core.
~[note 6]
Rich Presence (RPC)
Allows the emulator to share real-time game session details (e.g., current game title, level, boss, playtime, or custom status) with external applications. This enables features such as displaying what you're playing on your profile, inviting friends to spectate, or triggering join-in-progress functionality where supported.
? ? ?
Screen translator
Using optical character recognition (OCR) and other techniques, this feature can provide live translation of in-game text, text-to-speech for visually impaired users, and more — either on demand or automatically.
You can use RetroArch's AI Service or the standalone offline bquenin's Interpreter.

Hardware features and peripherals

[edit | edit source]
Please only include recommended emulators in this table. Do not bump or spam GitHub threads, issues, or feature request pages. Also see this article.
Name melonDS melonDS DS DeSmuME GBE+
Hardware features Connectivity Infrared cartridge ? ? ? ?
Wi-Fi 3DS connectivity
Multi-Card
Online ~ ?
Single-Card (DS Download Play) ? ?
Wii connectivity
DSi-exclusive features Game formats DSi-enhanced ?
DSi-exclusive ?
DSiWare ?
Outer and inner cameras ? ? ? ?
SD card ?
System BIOS ? ? ?
Game Boy Advance backwards compatibility ?
Input Microphone [note 7] ?[note 7] ?
Pressure-sensitive touchscreen ?
iQue DS region lock ~ ? ?
Sleep mode ? ?
System BIOS ? ? ?
Peripherals DS camera
melonDS supports outer and inner cameras in Physical Camera mode and as Image File.
~
DS camera is supported but DSi camera is not yet supported in melonDS DS.
?
Fitness Bayer DIDGIT
Pedometer Activity Meter ? ? ?
Pokéwalker
Teku Teku Angel
Ubisoft Thrustmaster pedometer ? ? ?
Nintendo Wireless Keyboard ~
Slot 2 Beypoint Reader & Beypointer Option Pak ? ? ?
Directional Sensing Card ? ? ?
Expansion Pak ? ? ?
Facening Scan/DS Scanner ? ? ?
Game Boy Advance Game Pak ?
Guitar Hero pad [note 8]
Magic Reader ? ? ?
Piano for Easy Piano [note 8]
Play-Yan ? ? ? ?
Rumble Pak [note 8] ?
Sega Card Reader[note 9] ? ?
Supported in the latest nightly builds, on Windows only.
Slide controller [note 8]
There is an open pull request that implements support for this add-on.
Solar Sensor ~
Only manual configuration. No automatic detection. Since Lunar Knights is a DS game, no solar sensor could fit onto a cartridge. However, functionality is available if one of 3 original Boktai GBA games is used.
Taito paddle controller [note 8]
Tilt sensor [note 8]
Wave Scanner ? ? ?
Special hardware Wantame Card Scanner[note 10]
Wappy Dog
Misc. Battery ? ? ?
Cartridge hot swapping[note 11] ? ? ? ?
Cartridge tilting[note 12] There is no emulator currently includes built-in cartridge tilting simulation. As a workaround, you can try the external Real-Time Corruptor (RTCV) tool. It is a real-time memory/data corruption tool for inducing glitches during emulation, which might mimic some effects of cartridge tilting (e.g., visual/audio artifacts or crashes). However, it is not a true "cartridge tilting" simulator, as it works on live memory rather than simulating cartridge read errors.
Smart Navi Car Navigational System[note 13]
System lights

Connectivity

[edit | edit source]

The DS offers five types of connections:

  • Local wireless communications - (Multiple cartridges)
  • DS Download Play - (Single cartridge)
  • Wi-Fi Connection - (Online multiplayer)
  • DS/Wii connectivity
  • GBA/DS connectivity

The major challenge with emulating multiplayer functionalities is timing inaccuracies, which have made many projects, such as DeSmuME, not want to implement them. So far, the only emulator to actually make any progress is melonDS, but even that is still under development.

Infrared Cartridge

[edit | edit source]

Special NTR-031 cartridges with in-built IR ports. Other than connection to pedometers (Personal Trainer: Walking connects to Activity Meter and Pokémon HeartGold/SoulSilver connect to PokéWalker), also used for Entralink in Pokémon Black/White/Black 2/White 2 and for Memory Link from B/W to B2/W2.

Local wireless communication

[edit | edit source]

Players who have a copy of the same game can link together using the DS's wireless signals (given that the game offers this feature).

melonDS supports wireless communication with several games, including New Super Mario Bros. and the Pokémon games, but you need to have either multiple instances opened, which can slow down overall performance, or connect multiple computers via LAN. No$GBA can connect but fails before the actual connection is finished.

DS Download Play

[edit | edit source]

This feature allows players with a DS and only one copy of a game to play together (Single-Card Play). This way, not everyone needs a copy of a game. The player with the physical cartridge will host the game while the other players connect using a "downloaded" version received from the host. Normally they're either simple mini-games, stripped-down demos of the main game, or a limited version of multiplayer. In most cases, it is better to use multi-cart instead. However, some games, like Mario Party DS, require Download Play to use its multiplayer.

Download Play is supported by melonDS. Like with local multiplayer, it is very hit-and-miss, but unlocking the frame rate helps. melonDS will often fail during the download process, but some games actually go as far as booting and sometimes in-game as well.

Nintendo Wi-Fi Connection

[edit | edit source]
Main article: Nintendo Wi-Fi Connection

DS/Wii connectivity

[edit | edit source]

Uses wireless communication on the DS to connect to the Wii. The idea is parallel to the GBA Link Cable for the GameCube, and just like the Link Cable, only a handful of games actually have this feature. Some notable examples include:

  • Final Fantasy Crystal Chronicles: Echoes of Time - which is essentially the same as the DS port but can connect with other DSes with the game.
  • Pokémon Battle Revolution - in which players could transfer their Pokémon from the Generation IV main series games and use the DS as a controller.
  • Animal Crossing: City Folk - in which data could be transferred between the DS version (Animal Crossing: Wild World), and the Nintendo Channel on the Wii, where players could download demos of DS games to their console using Download Play (basically the same idea as the Download Station kiosk).

So far, no emulator has been able to emulate this feature, nor have attempted to. If this were ever going to be emulated, it would require work on both ends.

GBA/DS connectivity

[edit | edit source]

Inserting a GBA cartridge in the Slot-2 of the Nintendo DS while a game is running can unlock various gameplay features for several DS games.

It is unknown if No$GBA supports this, but it can be done in DeSmuME by going to Config > Slot 2 (GBA Slot) and selecting GBA Cartridge. Select the GBA ROM file, and make sure its .sav file is in the same folder. You may need to reset the game for it to take effect. As of version 0.9, melonDS supports GBA connectivity (melonDS DS libretro core support guide) and even added support for the solar sensor on GBA Boktai cartridges used in Boktai DS (Lunar Knight), something DeSmuME has yet to support. Either drag and drop the GBA ROM onto the program before starting or open the file before loading the NDS file.

Backwards compatibility for Game Boy Advance/GBA Mode

[edit | edit source]

The Nintendo DS is backward compatible with Game Boy Advance (GBA) cartridges. Shouldn't be confused with Game Boy Advance emulation or GBA/DS connectivity. None of the emulators supports this feature currently.

Accessories

[edit | edit source]
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
Also known as Motion Pak, it's used in "Tony Hawk's Motion/Hue's Pixel Painter." No emulators support this add-on yet. (Slot 2)
Pressure-sensitive touchscreen
Used in "Harvest Moon DS," "Colors!", "Metroid Prime: Hunters," "Okamiden" and "Rhythm Heaven." No emulators support this feature yet (can work with analog triggers or DualShock 2/3 pressure-sensitive face buttons).
Rumble pack
Supported by DeSmuME (Slot 2). Requires compatible Joystick.
Slide controller
Required by "Slide Adventure Mag Kid." No emulators support this add-on at the moment. There is an open PR for DeSmuME that implements this add-on.
Nintendo Wireless Keyboard
Bundled with Learn with Pokémon: Typing Adventure (JP/EU/AU). 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. There is also a pre-patched ROM. While it is playable using the on-screen keyboard on the lower screen, the keyboard isn't emulated. There is a Lua script that permits using the actual keyboard by mapping presses of the actual keyboard to taps of the virtual Touch Screen. However, you will need to blank out all the control/hotkey bindings of DeSmuME if you're going to play this game, because some of the keyboard keys also activate some controls; otherwise, pressing the Q key would also pause the game, given one example. A recommendation would be to have a separate copy of 32-bit DeSMuMe, which purpose is playing *only* this game. In that copy, place the patched ROM, the Lua script, and a 32-bit version of lua51.dll. (The platform used in building the .dll shouldn't matter.) 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 (European localization for Christmas 2007 was canceled, 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.
Bayer DIDGIT
A glucose meter for diabetic children with a game called Knock 'Em Downs: World's Fair that rewards them for checking their blood sugar levels regularly. The game has been dumped, but no support for the glucose meter peripheral exists as of the time of this writing; it may, however, be possible to add reward points through Action Replay codes, not to mention that the game will still function without the glucose meter attachment anyway (albeit with reduced functionality, of course).

iQue DS region lock

[edit | edit source]

iQue is Nintendo's Chinese subsidiary (previously a partnership between them and Wei Yen until 2013), so when they released the DS with a few localized games, their ROMs had special flags set in them to check if the hardware that ran the cartridge was iQue's or Nintendo's as a sort of region lock. Nintendo's own hardware would fail this check, throwing an "Only for iQue DS" error in white text on a black background. No other DS games have this mechanism, not even for Korean releases. This region lock is bypassed by the 3DS for these DS games, even though 3DS games have their own region lock. It is weird.

Emulators differ in their behavior to this region lock. No$GBA crashes, while DeSmuME can load them. However, for melonDS, you need a Firmware Dump from an iQue DS; otherwise, it will replicate the region lock.

The only way the ROM will accept other hardware (and thus emulators) is with a hack involving a simple byte change. Use a hex editor to change the byte located at 0x1D from value 80 to 00.

Other issues

[edit | edit source]

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. DraStic was the first emulator able to run the two games properly, and while DeSmuME r5043 had an initial fix that worked around the glitch, it was removed in later revisions as it broke compatibility with Pokémon SoulSilver, among others; this has since been patched on r5531 once the true nature of the bug was better understood. The fix would be later incorporated into other emulators. Ultimate Mortal Kombat suffers from flickering and slowdown due to the way it loads sprites, though it isn't as serious in DraStic. Star Wars: The Clone Wars – Jedi Alliance is an even more egregious example, crashing due to timing differences between actual hardware and an emulated system.

Nintendo DSi

[edit | edit source]
Nintendo DSi
Nintendo DSi console in black
Manufacturer Nintendo
Type Handheld game console
Generation Seventh
Release date November 1, 2008
Discontinued September 30, 2014
Predecessor Game Boy Advance
Successor Nintendo 3DS
Emulated

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 costs $169.99 ($255 in 2026) at launch and later dropped to $149.99 ($222 in 2026). The system, however, was region-locked, meaning DSi exclusives from different regions couldn't be used. It also did away with backwards-compatibility by removing Slot-2, which was used to load GBA cartridges and certain accessories (such as the Rumble Pak).

DSi emulation has been pretty neglected due to its 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 will need to enable "16MB DSi/retail" under the settings 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 cause the emulator to crash whenever used, meaning games that use 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 some 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.

As of version 0.9, melonDS has DSi emulation. It can connect to the internet and can play games with WFC online using libslirp or libpcap. It could become the most usable option for DSi emulation soon. Most of it is being done using the documentation that the No$GBA dev has already compiled on the subject (GBATEK).

DSi Game formats

[edit | edit source]

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 is just camera support, but may provide better performance with the extra RAM). Only a couple of games had this feature and it's 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 rely 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 were released as DSiWare. The Nintendo 3DS eShop also had some DSiWare for purchase (which used to be the only legal way of getting them), though it uses a different file packaging format than the DSi. The 3DS 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 not even correctly dumped in most early sets. Recent sets have since updated to the correct format. DSiWare dumps can 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 flashcard (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 both the DSi Shop and 3DS eShop have closed, the only way of getting DSiWare on the original system is by homebrewing your DSi and launching the .nds ROM through Unlaunch or TWiLight Menu++.

DSi Emulation Tutorial

[edit | edit source]

BIOS Files

[edit | edit source]

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. melonDS also requires these files along with the regular DS BIOS and the DSi's firmware.bin. These unicorns can be found here.

It is also advised (but still completely optional) to use a NAND dump for No$GBA to increase compatibility; however, a NAND dump is required to use melonDS.

No$GBA

[edit | edit source]

For now, NO$GBA is the most mature DS emulation project that supports the Nintendo DSi. Using the latest debugger version of NO$GBA is recommended.

Game Loading Methods
Simple .nds Loading
Requirements: These files with the NO$GBA version overwritten with the latest version.
DSiWare ROMs preserved online in romsets currently use the .nds format, similarly to regular Nintendo DS ROMs. If you change Emulation Settings > NDS Mode/Colors > DSi (retail/16MB), you can drag and drop all three types of DSi content on the emulator (or open the ROM), and it will run in DSi Mode.
However, it is recommended for retail cartridges to be loaded that way with the option "Emulation Settings > Reset/Startup Entry Point" set to "GBA/NDS BIOS." This loading method isn't recommended for DSiWare games because of some bugs introduced and the lack of ability to save altogether. However, if you insist, do set that option "Reset/Startup Entry Point" to "Start Cartridge Directly" at your own risk for any unpleasant aspects of the experience.
NAND Loading
Requirements are the same as above. If you have a real DSi unit, you can dump its NAND and use it instead of the included DSi-1.mmc file, so that you play that different game selection.
This option is more authentic to how real hardware works. It has much fewer bugs and a higher compatibility than the Simple nds loading method. DSiWare games were limited to a 128MB internal NAND memory or 40 games in the DSi Home Menu, whichever limitation comes first. The file "DSi-1.mmc" represents the NAND and hosts installed games (that will appear in the DSi Home Menu) and properly working game saves. While the DSi supported SD cards, it didn't allow for game software to be booted from there.
Make sure to use "Emulation Settings > Reset/Startup Entry Point" at all times. The DSiWare titles that can be booted through this method will appear in the DSi Home Menu as separate slots than the "inserted game cartridge" icon.
Using Unlauncher, a homebrew exploit, games can be added to the NAND. However, this is an advanced technique, and generally heavily discouraged. Users of this software on real hardware were compelled to use custom firmwares that allowed for using game software from the SD card (normally impossible). This means that to take advantage of this method as an emulation user, you will be stuck with the pre-installed games on the commonly shared BIOS files online.
SD Card Loading
The most recommended method, as per these tutorials. This method loads the game from the SD card instead of the NAND, and allows for an easier time adding new games to the emulator.
Requirements include these files to be placed in the same directory as NO$GBA. Not compatible with the previous methods, and so to be used in a folder with a fresh setup.
  • BIOS Files: Required for DSi emulation.
  • Modified NAND: Includes Unlauncher (Hold A to boot it, but not needed) and TWiLight Menu++
  • 2GB SD Card: Filename is DSi-1.SD
  • A tool to mount a virtual SD drive, such as OSFMount. To be used (Open DSi-1.SD > "Mount") with the 2GB SD Card to add new .nds files to it. Remember to disable "Read-Only" and to Dismount before using the emulator again.
Some issues are still present with this method. Refer to the next section for tips on how to deal with some of them.

melonDS

[edit | edit source]

The latest dev builds of melonDS can also boot the DSi Menu and load most DSiWare. To boot up the DSi Menu, you need specific files which can all be found here.

Known Issues

[edit | edit source]

No$GBA

[edit | edit source]

Aside from general emulation problems inherited from the older DS emulation project, there are the following issues:

  • Microphone doesn't work. (DSiWare + any method) No known fix.
  • Camera doesn't work. (DSiWare + any method) Unimplemented. No known fix.
  • Wi-Fi doesn't work. Unimplemented.
  • Touch Screen issues related to Screen Calibration (DSiWare + TWiLight Menu++ or simple nds loading) The fix is to load the original DSi Home Menu first (holding B when resetting the emulator or loading it), then reset to TWiLight Menu++ (not holding any buttons) before loading the desired game.
  • Can't Save (DSiWare + simple nds loading) This method is hardware inaccurate to begin with. For best results, switch to TWiLight Menu++ or Original NAND methods.

melonDS

[edit | edit source]

DSiWare has to be launched from the NAND as it can't boot them as .nds.

Notes

[edit | edit source]
  1. 1.0 1.1 1.2 The melonDS DS libretro core or the standalone version of melonDS is highly recommended over the melonDS libretro core, because it is two versions out of date (still on 0.9.3), and the generation 5 Pokémon are broken. If you turn on C-Gear, after a few minutes you will be unable to save. You also can't use any Wi-Fi features or do in game trades either or the game will freeze.
  2. The WatermelonDS fork (formerly known as melonDualDS until v0.7.0), which is optimized for multiple displays (AYN Thor, AYANEO Pocket DS, Retroid Dual Screen add-on, etc.), is recommended and is more up-to-date than melonDS-Android with additional features (like Vulkan support), even if you use a single-screen device. It can also boot DSiWare games directly, and has RetroAchievements support.
  3. DraStic is discontinued and is no longer available on Google Play. The unofficial fork SeedlessDS is active in development.
  4. DraStic/SeedlessDS is recommended for mid/low-end devices (like the Anbernic RG DS) that are not powerful enough to run melonDS-Android/WatermelonDS or the Nintendo DS libretro cores well. DraStic is lightweight, has external screen support, but no RetroAchievements support, and is no longer being updated. The SeedlessDS fork is based on DraStic r2.6.0.4a, but with a new user interface, RetroAchievements support, and additional features, while being lightweight for mid/low-end devices.
  5. 5.0 5.1 melonDS DS or DeSmuME are recommendable for Libretro/RetroArch users with a single screen on their device. The regular melonDS core is outdated. Please note that RetroArch does not support multiple displays on devices like the AYN Thor or AYANEO Pocket DS.
  6. 6.0 6.1 6.2 6.3 6.4 6.5 Only possible with libretro core. GitHub Issue page for adding RetroAchievements to the melonDS standalone version. But DSi RetroAchievement are not supported. Pedro-HDSR's MelonDS build also supports .slang shaders and presets.
  7. 7.0 7.1 melonDS and melonDS DS support microphone in external microphone, blow, noise, and (for melonDS) WAV file; additionally, melonDS now has microphone support for DSi games for feature parity. Unknown if melon DS DS supports mic for DSi titles.
  8. 8.0 8.1 8.2 8.3 8.4 8.5 Support for GBA slot peripherals can be activated in MelonDS under "File > Insert Add-On Cart" before booting the respective game.
  9. Barcode reader for Oshare Majo Love and Berry: DS Collection.
  10. The scanner is actually not a Slot 2 device, despite its appearances. The pins used for the GBA slot don't really connect to anything inside the scanner; there's no real circuitry attached. Instead, the WCS outputs data through a small cable that plugs into the DS' microphone slot.
  11. It was sometimes possible to apply cheats (such as a player having infinite lives) and other temporary software alterations to games by hot swapping cartridges, even though the cartridges were not designed to be hot swappable.
  12. Cartridge tilting is an action performed on cartridge-based systems to create otherwise impossible glitches. Cartridge tilting is not a glitch, but rather the process which creates glitches. Cart Tilt Showcase Playlist, DS example
  13. Used in Kuruma de DS which can connect to the following ECLIPSE GPS navigational systems:
    1. AVN-SZX04i
    2. AVN-SZ04i
    3. AVN-SZ04iW
    4. AVN-ZX04i
    5. AVN-Z04i
    6. AVN-Z04iW
    7. AVN-ZX03i
    8. AVN-Z03i
    9. AVN-Z03iW
    10. AVN-ZX02i

References

[edit | edit source]

Nintendo(edit)