Nintendo DS emulators: Difference between revisions
NejiHyuga900 (talk | contribs) →Emulators: Oh, and there is also the new lightweight NDS emulator based on DraStic, SeedlessDS. |
No edit summary |
||
| (19 intermediate revisions by 5 users not shown) | |||
| Line 2: | Line 2: | ||
{{for|emulators that run on the Nintendo DS|Emulators on Nintendo DS}} | {{for|emulators that run on the Nintendo DS|Emulators on Nintendo DS}} | ||
The | The [[gametech:Nintendo DS|'''Nintendo DS''']] (DS) is a handheld console produced by Nintendo and released on November 21, 2004, and had 2 ARM CPUs (ARM9 and ARM7) with 4 MB of RAM and was priced at {{Inflation|USD|149.99|2004}}. The main selling point was the use of dual screens for gameplay, with one being a touchscreen. It was Nintendo's best selling portable console and best selling hardware overall (154.02 million units), having come close to the [[PlayStation 2 emulators|PlayStation 2]] in lifetime sales (over 160 million units) until officially being surpassed by the Nintendo Switch in early 2026 (155.37 million units). This popularity came as a result of attracting many casual players, and even non-gamers, into the gaming community. | ||
; Remember, certain titles such as | ; Remember, certain titles such as DSi retail and DSiWare games are exclusive to the DSi. Make sure your chosen emulator [[Nintendo DS emulators#Hardware features and peripherals|supports these variations (see "DSi-exclusive features" section)]] if you want to play them. | ||
== Emulators == | == Emulators == | ||
| Line 15: | Line 15: | ||
![[Licensing|License]] | ![[Licensing|License]] | ||
!Compatibility | !Compatibility | ||
!libretro core | ![[Libretro|libretro core]] | ||
![[Nintendo DS emulators#Nintendo DSi|DSi]] | ![[Nintendo DS emulators#Nintendo DSi|DSi]] | ||
![[Recommended emulators|Recommended? (overall)]] | ![[Recommended emulators|Recommended? (overall)]] | ||
| Line 24: | Line 24: | ||
| align="left" |{{Icon|Windows|Linux|macOS|FreeBSD|NetBSD|OpenBSD|LinuxARM|WoA}}||{{Ya}} | | align="left" |{{Icon|Windows|Linux|macOS|FreeBSD|NetBSD|OpenBSD|LinuxARM|WoA}}||{{Ya}} | ||
|Dev builds | |Dev builds | ||
* | |||
*[https://nightly.link/melonDS-emu/melonDS/workflows/build-ubuntu/master/melonDS-ubuntu-x86_64.zip Ubuntu] | * [https://nightly.link/melonDS-emu/melonDS/workflows/build-windows/master/melonDS-windows-x86_64.zip Windows] | ||
*[https://nightly.link/melonDS-emu/melonDS/workflows/build-macos-universal/master/macOS-universal.zip macOS-universal] | * [https://nightly.link/melonDS-emu/melonDS/workflows/build-ubuntu/master/melonDS-ubuntu-x86_64.zip Ubuntu] | ||
* [https://nightly.link/melonDS-emu/melonDS/workflows/build-macos-universal/master/macOS-universal.zip macOS-universal] | |||
[https://melonds.kuribo64.net/downloads.php {{MelonDSVer}}] | [https://melonds.kuribo64.net/downloads.php {{MelonDSVer}}] | ||
[https://buildbot.libretro.com/nightly/ libretro core]<ref name="melonDSRA" group="note">The [https://github.com/JesseTG/melonds-ds melonDS DS] libretro core or the standalone version of melonDS is highly recommended over the melonDS libretro core, because it is two versions out of date (still on 0.9.3), and the generation 5 Pokémon are broken. If you turn on C-Gear, after a few minutes you will be unable to save. [https://github.com/libretro/melonDS/issues/179#issuecomment-1407488464 '''You also can't use any | [https://buildbot.libretro.com/nightly/ libretro core]<ref name="melonDSRA" group="note">The [https://github.com/JesseTG/melonds-ds melonDS DS] libretro core or the standalone version of melonDS is highly recommended over the melonDS libretro core, because it is two versions out of date (still on 0.9.3), and the generation 5 Pokémon are broken. If you turn on C-Gear, after a few minutes you will be unable to save. [https://github.com/libretro/melonDS/issues/179#issuecomment-1407488464 '''You also can't use any Wi-Fi features'''] or do in game trades either or the game will freeze.</ref> | ||
|{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | |{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | ||
|[https://melonds.kuribo64.net/board/forum.php?id=3 ?] ([https://github.com/melonDS-emu/melonDS/issues Issues])||{{Ya}}||{{Ya}} ||{{Ya}} | |[https://melonds.kuribo64.net/board/forum.php?id=3 ?] ([https://github.com/melonDS-emu/melonDS/issues Issues])||{{Ya}}||{{Ya}} ||{{Ya}} | ||
| Line 56: | Line 57: | ||
|- | |- | ||
|[[BizHawk]] | |[[BizHawk]] | ||
(melonDS) | |||
| align="left" |{{Icon|Windows|Linux}}||{{Ya}} | | align="left" |{{Icon|Windows|Linux}}||{{Ya}} | ||
|[https://gitlab.com/TASVideos/BizHawk/-/pipelines Dev builds] | |[https://gitlab.com/TASVideos/BizHawk/-/pipelines Dev builds] | ||
| Line 67: | Line 68: | ||
|[https://problemkaputt.de/gba.htm {{No$GBAVer}}]||{{Red}} {{License|Proprietary}} | |[https://problemkaputt.de/gba.htm {{No$GBAVer}}]||{{Red}} {{License|Proprietary}} | ||
|?||{{Na}}||{{Ya}} ||{{~}} | |?||{{Na}}||{{Ya}} ||{{~}} | ||
|- | |- | ||
|[https://corgids.wordpress.com/ CorgiDS] | |[https://corgids.wordpress.com/ CorgiDS] | ||
| Line 126: | Line 100: | ||
|[http://www.mediafire.comhttps://0odmalrndt9m7a/Ensata+v1.4d.rar 1.4d]||{{Red}} {{License|Proprietary}} | |[http://www.mediafire.comhttps://0odmalrndt9m7a/Ensata+v1.4d.rar 1.4d]||{{Red}} {{License|Proprietary}} | ||
|?||{{Na}}||{{Na}} ||{{Na}} | |?||{{Na}}||{{Na}} ||{{Na}} | ||
|- | |||
|[[GBE+]] | |||
| align="left" |{{Icon|Windows|Linux|macOS}}||{{Ya}} | |||
|[https://github.com/shonumi/gbe-plus/releases {{GBEVer}}]||{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | |||
|?||{{Na}}||{{Na}} ||{{Na}} (WIP) | |||
|- | |||
|guac | |||
| align="left" |{{Icon|Windows|Linux|rpi}}||{{Ya}} | |||
|[https://github.com/aabalke/guac/releases {{guacVer}}]||{{Green}} {{License|BSD3}} ({{License|Permissive}}) | |||
|?||{{Na}}||{{Na}} ||{{Na}} (WIP) | |||
|- | |- | ||
|[https://web.archive.org/web/20111130005614/https://ideasemu.biz/ iDeaS] | |[https://web.archive.org/web/20111130005614/https://ideasemu.biz/ iDeaS] | ||
| Line 131: | Line 115: | ||
|[https://www.emulator-zone.com/https://mulators/nds/ideas/ideas1040.7z 1.0.4.0]||{{Red}} {{License|Proprietary}} | |[https://www.emulator-zone.com/https://mulators/nds/ideas/ideas1040.7z 1.0.4.0]||{{Red}} {{License|Proprietary}} | ||
|?||{{Na}}||{{Na}} ||{{Na}} | |?||{{Na}}||{{Na}} ||{{Na}} | ||
|- | |||
|[[MGBA#medusa|mGBA/medusa]] | |||
| align="left" |{{Icon|Windows|Linux|macOS}}||{{~}}<ref name="medusa suspended" /> | |||
|[https://mgba.io/downloads.html#medusa alpha 2]||{{Green}} {{License|MPL2}} ({{License|Copyleft}}) | |||
|?||{{Na}}||{{Na}} ||{{Na}} (WIP) | |||
|- | |- | ||
|ndsemu | |ndsemu | ||
| Line 141: | Line 130: | ||
|[https://web.archive.org/web/20100925152735/http://nehttps://m/system/files/NeonDS_0.2.1.zip 0.2.1]||{{Red}} {{License|Proprietary}} | |[https://web.archive.org/web/20100925152735/http://nehttps://m/system/files/NeonDS_0.2.1.zip 0.2.1]||{{Red}} {{License|Proprietary}} | ||
|?||{{Na}}||{{Na}} ||{{Na}} | |?||{{Na}}||{{Na}} ||{{Na}} | ||
|- | |||
|[[NooDS]] | |||
| align="left" |{{Icon|Windows|Linux|macOS}}||{{Ya}} | |||
|[https://github.com/Hydr8gon/NooDS/releases git]||{{Green}} {{License|GPLv3}} ({{License|Copyleft}}) | |||
|?||{{Na}}||{{Na}} ||{{Na}} (WIP) | |||
|- | |||
|[[SkyEmu]] | |||
| align="left" |{{Icon|Windows|Linux|macOS}}||{{Ya}} | |||
|[https://github.com/skylersaleh/SkyEmu/pull/321 Dev Builds] | |||
[https://github.com/skylersaleh/SkyEmu/releases {{SkyEmuVer}}] | |||
|{{Green}} {{License|MIT}} ({{License|Permissive}}) | |||
|?||{{Na}}||{{Na}} ||{{Na}} (WIP) | |||
|- | |- | ||
! colspan="9" |Mobile | ! colspan="9" |Mobile | ||
|- | |- | ||
|[[melonDS]] | |[[melonDS]] (unofficial) | ||
[https://docs.libretro.com/library/melonds/ melonds_libretro] | |||
| align="left" |{{Icon|Android|iOS}}||{{Ya}} | | align="left" |{{Icon|Android|iOS}}||{{Ya}} | ||
|[https://github.com/rafaelvcaetano/melonDS-android git] | |[https://github.com/rafaelvcaetano/melonDS-android git] | ||
| Line 159: | Line 160: | ||
| align="left" |{{Icon|Android}}||{{Na}} | | align="left" |{{Icon|Android}}||{{Na}} | ||
|[https://www.apkmirror.com/apk/exophase/drastic-2/drastic-r2-6-0-4a-release/ {{DraSticVer}}] | |[https://www.apkmirror.com/apk/exophase/drastic-2/drastic-r2-6-0-4a-release/ {{DraSticVer}}] | ||
[https://github.com/SapphireRhodonite/SeedlessDS/releases SeedlessDS fork] | |||
[https://github.com/SapphireRhodonite/SeedlessDS/releases SeedlessDS fork] | |{{Red}} {{License|Proprietary}}<ref name="DraStic free" /> | ||
|{{Emulator compatibility (unofficial)|127|1078}} | |{{Emulator compatibility (unofficial)|127|1078}} | ||
{{Emulator compatibility|127|145|link=https://xdaforums.com/t/drastic-ds-updated-to-v2-1-5-1a-xplay-compatibility-list-over-100-games-playable.2396919/}} | {{Emulator compatibility|127|145|link=https://xdaforums.com/t/drastic-ds-updated-to-v2-1-5-1a-xplay-compatibility-list-over-100-games-playable.2396919/}} | ||
|{{ | |{{~}}<ref group="note">DraStic is discontinued and is no longer available on Google Play. The unofficial fork SeedlessDS is active in development.</ref>||{{Na}} ||{{Ya}}<ref group="note">DraStic/[https://github.com/SapphireRhodonite/SeedlessDS/releases SeedlessDS] is recommended for mid/low-end devices (like the Anbernic RG DS) that are not powerful enough to run melonDS-Android/WatermelonDS or the Nintendo DS libretro cores well. DraStic is lightweight, has external screen support, but no RetroAchievements support, and is no longer being updated. The [https://github.com/SapphireRhodonite/SeedlessDS/releases SeedlessDS fork] is based on DraStic r2.6.0.4a, but with a new user interface, RetroAchievements support, and additional features, while being lightweight for mid/low-end devices.</ref> | ||
|- | |- | ||
|melonDS DS | |melonDS DS | ||
| Line 172: | Line 173: | ||
|?||{{Ya}}||{{Ya}} ||{{~}}<ref name="melonDS DS & DeSmuME cores" group="note">melonDS DS or DeSmuME are recommendable for Libretro/RetroArch users with a single screen on their device. The regular melonDS core is outdated. Please note that RetroArch does not support multiple displays on devices like the AYN Thor or AYANEO Pocket DS.</ref> | |?||{{Ya}}||{{Ya}} ||{{~}}<ref name="melonDS DS & DeSmuME cores" group="note">melonDS DS or DeSmuME are recommendable for Libretro/RetroArch users with a single screen on their device. The regular melonDS core is outdated. Please note that RetroArch does not support multiple displays on devices like the AYN Thor or AYANEO Pocket DS.</ref> | ||
|- | |- | ||
| | |[https://docs.libretro.com/library/desmume/ DeSmuME_libretro] | ||
| align="left" |{{Icon|Android|iOS}}||{{Ya}} | | align="left" |{{Icon|Android|iOS}}||{{Ya}} | ||
|[https://buildbot.libretro.com/nightly/ libretro core]||{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | |[https://buildbot.libretro.com/nightly/ libretro core]||{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | ||
| Line 183: | Line 184: | ||
|{{Green}} {{License|AGPLv3}} ({{License|Copyleft}}) | |{{Green}} {{License|AGPLv3}} ({{License|Copyleft}}) | ||
|?||{{Na}}||{{Na}} ||{{~}} | |?||{{Na}}||{{Na}} ||{{~}} | ||
|- | |- | ||
|[https://inds.nerd.net/ iNDS] | |[https://inds.nerd.net/ iNDS] | ||
(nds4ios-derived) | |||
(DeSmuME-based) | |||
| align="left" |{{Icon|iOS}}||{{Na}} | | align="left" |{{Icon|iOS}}||{{Na}} | ||
|[https://github.com/iNDS-Team/iNDS/releases git]||{{Red}} {{License|Proprietary}} | |[https://github.com/iNDS-Team/iNDS/releases git]||{{Red}} {{License|Proprietary}} | ||
| Line 205: | Line 194: | ||
|- | |- | ||
|[http://jefhttps://blog/nds4droid/ nds4droid] | |[http://jefhttps://blog/nds4droid/ nds4droid] | ||
(DeSmuME-based) | |||
| align="left" |{{Icon|Android}}||{{Na}} | | align="left" |{{Icon|Android}}||{{Na}} | ||
|[https://github.com/jquesnelle/nds4droid git]||{{Green}} {{License|GPLv3}} ({{License|Copyleft}}) | |[https://github.com/jquesnelle/nds4droid git]||{{Green}} {{License|GPLv3}} ({{License|Copyleft}}) | ||
| Line 214: | Line 203: | ||
|[http://https://angelxwind.net/i/?page/downloads SVN]||{{Red}} {{License|Proprietary}} | |[http://https://angelxwind.net/i/?page/downloads SVN]||{{Red}} {{License|Proprietary}} | ||
|?||{{Na}}||{{Na}} ||{{Na}} | |?||{{Na}}||{{Na}} ||{{Na}} | ||
|- | |||
|[[NooDS]] | |||
| align="left" |{{Icon|Android}}||{{Ya}} | |||
|[https://play.google.com/store/apps/details?id=com.hydra.noods 0.1] | |||
[https://github.com/Hydr8gon/NooDS/releases git] | |||
|{{Green}} {{License|GPLv3}} ({{License|Copyleft}}) | |||
|?||{{Na}}||{{Na}} ||{{Na}} (WIP) | |||
|- | |||
|[[SkyEmu]] | |||
| align="left" |{{Icon|Android|iOS}}||{{Ya}} | |||
|[https://github.com/skylersaleh/SkyEmu git]||{{Green}} {{License|MIT}} ({{License|Permissive}}) | |||
|?||{{Na}}||{{Na}} ||{{Na}} (WIP) | |||
|- | |- | ||
|[[Folium]] | |[[Folium]] | ||
| align="left" |{{Icon|iOS|iPadOS}}||{{Ya}} | | align="left" |{{Icon|iOS|iPadOS}}||{{Ya}} | ||
|[https://apps.apple.com/us/app/folium/id6498623389 App Store] ($) | |[https://apps.apple.com/us/app/folium/id6498623389 App Store] ($) | ||
[https://folium.emuplace.app/downloads {{FoliumVer}}] | [https://folium.emuplace.app/downloads {{FoliumVer}}] | ||
| Line 232: | Line 233: | ||
|- | |- | ||
|[[Provenance]] | |[[Provenance]] | ||
| align="left" |{{Icon|iOS|iPadOS}}||{{Ya}} | | align="left" |{{Icon|iOS|iPadOS|tvOS}}||{{Ya}} | ||
|[https://apps.apple.com/us/app/provenance-app/id1596862805 {{ProvenanceVer}}] | |[https://apps.apple.com/us/app/provenance-app/id1596862805 {{ProvenanceVer}}] | ||
[https://github.com/Provenance-Emu/Provenance/releases git] | [https://github.com/Provenance-Emu/Provenance/releases git] | ||
|{{Dunno}} | |{{Dunno}} | ||
|?||{{Na}} ||{{Dunno}} ||{{Dunno}} | |?||{{Na}} ||{{Dunno}} ||{{Dunno}} | ||
|- | |||
|[[Retro Pal]] | |||
| align="left" |{{Icon|iOS}}||{{Ya}} | |||
|[https://apps.apple.com/us/app/retro-pal-ds-gba-emulator/id6769407672 {{Retro PalVer}}]||{{Green}} {{License|GPLv3}} ({{License|Copyleft}}) | |||
|?||{{Dunno}}||{{Dunno}} ||{{TBD}} | |||
|- | |||
|[[NiN10]] | |||
| align="left" |{{Icon|iOS|iPadOS|watchOS}}||{{Ya}} | |||
|[https://apps.apple.com/us/app/nin10-nintendo-emulator/id6503959130 {{NiN10Ver}}]||{{Red}} {{License|Proprietary}} | |||
|? | |||
|{{Na}} | |||
|{{Dunno}} | |||
|{{TBD}} | |||
|- | |- | ||
! colspan="9" |Console | ! colspan="9" |Console | ||
| Line 242: | Line 256: | ||
|[[Virtual Console]] | |[[Virtual Console]] | ||
| align="left" |{{Icon|WiiU}}||{{Na}} | | align="left" |{{Icon|WiiU}}||{{Na}} | ||
| ||{{Red}} {{License|Proprietary}} | |||{{Red}} {{License|Proprietary}} | ||
|Only for selected titles||{{Na}}||{{Dunno}} ||{{Ya}} | |||
|- | |- | ||
| | |[https://docs.libretro.com/library/desmume/ DeSmuME_libretro] | ||
| align="left" |{{Icon|Switch|PS4|Vita}}||{{Ya}} | | align="left" |{{Icon|Switch|PS4|Vita}}||{{Ya}} | ||
|[https://www.retroarch.com/ 0.9.13]||{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | |[https://www.retroarch.com/ 0.9.13]||{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | ||
| Line 270: | Line 284: | ||
|- | |- | ||
|[[melonDS]] | |[[melonDS]] | ||
[https://docs.libretro.com/library/melonds/ melonds_libretro] | |||
| align="left" |{{Icon|Switch|Vita|PS2}}||{{Ya}} | | align="left" |{{Icon|Switch|Vita|PS2}}||{{Ya}} | ||
|[https://buildbot.libretro.com/nightly/ libretro core]<ref name="melonDSRA" group="note" /> | |[https://buildbot.libretro.com/nightly/ libretro core]<ref name="melonDSRA" group="note" /> | ||
[https://github.com/rsduck/melonDS/releases git] | [https://github.com/rsduck/melonDS/releases git] (Switch) | ||
[https://github.com/Rinnegatamante/melonDS-Vita git] | [https://github.com/Rinnegatamante/melonDS-Vita git] (Vita Port) | ||
[https://github.com/DanielSant0s/melonDS-PS2 git] | [https://github.com/DanielSant0s/melonDS-PS2 git] (PS2 Port) | ||
|{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | |{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | ||
|?||{{Ya}}||{{Ya}} ||{{ | |?||{{Ya}}||{{Ya}} ||{{~}} (WIP) | ||
|- | |- | ||
|[[NooDS]] | |[[NooDS]] | ||
| align="left" |{{Icon|Switch|Vita|WiiU|PSP}}||{{Ya}} | | align="left" |{{Icon|Switch|Vita|WiiU|PSP}}||{{Ya}} | ||
|[https://github.com/Hydr8gon/NooDS git] | |[https://github.com/Hydr8gon/NooDS git] (Switch/Vita/WiiU) | ||
[https://github.com/Xiro28/NooDS_PSP git] | [https://github.com/Xiro28/NooDS_PSP git] (PSP port) | ||
|{{Green}} {{License|GPLv3}} ({{License|Copyleft}}) | |{{Green}} {{License|GPLv3}} ({{License|Copyleft}}) | ||
|?||{{Na}}||{{Na}} ||{{ | |?||{{Na}}||{{Na}} ||{{~}} (WIP) | ||
|- | |- | ||
|[[DeSmuME PSP|DSonPSP]] | |[[DeSmuME PSP|DSonPSP]] | ||
| Line 336: | Line 350: | ||
:; melonDS DS | :; melonDS DS | ||
:: An enhanced remake of the melonDS libretro that prioritizes standalone parity, reliability, and usability. Features included in this remake that were not available in the melonDS libretro core include full Wi-Fi support (Kaeru WFC, AltWFC, Wiimmfi), firmware overrides (name, color, birthday, etc.), homebrew save data support, screen rotation in the core settings (as the screen rotation feature in RetroArch's Video settings did not rotate touch inputs for melonDS and DeSmuME and can distort the screen), additional screen layout options, directly boot Nintendo DSi and DSiWare titles (unlike the standard melonDS — which requires manually installing DSiWare to the DSi NAND via its GUI — the MelonDS DS Libretro core includes the convenient [https://github.com/JesseTG/melonds-ds?tab=readme-ov-file#streamlined-dsiware-installation Streamlined DSiWare Installation] feature), RetroAchievements support for DSi(Ware) games, battery support, and selectable NAND and firmware images. However, some melonDS libretro core features aren't yet presented in this remake, such as local wireless connection, GDB Stub Support, DSi Camera support, and OpenGL compute shader renderer, but some are planned to be implemented. With that stated, this remake is not a perfect replacement for the melonDS libretro core but has its uses that the original core and the DeSmuME libretro core lack. | :: An enhanced remake of the melonDS libretro that prioritizes standalone parity, reliability, and usability. Features included in this remake that were not available in the melonDS libretro core include full Wi-Fi support (Kaeru WFC, AltWFC, Wiimmfi), firmware overrides (name, color, birthday, etc.), homebrew save data support, screen rotation in the core settings (as the screen rotation feature in RetroArch's Video settings did not rotate touch inputs for melonDS and DeSmuME and can distort the screen), additional screen layout options, directly boot Nintendo DSi and DSiWare titles (unlike the standard melonDS — which requires manually installing DSiWare to the DSi NAND via its GUI — the MelonDS DS Libretro core includes the convenient [https://github.com/JesseTG/melonds-ds?tab=readme-ov-file#streamlined-dsiware-installation Streamlined DSiWare Installation] feature), RetroAchievements support for DSi(Ware) games, battery support, and selectable NAND and firmware images. However, some melonDS libretro core features aren't yet presented in this remake, such as local wireless connection, GDB Stub Support, DSi Camera support, and OpenGL compute shader renderer, but some are planned to be implemented. With that stated, this remake is not a perfect replacement for the melonDS libretro core but has its uses that the original core and the DeSmuME libretro core lack. | ||
:; melonDS-Android | |||
:: An unofficial Android port of melonDS by rafaelvcaetano, this Nintendo DS/DSi emulator is available on the Google Play Store for free. As of Beta 1.8.0 on February 3, 2023, which is based on melonDS v0.9.5, this emulator includes a DSiWare Manager, which allows users to install and play DSiWare titles in the emulator after booting the DSi boot menu. DSiWare title data is importable/exportable since Beta 1.10.0 on March 10, 2025. DSi camera has been implemented since Beta 1.9.0 on November 2, 2023, as well as RetroAchievements support for Nintendo DS games (DSiWare games booted from the DSi boot menu are not supported). External screen support from [https://github.com/SapphireRhodonite/WatermelonDS SapphireRhodonite's fork] (melonDualDS, currently known as WatermelonDS) was implemented in melonDS-Android's v2.0.0 release on April 18, 2026, but SapphireRhodonite's fork is more optimized for dual/external screens. DSiWare titles can also be boot directly in the v2.0.0 update; DSiWare titles booted directly are detected by RetroAchievements. | |||
::; WatermelonDS | |||
::: A fork of melonDS-Android by SapphireRhodonite (assisted by melonDS-Android's developer rafaelvcaetano), WatermelonDS (formerly known as melonDualDS until update v0.7.0 on August 7, 2026) has support and optimization for external screens, allowing the player to use both Nintendo DS game screens on two screens for gaming handhelds and accessories such as AYN Thor, AYANEO Pocket DS, ONEXSUGAR Sugar-1, Retroid Dual Screen add-on, and more (though, lower-end devices like Anbernic RG DS may struggle), though single-screen devices are still supported. Also includes Vulkan support since the v0.7.0 beta, and a brand new user interface as of v0.7.0 release when melonDualDS was rebranded as WatermelonDS. v0.7.0 also has fixes and optimizations for RetroAchievements (including detection for games in <code>.7z</code> archives, Multiset support, and the ability to earn achievements offline in Casual mode; though the latter has been implemented in [https://github.com/misantronic/RAOfflineProxy RAOfflineProxy]), and an experimental Vulkan feature called FastPath, which improves performance at higher resolution scaling. Like melonDS-Android, this fork can also boot DSiWare games directly (and has RetroAchievements support), or be booted indirectly by installing them in the DSiWare Manager and booting the DSi boot menu. | |||
; [[DeSmuME]] | ; [[DeSmuME]] | ||
: DeSmuME has gained significant improvements since 2018; new features include less CPU/GPU resource usage and high-resolution 3D rendering, and Wi-Fi emulation has been reintroduced in the latest builds. v0.9.13 from May 2022 is the first "Stable" build in over 7 years and is highly recommended over all previous builds (though dev builds are also generally very usable). [[OpenEmu]] uses a shallow fork of the v0.9.11 build and should be avoided as well. | : DeSmuME has gained significant improvements since 2018; new features include less CPU/GPU resource usage and high-resolution 3D rendering, and Wi-Fi emulation has been reintroduced in the latest builds. v0.9.13 from May 2022 is the first "Stable" build in over 7 years and is highly recommended over all previous builds (though dev builds are also generally very usable). [[OpenEmu]] uses a shallow fork of the v0.9.11 build and should be avoided as well. | ||
| Line 342: | Line 359: | ||
; [[DraStic]] | ; [[DraStic]] | ||
: A (currently) closed-source emulator for [[Android emulators|Android]] devices that can run games at a decent speed even on potato phones. It is on par with (or in some cases better than) DeSmuME, and emulating it through BlueStacks on PC may actually be a viable and fast alternative aside from a slight input delay. Some rumors have spread around that the developers deliberately put in issues to mess with unofficial copies, though this is considered unsubstantiated. At the very least, you shouldn't expect any support from Exophase and company if you use an unofficial copy. It is available on the Raspberry Pi and Odroid via RetroPie, and runs {{YouTubeVideo|715kg1-hmxA|relatively well}}. As of March 5, 2024, due to yuzu lawsuits mainly focused on the Zelda franchise, the creator made it free and plans on open-sourcing the code. | : A (currently) closed-source emulator for [[Android emulators|Android]] devices that can run games at a decent speed even on potato phones. It is on par with (or in some cases better than) DeSmuME, and emulating it through BlueStacks on PC may actually be a viable and fast alternative aside from a slight input delay. Some rumors have spread around that the developers deliberately put in issues to mess with unofficial copies, though this is considered unsubstantiated. At the very least, you shouldn't expect any support from Exophase and company if you use an unofficial copy. It is available on the Raspberry Pi and Odroid via RetroPie, and runs {{YouTubeVideo|715kg1-hmxA|relatively well}}. As of March 5, 2024, due to yuzu lawsuits mainly focused on the Zelda franchise, the creator made it free and plans on open-sourcing the code. | ||
:; SeedlessDS | |||
:: A fork by SapphireRhodonite built on top of the DraStic r2.6.0.4a core, this fork includes optimizations for dual/external screens (DraStic already had external screen support), a brand new user interface, and experimental RetroAchievements implementation (not yet supported officially), while keeping the emulator lightweight for low-end devices. This fork is meant for RetroAchievements users with a low-end Android device like the Anbernic RG DS that lacks the CPU/GPU power to run Nintendo DS/DSi games in melonDS-Android/WatermelonDS, but it can also be used on single-screen devices. | |||
; [[No$|No$GBA]] | ; [[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. | : Focuses on speed, and has major compatibility issues and glitches as a result. Because it was initially a GBA emulator, the DS' 3D features are still very poorly handled. It is a good option for low-end machines, but don't expect a lot of games to run perfectly. A fan program, No$Zoomer, was released for version 2.6, which increases compatibility and options, as well as the titular zooming and resizing abilities. The biggest addition is noise cancellation which clears up static No$GBA makes with its 3D rendering. It doesn't change accuracy though. No$Zoomer never rebased to newer No$GBA versions, and it looks like it was abandoned, so it likely never will. In v2.8, No$GBA became the first emulator to support DSi games, which has been their most notable feature. Only use No$GBA for DSi games that don't work on other emulators, debugging (if you've taken up ROM hacking for DS games or homebrew development), if you value speed above everything, if you're using a potato PC, or just as a last resort. | ||
; [[BizHawk]] | ; [[BizHawk]] | ||
| Line 367: | Line 386: | ||
nds-bootstrap is an application for Nintendo DS, DSi and 3DS that allows DS and DSi ROMs and homebrew homebrew to be booted from SD cards (DSi/3DS) or flashcard (DS). It is included in [[TWiLightMenu++]], where selecting a game will start it via nds-bootstrap, but games can also be started straight from the 3DS home screen by creating shortcuts with forwarders such as [https://github.com/YANBForwarder/YANBF YANBF]. In terms of enhancements, it supports cheats from [https://gbatemp.net/threads/deadskullzjrs-nds-i-cheat-databases.488711/ usrcheat.dat] (different databases even include [https://gbatemp.net/threads/circle-pad-patches-for-super-mario-64-ds-and-other-games-in-twilightmenu-with-twpatcher-and-rtcom.623267/ analogue control patches for 3DS]), a widescreen mode, which stretches the image to fill the whole upper screen of the 3DS (the internal resolution stays at the DS's 256x192, however), and, in contrast to all the emulators so far, it even supports "overclocking" in the form of booting 3DS games in DSi mode (with the DSi's clock rate of 133 MHz, double the DS's 67 MHz), which significantly increases the frame rate of certain games (Rayman DS, Trackmania DS, Trackmania Turbo etc.). | nds-bootstrap is an application for Nintendo DS, DSi and 3DS that allows DS and DSi ROMs and homebrew homebrew to be booted from SD cards (DSi/3DS) or flashcard (DS). It is included in [[TWiLightMenu++]], where selecting a game will start it via nds-bootstrap, but games can also be started straight from the 3DS home screen by creating shortcuts with forwarders such as [https://github.com/YANBForwarder/YANBF YANBF]. In terms of enhancements, it supports cheats from [https://gbatemp.net/threads/deadskullzjrs-nds-i-cheat-databases.488711/ usrcheat.dat] (different databases even include [https://gbatemp.net/threads/circle-pad-patches-for-super-mario-64-ds-and-other-games-in-twilightmenu-with-twpatcher-and-rtcom.623267/ analogue control patches for 3DS]), a widescreen mode, which stretches the image to fill the whole upper screen of the 3DS (the internal resolution stays at the DS's 256x192, however), and, in contrast to all the emulators so far, it even supports "overclocking" in the form of booting 3DS games in DSi mode (with the DSi's clock rate of 133 MHz, double the DS's 67 MHz), which significantly increases the frame rate of certain games (Rayman DS, Trackmania DS, Trackmania Turbo etc.). | ||
Comparisons of several Nintendo DS emulators: | |||
* [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.) | * [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.) | ||
| Line 379: | Line 398: | ||
: 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. | : 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]] | ; [[DeSmuME]] ([[libretro]]) | ||
: 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 | : 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 frame rate. | ||
; DraStic | ; DraStic | ||
: Has released a beta version supporting double the original resolution. | : Has released a beta version supporting double the original resolution. | ||
; Virtual Console | ; Virtual Console (Wii U) | ||
: Has a configuration file with support for x2 internal resolution without any significant performance hit (as well as a brightness setting). However, there is no legit way to enable it without a homebrew-enabled console. | : Has a configuration file with support for x2 internal resolution without any significant performance hit (as well as a brightness setting). However, there is no legit way to enable it without a homebrew-enabled console. | ||
| Line 410: | Line 429: | ||
|- | |- | ||
|{{Enhancements/Graphics/Super resolution}} | |{{Enhancements/Graphics/Super resolution}} | ||
| colspan="3" | | | colspan="3" |Requires access to the depth buffer and temporal data like motion-vectors, so it is quite challenging and unlikely to be possible soon. | ||
Besides any GPU that can use DLSS can run these emulators at 4K native with ease anyway. | |||
|- | |- | ||
|[[Texture packs#Texture Replacement | |[[Texture packs#Texture Replacement (3D)|Texture packs]]||{{WIP-Box|link=https://melonds.kuribo64.net/comments.php?id=182}}||{{Na}}||{{Na}} | ||
|- | |- | ||
| | |{{Enhancements/Graphics/Widescreen hack|Nintendo DS|Widescreen is possible thanks to specific codes made by the community for a lot of DS games.}}||{{Ya|link=https://github.com/melonDS-emu/melonDS/issues/395}}||{{Dunno}}||{{Dunno}} | ||
|{{Ya|link=https://github.com/melonDS-emu/melonDS/issues/395}}||{{Dunno}}||{{Dunno}} | |||
|- | |- | ||
| rowspan="3" |Performance | | rowspan="3" |Performance | ||
| | |{{Enhancements/Performance/Frame generation technologies}} | ||
| colspan="3" |Implementing frame generation technology in an emulator is unfortunately quite challenging and unlikely to be possible soon however post-processing techniques such as motion interpolation is quite possible. [[Input lag|Input latency]] will be a crucial factor, but its impact likely varies depending on the specific technique used, it is recommended to use after applying the "Internal frame rate hack". | |||
| colspan="3" | | While AFMF or LSFG could be used with melonDS or DeSmuME?, please be aware some visual glitches and artifacts may occur at this time. | ||
|- | |- | ||
|[[30/60 FPS cheat codes|Internal frame rate hack]]||{{Dunno}}||{{Na}}||{{Na}} | |[[30/60 FPS cheat codes|Internal frame rate hack]]||{{Dunno}}||{{Na}}||{{Na}} | ||
| Line 436: | Line 452: | ||
|{{Enhancements/Post-processing/Inverse tone mapping}}||{{Dunno}}||{{Dunno}}||{{Dunno}} | |{{Enhancements/Post-processing/Inverse tone mapping}}||{{Dunno}}||{{Dunno}}||{{Dunno}} | ||
|- | |- | ||
| | |{{Enhancements/Post-processing/Post-rendering anti-aliasing}}||{{~}}<br><small>Only possible with software renderer.</small>||{{Dunno}}||{{~}}<br><small>Supports MSAA but there is no post-rendering AA technique supported.</small> | ||
|{{~}}<br><small>Only possible with software renderer.</small>||{{Dunno}}||{{~}}<br><small>Supports MSAA but there is no post-rendering AA technique supported.</small> | |||
|- | |- | ||
| | |{{Enhancements/Post-processing/Post-rendering scaling}}||{{Ya}}||{{Dunno}}||{{Ya}} | ||
|{{Ya}}||{{Dunno}}||{{Ya}} | |||
|- | |- | ||
|{{Enhancements/Post-processing/Shader chain}}||{{~}}<ref name="lrRA" group="note">Only possible with libretro core. [https://github.com/melonDS-emu/melonDS/issues/1146 GitHub Issue page for adding RetroAchievements to the melonDS standalone version]. But DSi RetroAchievement are [https://docs.libretro.com/guides/retroachievements/#nintendo not supported]. [[Shaders,_presets,_and_filters#Emulator_support|Pedro-HDSR's MelonDS build also supports .slang shaders and presets]].</ref>||{{Ya}}||{{~}}<ref name="lrRA" group="note" /> | |{{Enhancements/Post-processing/Shader chain}}||{{~}}<ref name="lrRA" group="note">Only possible with libretro core. [https://github.com/melonDS-emu/melonDS/issues/1146 GitHub Issue page for adding RetroAchievements to the melonDS standalone version]. But DSi RetroAchievement are [https://docs.libretro.com/guides/retroachievements/#nintendo not supported]. [[Shaders,_presets,_and_filters#Emulator_support|Pedro-HDSR's MelonDS build also supports .slang shaders and presets]].</ref>||{{Ya}}||{{~}}<ref name="lrRA" group="note" /> | ||
| Line 449: | Line 461: | ||
|Automatic updater||{{Dunno}}||{{Dunno}}||{{Dunno}} | |Automatic updater||{{Dunno}}||{{Dunno}}||{{Dunno}} | ||
|- | |- | ||
|[[Frontends#Graphical User Interfaces | |[[Frontends#Graphical User Interfaces (GUIs)|Big Picture Mode]]||{{Dunno}}||{{Dunno}}||{{Dunno}} | ||
|- | |- | ||
|Command-line options||{{Dunno}}||{{Dunno}}||{{Dunno}} | |Command-line options||{{Dunno}}||{{Dunno}}||{{Dunno}} | ||
| Line 465: | Line 477: | ||
|Per-game profiles||{{~}}<ref name="lrRA" group="note" />||{{Ya}}||{{~}}<ref name="lrRA" group="note" /> | |Per-game profiles||{{~}}<ref name="lrRA" group="note" />||{{Ya}}||{{~}}<ref name="lrRA" group="note" /> | ||
|- | |- | ||
| | |{{Enhancements/Quality of life/Portable and stealth}}||{{Ya}}||{{Ya}}||{{Dunno}} | ||
|{{Ya}}||{{Ya}}||{{Dunno}} | |||
|- | |- | ||
|[[Save disk space for ISOs|Streamable compression format]]||{{Ya}}||{{Ya}}||{{Ya}} | |[[Save disk space for ISOs|Streamable compression format]]||{{Ya}}||{{Ya}}||{{Ya}} | ||
| Line 474: | Line 484: | ||
|Fast forward/Turbo speed||{{Ya}}||{{Ya}}||{{Ya}} | |Fast forward/Turbo speed||{{Ya}}||{{Ya}}||{{Ya}} | ||
|- | |- | ||
|Frame step | |{{Enhancements/TAS features/Frame step}}||{{Dunno}}||{{Dunno}}||{{Dunno}} | ||
|{{Dunno}}||{{Dunno}}||{{Dunno}} | |||
|- | |- | ||
|Macros/Scripts/[https://tasvideos.org/LuaScripting Lua]||{{WIP-Box|link=https://github.com/melonDS-emu/melonDS/pull/1671}}||{{Dunno}}||{{Ya}} | |||
|- | |- | ||
|[https://tasvideos.org/Movies Movie recording/playback]||{{Na|link=https://github.com/melonDS-emu/melonDS/issues/463}}||{{Na}}||{{Ya}} | |[https://tasvideos.org/Movies Movie recording/playback]||{{Na|link=https://github.com/melonDS-emu/melonDS/issues/463}}||{{Na}}||{{Ya}} | ||
| Line 487: | Line 495: | ||
|- | |- | ||
| rowspan="10" |Misc. | | rowspan="10" |Misc. | ||
| | |{{Enhancements/Misc./Audio filters and presets}} | ||
| colspan="3" |Exclusive to [https://github.com/RetroCrisis/Retro-Crisis-Audio-Filters libretro cores] at the moment. | | colspan="3" |Exclusive to [https://github.com/RetroCrisis/Retro-Crisis-Audio-Filters libretro cores] at the moment. | ||
|- | |- | ||
|Debug features||{{Na|link=https://github.com/melonDS-emu/melonDS/issues/249}}||{{Na}}||{{Ya}} | |||
|- | |- | ||
|[[Virtual reality#VR game room simulations|EmuVR support]] | |[[Virtual reality#VR game room simulations|EmuVR support]] | ||
| Line 498: | Line 505: | ||
|{{Enhancements/Misc./File browser}}||{{Na}}||{{Na}}||{{Na}} | |{{Enhancements/Misc./File browser}}||{{Na}}||{{Na}}||{{Na}} | ||
|- | |- | ||
|Free Look | |{{Enhancements/Misc./Free Look}}||{{Na}}||{{Na}}||{{WIP-Box}}<ref>https://old.reddit.com/r/emulation/comments/9lwy0r/desmume_begins_to_implement_a_freelook_feature/<br>https://windwakr.github.io/miscstuff.html</ref> | ||
|{{Na}}||{{Na}}||{{WIP-Box}}<ref>https://old.reddit.com/r/emulation/comments/9lwy0r/desmume_begins_to_implement_a_freelook_feature/<br>https://windwakr.github.io/miscstuff.html</ref> | |||
|- | |- | ||
|Multiple screens||{{Ya}}||{{Dunno}}||{{Dunno}} | |Multiple screens||{{Ya}}||{{Dunno}}||{{Dunno}} | ||
| Line 508: | Line 513: | ||
|[[RetroAchievements]]||{{~}}<br><small>Nintendo DS RetroAchievements is exclusive in libretro cores and the unofficial melonDS Android port. DSi games aren't supported in these emulators/cores for RetroAchievements.</small>||{{Ya}}<br><small>DSi RetroAchievements is supported in [https://twitter.com/RetroCheevos/status/1647525064667955201?cxt=HHwWgoCw4afUl90tAAAA BizHawk's MelonDS core] and the MelonDS DS libretro core.</small>||{{~}}<ref name="lrRA" group="note" /> | |[[RetroAchievements]]||{{~}}<br><small>Nintendo DS RetroAchievements is exclusive in libretro cores and the unofficial melonDS Android port. DSi games aren't supported in these emulators/cores for RetroAchievements.</small>||{{Ya}}<br><small>DSi RetroAchievements is supported in [https://twitter.com/RetroCheevos/status/1647525064667955201?cxt=HHwWgoCw4afUl90tAAAA BizHawk's MelonDS core] and the MelonDS DS libretro core.</small>||{{~}}<ref name="lrRA" group="note" /> | ||
|- | |- | ||
|Rich Presence | |{{Enhancements/Misc./Rich Presence}}||{{Dunno}}||{{Dunno}}||{{Dunno}} | ||
|{{Dunno}}||{{Dunno}}||{{Dunno}} | |||
|- | |- | ||
|Screen translator | |{{Enhancements/Misc./Screen translator}} | ||
| colspan="3" |You can use [https://docs.libretro.com/guides/ai-service/ RetroArch's AI Service] or the standalone offline [https://github.com/bquenin/interpreter bquenin's Interpreter]. | | colspan="3" |You can use [https://docs.libretro.com/guides/ai-service/ RetroArch's AI Service] or the standalone offline [https://github.com/bquenin/interpreter bquenin's Interpreter]. | ||
|} | |} | ||
| Line 526: | Line 528: | ||
!GBE+ | !GBE+ | ||
|- | |- | ||
| rowspan=" | | rowspan="18" |Hardware features | ||
| rowspan="6" |[[Nintendo DS emulators#Connectivity|Connectivity]] | | rowspan="6" |[[Nintendo DS emulators#Connectivity|Connectivity]] | ||
| colspan="2" |[[Nintendo DS emulators#Infrared Cartridge|Infrared cartridge]]||{{Dunno}}||{{Dunno}}||{{Dunno}}||{{Dunno}} | | colspan="2" |[[Nintendo DS emulators#Infrared Cartridge|Infrared cartridge]]||{{Dunno}}||{{Dunno}}||{{Dunno}}||{{Dunno}} | ||
| Line 563: | Line 565: | ||
|- | |- | ||
| colspan="3" |iQue DS region lock||{{~}}||{{Dunno}}||{{Ya}}||{{Dunno}} | | colspan="3" |iQue DS region lock||{{~}}||{{Dunno}}||{{Ya}}||{{Dunno}} | ||
|- | |||
| colspan="3" |Sleep mode||{{Ya}}||{{Ya}}||{{Dunno}}||{{Dunno}} | |||
|- | |- | ||
| colspan="3" |System BIOS||{{Ya}}||{{Dunno}}||{{Dunno}}||{{Dunno}} | | colspan="3" |System BIOS||{{Ya}}||{{Dunno}}||{{Dunno}}||{{Dunno}} | ||
|- | |- | ||
| rowspan=" | | rowspan="25" |Peripherals | ||
| colspan="3" |DS camera||{{Ya}}<br><small>melonDS supports outer and inner cameras in Physical Camera mode and as Image File.</small>||{{~}}<br><small>DS camera is supported but DSi camera is not yet supported in melonDS DS.</small>||{{Na}}||{{Dunno}} | | colspan="3" |DS camera||{{Ya}}<br><small>melonDS supports outer and inner cameras in Physical Camera mode and as Image File.</small>||{{~}}<br><small>DS camera is supported but DSi camera is not yet supported in melonDS DS.</small>||{{Na}}||{{Dunno}} | ||
|- | |- | ||
| Line 583: | Line 587: | ||
| colspan="3" |Nintendo Wireless Keyboard||{{Na}}||{{Na}}||{{~}}||{{Na}} | | colspan="3" |Nintendo Wireless Keyboard||{{Na}}||{{Na}}||{{~}}||{{Na}} | ||
|- | |- | ||
| rowspan=" | | rowspan="16" |Slot 2 | ||
| colspan="2" |Beypoint Reader & Beypointer Option Pak||{{Dunno}}||{{Dunno}}||{{Dunno}}||{{Na}} | | colspan="2" |Beypoint Reader & Beypointer Option Pak||{{Dunno}}||{{Dunno}}||{{Dunno}}||{{Na}} | ||
|- | |- | ||
| Line 599: | Line 603: | ||
|- | |- | ||
| colspan="2" |Piano for Easy Piano||{{Na}}<ref name="Slot2MelonDS" group="note" />||{{Na}}||{{Ya}}||{{Na}} | | colspan="2" |Piano for Easy Piano||{{Na}}<ref name="Slot2MelonDS" group="note" />||{{Na}}||{{Ya}}||{{Na}} | ||
|- | |||
| colspan="2" |Play-Yan||{{Dunno}}||{{Dunno}}||{{Dunno}}||{{Dunno}} | |||
|- | |- | ||
| colspan="2" |Rumble Pak||{{Ya}}<ref name="Slot2MelonDS" group="note" />||{{Dunno}}||{{Ya}}||{{Ya}} | | colspan="2" |Rumble Pak||{{Ya}}<ref name="Slot2MelonDS" group="note" />||{{Dunno}}||{{Ya}}||{{Ya}} | ||
|- | |- | ||
| colspan="2" |Sega Card Reader | | colspan="2" |Sega Card Reader<ref group="note">Barcode reader for ''Oshare Majo Love and Berry: DS Collection''.</ref>||{{Dunno}}||{{Dunno}}||{{Ya}}<br><small>Supported in the latest nightly builds, on Windows only.</small>||{{Ya}} | ||
< | |||
|{{Dunno}}||{{Dunno}}||{{Ya}}<br><small>Supported in the latest nightly builds, on Windows only.</small>||{{Ya}} | |||
|- | |- | ||
| colspan="2" |Slide controller||{{Na}}<ref name="Slot2MelonDS" group="note" />||{{Na}}||{{Na}}<br><small>There is an open [https://github.com/TASEmulators/desmume/pull/737 pull request] that implements support for this add-on.</small>||{{Na}} | | colspan="2" |Slide controller||{{Na}}<ref name="Slot2MelonDS" group="note" />||{{Na}}||{{Na}}<br><small>There is an open [https://github.com/TASEmulators/desmume/pull/737 pull request] that implements support for this add-on.</small>||{{Na}} | ||
| Line 617: | Line 621: | ||
|- | |- | ||
| rowspan="1" |Special hardware | | rowspan="1" |Special hardware | ||
| colspan="2" |[https://shonumi.github.io/articles/art39.html Wantame Card Scanner] | | colspan="2" |[https://shonumi.github.io/articles/art39.html Wantame Card Scanner]<ref group="note">The scanner is actually not a Slot 2 device, despite its appearances. The pins used for the GBA slot don't really connect to anything inside the scanner; there's no real circuitry attached. Instead, the WCS outputs data through a small cable that plugs into the DS' microphone slot.</ref>||{{Na}}||{{Na}}||{{Na}}||{{Ya}} | ||
< | |||
|{{Na}}||{{Na}}||{{Na}}||{{Ya}} | |||
|- | |- | ||
| colspan="3" |''Wappy Dog''||{{Na}}||{{Na}}||{{Na}}||{{Na}} | | colspan="3" |''Wappy Dog''||{{Na}}||{{Na}}||{{Na}}||{{Na}} | ||
| Line 626: | Line 628: | ||
| colspan="3" |Battery||{{Ya}}||{{Dunno}}||{{Dunno}}||{{Dunno}} | | colspan="3" |Battery||{{Ya}}||{{Dunno}}||{{Dunno}}||{{Dunno}} | ||
|- | |- | ||
| colspan="3" | | colspan="3" |Cartridge hot swapping<ref group="note">It was sometimes possible to apply cheats (such as a player having infinite lives) and other temporary software alterations to games by hot swapping cartridges, even though the cartridges were not designed to be hot swappable.</ref>||{{Dunno}}||{{Dunno}}||{{Dunno}}||{{Dunno}} | ||
< | |||
|{{Dunno}}||{{Dunno}}||{{Dunno}}||{{Dunno}} | |||
|- | |- | ||
| colspan="3" |[http://www.https://ghtyguru.com/Wiki/index.php?title=Cartridge_tilting Cartridge tilting] | | colspan="3" |[http://www.https://ghtyguru.com/Wiki/index.php?title=Cartridge_tilting Cartridge tilting]<ref group="note">Cartridge tilting is an action performed on cartridge-based systems to create otherwise impossible glitches. Cartridge tilting is not a glitch, but rather the process which creates glitches. {{YouTubePlaylist|PLkAqx5EV7l_DkwOv4WmVEBLv39WPEUm3d|Cart Tilt Showcase Playlist}}, <small>[https://gamefaqs.gamespot.com/boards/925329-nintendo-ds/71009293 DS example]</small></ref> | ||
< | | colspan="4" |There is no emulator currently includes built-in cartridge tilting simulation. As a workaround, you can try the external [https://github.com/redscientistlabs/RTCV Real-Time Corruptor] (RTCV) tool. It is a real-time memory/data corruption tool for inducing glitches during emulation, which might mimic some effects of cartridge tilting (e.g., visual/audio artifacts or crashes). However, it is not a true "cartridge tilting" simulator, as it works on live memory rather than simulating cartridge read errors. | ||
| colspan="4" | | |||
|- | |- | ||
| colspan="3" |[https://infendo.com/nintendo-ds-car-navigation-system/ Smart Navi Car Navigational System]<ref group="note">Used in ''Kuruma de DS'' which can connect to the following ECLIPSE GPS navigational systems: | | colspan="3" |[https://infendo.com/nintendo-ds-car-navigation-system/ Smart Navi Car Navigational System]<ref group="note">Used in ''Kuruma de DS'' which can connect to the following ECLIPSE GPS navigational systems: | ||
| Line 653: | Line 652: | ||
The DS offers five types of connections: | 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. | 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. | ||
| Line 672: | Line 671: | ||
This feature allows players with a DS and only one copy of a game to play together (Single-Card Play). This way, not everyone needs a copy of a game. The player with the physical cartridge will host the game while the other players connect using a "downloaded" version received from the host. Normally they're either simple mini-games, stripped-down demos of the main game, or a limited version of multiplayer. In most cases, it is better to use multi-cart instead. However, some games, like ''Mario Party DS'', require Download Play to use its multiplayer. | This feature allows players with a DS and only one copy of a game to play together (Single-Card Play). This way, not everyone needs a copy of a game. The player with the physical cartridge will host the game while the other players connect using a "downloaded" version received from the host. Normally they're either simple mini-games, stripped-down demos of the main game, or a limited version of multiplayer. In most cases, it is better to use multi-cart instead. However, some games, like ''Mario Party DS'', require Download Play to use its multiplayer. | ||
Download Play is supported by melonDS. Like with local multiplayer, it is very hit-and-miss, but unlocking the | Download Play is supported by melonDS. Like with local multiplayer, it is very hit-and-miss, but unlocking the frame rate helps. melonDS will often fail during the download process, but some games actually go as far as booting and sometimes in-game as well. | ||
==== Nintendo Wi-Fi Connection ==== | ==== Nintendo Wi-Fi Connection ==== | ||
| Line 696: | Line 695: | ||
=== Accessories === | === Accessories === | ||
; Guitar Hero pad | ; Guitar Hero pad | ||
: Used in the "Guitar Hero: On Tour" series (required) and Band Hero DS. Supported by DeSmuME (Slot 2). | : Used in the "Guitar Hero: On Tour" series (required) and Band Hero DS. Supported by DeSmuME (Slot 2). | ||
| Line 712: | Line 710: | ||
: Required by "Slide Adventure Mag Kid." No emulators support this add-on at the moment. There is an [https://github.com/TASEmulators/desmume/pull/737 open PR] for DeSmuME that implements this add-on. | : Required by "Slide Adventure Mag Kid." No emulators support this add-on at the moment. There is an [https://github.com/TASEmulators/desmume/pull/737 open PR] for DeSmuME that implements this add-on. | ||
; Nintendo Wireless Keyboard | ; Nintendo Wireless Keyboard | ||
: Bundled with | : 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 is playable using the on-screen keyboard on the lower screen, the keyboard isn't 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 will need to blank out all the control/hotkey bindings of DeSmuME if you're going to play this game, because some of the keyboard keys also activate some controls; otherwise, pressing the Q key would also pause the game, given one example. A recommendation would be to have a separate copy of 32-bit DeSMuMe, which purpose is playing *only* this game. In that copy, place the patched ROM, the Lua script, and a 32-bit version of [https://sourceforge.net/projects/luabinaries/files/5.1.5/Windows%20Libraries/Dynamic/ lua51.dll.] (The platform used in building the <code>.dll</code> shouldn't matter.) Even then, not only is the emulated workaround a little slow, but saving is still broken. Use savestates instead. | ||
; DS camera | ; DS camera | ||
: Accessory bundled with the Japan-only Face Training (European localization for Christmas 2007 was canceled, and it was released as a retail DSi game in 2010 using the internal camera rather than the original accessory). Not to be confused with the built-in DSi camera. No emulators exist for it at all. | : Accessory bundled with the Japan-only Face Training (European localization for Christmas 2007 was canceled, and it was released as a retail DSi game in 2010 using the internal camera rather than the original accessory). Not to be confused with the built-in DSi camera. No emulators exist for it at all. | ||
| Line 726: | Line 724: | ||
=== 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. [[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. | 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. | ||
== Nintendo DSi == | == Nintendo DSi == | ||
{{Infobox | {{Infobox computing device | ||
| | | name = Nintendo DSi | ||
|image=DSiBlack.png | | image = DSiBlack.png | ||
|caption= | | caption = Nintendo DSi console in black | ||
|manufacturer=Nintendo | | manufacturer = Nintendo | ||
|type=Handheld game console | | type = Handheld game console | ||
|generation=Seventh | | generation = Seventh | ||
| | | release_date = November 1, 2008 | ||
| discontinued = September 30, 2014 | |||
| predecessor = Game Boy Advance | |||
| successor = Nintendo 3DS | |||
| emulated = yes | |||
|discontinued= | |||
|predecessor=Game Boy Advance | |||
|successor=Nintendo 3DS | |||
|emulated= | |||
}} | }} | ||
Released on April 5, 2009, the | Released on April 5, 2009, the Nintendo DSi added new lighting effects, an inner and outer 0.3 megapixel digital cameras, 16MB of RAM (compared to the previous 4MB of RAM), a faster ARM9 CPU clocked at 133 MHz, and offered downloadable titles called "DSiWare". It costs {{Inflation|USD|169.99|2009}} at launch and later dropped to {{Inflation|USD|149.99|2010}}. The system, however, was region-locked, meaning DSi exclusives from different regions couldn't be used. It also did away with backwards-compatibility by removing Slot-2, which was used to load GBA cartridges and certain accessories (such as the Rumble Pak). | ||
DSi emulation has been pretty neglected due to its small library of exclusive games and lack of DSi-enhanced titles that provide anything major besides camera support. The only thing really notable is DSiWare, which saw several exclusive releases. | DSi emulation has been pretty neglected due to its small library of exclusive games and lack of DSi-enhanced titles that provide anything major besides camera support. The only thing really notable is DSiWare, which saw several exclusive releases. | ||
| Line 766: | Line 755: | ||
; DSi-enhanced retail cartridges | ; DSi-enhanced retail cartridges | ||
: A regular game cartridge that is compatible with the older NDS models, but unlocks more RAM and features when used on the DSi (commonly it is just camera support, but may provide better performance with the extra RAM). Only a [http://www.rfgeneration.com/blogs/pdrydia/DSi-enhanced-titles-an-incomplete-list-1969.php couple of games] had this feature and it's similar to how some late Game Boy Color games (mainly the ones made by Capcom or WayForward in the early 2000s) would offer additional feature if played on the Game Boy Advance. These games will still boot on any NDS emulators, but will be detected as if it was on the original DS and will not load any DSi enhancements. DSi-enhanced games will also have an animated icon when displayed in the boot menu of the DSi, and the titleID on the cartridge will say | : A regular game cartridge that is compatible with the older NDS models, but unlocks more RAM and features when used on the DSi (commonly it is just camera support, but may provide better performance with the extra RAM). Only a [http://www.rfgeneration.com/blogs/pdrydia/DSi-enhanced-titles-an-incomplete-list-1969.php couple of games] had this feature and it's similar to how some late Game Boy Color games (mainly the ones made by Capcom or WayForward in the early 2000s) would offer additional feature if played on the Game Boy Advance. These games will still boot on any NDS emulators, but will be detected as if it was on the original DS and will not load any DSi enhancements. DSi-enhanced games will also have an animated icon when displayed in the boot menu of the DSi, and the titleID on the cartridge will say TWL instead of NTR. | ||
; DSi-exclusive retail cartridges | ; DSi-exclusive retail cartridges | ||
: Retail cartridges that rely on the DSi hardware features. An error screen will show when attempting to load one of these games on a regular DS console (and by extension, emulators also). These cartridges where white instead of gray and only [https://en.wikipedia.org/wiki/Nintendo_DSi#Software_library five games] were physically released this way, either as launch titles or because they were too big to be sold as DSiWare (see below). | : Retail cartridges that rely on the DSi hardware features. An error screen will show when attempting to load one of these games on a regular DS console (and by extension, emulators also). These cartridges where white instead of gray and only [https://en.wikipedia.org/wiki/Nintendo_DSi#Software_library five games] were physically released this way, either as launch titles or because they were too big to be sold as DSiWare (see below). | ||
; DSiWare | ; DSiWare | ||
: Downloadable titles only available through the DSi Shop (discontinued as of March 31, 2017). They have a 16MB size limitation due to the small size of the internal NAND and a lot of interesting exclusives for the system were released as DSiWare. The Nintendo 3DS eShop also had some DSiWare for purchase (which used to be the only | : Downloadable titles only available through the DSi Shop (discontinued as of March 31, 2017). They have a 16MB size limitation due to the small size of the internal NAND and a lot of interesting exclusives for the system were released as DSiWare. The Nintendo 3DS eShop also had some DSiWare for purchase (which used to be the only legal way of getting them), though it uses a different file packaging format than the DSi. The 3DS itself is also capable of running other DSiWare since the firmware used for backwards-compatibility is the same as the DSi. | ||
All three formats can be converted to <code>.nds</code> format. Compared to regular DS games, DSi games have some additional header information not even correctly dumped in most early sets. Recent sets have since updated to the correct format. DSiWare dumps can exist in both <code>.nds</code> format and <code>.cia</code> format (for installation on a homebrewed 3DS). | All three formats can be converted to <code>.nds</code> format. Compared to regular DS games, DSi games have some additional header information not even correctly dumped in most early sets. Recent sets have since updated to the correct format. DSiWare dumps can exist in both <code>.nds</code> format and <code>.cia</code> format (for installation on a homebrewed 3DS). | ||
| Line 783: | Line 772: | ||
DSi emulation requires a copy of the lower 32K-halves of the ARM7/ARM9 BIOS files (<code>BIOSDSI7.ROM</code> and <code>BIOSDSI9.ROM</code>), which are different from the regular DS BIOS files and needed for the decryption. melonDS also requires these files along with the regular DS BIOS and the DSi's firmware.bin. These unicorns can be found [[Emulator Files#Nintendo DS .2F DSi|here]]. | DSi emulation requires a copy of the lower 32K-halves of the ARM7/ARM9 BIOS files (<code>BIOSDSI7.ROM</code> and <code>BIOSDSI9.ROM</code>), which are different from the regular DS BIOS files and needed for the decryption. melonDS also requires these files along with the regular DS BIOS and the DSi's firmware.bin. These unicorns can be found [[Emulator Files#Nintendo DS .2F DSi|here]]. | ||
It is also advised (but still completely | It is also advised (but still completely optional) to use a NAND dump for No$GBA to increase compatibility; however, a NAND dump is required to use melonDS. | ||
==== No$GBA ==== | ==== No$GBA ==== | ||
| Line 825: | Line 814: | ||
Aside from general emulation problems inherited from the older DS emulation project, there are the following issues: | Aside from general emulation problems inherited from the older DS emulation project, there are the following issues: | ||
* | * Microphone doesn't work. (DSiWare + any method) No known fix. | ||
* | * Camera doesn't work. (DSiWare + any method) Unimplemented. No known fix. | ||
* | * Wi-Fi doesn't work. Unimplemented. | ||
* | * Touch Screen issues related to Screen Calibration (DSiWare + [[TWiLight Menu++]] or simple nds loading) The fix is to load the original DSi Home Menu first (holding B when resetting the emulator or loading it), then reset to TWiLight Menu++ (not holding any buttons) before loading the desired game. | ||
* | * Can't Save (DSiWare + simple nds loading) This method is hardware inaccurate to begin with. For best results, switch to [[TWiLight Menu++]] or Original NAND methods. | ||
==== melonDS ==== | ==== melonDS ==== | ||