Changes

Jump to navigation Jump to search

Nintendo DS emulators

6,001 bytes removed, 01:32, 3 March 2020
m
no edit summary
|emulated = {{✓}}
}}
The '''[[gametech: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 of casual players, and even non-gamers, into the gaming community.
==Emulators==
{| class="wikitable" style="text-align:center;"
|-
! scope="col"|Name
! scope="col"|Operating SystemPlatform(s)
! scope="col"|Latest Version
! scope="col"|GBA
! scope="col"|[[Recommended Emulators|Recommended]]
|-
!colspan="9"|PC/ x86
|-
|[[DeSmuME]]
|Multi-platformalign=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|[https://ci.appveyor.com/project/zeromus/desmume {{DeSmuMEVer}}]
|{{✗}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}}
|-
|[[melonDS]]
|align=left|{{Icon|Windows, |Linux}}
|[http://melonds.kuribo64.net/downloads.php {{MelonDSVer}}]
|{{✗}} ||{{✓}} ||{{~}} ||{{✓}} ||{{✓}} ||{{~}} <small>(WIP)</small>
|-
|[[DeSmuME#Graphical_Enhancement|DeSmuME X432R]]
|Multi-platformalign=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|[http://shikaver01.webcrow.jp/desmume_x432r/index.html 2015-04-19]
|{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{~}}
|-
|[[GBE+]]
|align=left|{{Icon|Windows, |Linux, |macOS (untested)}}
|[https://github.com/shonumi/gbe-plus/releases {{GBEVer}}]
|{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} <small>(WIP)</small>
|-
|[[mGBA#medusa|medusa]]
|align=left|{{Icon|Windows, |Linux}}
|[https://mgba.io/downloads.html alpha 2]
|{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} || {{✗}}<ref name="medusa suspended"/>||{{✗}} <small>(WIP)</small>
|-
|[https://corgids.wordpress.com/ CorgiDS]
|align=left|{{Icon|Windows, |Linux}}
|[https://github.com/PSI-Rockin/CorgiDS/releases 0.1]<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]
|{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
|-
|[[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 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]
|{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
|-
|[https://github.com/Hydr8gon/NooDS NooDS]
|align=left|{{Icon|Windows, |Linux|macOS}}
|[https://github.com/Hydr8gon/NooDS Git]
|{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}}
|-
!colspan="9"|Console|-|[[Virtual Console]]|Wii U||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}}|-|[[melonDS]]|Switch|[https://gbatemp.net/download/melonds-for-switch.35201/ 0.7.4-2]|{{✗}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}}|-|[https://github.com/Hydr8gon/NooDS NooDS]|Switch|[https:Mobile //github.com/Hydr8gon/NooDS Git]|{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}}|-!colspan="9"|MobileARM
|-
|[[DraStic]]
|[[align=left|{{Icon|Android emulators|Android]], Pandora,<br />Linux <small>(Raspberry Pi)</small>}}
|[https://play.google.com/store/apps/details?id=com.dsemu.drastic {{DraSticVer}}]
|{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}}
|-
|[https://inds.nerd.net/ iNDS]<br/><small>(nds4ios derived)</small><br/><small>(DeSmuME based)</small>
|[[iOS emulatorsalign=left|{{Icon|iOS]]}}
|[https://github.com/iNDS-Team/iNDS/releases Git]
|{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}}
|-
|nds4ios
|[[iOS emulatorsalign=left|{{Icon|iOS]]}}
|[http://nds4ios.angelxwind.net/i/?page/downloads SVN]
|{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}}
|-
|Dsoid
|[[Android emulatorsalign=left|{{Icon|Android]]}}
|[http://www.emucr.com/search/label/Dsoid?&max-results=12 SVN]
|{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
|-
|[http://jeffq.com/blog/nds4droid/ nds4droid]<br/><small>(DeSmuME based)</small>
|[[Android emulatorsalign=left|{{Icon|Android]]}}
|[https://github.com/jquesnelle/nds4droid Git]
|{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
|-
!colspan="9"|Console
|-
|[[Virtual Console]]
|align=left|{{Icon|WiiU}}
|
|{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}}
|-
|[[melonDS]]
|align=left|{{Icon|Switch}}
|[https://gbatemp.net/download/melonds-for-switch.35201/ 0.8.3]
|{{✗}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}}
|-
|[https://github.com/Hydr8gon/NooDS NooDS]
|align=left|{{Icon|Switch}}
|[https://github.com/Hydr8gon/NooDS Git]
|{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}}
|}
'''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===
|-
! scope="col"|Name
! scope="col"|Operating SystemPlatform(s)
! scope="col"|Latest Version
! scope="col"|Local
|-
|[[melonDS|melonDS]]
|align=left|{{Icon|Windows, |Linux}}
|{{MelonDSVer}}
|{{~}} ||{{~}} ||{{~}} ||{{}}<small>(Git)</small>
|-
|[[DeSmuME]]
|Mult-Platformalign=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|{{DeSmuMEVer}}
|{{✗}} ||{{✗}} ||{{~}} ||{{✓}}
|-
|[[No$|No$GBA]]
|align=left|{{Icon|Windows, [[Intel CPUs|DOS]]}}
|[http://problemkaputt.de/gba.htm {{No$GBAVer}}]
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
===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 ''Pokemon'', but you need to have either multiple instances opened, which can slow down overall performance and cause more timing problems, or connect multiple computers via LAN. No$GBA can emulate it is able to connect, but the connection fails somewhere during establishing before the actual connection (despite the names from the other DS showing just fine)is finished.
===DS Download Play===
Players who both have a DS but only one copy of a game can use the "Download Play" to play together without everyone needing a copy of the game. The player with the physical cartridge will host the game, while the other players connect connects using a "downloaded" version of itreceived from the host. Normally they are either simple mini-games or stripped down versions of the main game, but so in most cases it is better to use connect using multiple cartridges instead. However, there are some games , like ''Mario Party DS'' , that requires Download Play in order to use its multiplayer.
Download Play isn't supported by any emulator so far, though [[Emulators on 3DS#Nintendo DS|NDS-bootstrap]] homebrew on the Nintendo 3DS can boot some of them. MelonDS melonDS fails during the download process though some actually go as far as booting, but never to the actual "game".
===Nintendo Wi-Fi Connection===
Nintendo's online service that was available for the Wii and DS and was free to use. It was shutdown on May 20, 2014 due to the company GameSpy, the ones who were the ones 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 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 wiWi-fi Fi capabilities. <!--can melonDS connect to any fan servers?--> 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 fully functionsachieve 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 some several DS games].  It's unknown if NONo$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 <code>.sav</code> file is in the same folder. You may need to reset the game for it to take effect. DeSmuME, however, does not The latest git of melonDS added support for GBA games with hardware features like connectivity and even added support for the solar sensor from 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==
[[File:DSiBlack.png|300px|thumb|right|The design was very similar to the DS Lite]]Released on April 5, 2009, the '''Nintendo DSi''' added new lighting effects, an inner and outer 0.3 megapixel digital cameras, 16MB of RAM (compared to the previous 4MB of RAM), a faster ARM9 CPU clocked at 133 MHz, and offered downloadable titles called "DSiWare". It cost {{Inflation|USD|169.99|2009}} at launch and later dropped to {{Inflation|USD|149.99Main|2010}}. The system, however, was region-locked, meaning that DSi exclusives from different regions couldn't be used and the system language couldn't be changed, and did away with backwards-compatiblity by removing Slot-2, which was used to load GBA cartridges and other gaming accesories (''i.e. Guitar Hero: On Tour'').  ===Game Formats===There are three types of games using DSi hardware enhancements: ;DSi-enhanced retail cartridges: Regular DS retail cartridges compatible with the older DS models, but unlocks more RAM and features when used on the DSi, similar to some late GBC games on the GBA. A [http://www.rfgeneration.com/blogs/pdrydia/DSi-enhanced-titles-an-incomplete-list-1969.php couple of dozen games] from Japan and US/EUR relied on this method, they will still boot on DS emulators, but without the DSi enhancements. DSi-enhanced games also have an animated icon when displayed in the boot menu, which is the only indication that it's DSi-enhanced.;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 for to be DSiWare.;DSiWare: Downloadable titles only avaliable 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 there were a lot of interesting exclusives for the system released as DSiWare. The Nintendo 3DS is also compatible with those games and offers a way to back them up to an SD card but not the save files. The Nintendo 3DS eShop also offers some DSiWare for purchase, though it uses a different file packaging format.  All three formats can be converted to <code>.nds</code> format. Compared to regular DS games, DSi games had some additional header information that wasn't even correctly dumped in the earlier broken dumps. The 2017 set has updated many of those, though it's still severely lacking in DSiWare exclusives. DSiWare dumps exist in both NDS format or CIA format (for the ones who want to boot it on their 3DS). On the old DS or DS Lite models, as well as most Nintendo DS emulators, the first type will load in regular DS mode without any DSi enhancements, the second will show an error message, and the third will crash on boot-up due to missing encryption abilities and DSi hardware support. On the DSi/3DS family of handhelds, the first two formats can be played on some select DSi-compatible flashcarts like the (discontinued and now expensive) CycloDS iEvolution flashcard (which won't work on a stock 3DS not with custom firmware to whitelist it). As for the third type, it's available for digital purchase at their respective stores (DSi Shop for DSi, eShop for the 3DS) and installed as apps to the limited TWL NAND. In the 3DS' case, they can also be installed as custom titles in .cia format (like all 3DS applications, but here it's also a container for a <code>.nds</code> rom in this case, and converting back and forth is possible). ===Emulation==={| class="wikitable" style="text-align:center;"|-! scope="col"|Name! scope="col"|Operating System(s)! scope="col"|Latest Version! scope="col"|DSi (enhanced)! scope="col"|DSi (exclusive)! scope="col"|DSi (digital)! scope="col"|[[Recommended Emulators|Recommended]]|-|[[No$|No$GBA]]|Windows, [[Intel CPUs|DOS]]|[http://problemkaputt.de/gba.htm 2.9b]|{{✓}} ||{{✓}} ||{{✓}} ||{{✗}}|-|[[melonDS|melonDS]]|Windows, Linux|alpha|{{✗}} ||{{✗}} ||{{~}} ||{{~}} <small>([http://melonds.kuribo64.net/comments.php?id=94 WIP])</small>|} There hasn't been much of a need for DSi emulation due to it's small library of exclusive games and lack of DSi-enhanced titles that provide anything major besides camara support. The only thing really notable is DSiWare, which saw several exclusive releases.  No$GBA added support for DSi games of all three formats starting with version 2.8, although some games won't boot and others have graphical glitches. You'll need to enable "16MB DSi/retail" under the settings. Emulation is very iffy due to a so-so DS emulation foundation in No$GBA, and the camera is just spoofed as a static image but just causes an emulator crash whenever used, meaning games that use it may boot but it won't be very playable.  DSi used an encryption system for the game dumps that went on to be enhanced and used for the 3DS. This encryption is checked at start-up, hence why Nintendo DS emulators don't even manage to boot DSiWare dumps. It's very unlikely DSi-mode emulation is ever going to be implemented in DeSmuME in particular due to various ''creative differences'' unique to that project. melonDS recently started attempts at DSi emulation and has been able to boot its firmware<ref name="melonDSi">http://melonds.kuribo64.net/comments.php?id=94</ref> and even showed that it can boot ''Flipnote Studios'', but freezes when trying to create a new note.<ref name="progress on DSi">http://melonds.kuribo64.net/comments.php?id=99&p</ref>. It's being worked on off an experimental branch and requires a lot of files to be dumped from the DSi in order to work, but it could become the most usable option for DSi emulation. Most of it is being done using the documentation that the No$GBA devs have already compiled on the subject. ===BIOS Files===DSi emulation requires a copy of the lower 32K-halves of the ARM7/ARM9 BIOSes (BIOSDSI7.ROM and BIOSDSI9.ROM), which are different from the regular DS BIOS files and needed for the decryption. All the needed files are bios7i.bin, bios9i.bin, BIOSDSI7.ROM, BIOSDSI9.ROM, BIOSNDS7.ROM, and BIOSNDS9.ROM. These unicorns can be found [http://archive.org/details/DSiFirmwareFiles here]. It's also advised (but still completely '''optional''') to use a NAND dump as well to increase compatibility (though adding games is more complex, and a soft-modding solution to dump it is still being worked on). Rename it to "DSi-1.mmc" (should be about 250MB). Change "Reset/Startup Entrypoint to "GBA/NDS BIOS" to now boot the emulator and games in DSi mode. Hex editing required to "install" new DSiWare titles, though loading retail games in DSi mode from the menu is still possible easily. This fixes lots of glitches and crashes related to languages and use of the internal DSi font.
==Special Hardware==
;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 entitled 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. DeSmuME & MelonDS is accurate to non-iQue hardware and will replicate the failure.
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>.
24
edits

Navigation menu