Changes

Jump to navigation Jump to search

Nintendo DS emulators

185 bytes added, 18:00, 3 January 2022
Emulators: FLOSS fixes
|logo = DSlitewhite.png
|developer = [[:Nintendo]]
|type = [[:Category:ConsolesHandheld 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 3DS DSi emulators|Nintendo 3DSDSi]]
|emulated = {{✓}}
}}
 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 4MB 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 amount number of casual players, and even non-gamers, into the gaming community.
==Emulators==
! scope="col"|Latest Version
! scope="col"|[[Game Boy Advance emulators|GBA]]
! scope="col"|NDS
! scope="col"|[[Nintendo DSi emulators|DSi]]
! scope="col"|[[libretro|Libretro Core]]
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
! scope="col"|Active
! scope="col"|[[Recommended Emulators|Recommended]]
|-
|[[DeSmuME]]
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}|[https://ci.appveyordesmume.com/projectorg/zeromusdownload/desmume/build/artifacts {{DeSmuMEVer}}]|{{✗}} ||{{}} ||{{}} ||{{✓}} ||{{✓}} ||{{✓}}
|-
|[[melonDS]]
|align=left|{{Icon|Windows|Linux|macOS}}
|[http://melonds.kuribo64.net/downloads.php {{MelonDSVer}}] [https://github.com/Arisotura/melonDS/actions <br/>Dev Builds]
|{{✗}} ||{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{✓}} <small>(WIP)</small>
|-
|[[DeSmuME#Graphical_EnhancementDeSmuME X432R|DeSmuME X432R]]
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|[http://web.archive.org/web/20150920170430im_/http://shikaver01.webcrow.jp/desmume_x432r/index.html 2015-04-19]
|{{✗}} ||{{}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
|-
|[[GBE+]]
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/shonumi/gbe-plus/releases {{GBEVer}}]
|{{✓}} ||{{}} ||{{✗}} ||{{}} ||{{✓}} ||{{✗}} <small>(WIP)</small>
|-
|[[mGBA#medusa|medusa]]
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://mgba.io/downloads.html alpha 2]
|{{✓}} ||{{}} ||{{✗}} ||{{}} || {{✗}}<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 0.1git]<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 Gitgit]|{{✗}} ||{{}} ||{{✗}} ||{{}} ||{{✗}} ||{{✗}}
|-
|[[No$|No$GBA]]
|align=left|{{Icon|Windows|DOS}}
|[http://problemkaputt.de/gba.htm {{No$GBAVer}}]
|{{✓}} ||{{~}} ||{{~}} ||{{✗}} ||{{✓}} ||{{✗}}
|-
|[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 Gitgit]|{{✗}} ||{{}} ||{{✗}} ||{{}} ||{{✗}} ||{{✗}}
|-
|[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]
|{{✓}} ||{{}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
|-
|[https://github.com/Hydr8gon/NooDS NooDS]
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/Hydr8gon/NooDS Gitgit]|{{✓}} ||{{}} ||{{✗}} ||{{}} ||{{✓}} ||{{✗}}
|-
!colspan="9"|Mobile / ARM
|-
|[[DraStic]]
|align=left|{{Icon|Android|Pandora|Pyra}}|[https://playforum.googlemobilism.comorg/store/apps/detailsviewtopic.php?idf=422&t=com.dsemu.drastic 3629008 {{DraSticVer}}]<br>[https://pyra-handheld.com/repo/apps/32 0.1 Pyra]|{{✗}} ||{{}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}}
|-
|[[melonDS]]<small> (unofficial)</small>
|align=left|{{Icon|Android}}
|[https://github.com/rafaelvcaetano/melonDS-android Gitgit][https://play.google.com/store/apps/details?id=me.magnum.melonds 1.7.0]|{{~}} ||{{~}} ||{{}} ||{{✓}} ||{{✓}} ||{{~}} (WIP)
|-
|[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 Gitgit]|{{✗}} ||{{}} ||{{✗}} ||{{✗}} ||{{}} ||{{✓}}
|-
 
|nds4ios
|align=left|{{Icon|iOS}}
|[http://nds4ios.angelxwind.net/i/?page/downloads SVN]
|{{✗}} ||{{}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}}
|-
|[http://jeffq.com/blog/nds4droid/ nds4droid]<br/><small>(DeSmuME based)</small>
|align=left|{{Icon|Android}}
|[https://github.com/jquesnelle/nds4droid Gitgit]|{{✗}} ||{{}} ||{{✗}} ||{{}} ||{{✗}} ||{{✗}}
|-
|[https://github.com/Hydr8gon/NooDS [NooDS]]
|align=left|{{Icon|Android}}
|[https://github.com/Hydr8gon/NooDS Gitgit]|{{✓}} ||{{}} ||{{✗}} ||{{}} ||{{✓}} ||{{✗}}
|-
!colspan="9"|Console
|-
|[[DeSmuME PSP]]
|align=left|{{Icon|PSP}}
|[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.]
|{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}}<small> (WIP)</small>
|-
|DesmumeX
|align=left|{{Icon|Xbox}}
|[https://www.1emulation.com/forums/topic/35774-desmumex-v087-new-update DesmumeX v00.87]|{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}}|-|DSonPSP|align=left|{{Icon|PSP}}|[https://wololo.net/downloads/index.php/download/1235 DSonPSP]|{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
|-
|[[Virtual Console]]
|align=left|{{Icon|WiiU}}
|
|{{✓}} ||{{}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}}
|-
|[[melonDS]]
|align=left|{{Icon|Switch}}
|[https://github.com/rsduck/melonDS/releases Release 4git]|{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}}|-|[[NooDS]]|align=left|{{Icon|Switch|Vita}}|[https://github.com/Hydr8gon/NooDS git]<small> (Switch/Vita)</small><br/>[https://gbatempgithub.netcom/threadsXiro28/melondsNooDS-for-switch-continuation.570021PSP git]<small> (Unofficial PSP port)</ GBATemp Thread]small>|{{}} ||{{}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}}
|-
|[https://github.com/Hydr8gon/NooDS NooDS[DeSmuME PSP|DSonPSP]]|align=left|{{Icon|SwitchPSP}}|[https://githubwololo.comnet/Hydr8gondownloads/NooDS Gitindex.php/download/1235 0.7]|{{}} ||{{}} ||{{✗}} ||{{✗}} ? ||{{}} <small> (POC)</small> ||{{✗}}
|}
===Comparisons===
;[[DeSmuMEmelonDS]]: One Unlike DeSmuME, melonDS can use wifi, 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 an archive (zip, rar, 7z). Both can display the most developed emulators for regular DS 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 has been found to work reasonably well with a handful of games. melonDS does not have custom file paths yet (all saves will be created where the rom is). Switching to OpenGL in core options may give a performance boost.;[[DeSmuME]]: DeSmuME has had significant improvements since 2018, though new features are still in development and are only available through either nightly/dev builds. It now uses less CPU/GPU resources, and Wi-Fi is also underway. The latest "Stable" build is no longer recommended as it's over 5 years old and lacks any new features. If you do run into issues on the dev builds, then try switching back to the last stable build (see [[Common Problems and Solutions]] for tips).
;[[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.
;[[melonDS]]: Arisotura's goal is to make an emulator that's better optimized and includes features that others lack, either intentionally or not. 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 has been found to work reasonably well with a handful of games. There's also been progress made in emulating the DSi<ref name="melonDSi">http://melonds.kuribo64.net/comments.php?id=94</ref><ref name="progress on DSi">http://melonds.kuribo64.net/comments.php?id=99&p</ref>, the latest version can now boot into the firmware and load some DSiWare through the NAND, but full "DSi mode" support for retail games is still unsupported. It's on par with DeSmuME in terms of compatibility.;[[No$|No$GBA]]: Focuses on speed, and has major compatibility issues and glitches as a result. But because it was originally a GBA emulator, the DS's 3D features are 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 options, as well as the titular zooming abilities. The biggest addition is noise cancellation which clears up static that No$GBA makes with its 3D rendering. No$Zoomer hasn't rebased yet but does add options for window resizing. There haven't been any noticeable changes with regards to accuracy, however. In v2.8, No$GBA became the first emulator to supports 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 romhacking for DS games or homebrew development), if you value speed above everything , or just as a last resort.
;[[mGBA#medusa|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".<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.
===High resolution===
;melonDS: Has added support for an OpenGL renderer and 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 8x 16x native resolution. More features such as texture filtering are planned.;DeSmuME X432R:A fork of DeSmuME, that has many more graphical enhancement 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 <small>([[libretro]])</small>: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 a reasonable framerate.
;DraStic:Has released a beta version supporting double the original resolution.
==Connectivity==
 
The DS offers five types of connections:
* '''Local Wireless Communicationswireless communications''' - ''(Multiple Cartridgescartridges)''* '''DS Download Play''' - ''(Single Cartridgecartridge)''* '''Wi-Fi Connection''' - ''(Online Multiplayermultiplayer)''* '''DS/Wii Connectivityconnectivity'''* '''GBA/DS Connectivityconnectivity'''
{| class="wikitable" style="text-align:center;"
Players who have a copy of the same game can link together using the DS' wireless signals (given that the game offers this feature).
melonDS supports wireless communication with several games, including ''New Super Mario Bros.'' and ''Pokemon'', but you need to have either multiple instances opened, which can slow down overall performance, or connect multiple computers via LAN. No$GBA is able to can connect, but fails before the actual connection is finished.
===DS Download Play===
Players who both have This feature allows players with a DS but device, and only one copy of a game can use "Download Play" , to play together without . This way, everyone needing doesn't need to have a copy of the game. The player with the physical cartridge will host the game while the other players connects 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 , there are some games, like ''Mario Party DS'', that requires require Download Play in order 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's online service that was available for the Wii and DS and was free to use. It was shutdown 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 forks 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 the 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 are ''Final Fantasy Crystal Chronicles: Echoes of Time'' which is essentially the same as the DS port but can connect with other DS' with the game, ''Pokemon Battle Revolution'' in which players could transfer their Pokemon to the game 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, and considering that the GBA/GCN connectivity on Dolphin has yet to achieve full functionality (and a lack of interesting titles that uses it), hints that this feature won't be emulated for a while. If this was 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 [https://nintendo.fandom.com/wiki/List_of_Nintendo_DS_games_with_GBA_connectivity 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, make sure its it's <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, 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==
;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)
;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.;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. 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 are going to 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* the Pokémon typing games. 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).
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. 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.
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>.
<references />
 
{{Nintendo}}
[[Category:Consoles]]
[[Category:Handheld consoles]]
[[Category:Nintendo consoles]]
[[Category:Seventh-generation video game consoles]]
[[Category:Nintendo DS emulators|*]]
1,019
edits

Navigation menu