Difference between revisions of "Nintendo DS emulators"

From Emulation General Wiki
Jump to navigation Jump to search
(DSi)
(i don't think there's a reason for a link here, desmume remains generally recommended)
(422 intermediate revisions by more than 100 users not shown)
Line 1: Line 1:
[[File:Nintendo_ds.jpg|thumb|The Nintendo DS handheld console]]The '''[[gametech:Nintendo DS|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 emulators|PlayStation 2]] in lifetime sales, as a result of attracting a large amount of casual players, and even non-gamers, into the gaming community.
+
{{Infobox console
 +
|title = Nintendo DS
 +
|logo = DSlitewhite.png
 +
|developer = [[:Nintendo]]
 +
|type = [[:Category:Handheld consoles|Handheld game console]]
 +
|generation = [[:Category:Seventh-generation video game consoles|Seventh generation]]
 +
|release = 2004
 +
|discontinued = 2013
 +
|predecessor = [[Game Boy Advance emulators|Game Boy Advance]]
 +
|successor = [[Nintendo DSi emulators|Nintendo DSi]]
 +
|emulated = {{✓}}
 +
}}
 +
 
 +
{{for|other emulators that run on NDS hardware|Emulators on DS}}
 +
 
 +
The '''[[wikipedia:Nintendo DS|Nintendo DS]]''' (NDS) is a handheld console produced by Nintendo on November 21, 2004, and had 2 ARM CPUs (ARM9 and ARM7) with 4 MBs of RAM. 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 emulators|PlayStation 2]] in lifetime sales (154.02 million units), as a result of attracting a large number of casual players, and even non-gamers, into the gaming community.
  
 
==Emulators==
 
==Emulators==
{| class="wikitable"
+
<div style="max-width:100%; overflow:auto;">
|+PC
+
{| class="wikitable" style="text-align:center;"
|-
 
 
! scope="col"|Name
 
! scope="col"|Name
! scope="col"|Operating System(s)
+
! scope="col"|Platform(s)
 
! scope="col"|Latest Version
 
! scope="col"|Latest Version
! scope="col"|GBA
+
! scope="col"|<abbr title="The Nintendo DS is backward compatible with Game Boy Advance (GBA) cartridges. On top of that 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, GBA/DS connectivity section for more information about this.">[https://emulation.gametechwiki.com/index.php/Game_Boy_Advance_emulators GBA]</abbr>
! scope="col"|NDS
+
! scope="col"|[[Nintendo DSi emulators|DSi]]
! scope="col"|DSi
+
! scope="col"|[[#DS/Wii connectivity|DS<br/>to<br/>Wii]]
! scope="col"|[[libretro|Libretro Core]]
+
! scope="col"|[[#Nintendo Wi-Fi Connection|Wi-Fi/WFC]]
 +
! scope="col"|[[#DS Download Play|Download<br/>Play]]
 +
! scope="col"|[[#Local wireless communication|Local]]
 +
! scope="col"|<small>[https://retroachievements.org/gameList.php?c=18 Retro<br/>Achievements]</small>
 +
! scope="col"|[[Libretro]]
 +
! scope="col"|[[Texture_packs#Texture_Replacement (3D)|<small>Texture<br/>Replacement</small>]]</abbr>
 +
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 +
! scope="col"|Active
 
! scope="col"|[[Recommended emulators|Recommended]]
 
! scope="col"|[[Recommended emulators|Recommended]]
 
|-
 
|-
|style="text-align:center;"|[[DeSmuME]]
+
!colspan="16"|PC / x86
|style="text-align:center;"|Multi-platform
+
|-
|style="text-align:center;"|[http://desmume.org/download/ SVN]
+
|[[melonDS]]
|style="text-align:center;"|✗
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|style="text-align:center;"|✓
+
|[http://melonds.kuribo64.net/downloads.php {{MelonDSVer}}] [https://github.com/Arisotura/melonDS/actions <br/>Dev Builds]<br/>[https://buildbot.libretro.com/nightly/ libretro core]<ref group=N name=melonDSRA>melonDS libretro core two versions out of date (still on 0.9.3), and the generation 5 Pokemons are broken. If you turn on C-Gear, after a few minutes you'll be unable to save. [https://github.com/libretro/melonDS/issues/179#issuecomment-1407488464 '''You also can't use any wifi features'''] or do in game trades either or the game will freeze.</ref>
|style="text-align:center;"|✗
+
|{{~}}<ref group=N name=noGBAbutsupportsconnection>[https://melonds.kuribo64.net/board/thread.php?id=1229 melonDS] and DeSmuME are not support backwards compatibility but supports [[#GBA/DS connectivity|GBA to DS connectivity]].</ref> ||{{✓}} ||{{✗}}[https://github.com/melonDS-emu/melonDS/issues/1000 *] ||{{✓}}<ref group=N name=WFCAlt>Possible with [https://wiimmfi.de/ Wimmfi], [https://kaeru.world/projects/wfc Kaeru] or [https://github.com/barronwaffles/dwc_network_server_emulator/wiki AltWFC/DWC].<br /> [https://melonds.kuribo64.net/board/thread.php?id=285 Tutorial: How to Connect to WFC in MelonDS]</ref> ||{{~}} ||{{~}} ||{{~}}<ref group=N name=lrRA>Only possible with libretro core. [https://github.com/melonDS-emu/melonDS/issues/1146 Github Issue page for standalone version].</ref> ||{{✓}} ||{{✗}}([https://melonds.kuribo64.net/comments.php?id=182 WIP]) ||{{✓}} ||{{✓}} ||{{✓}}
|style="text-align:center;"|✓
+
|-
|style="text-align:center;"|
+
|[[DeSmuME]]
 +
|align=left|{{Icon|Windows|Linux|macOS|Web}}
 +
|[https://desmume.org/download/ {{DeSmuMEVer}}]<br/>[https://buildbot.libretro.com/nightly/ libretro core]
 +
|{{~}}<ref group=N name=noGBAbutsupportsconnection></ref> ||{{✗}} ||{{✗}} ||{{✓}}<ref group=N name=WFCAlt></ref> ||{{✗}} ||{{✗}} ||{{~}}<ref group=N name=lrRA></ref> ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[[BizHawk]]<br/><small>(melonDS 0.9.5)</small>
 +
|align=left|{{Icon|Windows|Linux}}
 +
|[https://gitlab.com/TASVideos/BizHawk/-/pipelines Dev builds]<br/>[http://tasvideos.org/BizHawk/ReleaseHistory.html {{BizHawkVer}}]
 +
|{{✗}} ||{{✓}} ||{{✗}} ||?<ref group=N name=WFCAlt></ref> ||? ||? ||{{✓}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{~}}
 +
|-
 +
|[[No$|No$GBA]]
 +
|align=left|{{Icon|Windows|DOS}}
 +
|[http://problemkaputt.de/gba.htm {{No$GBAVer}}]
 +
|{{✓}} ||{{~}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{~}}
 +
|-
 +
|[[GBE+]]
 +
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[https://github.com/shonumi/gbe-plus/releases {{GBEVer}}]
 +
|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} <small>(WIP)</small>
 +
|-
 +
|[[NooDS]]
 +
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[https://github.com/Hydr8gon/NooDS/releases git]
 +
|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} <small>(WIP)</small>
 +
|-
 +
|[[mGBA#medusa|mGBA/medusa]]
 +
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[https://mgba.io/downloads.html#medusa alpha 2]
 +
|{{✓}} ||{{✗}}[https://mgba.io/timeline.html#IN+THE+FUTURE *] ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} || {{~}}<ref name="medusa suspended"/>||{{✗}} <small>(WIP)</small>
 +
|-
 +
|[https://corgids.wordpress.com/ CorgiDS]
 +
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[https://github.com/PSI-Rockin/CorgiDS/releases git]<br />[http://www.emucr.com/search/label/CorgiDS SVN]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}}<ref>https://corgids.wordpress.com/2018/02/12/extended-break/</ref> ||{{✗}}
 +
|-
 +
|ndsemu
 +
|align=left|{{Icon|Windows}}
 +
|[https://github.com/rasky/ndsemu git]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 +
|-
 +
|[https://web.archive.org/web/20110225190819/http://neonds.com/ NeonDS]
 +
|align=left|{{Icon|Windows}}
 +
|[https://web.archive.org/web/20100925152735/http://neonds.com/system/files/NeonDS_0.2.1.zip 0.2.1]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
 +
|-
 +
|dasShiny
 +
|align=left|{{Icon|Windows|Linux}}
 +
|[https://github.com/Cydrak/dasShiny git]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 +
|-
 +
|[http://ds-duos.blogspot.com/ DuoS]
 +
|align=left|{{Icon|Windows}}
 +
|[http://www.emulator-zone.com/download.php/emulators/nds/duos/DuoS.zip 8/25/2012 Beta]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{}}
 +
|-
 +
|[[Ensata]]
 +
|align=left|{{Icon|Windows}}
 +
|[http://www.mediafire.com/file/x0odmalrndt9m7a/Ensata+v1.4d.rar 1.4d]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
 +
|-
 +
|[https://web.archive.org/web/20111130005614/http://ideasemu.biz/ iDeaS]
 +
|align=left|{{Icon|Windows|Linux}}
 +
|[http://www.emulator-zone.com/files/emulators/nds/ideas/ideas1040.7z 1.0.4.0]
 +
|{{}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
 +
|-
 +
!colspan="16"|Mobile / ARM
 +
|-
 +
|<small>[https://docs.libretro.com/library/desmume/ DeSmuME_libretro]</small>
 +
|align=left|{{Icon|Android|iOS}}
 +
|[https://buildbot.libretro.com/nightly/ libretro core]
 +
|{{~}}<ref group=N name=noGBAbutsupportsconnection></ref> ||{{✗}} ||{{✗}} ||{{✓}}<ref group=N name=WFCAlt></ref> ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{}} ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[[DraStic]]
 +
|align=left|{{Icon|Android|Pandora|Pyra}}
 +
|[https://play.google.com/store/apps/details?id=com.dsemu.drastic&hl=en_US&gl=US {{DraSticVer}}]<br>[https://pyra-handheld.com/repo/apps/32 0.1 Pyra]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[[melonDS]]<small> (unofficial)</small><br/><small>[https://docs.libretro.com/library/melonds/ melonds_libretro]</small>
 +
|align=left|{{Icon|Android|iOS}}
 +
|[https://github.com/rafaelvcaetano/melonDS-android git]<br/>[https://play.google.com/store/apps/details?id=me.magnum.melonds 1.8.0]<br/>[https://buildbot.libretro.com/nightly/ libretro core]<ref group=N name=melonDSRA></ref>
 +
|{{~}}<ref group=N name=noGBAbutsupportsconnection></ref> ||{{~}} ||{{✗}} || ? ||? ||? ||{{~}}<ref group=N>Only possible with libretro core but [https://github.com/rafaelvcaetano/melonDS-android/discussions/1117 work-in-progress for standalone version].</ref> ||{{✓}} ||{{✗}} ||{{✓}} ||{{}} ||{{~}} <small>(WIP)</small>
 +
|-
 +
|[[Delta]]
 +
|align=left|{{Icon|iOS}}
 +
|[https://github.com/rileytestut/Delta git]
 +
|{{✗}} ||{{~}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{~}}
 +
|-
 +
|[https://inds.nerd.net/ iNDS]<br/><small>(nds4ios-derived)</small><br/><small>(DeSmuME-based)</small>
 +
|align=left|{{Icon|iOS}}
 +
|[https://github.com/iNDS-Team/iNDS/releases git]
 +
|{{✗}} ||{{✗}} ||{{✗}} || ? ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{~}}
 
|-
 
|-
|style="text-align:center;"|MelonDS
+
|nds4ios
|style="text-align:center;"|Windows
+
|align=left|{{Icon|iOS}}
|style="text-align:center;"|[https://github.com/StapleButter/melonDS GitHub]
+
|[http://nds4ios.angelxwind.net/i/?page/downloads SVN]
|style="text-align:center;"|✗
+
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{}} ||{{✗}} ||{{}} ||{{✗}} ||{{}} ||{{~}}
|style="text-align:center;"|
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|
 
|style="text-align:center;"|✗ (WIP)
 
 
|-
 
|-
|style="text-align:center;"|DeSmuME X432R
+
|DeeS
|style="text-align:center;"|Multi-platform
+
|align=left|{{Icon|Android}}
|style="text-align:center;"|[http://shikaver01.webcrow.jp/ Build]
+
|[https://github.com/DeeSEmu/DeeS 1.0.8]
|style="text-align:center;"|✗
+
|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{}} ||{{✗}} ||{{}} ||{{}} ||{{✓}} ||{{}} ||{{~}}
|style="text-align:center;"|
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|✓
 
 
|-
 
|-
|style="text-align:center;"|[[No$GBA]]
+
|[[NooDS]]
|style="text-align:center;"|Windows, DOS
+
|align=left|{{Icon|Android}}
|style="text-align:center;"|[http://problemkaputt.de/gba.htm 2.8e]
+
|[https://github.com/Hydr8gon/NooDS git]
|style="text-align:center;"|
+
|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{}} ||{{✓}} ||{{}} <small>(WIP)</small>
|style="text-align:center;"|
 
|style="text-align:center;"|✓
 
|style="text-align:center;"|
 
|style="text-align:center;"|✗
 
 
|-
 
|-
|style="text-align:center;"|dasShiny
+
|[http://jeffq.com/blog/nds4droid/ nds4droid]<br/><small>(DeSmuME-based)</small>
|style="text-align:center;"|Windows, Linux
+
|align=left|{{Icon|Android}}
|style="text-align:center;"|[https://github.com/Cydrak/dasShiny Git]
+
|[https://github.com/jquesnelle/nds4droid git]
|style="text-align:center;"|✗
+
|{{✗}} ||{{✗}} ||{{✗}} || ? ||{{✗}} ||{{✗}} ||{{}} ||{{✗}} ||{{}} ||{{✓}} ||{{}} ||{{}}
|style="text-align:center;"|
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|✗
 
 
|-
 
|-
|style="text-align:center;"|DuoS
+
!colspan="16"|Console
|style="text-align:center;"|Windows
 
|style="text-align:center;"|[http://www.sendspace.com/file/ezoear 8/25/2012 Beta]
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|✓
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|
 
 
|-
 
|-
|style="text-align:center;"|[[Ensata]]
+
|[[Virtual Console]]
|style="text-align:center;"|Windows
+
|align=left|{{Icon|WiiU}}
|style="text-align:center;"|[http://www.mediafire.com/download/dr3gooki74kboio/Ensata_v1.4d.rar 1.4d]
+
|
|style="text-align:center;"|✗
+
|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{}} ||{{✗}} ||{{}} ||{{}} ||{{}} ||{{✓}}
|style="text-align:center;"|
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|✗
 
 
|-
 
|-
|style="text-align:center;"|iDeaS
+
|<small>[https://docs.libretro.com/library/desmume/ DeSmuME_libretro]</small>
|style="text-align:center;"|Windows, Linux
+
|align=left|{{Icon|Switch|PS4}}<br/>{{Icon|Vita}}
|style="text-align:center;"|[http://ciacin.site90.com/ideas.php 1.0.4.0]
+
|[https://www.retroarch.com/ 0.9.13]
|style="text-align:center;"|
+
|{{~}}<ref group=N name=noGBAbutsupportsconnection></ref> ||{{✗}} ||{{✗}} ||? ||{{}} ||{{}} ||{{✓}} ||{{✓}} ||{{}} ||{{✓}} ||{{✓}} ||{{✓}}
|style="text-align:center;"|
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|✗
 
|}
 
{| class="wikitable"
 
|+Mobile
 
 
|-
 
|-
! scope="col"|Name
+
|[[melonDS]]<br/><small>[https://docs.libretro.com/library/melonds/ melonds_libretro]</small>
! scope="col"|Operating System(s)
+
|align=left|{{Icon|Switch|Vita}}<br/>{{Icon|PS2}}
! scope="col"|Latest Version
+
|[https://buildbot.libretro.com/nightly/ libretro core]<ref group=N name=melonDSRA></ref><br/>[https://github.com/rsduck/melonDS/releases git]<small> (Switch)</small><br/>[https://github.com/Rinnegatamante/melonDS-Vita git]<small>(Vita Port)</small><br/>[https://github.com/DanielSant0s/melonDS-PS2 git]<small> (PS2 Port)</small><br/>
! scope="col"|GBA
+
|{{~}}<ref group=N name=noGBAbutsupportsconnection></ref> ||{{✓}} ||{{✗}} || ? || ? || ? ||{{~}}<ref group=N name=lrRA></ref> ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{~}}
! scope="col"|NDS
 
! scope="col"|[[libretro|Libretro Core]]
 
! scope="col"|[[Recommended emulators|Recommended]]
 
 
|-
 
|-
|style="text-align:center;"|[[DraStic]]
+
|[[NooDS]]
|style="text-align:center;"|Android
+
|align=left|{{Icon|Switch|Vita}}<br/>{{Icon|PSP}}
|style="text-align:center;"|[https://www.google.com/search?q=drastic+emulator+site:forum.mobilism.org&tbs=qdr:0,sbd:1 r2.5.0.3a]
+
|[https://github.com/Hydr8gon/NooDS git]<small> (Switch/Vita)</small><br/>[https://github.com/Xiro28/NooDS_PSP git] <small>(PSP port)</small>
|style="text-align:center;"|✗
+
|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{}} ||{{✗}} ||{{}} ||{{✓}} ||{{}} ||{{~}}
|style="text-align:center;"|
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|✓
 
 
|-
 
|-
|style="text-align:center;"|Dsoid
+
|[[DeSmuME PSP]]
|style="text-align:center;"|Android
+
|align=left|{{Icon|PSP}}
|style="text-align:center;"|[http://www.emucr.com/search/label/Dsoid?&max-results=12 SVN]
+
|[https://cdn.discordapp.com/attachments/590011753849421846/870274164748079104/desmume_psp_4.zip V4][https://github.com/Xiro28/DeSmuME-PSP git][https://github.com/Xiro28/desmume_psp_experimental Exp.]
|style="text-align:center;"|✗
+
|{{✗}} ||{{✗}} ||{{✗}} || ? ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{}} ||{{}} ||{{✓}} ||{{}}
|style="text-align:center;"|✓
 
|style="text-align:center;"|
 
|style="text-align:center;"|✗
 
 
|-
 
|-
|style="text-align:center;"|nds4droid
+
|DesmumeX
|style="text-align:center;"|Android
+
|align=left|{{Icon|Xbox}}
|style="text-align:center;"|[http://www.emucr.com/search/label/nds4droid?&max-results=12 SVN]
+
|[https://www.1emulation.com/forums/topic/35774-desmumex-v087-new-update 0.87]
|style="text-align:center;"|✗
+
|{{✗}} ||{{✗}} ||{{✗}} || ? ||{{✗}} ||{{✗}} ||{{✗}} ||{{}} ||{{✗}} ||{{}} ||{{}} ||{{~}}
|style="text-align:center;"|
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|✗
 
 
|-
 
|-
|style="text-align:center;"|nds4ios
+
|[[DeSmuME PSP|DSonPSP]]
|style="text-align:center;"|iOS
+
|align=left|{{Icon|PSP}}
|style="text-align:center;"|[http://nds4ios.angelxwind.net/i/?page/downloads SVN]
+
|[https://wololo.net/downloads/index.php/download/1235 0.7]
|style="text-align:center;"|✗
+
|{{✗}} ||{{✗}} ||{{✗}} || ? ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{}} ||? ||{{}} <small>(POC)</small> ||{{✗}}
|style="text-align:center;"|
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|
 
 
|}
 
|}
 +
</div>
 +
 +
<references group=N />
  
 
===Comparisons===
 
===Comparisons===
* [[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.
+
;[[melonDS]] <small class="plainlinks" style="font-weight:normal;">([https://wiimmfi.de/stat?m=25 servers])</small>
* [[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.
+
:Unlike DeSmuME, melonDS can use Wi-Fi and 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. [https://i.imgur.com/S73Eb4m.jpg (Example)] While the developers of No$GBA had documented the Wi-Fi capabilities first, melonDS is the first and only emulator that's gotten as far as it has, and it's been found to work reasonably well with a handful of games. Switching to OpenGL in core options may give a performance boost.
* [[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 and doesn't have 3D implemented yet, but can boot some games. A couple other new emulators are also under development.
+
;[[DeSmuME]] <small class="plainlinks" style="font-weight:normal;">([https://wiimmfi.de/stat?m=25 servers])</small>
* [[ensata]] is a leaked official DS emulator by Nintendo. It's not very usable or compatible, but does run a few games.
+
:DeSmuME has had significant improvements since 2018; new features include less CPU/GPU resource usage and high-resolution 3D rendering, though Wi-Fi capability remains neither emulated nor supported. 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.
* [[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.
+
;[[DraStic]]
 +
:A payware, closed-source emulator for [[Android emulators|Android]] devices that can run games at a decent speed even on potato phones. It's 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 pirated copies, though this is considered unsubstantiated. At the very least, you shouldn't expect any support from Exophase and company if you use a pirated copy, though it is available for free on the Raspberry Pi and Odroid via RetroPie, and runs relatively well there: https://www.youtube.com/watch?v=715kg1-hmxA
 +
 
 +
;[[No$|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's 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 that 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.
 +
 
 +
;[[Delta]]
 +
:An open-source application 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 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.
 +
 
 +
;[[mGBA#medusa|mGBA/medusa]]
 +
:[[mGBA]] developer endrift is also creating a DS emulator, but it's very much a [https://mgba.io/timeline.html#IN+THE+FUTURE 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".<ref name="medusa suspended">https://mgba.io/2018/03/09/holy-grail-bugs-revisited/#postscript-a-several-month-late-explanation</ref>
 +
 
 +
;iDeaS
 +
:An abandoned and experimental DS emulator that uses a plug-in system, it's 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's not very usable or compatible, but it can run a few games.
 +
 
 +
'''Comparisons of several Nintendo DS emulators:'''
 +
* [https://emucross.com/the-next-generation-of-ds-emulators/ Looking Toward the Next Generation of DS Emulators] (By [[Dolphin]] tester, [https://dolphin-emu.org/blog/authors/JMC47/ JMC47], AKA Justin M. Chadwick. 5 June 2017. Tested emulators: melonDS (0.2 and 0.3), medusa (Alpha 2) & GBE+ (1.1) compared to the mature DeSmuME.)
 +
 
 +
===High resolution===
 +
;[[melonDS]]
 +
:Has an OpenGL renderer with upscaling as of version 0.8.<ref name="melondsopengl">http://melonds.kuribo64.net/comments.php?id=90</ref> 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.
  
===High Resolution===
+
;[[DeSmuME]] <small>([[libretro]])</small>
* 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 [http://www.geocities.jp/gponys/desmume_aa.html this site] to see what you're missing out on.
+
:Also has the option to increase internal resolution since the [https://github.com/libretro/desmume/commit/5e430dfbc22f9d54c77f291304a38352ee1e5a63 8/8/15 git commit]. It requires a very high-end CPU to run at a reasonable framerate.
*libretro port of DeSmuME also has an option to increase internal resolution since [https://github.com/libretro/desmume/commit/5e430dfbc22f9d54c77f291304a38352ee1e5a63 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.
*DraStic has released a beta version supporting double the original resolution.
+
;Virtual Console <small>(Wii U)</small>:Has 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.
*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.
 
  
 
==Connectivity==
 
==Connectivity==
===Local Multiplayer, Wi-Fi Connection, and Wii/DS Connection===
+
The DS offers five types of connections:
* Local Multiplayer is not supported by any emulator (in Desmume's case in particular, it's very unlikely). 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).
+
* '''Local wireless communications''' - ''(Multiple cartridges)''
* Download Play isn't supported by any emulator so far, though NDS-bootstrap homebrew on the Nintendo 3DS can boot some of them.
+
* '''DS Download Play''' - ''(Single cartridge)''
* Nintendo WFC 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).
+
* '''Wi-Fi Connection''' - ''(Online multiplayer)''
* DS/Wii connection isn't emulated in any capacity. ''Pokémon Battle Revolution'' playability is very limited this way.
+
* '''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.
 +
 
 +
{| class="wikitable" style="text-align:center; vertical-align:middle;"
 +
|- style="font-weight:bold;"
 +
! Name
 +
! melonDS
 +
! DeSmuME
 +
! No$GBA
 +
 
 +
|-
 +
| [[#GBA/DS connectivity|GBA/DS connectivity]]
 +
| {{✓}}
 +
| {{✓}}
 +
| {{~}}
 +
|-
 +
| [[#Nintendo Wi-Fi Connection|Nintendo Wi-Fi Connection]]
 +
| {{✓}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| [[#Local wireless communication|Local wireless communication]]
 +
| {{~}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| [[#DS Download Play|DS Download Play]]
 +
| {{~}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| [[#DS/Wii connectivity|DS/Wii connectivity]]
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
|}
 +
 
 +
===Local wireless communication===
 +
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===
 +
This feature allows players with a DS and only one copy of a game to play together. 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 are either simple mini-games, stripped-down demos of the main game, or a limited version of multiplayer. In most cases, it's 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 framerate helps. melonDS will often fail during the download process, but some games actually go as far as booting and sometimes in-game as well.
  
===GBA/DS Connectivity===
+
===Nintendo Wi-Fi Connection===  
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.
+
Nintendo had an online service that was available for the Wii and the DS that was free to use. It was shut down on May 20, 2014, due to the company GameSpy, the ones who were managing these servers, shutting down its multiplayer services after being bought out. A popular game that used this feature was ''Mario Kart DS''.
  
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.
+
There was a third-party DeSmuME fork that successfully emulated WFC but has quite a bit of requirement (Ethernet cable, though this can be circumvented with external software). After the 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).  melonDS is one of the only emulators to offer Wi-Fi capabilities. It's still a work-in-progress, but it works relatively well.
  
==DSi==
+
===DS/Wii connectivity===
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.
+
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, [https://nintendo.fandom.com/wiki/Wii-to-DS_connectivity only a handful of games actually have this feature]. Some notable examples include:
  
There's three types of games using DSi hardware enhancements:
+
* ''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).
  
* '''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.
+
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.
* '''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.
 
  
Nintendo 3DS users can still buy (or install .cia dumps from elsewhere) DSiWare titles specifically. So far, no emulator (save for NO$GBA, more on that later) can play dumps from the first two types in DSi mode. The only flashcard able to play the first two types (and not the third) on real DSi/3DS hardware is the (discontinued and now expensive) CycloDS iEvolution flashcard. To use said flashcard on a 3DS, since it's otherwise blocked, you'll need custom firmware allowing you to do so.
+
===GBA/DS connectivity===
 +
Inserting a GBA cartridge in the Slot-2 of the Nintendo DS while a game is running can unlock various gameplay features for [https://nintendo.fandom.com/wiki/List_of_Nintendo_DS_games_with_GBA_connectivity several DS games].  
  
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 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 <code>.sav</code> file is in the same folder. You may need to reset the game for it to take effect.
 +
As of version 0.9, [https://melonds.kuribo64.net/comments.php?id=110 melonDS supports GBA connectivity] 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.
  
That aside, 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 in on their 3DS).
+
==Nintendo DSi==
 +
{{Main|Nintendo DSi emulators}}
  
No$GBA added support for DSi games starting with version 2.8, although some games wont boot and others have graphical glitches. You'll need to enable "DSi/retail" under the settings. 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, though nobody on the internet bothered to upload those from their old useless permanently-offline DSi (they contain system specific info).
+
==Special hardware==
 +
{| class="wikitable" style="text-align:center; vertical-align:middle;"
 +
|- style="font-weight:bold;"
 +
! Name
 +
! DeSmuME
 +
! melonDS
 +
! No$GBA
  
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, meaning games that use it may boot but it won't be very playable. It's very unlikely DSiWare emulation is ever going to be implemented in Desmume due to various factors unique to that project.
+
|-
 +
| Guitar Hero pad
 +
| {{✓}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| Piano for Easy Piano
 +
| {{✓}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| Taito paddle controller
 +
| {{✓}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| Rumble pack
 +
| {{✓}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| Nintendo Wireless Keyboard
 +
| {{~}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| Tilt sensor
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| Pressure-sensitive touchscreen
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| Slide controller
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| DS camera
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| Bayer DIDGIT
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| iQue DS region lock
 +
| {{✓}}
 +
| {{~}}
 +
| {{✗}}
 +
|}
 +
;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. (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". Yasu made a shoddy [http://home.usay.jp/pc/etc/nds/iDeaS_slide.zip plug-in] for iDeaS (the recommended version was 1.0.2.9.) to try to emulate it. No emulators support this add-on at the moment.
 +
;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 [http://pokemonlog.com/pokemon-fuligin-download-rom/ a pre-patched ROM.] While it's playable using the on-screen keyboard on the lower screen, the keyboard isn't actually emulated. There is [https://github.com/AnimeCommander/Learn.With.Pokemon-Typing-Adventure.lua/blob/master/Pok%C3%A9mon%20Typing%20DS%20Keyboard%20Script.lua 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'll need to blank out all the control/hotkey bindings of DeSmuME if you are 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 [https://sourceforge.net/projects/luabinaries/files/5.1.5/Windows%20Libraries/Dynamic/ lua51.dll.] (The platform used in building the <code>.dll</code> should not 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 (a 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).
  
==Special Hardware==
+
===iQue DS region lock===
* '''Guitar Hero Pad:''' Used in the "Guitar Hero: On Tour" series (required) and Band Hero DS. Supported by DeSmuME (Slot 2).
+
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's weird.
* '''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 [http://home.usay.jp/pc/etc/nds/iDeaS_slide.zip plug-in] for iDeaS (recommended version was 1.0.2.9.) 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 [http://pokemon-project.com/noticias/778-1/%C2%A1Juega-a-Pok%C3%A9mon-Typing-DS-con-tu-teclado 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===
+
Emulators differ in their behavior to this region lock. No$GBA crashes, while DeSmuME can load them. However, for melonDS, you need a [[Emulator Files|Firmware Dump]] from an iQue DS, otherwise, it will replicate the region lock.
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.
+
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 <code>0x1D</code> from value <code>80</code> to <code>00</code>.
  
 
===Other issues===
 
===Other issues===
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 [https://sourceforge.net/p/desmume/bugs/1134/ bug] was better understood.
+
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 [https://sourceforge.net/p/desmume/bugs/1134/ 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.
 +
 
 +
==References==
 +
<references />
 +
 
 +
==See also==
 +
* [[Nintendo DSi emulators]]
 +
 +
 
 +
{{Nintendo}}
  
 
[[Category:Consoles]]
 
[[Category:Consoles]]
 +
[[Category:Handheld consoles]]
 
[[Category:Nintendo consoles]]
 
[[Category:Nintendo consoles]]
 +
[[Category:Seventh-generation video game consoles]]
 
[[Category:Nintendo DS emulators|*]]
 
[[Category:Nintendo DS emulators|*]]

Revision as of 11:17, 17 May 2023

Nintendo DS
DSlitewhite.png
Developer Nintendo
Type Handheld game console
Generation Seventh generation
Release date 2004
Discontinued 2013
Predecessor Game Boy Advance
Successor Nintendo DSi
Emulated
For other emulators that run on NDS hardware, see Emulators on DS.

The Nintendo DS (NDS) is a handheld console produced by Nintendo on November 21, 2004, and had 2 ARM CPUs (ARM9 and ARM7) with 4 MBs of RAM. 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 (154.02 million units), as a result of attracting a large number of casual players, and even non-gamers, into the gaming community.

Emulators

Name Platform(s) Latest Version GBA DSi DS
to
Wii
Wi-Fi/WFC Download
Play
Local Retro
Achievements
Libretro Texture
Replacement
FLOSS Active Recommended
PC / x86
melonDS Windows Linux macOS FreeBSD 0.9.5
Dev Builds

libretro core[N 1]
~[N 2] * [N 3] ~ ~ ~[N 4] ✗(WIP)
DeSmuME Windows Linux macOS Web 0.9.13
libretro core
~[N 2] [N 3] ~[N 4]
BizHawk
(melonDS 0.9.5)
Windows Linux Dev builds
2.9.1
?[N 3] ? ? ~
No$GBA Windows MS-DOS 3.05 ~ ~
GBE+ Windows Linux macOS 1.7 (WIP)
NooDS Windows Linux macOS git (WIP)
mGBA/medusa Windows Linux macOS alpha 2 * ~[1] (WIP)
CorgiDS Windows Linux macOS git
SVN
[2]
ndsemu Windows git
NeonDS Windows 0.2.1
dasShiny Windows Linux git
DuoS Windows 8/25/2012 Beta
Ensata Windows 1.4d
iDeaS Windows Linux 1.0.4.0
Mobile / ARM
DeSmuME_libretro Android iOS libretro core ~[N 2] [N 3]
DraStic Android Pandora Dragonbox Pyra r2.6.0.4a build 109
0.1 Pyra
melonDS (unofficial)
melonds_libretro
Android iOS git
1.8.0
libretro core[N 1]
~[N 2] ~ ? ? ? ~[N 5] ~ (WIP)
Delta iOS git ~ ~
iNDS
(nds4ios-derived)
(DeSmuME-based)
iOS git ? ~
nds4ios iOS SVN ~
DeeS Android 1.0.8 ~
NooDS Android git (WIP)
nds4droid
(DeSmuME-based)
Android git ?
Console
Virtual Console Wii U
DeSmuME_libretro Switch PlayStation 4
Vita
0.9.13 ~[N 2] ?
melonDS
melonds_libretro
Switch Vita
PlayStation 2
libretro core[N 1]
git (Switch)
git(Vita Port)
git (PS2 Port)
~[N 2] ? ? ? ~[N 4] ~
NooDS Switch Vita
PSP
git (Switch/Vita)
git (PSP port)
~
DeSmuME PSP PSP V4gitExp. ?
DesmumeX Xbox 0.87 ? ~
DSonPSP PSP 0.7 ? ? (POC)
  1. 1.0 1.1 1.2 melonDS libretro core two versions out of date (still on 0.9.3), and the generation 5 Pokemons are broken. If you turn on C-Gear, after a few minutes you'll be unable to save. You also can't use any wifi features or do in game trades either or the game will freeze.
  2. 2.0 2.1 2.2 2.3 2.4 2.5 melonDS and DeSmuME are not support backwards compatibility but supports GBA to DS connectivity.
  3. 3.0 3.1 3.2 3.3 Possible with Wimmfi, Kaeru or AltWFC/DWC.
    Tutorial: How to Connect to WFC in MelonDS
  4. 4.0 4.1 4.2 Only possible with libretro core. Github Issue page for standalone version.
  5. Only possible with libretro core but work-in-progress for standalone version.

Comparisons

melonDS (servers)
Unlike DeSmuME, melonDS can use Wi-Fi and 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's gotten as far as it has, and it's been found to work reasonably well with a handful of games. Switching to OpenGL in core options may give a performance boost.
DeSmuME (servers)
DeSmuME has had significant improvements since 2018; new features include less CPU/GPU resource usage and high-resolution 3D rendering, though Wi-Fi capability remains neither emulated nor supported. 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 payware, closed-source emulator for Android devices that can run games at a decent speed even on potato phones. It's 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 pirated copies, though this is considered unsubstantiated. At the very least, you shouldn't expect any support from Exophase and company if you use a pirated copy, though it is available for free on the Raspberry Pi and Odroid via RetroPie, and runs relatively well there: https://www.youtube.com/watch?v=715kg1-hmxA
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's 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 that 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.
Delta
An open-source application 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 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.
mGBA/medusa
mGBA developer endrift is also creating a DS emulator, but it's 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".[1]
iDeaS
An abandoned and experimental DS emulator that uses a plug-in system, it's 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's not very usable or compatible, but it can run a few games.

Comparisons of several Nintendo DS emulators:

High resolution

melonDS
Has an OpenGL renderer with upscaling as of version 0.8.[3] 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 framerate.
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's no legit way to enable it without a homebrew-enabled console.

Connectivity

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.

Name melonDS DeSmuME No$GBA
GBA/DS connectivity ~
Nintendo Wi-Fi Connection
Local wireless communication ~
DS Download Play ~
DS/Wii connectivity

Local wireless communication

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

This feature allows players with a DS and only one copy of a game to play together. 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 are either simple mini-games, stripped-down demos of the main game, or a limited version of multiplayer. In most cases, it's 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 framerate 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

Nintendo had an online service that was available for the Wii and the DS that was free to use. It was shut down on May 20, 2014, due to the company GameSpy, the ones who were managing these servers, shutting down its multiplayer services after being bought out. A popular game that used this feature was Mario Kart DS.

There was a third-party DeSmuME fork that successfully emulated WFC but has quite a bit of requirement (Ethernet cable, though this can be circumvented with external software). After the 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). melonDS is one of the only emulators to offer Wi-Fi capabilities. It's still a work-in-progress, but it works relatively well.

DS/Wii connectivity

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

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's 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 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.

Nintendo DSi

Main article: Nintendo DSi emulators

Special hardware

Name DeSmuME melonDS No$GBA
Guitar Hero pad
Piano for Easy Piano
Taito paddle controller
Rumble pack
Nintendo Wireless Keyboard ~
Tilt sensor
Pressure-sensitive touchscreen
Slide controller
DS camera
Bayer DIDGIT
iQue DS region lock ~
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. (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". Yasu made a shoddy plug-in for iDeaS (the recommended version was 1.0.2.9.) to try to emulate it. No emulators support this add-on at the moment.
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's playable using the on-screen keyboard on the lower screen, the keyboard isn't actually 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'll need to blank out all the control/hotkey bindings of DeSmuME if you are 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 should not 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 (a 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

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's 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

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.

References

See also