Difference between revisions of "Nintendo 3DS emulators"

From Emulation General Wiki
Jump to navigation Jump to search
(Emulation issues)
(Tags: Mobile edit, Mobile web edit)
(yuzu is lowercase)
 
(351 intermediate revisions by 99 users not shown)
Line 2: Line 2:
 
|title = Nintendo 3DS
 
|title = Nintendo 3DS
 
|logo = 3ds.png
 
|logo = 3ds.png
 +
|imagecaption=Nintendo 3DS XL
 
|developer = [[:Nintendo]]
 
|developer = [[:Nintendo]]
|type = [[:Category:Consoles|Handheld game console]]
+
|type = [[:Category:Handheld consoles|Handheld game console]]
 
|generation = [[:Category:Eighth-generation video game consoles|Eighth generation]]
 
|generation = [[:Category:Eighth-generation video game consoles|Eighth generation]]
|release = 2011
+
|release=2011 (3DS)<br/>2014 (new 3DS)
|discontinued = 2020
+
|discontinued =2017 (new 3DS)<br/>2020 (3DS)
|predecessor = [[Nintendo DS emulators|Nintendo DS]]
+
|predecessor=[[Nintendo DS emulators|DS(i)]]
|emulated = {{~}}
+
|successor=[[Nintendo Switch emulators|Switch]]
 +
|emulated = {{}}
 
}}
 
}}
The Nintendo 3DS is an eighth-generation handheld game console by Nintendo, released on March 27, 2011 for {{inflation|USD|249|2011}}. The original model and the 2DS had a dual-core ARM11 MPCore at 268 MHz and a single-core ARM9, 128MB of RAM and 6MB of VRAM, and a DMP PICA200 GPU. The New 3DS and New 2DS XL models upgrade this to an 804 MHz quad-core ARM11 and 256MB of RAM, along with an extra pair of shoulder buttons and a right analogue stick.
 
  
The most notable feature of this console is the use of [https://en.wikipedia.org/wiki/Autostereoscopy autostereoscopic] (i.e. without glasses) 3D, which can be configured using a slider. This was omitted on the cost-reduced 2DS and New 2DS XL models, which was released due to eye health concerns with children whom Nintendo advised not to use the 3DS's stereoscopic mode (though it is speculated that said advisories were more for liability reasons in case of a health-related lawsuit).
+
{{for|other emulators that run on 3DS hardware|Emulators on 3DS}}
 +
 
 +
The '''[[wikipedia:Nintendo 3DS|Nintendo 3DS]]''' is an eighth-generation handheld game console by Nintendo, released on March 27, 2011, for {{inflation|USD|249|2011}}. The original model and the 2DS had a dual-core ARM11 MPCore at 268 MHz and a single-core ARM9, 128 MBs of RAM and 6 MBs of VRAM, and a DMP PICA200 GPU. The New 3DS and New 2DS XL models upgrade this to an 804 MHz quad-core ARM11 and 256 MBs of RAM, along with an extra pair of shoulder buttons and a right analog stick.
 +
 
 +
The most notable feature of this console is the use of [[wikipedia:Autostereoscopy|autostereoscopic]] (glasses-free) 3D, which can be configured using a slider. This was omitted on the cost-reduced 2DS and New 2DS XL models, which were released due to eye health concerns with children ages 6 and under whom Nintendo advised not to use the 3DS' stereoscopic mode (though it is speculated that said advisories were more for liability reasons in case of a health-related lawsuit).
 +
 
 +
;Remember, [[Wikipedia:Category:New_Nintendo_3DS_games|certain titles are exclusive to the New 3DS, New 3DS XL and New 2DS XL]]. Make sure your chosen emulator supports these variations if you want to play them.
  
 
__TOC__
 
__TOC__
  
 
==Emulators==
 
==Emulators==
{| class="wikitable" style="text-align:center;"
+
<div style="overflow-x:auto;width:100%">
 +
{| class="wikitable" style="text-align:center;width:100%"
 
! scope="col"|Name
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Platform(s)
 
! scope="col"|Latest Version
 
! scope="col"|Latest Version
! scope="col"|Open-Source
+
! scope="col"|New 3DS
! scope="col"|[[libretro|Libretro Core]]
+
! scope="col"|[[#Hardware_features|Hardware features]]
 +
! scope="col"|[[#Enhancements|Enhancements]]
 +
! scope="col"|Compatibility
 +
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|Active
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|-
!colspan="7"|PC / x86
+
!colspan="10"|PC / x86
 +
|-
 +
|[[Citra]]<small><br/>[https://docs.libretro.com/library/citra/ citra_libretro]<br/>
 +
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[https://github.com/PabloMK7/citra/releases PabloMK7 fork]<br/>[https://buildbot.libretro.com/nightly/ ''libretro cores'']<ref group=N name=Citralibretro>Similar to Dolphin, PPSSPP and melonDS libretro cores, the standalone version of Citra is highly recommended over the libretro core as the libretro core version is outdated and can be slow and unstable.</ref><br/>[https://citra-emu.org/ Former website] (Offline)
 +
|{{✓}}
 +
|{{~}}
 +
|{{~}}
 +
|[http://web.archive.org/web/20240301112349/https://citra-emu.org/game/ 63%<br/><small>327 out of 519 reported titles</small>]
 +
|{{✓}}
 +
|{{~}}<ref group=N name=CitraActive>Official distribution of yuzu and Citra have been discontinued. See [[Yuzu#Lawsuit]] and [[#Comparisons]] sections. However there are forks that still active. For example, PabloMK7's Citra fork. PabloMK7 was a contributor of Citra. The repository has also seen work from GPUCode, who was one of the most active contributors for Citra before the repository was deleted. It seems that this new repository is simply the new place for Citra development.</ref>
 +
|{{✓}}
 
|-
 
|-
|[[Citra]]
+
|[[Panda3DS]]
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://citra-emu.org/download/ Nightly]
+
|[https://github.com/wheremyfoodat/Panda3DS {{Panda3DSVer}}]
 
|{{✓}}
 
|{{✓}}
 +
|{{~}}
 +
|{{~}}
 +
|[https://github.com/Panda3DS-emu/Panda3DS-Games-List/issues 37%<br/><small>38 out of 102 reported titles</small>]
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|-
 
|-
|Vvctre
+
|[[Mikage]] (御影)
|align=left|{{Icon|Windows|W7|Linux}}
+
|align=left|{{Icon|Windows|Linux}}
|[https://github.com/vvanelslande/vvctre/releases 39.0.1]
+
|{{na}} <small>(WIP)</small>
|{{}}
+
|{{~}}
|{{}}
+
|{{~}}
 +
|{{~}}
 +
|N/A
 +
|{{~}} <ref name=mikageopen>[https://mikage.app/faq/#willmikagebeopensource FAQ: Will Mikage be open-source?]</ref>
 
|{{✓}}
 
|{{✓}}
|{{}}
+
|{{TBD}} <small>(WIP)</small>
 
|-
 
|-
 
|Corgi3DS
 
|Corgi3DS
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/PSI-Rockin/Corgi3DS/ Git]
+
|[https://github.com/PSI-Rockin/Corgi3DS git]
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{?}}
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
|{{✓}}
 
 
|{{✗}}
 
|{{✗}}
 
|-
 
|-
|[[3dmoo]]
+
|[[TronDS]]
 
|align=left|{{Icon|Windows|Linux}}
 
|align=left|{{Icon|Windows|Linux}}
|[https://github.com/plutooo/3dmoo/ Git]
+
|[http://trondsemu.byethost15.com/downloads.html 1.0.0.5]
|{{}}
+
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{?}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|-
 
|-
|[[TronDS]]
+
|[[3dmoo]]
 
|align=left|{{Icon|Windows|Linux}}
 
|align=left|{{Icon|Windows|Linux}}
|[http://trondsemu.byethost15.com/downloads.html 1.0.0.5]
+
|[https://github.com/plutooo/3dmoo git]
 +
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 +
|{{?}}
 +
|{{✓}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
Line 70: Line 107:
 
|LemonLime
 
|LemonLime
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/Cyuubi/LemonLime/ Git]
+
|[https://github.com/ItsKaitlyn03/LemonLime/ git]
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{?}}
 
|{{✓}}
 
|{{✓}}
 +
|{{✗}}
 +
|{{✗}}
 +
|-
 +
|VVCTRE
 +
|align=left|{{Icon|Windows}}
 +
|[https://archive.org/details/vvctre-bestbuild archive]
 +
|{{✓}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{?}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|-
 
|-
!colspan="9"|Mobile / ARM
+
!colspan="10"|Mobile / ARM
 
|-
 
|-
 
|[[Citra]]
 
|[[Citra]]
 +
|align=left|{{Icon|Android}}{{Icon|iOS}}<ref group=N>iOS support only available with rinsuki builds.</ref>
 +
|[https://github.com/PabloMK7/citra/releases PabloMK7 fork]<br/>[https://buildbot.libretro.com/nightly/android/latest/arm64-v8a/ ''libretro core'']<ref group=N name=Citralibretro></ref><br/>[https://citra-emu.org/ Former website] (Offline)<br/>[https://github.com/rinsuki/citra rinsuki builds for iOS] (Offline)
 +
|{{✓}}
 +
|{{~}}
 +
|{{~}}
 +
|[http://web.archive.org/web/20240301112349/https://citra-emu.org/game/ 63%<br/><small>327 out of 519 reported titles</small>]
 +
|{{✓}}
 +
|{{~}}<ref group=N name=CitraActive></ref>
 +
|{{✓}}
 +
|-
 +
|[[Citra MMJ]]
 +
|align=left|{{Icon|Android}}
 +
|[https://github.com/weihuoya/citra/releases git]
 +
|{{✓}}
 +
|{{~}}
 +
|{{~}}
 +
|{{?}}
 +
|{{~}}
 +
|{{✓}}
 +
|{{~}}
 +
|-
 +
|[[Panda3DS]]
 
|align=left|{{Icon|Android}}
 
|align=left|{{Icon|Android}}
|[https://play.google.com/store/apps/details?id=org.citra.citra_emu Google Play]<br/>[https://github.com/citra-emu/citra-android Git]
+
|[https://github.com/wheremyfoodat/Panda3DS 1.0]
 +
|{{~}}
 +
|{{~}}
 +
|{{~}}
 +
|?
 +
|{{✓}}
 +
|{{✓}}
 +
|{{~}}
 +
|-
 +
|[https://emuplace.app/emulators/limon/ Limón]
 +
|align=left|{{Icon|iOS}}
 +
|[https://emuplace.app/emulators/limon/ipas Public Betas]
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
 +
|{{✗}}
 +
|{{?}}
 +
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{~}}
 
|{{~}}
 
|-
 
|-
|Citra-MMJ <small>(Unofficial)</small>
+
|[https://github.com/Gamer64ytb/Lemonade Lemonade]
 
|align=left|{{Icon|Android}}
 
|align=left|{{Icon|Android}}
|[https://github.com/weihuoya/citra/releases Git] <small>(WIP)</small>
+
|[https://github.com/Gamer64ytb/Lemonade/releases/tag/Alpha Alpha]
 
|{{✓}}
 
|{{✓}}
|{{}}
+
|{{?}}
 +
|{{?}}
 +
|{{?}}
 
|{{✓}}
 
|{{✓}}
 +
|{{✓}}[https://old.reddit.com/r/EmulationOnAndroid/comments/1bbos29/citraenhanced_is_going_to_be_continued_and/ *]
 
|{{~}}
 
|{{~}}
 
|-
 
|-
|[[Mikage]]
+
|[[Mikage]] (御影)
 
|align=left|{{Icon|Android}}
 
|align=left|{{Icon|Android}}
|0.5
+
|{{na}} <small>(WIP)</small>
|{{}}
+
|{{~}}
|{{}}
+
|{{~}}
|{{}}
+
|{{~}}
|{{}}
+
|N/A
 +
|{{~}} <ref name=mikageopen></ref>
 +
|{{}}
 +
|{{TBD}} <small>(WIP)</small>
 
|-
 
|-
 
|}
 
|}
 +
</div>
 +
<references group=N />
 +
===Comparisons===
 +
;[[Citra]]
 +
:An open-source Nintendo 3DS emulator made by experienced emulator developers. The devs insist that it's still experimental, but as of mid-2019, around half of all games are fully playable with minor or no issues, on top of that its supports lots of [[#Hardware_features|hardware features]] and [[#Enhancements|enhancements]]. An official Android version was [https://web.archive.org/web/20240229131511/https://citra-emu.org/entry/announcing-citra-android/ released in May 2020], also there is a VR project for this emulator called "[[Virtual_reality#Emulators_with_VR_support|CitraVR]]". '''As of March 4th 2024, the [[History_of_emulation#Lawsuits|lawsuit filed by Nintendo]] against the management of the yuzu emulator has led to the unfortunate decision to cease official distribution of yuzu and Citra'''.
 +
 +
:;[[Citra MMJ]]:A unofficial Nintendo 3DS emulator for Android written by weihuoya and forked from Citra. Offers less stuttering and greater performance than mainline Citra on Android, along with additional features.
 +
 +
:;Limón:Port of Citra to iOS/iPadOS devices, developed by Jarrod Norwell. Previously known as emuThreeDS.
 +
 +
:;Lemonade:Fork of Citra. Previously known as Citra-Enhanced which development stopped for a while but then it's back[https://old.reddit.com/r/EmulationOnAndroid/comments/1bbos29/citraenhanced_is_going_to_be_continued_and/] due to the [[Yuzu#Lawsuit|stoppage of Citra development]]. Project now focusing Android platform and plan to add new [[#Hardware_features|features]] and [[#Enhancements|enhancements]].
 +
 +
;[[Mikage]]:An emulator developed by Tony Wasserka, a.k.a. ''neobrain'', focused on optimization and stability in Android and PC, willing to fill the gap left by Citra. It is closed-source, but developers will release the source code bit-by-bit after the official app release.<ref name=mikageopen></ref> [https://mikage.app/faq/ Mikage is an early stage of development], but according to developer it supports some of the [[#Hardware_features|hardware features]] and many commercial games already.
 +
 +
;[[Panda3DS]]
 +
:A [[High/Low_level_emulation|HLE approach]] 3DS emulator founded by Alber and wheremyfoodat (Peach), and currently developed by an array of developers. It can run many games, even including some Nintendo 3DS applets.
 +
 +
;Corgi3DS:A unique 3DS emulator designed for macOS systems. Its GitHub activity started on [https://github.com/PSI-Rockin/Corgi3DS/commit/1b81c7e00c9a7a73f2da12d07ec3a9e4bc69c6ac May 5, 2019]. The main programmer is a self-proclaimed dog-lover and has previously created CorgiDS and DobieStation, though the former seemed to be abandoned. Corgi3DS is mainly indigenous, but the preliminary [https://github.com/PSI-Rockin/Corgi3DS/commit/a60b06683495e4e8fd0c170ec4ca8c453ce31609 Wi-Fi code] was ported from [[melonDS]]' code. The project is on an indefinite hiatus. PSI said this about the matter: "''Haven't worked on it in several months, it's basically a hobby project of mine that I touch when I feel the urge''".
 +
 +
;[[TronDS]]:A closed-source Nintendo 3DS emulator, presumably made by the iDeaS author. Little is known about it other than that it can run simple homebrew. It cannot be used for playing games.
  
===Comparisons===
 
;[[Citra]]:An open-source Nintendo 3DS emulator made by experienced emulator developers. The devs insist that it's still experimental, but as of mid-2019 around half of all games are fully playable with minor or no issues.  [https://citra-emu.org/entry/announcing-citra-android/ An official Android version was released in May of 2020].
 
;Vvctre
 
:Based on Citra. The best way to play Luigi's Mansion 2 on PC, since it changes the CPU tickspeed to 21000, and the CPU clock speed to 85%.
 
 
;[[3dmoo]]:Another open-source Nintendo 3DS emulator, made by experienced developers in the DS hacking scene. It was released shortly after Citra and received similar progress for a few months, but was eventually aborted by its authors after a while.
 
;[[3dmoo]]:Another open-source Nintendo 3DS emulator, made by experienced developers in the DS hacking scene. It was released shortly after Citra and received similar progress for a few months, but was eventually aborted by its authors after a while.
;[[TronDS]]:A closed-source Nintendo 3DS emulator, presumably made by the iDeaS author. Little is known about it other than that it can run simple homebrew. It cannot be used for playing games.
 
;Corgi3DS:An unique 3DS emulator designed for macOS systems. Its GitHub activity started on [https://github.com/PSI-Rockin/Corgi3DS/commit/1b81c7e00c9a7a73f2da12d07ec3a9e4bc69c6ac May 5, 2019]. Main programmer is a self-proclaimed dog lover and has previously created CorgiDS and DobieStation, though the former seemed to be abandoned. Corgi3DS is mainly indigenous but the preliminary [https://github.com/PSI-Rockin/Corgi3DS/commit/a60b06683495e4e8fd0c170ec4ca8c453ce31609 Wi-Fi code] was ported from [[melonDS]]' code.(project on a  indefinite hiatus, PSI said this about the matter "Haven't worked on it in several months, it's basically a hobby project of mine that I touch when I feel the urge").
 
;[[Mikage]]:A commercial, Android-exclusive 3DS emulator optimized for smartphones and other mobile devices. Made by a former author of Citra and other emulators.  On an indefinite hiatus.
 
  
==Emulation issues==
+
==Hardware features==
Citra currently can't emulate any of the 3DS's online features aside from LAN multiplayer.
+
<div style="overflow-x:auto;width:100%">
It cant connect to nintendos servers but  
+
{|class="wikitable" style="text-align:center;vertical-align:middle;width:100%"
Users can create rooms and play through the internet
+
|- style="font-weight:bold;"
 +
! colspan=2 | Name
 +
! Citra
 +
! Citra MMJ
 +
! Lemonade
 +
! Mikage
 +
! Panda3DS
 +
|-
 +
| rowspan=1 | [[Wikipedia:Nintendo_3DS_system_software|3DS system software]]
 +
| [[Wikipedia:Nintendo_3DS_system_software#Home_menu|HOME Menu]]
 +
| {{✓}}[https://web.archive.org/web/20240229150223/https://citra-emu.org/entry/citra-progress-report-2023-q2/#home-menu *]
 +
| {{✗}}
 +
| {{?}}
 +
| {{✓}}[https://www.youtube.com/@MikageEmu/videos *]
 +
| {{✓}}[https://github.com/wheremyfoodat/Panda3DS#compatibility *]
 +
|-
 +
| colspan=2 | [[#DS Mode|DS Mode]]
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{TBD}}
 +
| {{✗}}
 +
|-
 +
| colspan=2 | [[Virtual_Console|Virtual Console]]
 +
| {{✓}}
 +
| {{?}}
 +
| {{?}}
 +
| {{TBD}}
 +
| {{?}}
 +
|-
 +
| colspan=2 | [[Wikipedia:3D_Classics#List_of_games|3D Classics]]
 +
| {{✓}}
 +
| {{?}}
 +
| {{?}}
 +
| {{TBD}}
 +
| {{?}}
 +
|-
 +
| colspan=2 | [[Virtual_reality#Emulators_with_VR_support|3D Screen]]
 +
| {{✓}}<ref group=N>Citra supports Stereoscopic 3D mode (Side by Side, Anaglyph, Interlaced, Reverse Interlaced).</ref>
 +
| {{✗}}
 +
| {{?}}
 +
| {{TBD}}
 +
| {{?}}
 +
|-
 +
| colspan=2 | [[Amiibo]]
 +
| {{✓}}
 +
| {{✓}}
 +
| {{?}}
 +
| {{TBD}}
 +
| {{~}}[https://github.com/wheremyfoodat/Panda3DS#compatibility *]
 +
|-
 +
| rowspan=6 |Inputs
 +
| Circle Pad Pro/C-Stick
 +
| {{✓}}
 +
| {{✓}}
 +
| {{?}}
 +
| {{TBD}}
 +
| {{?}}
 +
|-
 +
| Motion Control (Gyroscope/Accelerometer)
 +
| {{✓}}<ref group=N>Citra supports motion control in Mouse (Right click), CemuhookUDP and SDL modes.</ref>
 +
| {{TBD}}
 +
| {{?}}
 +
| {{TBD}}
 +
| {{?}}
 +
|-
 +
| [[Wikipedia:Nintendo_3DS_system_software#Nintendo_3DS_Camera|Camera]]
 +
| {{✓}}<ref group=N>Citra supports Front and Rear cameras in single (2D) and double (3D) modes. The camera can be a still image or system camera.</ref>
 +
| {{✗}}
 +
| {{?}}
 +
| {{TBD}}
 +
| {{?}}
 +
|-
 +
| Microphone
 +
| {{✓}}<ref group=N>Citra supports microphone as Static noise and Real device.</ref>
 +
| {{✗}}
 +
| {{?}}
 +
| {{TBD}}
 +
| {{?}}
 +
|-
 +
| [https://github.com/libretro/RetroArch/pull/13743 Head-tracking]
 +
| {{?}}
 +
| {{✗}}
 +
| {{?}}
 +
| {{TBD}}
 +
| {{?}}
 +
|-
 +
| Touch-screen
 +
| {{✓}}<ref group=N>Citra supports touch-screen in Emulator Window and CemuhookUDP modes. It's possible to use button mapping.</ref>
 +
| {{✓}}
 +
| {{?}}
 +
| {{✓}}
 +
| {{?}}
 +
 
 +
|-
 +
| rowspan=6 | Connectivity
 +
| [[Wikipedia:SpotPass_and_StreetPass#Nintendo_3DS|SpotPass/StreetPass]]
 +
| {{✗}}[https://web.archive.org/web/20240118041239/https://github.com/citra-emu/citra/issues/4928 *]
 +
| {{✓}}[https://www.youtube.com/watch?v=nvSlRyWH32c *]
 +
| {{?}}
 +
| {{TBD}}
 +
| {{?}}
 +
|-
 +
| NFC Reader/Writer
 +
| {{✗}}[https://web.archive.org/web/20201217073356/https://github.com/citra-emu/citra/issues/4797 *]
 +
| {{✗}}
 +
| {{?}}
 +
| {{TBD}}
 +
| {{?}}
 +
|-
 +
| [[Nintendo_Network|Nintendo Network]]
 +
|{{✗}}[https://pretendo.network/progress#juxtaposition-(miiverse) *]
 +
|{{✗}}
 +
| {{?}}
 +
|{{TBD}}
 +
| {{?}}
 +
|-
 +
| [[Wikipedia:Nintendo_3DS#Download_Play|Download Play]]
 +
| {{✓}}
 +
| {{TBD}}
 +
| {{?}}
 +
| {{TBD}}
 +
| {{?}}
 +
|-
 +
| DS(i) Connectivity
 +
| {{✗}}
 +
| {{✗}}
 +
| {{?}}
 +
| {{TBD}}
 +
| {{?}}
 +
|-
 +
| Wii U Connectivity
 +
| {{✗}}
 +
| {{✗}}
 +
| {{?}}
 +
| {{TBD}}
 +
| {{?}}
 +
|}
 +
</div>
 +
<references group=N />
 +
===DS Mode===
 +
:[[Wikipedia:Nintendo_3DS#Backward_compatibility|Wikipedia - Nintendo 3DS backwards compatibility]]
 +
In addition to its own software, the Nintendo 3DS is backward compatible with all Nintendo DS and Nintendo DSi software. Like the DSi and DSi XL, the Nintendo 3DS is incompatible with DS software that requires use of the Game Boy Advance port. Nintendo DS and DSi software cannot be played with 3D visuals on the 3DS.
 +
*None of the 3DS emulators support this feature. There was a [https://web.archive.org/web/20240301010422/https://community.citra-emu.org/t/ds-game-support/33133 feature request] for implementing this feature to Citra emulator.
 +
 
 +
==Enhancements==
 +
<div style="overflow-x:auto;width:100%">
 +
{|class="wikitable" style="text-align:center;vertical-align:middle;width:100%"
 +
|- style="font-weight:bold;"
 +
! colspan=2 | Name
 +
! Citra
 +
! Panda3DS
 +
! Mikage
 +
|-
 +
| rowspan=6 | Graphics
 +
| [[Resolution|Resizable Internal Resolution]]
 +
| {{Y}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| [[Widescreen_hacks#Nintendo_3DS|Ultrawide hack]]<br/><small>Widescreen already supported on 3DS system.<br/>However for DS backwards compatibility titles you need to use patches to play in widescreen mode.<br/>There is no support by system for render games in other ratios such as ultrawide 21:9 and 32:9.</small>
 +
| {{N}}
 +
| {{N}}
 +
| {{?}}
 +
|-
 +
| [[Texture_packs#Nintendo_3DS_.28Citra.29|Texture Replacement]]
 +
| {{~}}[https://web.archive.org/web/20240304211606/https://citra-emu.org/help/feature/custom-textures/ *]
 +
| {{N}}
 +
| {{?}}
 +
|-
 +
| Ray-tracing<br/><small>([https://devblogs.microsoft.com/directx/announcing-microsoft-directx-raytracing/ DXR], [https://www.khronos.org/blog/ray-tracing-in-vulkan VRT] and [https://developer.apple.com/documentation/metal/metal_sample_code_library/accelerating_ray_tracing_using_metal MRT])</small>
 +
| colspan=3 | <small>Implementing ray-tracing in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future.<br/>However you can try "[[Shaders_and_filters#Notable_ReShade_shaders|Screen-Space Ray Traced Global Illumination]]" shader using ReShade.[https://reshade.me/forum/general-discussion/5442-release-misc-emulators-with-depth-buffer-access#34388][https://reshade.me/forum/general-discussion/5442-release-misc-emulators-with-depth-buffer-access?start=60#46417]</small>
 +
|-
 +
| Pre-rendering AA<br/><small>(MSAA, SSAA)</small>
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| Super-resolution techniques<br/><small>([https://github.com/NVIDIAGameWorks/Streamline/blob/main/docs/ProgrammingGuideDLSS.md DLSS], XeSS and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 2+]])</small>
 +
| colspan=3 | <small>Requires access to the depth buffer and temporal data like motion-vectors so it's quite challenging and unlikely to be feasible in the near future.<br/>Besides any GPU that can use DLSS can run these emulators at 4k native with ease anyway.</small>
 +
|-
 +
| rowspan=4 | Performance
 +
| [[Overclocking|Overclock]]
 +
| {{Y}}[https://web.archive.org/web/20220428210656/https://github.com/citra-emu/citra/issues/5975 *]
 +
| {{N}}
 +
| {{?}}
 +
|-
 +
| [[30/60_FPS_cheat_codes|Internal Framerate Hack]]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| [https://blurbusters.com/frame-generation-essentials-interpolation-extrapolation-and-reprojection/ Frame generation technologies]<br/><small>([https://store.steampowered.com/app/993090/Lossless_Scaling/ LSFG], [https://github.com/NVIDIAGameWorks/Streamline/blob/main/docs/ProgrammingGuideDLSS_G.md DLSS-G], [https://www.techpowerup.com/316835/extrass-framework-paper-details-intels-take-on-frame-generation ExtraSS] and [https://community.amd.com/t5/gaming/amd-fluid-motion-frames-is-out-now-on-amd-radeon-rx-7000-series/ba-p/634372 AFMF])</small>
 +
| colspan=3 | <small>Implementing frame generation technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future, however post-processing techniques such as [[Wikipedia:Motion_interpolation|motion interpolation]] is quite possible. [[Input_lag|Input latency]] will be a crucial factor, but its impact likely varies depending on the specific technique employed, it's recommended to use '''after applying the "Internal Framerate Hack"'''.<br/>While '''AFMF''' or '''LSFG''' could be used with Citra?, please be aware that some visual glitches and artifacts may occur at this time.
 +
|-
 +
| Preload [[Wikipedia:ROM_image|ROM image]] to RAM<br/><small>For users with sluggish multi-platter HDDs or plagued by horrible seek times, this enhancement '''might''' offer smoother experience, potentially reduced power consumption; it also shines when images reside on a network drive.<br/>Although keep in mind that preloading image would take some time, and it will require additional amount of RAM capacity.</small>
 +
| {{N}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| rowspan=6 | Post-Processing
 +
| [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering AA]]<br/><small>(FXAA, TXAA and MLAA/SMAA)</small>
 +
| {{N}}[https://web.archive.org/web/20201217074552/https://github.com/citra-emu/citra/issues/3623 *]
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| [[Wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]]<br/><small>(Sharp bilinear, Lanczos and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 1]])</small>
 +
| {{Y}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| [[Shaders_and_filters|Filters]]
 +
| {{N}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
|[[Shaders_and_filters#AI-powered filters|AI-powered filter compatible]]<br/><small>([https://www.nvidia.com/en-us/geforce/news/gfecnt/nvidia-freestyle-ansel-enhancements-geforce-experience-article/ Freestyle])</small>
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| [[Shader_Presets|Shader Chain]]
 +
| {{~}}<ref group=N2 name=lrExclusive>Exclusive to libretro core.</ref>
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
|[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features]
 +
| [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua]
 +
| {{?}}
 +
| {{Y}}
 +
| {{?}}
 +
|-
 +
| Rewind
 +
| {{N}}[https://github.com/citra-emu/citra/issues/5859 *]
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| Fast-Forward/Turbo Speed
 +
| {{Y}}[https://github.com/citra-emu/citra/pull/3353 *]
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| Savestates
 +
| {{Y}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| [https://tasvideos.org/Movies Movie recording/playback]
 +
| {{Y}}[https://web.archive.org/web/20201217052538/https://github.com/citra-emu/citra/pull/3500 *]
 +
| {{N}}
 +
| {{?}}
 +
|-
 +
| rowspan=2 | Controls
 +
| [[Controllers#Mouse_Injectors_for_Emulators|Mouse Injector Compatible]]
 +
| {{N}}
 +
| {{N}}
 +
| {{?}}
 +
|-
 +
| [[Input_lag|Input lag-mitigating technique]]
 +
| {{N}}
 +
| {{N}}
 +
| {{?}}
 +
|-
 +
| rowspan=6 | Quality of life
 +
| Built-in [[Mods,_hacks_and_fan-translations#Built-in_graphics_mod_editor.2Fmanager_for_emulators|Graphics mod editor/manager]]
 +
| {{✗}}
 +
| {{✗}}
 +
| {{?}}
 +
|-
 +
| Built-in [[Cheats_and_patches|Cheat Manager]]
 +
| {{Y}}
 +
| {{Y}}[https://github.com/wheremyfoodat/Panda3DS#compatibility *]
 +
| {{?}}
 +
|-
 +
| [[Save_disk_space_for_ISOs|Streamable compression format]]
 +
| {{N}}
 +
| {{N}}
 +
| {{?}}
 +
|-
 +
| Per-Game Profiles
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| Command Line Options
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| [[Frontends#Graphical_User_Interfaces_.28GUIs.29|Big Picture Mode]]
 +
| {{N}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| rowspan=3 | Misc
 +
| [https://retroachievements.org/gameList.php?c=62 RetroAchievements]
 +
| {{N}}
 +
| {{N}}
 +
| {{?}}
 +
|-
 +
| [[Virtual_reality#VR_game_room_simulations|EmuVR support]]
 +
| colspan=3 |  Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores] at the moment.
 +
|-
 +
| [[Wikipedia:Category:Debugging|Debug Features]]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|}
 +
</div>
 +
<references group=N2/>
  
==Game Images==
+
==Game images==
 
===3DS vs. CIA===
 
===3DS vs. CIA===
 
<!--this section is pretty inaccurate-->
 
<!--this section is pretty inaccurate-->
There are two big types of 3DS game images currently:
+
There are two types of 3DS game images currently:
;NCSD-type: Includes '''.CCI''' (CTR Cart Image), aka '''.3DS''' - data on physical carts, can be executed right off the bat, not used much since no one bothered to develop a CFW solution to load them yet (besides converting them to CIA) and only overpriced flashcarts (Gateway/Sky3DS) can load them.
+
;NCSD-type: Includes '''.cci''' (CTR Cart Image), aka '''.3ds''' - data on physical carts, can be executed right off the bat, not used much since no one bothered to develop a CFW solution to load them yet (besides converting them to CIA) and only overpriced flashcarts (Gateway/Sky3DS) can load them.
;NCCH-type: Includes '''.CIA''' (CTR Importable Archive) and '''.CXI''' - installers that unpack game data to the SD card or the 3DS NAND memory. Some homebrew apps (FBI, DevMenu) can install CIA files on 3DS systems with CFW installed. Digital games are often distributed as CIAs.
+
;NCCH-type: Includes '''.cia''' (CTR Importable Archive) and '''.cxi''' - installers that unpack game data to the SD card or the 3DS NAND memory. Some homebrew apps (FBI, DevMenu) can install CIA files on 3DS systems with CFW installed. Digital games are often distributed as CIAs.
  
*Note that CTR (Citrus) is the internal code names for the 3DS.
+
*Note that CTR (Citrus) is the internal code name for the 3DS.
  
Due to one format being so far restricted to overpriced flashcarts and the very slow Citra development (meaning playing on a real 3DS is still the preferred way to go), the CIA format is preferred in many sharing websites, downloader tools and even tools to dump your own games.  
+
Due to one format being so far restricted to overpriced flashcarts and the very slow Citra development (meaning playing on an actual 3DS is still the preferred way to go), the CIA format is preferred in many sharing websites, downloader tools and even tools to dump your own games.  
  
However, converting a CIA image to 3DS format (and vice-versa) is still possible with no loss of content. Read the Encryption section below for a guide.
+
However, converting a CIA image to 3DS format (and vice versa) is still possible with no loss of content. Read the Encryption section below for a guide.
  
 
Some outdated dumping utilities intended for use with Citra (like braindump) produce damaged decrypted 3DS images that can't be easily converted back. No known solution exists so far to fix those dumps.
 
Some outdated dumping utilities intended for use with Citra (like braindump) produce damaged decrypted 3DS images that can't be easily converted back. No known solution exists so far to fix those dumps.
  
 
===Encryption===
 
===Encryption===
Most dumps online are also encrypted. This encryption poses no problem for playing game images on a real 3DS since it can deal with that encryption with internal keys included in the bootrom, but becomes a problem when trying to emulate them on PC. '''Citra cannot play encrypted games, only decrypted games will work.''' A solution to load encrypted images is for the moment on the back burner and there's not much developer interest for it. If you want to play games on Citra, you'll have to convert your game images to that format.
+
Most dumps online are also encrypted. This encryption poses no problem for playing game images on an actual 3DS since it can deal with that encryption with internal keys included in the bootrom, but becomes a problem when trying to emulate them on PC. '''Citra requires additional encryption keys to play encrypted games.''' If you want to play encrypted games on Citra without these keys, you'll have to convert your game images to the decrypted format.
  
 
Formerly, decrypting those ROMs used to require real 3DS hardware (bafflingly enough, Citra devs still ask users to do this even nowadays). It required files generated by a real 3DS called '''xorpads''' unique to that game version, using the encryption engine within the 3DS. After this part, these xorpads (which are big) can be used with PC tools (or other 3DS-based homebrew) to produce the decrypted game image. After that, some 3DS homebrew (Decrypt9, GodMode9) included tools to directly convert encrypted images to decrypted images with a single button press, but those still require a real 3DS.
 
Formerly, decrypting those ROMs used to require real 3DS hardware (bafflingly enough, Citra devs still ask users to do this even nowadays). It required files generated by a real 3DS called '''xorpads''' unique to that game version, using the encryption engine within the 3DS. After this part, these xorpads (which are big) can be used with PC tools (or other 3DS-based homebrew) to produce the decrypted game image. After that, some 3DS homebrew (Decrypt9, GodMode9) included tools to directly convert encrypted images to decrypted images with a single button press, but those still require a real 3DS.
  
But now this new feature was added to citra enables the user to play encrypted games without decrypting them. Read this page
+
The game changer was the sighax exploit, which allowed for the dumping of the 3DS bootrom, which includes these encryption keys. This file can be downloaded from the [[Emulator Files#Nintendo 3DS|Emulator Files]] page. You can then use a program like '''[https://gbatemp.net/threads/tutorial-extract-decrypt-games-nand-backups-and-sd-contents-with-fuse-3ds.499994/ fuse-3ds]''' to decrypt games using this file. Simply place boot9.bin in the same folder, run the program, mount the encrypted CIA or 3DS, and find the '''decrypted.cxi''' file inside (usually in the first folder). Citra should be able to load this file without issues.
[https://citra-emu.org/wiki/aes-keys/]
 
  
Then, go to this reddit page and copy the code from second comment (credit floppydoppy2)
+
Due to these keys being available, Citra can now play encrypted games (3DS or CIA) without decrypting them. Read [https://web.archive.org/web/20240229064914/https://citra-emu.org/wiki/aes-keys this page]. Then, go to this Reddit page and copy the code from the [https://www.reddit.com/r/CemuPiracy/comments/gpo2ey/aes_key_nintendo_3ds_title_keys_for_citra second comment] (credit floppydoppy2). Copy it and make a new TXT file named '''aes_keys.txt'''. Place this TXT file in the sysdata folder of Citra's user directory. This key file is already included in the 3DS Shared Data download in the [[Emulator files#Nintendo_3DS|Emulator Files]] page.
[https://www.reddit.com/r/CemuPiracy/comments/gpo2ey/aes_key_nintendo_3ds_title_keys_for_citra/] copy it ,make a new .TXT file names 'aes_keys.txt'
 
Then you might have that user folder for citra, then open it go to sysdata , assuming that you have a shared font.bin file there paste this AES keys.txt there.
 
Now user folder is what is the system archive of 3ds you need it to display video
 
Now put user folder in folder of citra or in c: drive (see some YouTube videos , read some reddit posts you will understand it)
 
For user folder:-  [
 
  
(This is a ogl 3.3 fix using mesa driver). Then extract this archive using 7-zip (don't use this as your citra this is an old version. Compatibility is very low and speed may be terrible in your device). Copy the 'user' folder you see on that folder, download the latest citra version on to your desktop then paste this user folder there.
+
==Emulation issues==
 
+
For more information about Nintendo 3DS hardware and reverse engineering;
The game changer was the sighax exploit, allowing to dump the 3DS bootrom which includes these encryption keys. This file can be downloaded from the [[Emulator Files#Nintendo 3DS|Emulator Files]] page. You can then use a program like '''[https://gbatemp.net/threads/tutorial-extract-decrypt-games-nand-backups-and-sd-contents-with-fuse-3ds.499994/ fuse-3ds]''' to decrypt games using this file. Simply place boot9.bin in the same folder, run the program, mount the encrypted .cia or .3ds, and find the '''decrypted.cxi''' file inside (usually in the first folder). Citra should be able to load this file without issues.
+
* MVG: [https://www.youtube.com/watch?v=YAKujG8SXKY The most important Nintendo 3DS Game Ever Made], [https://www.youtube.com/watch?v=jjFGxIfDX70 Homebrew on a $100 New Nintendo 3DS LL], [https://www.youtube.com/watch?v=-guh8hXo1bc The Nintendo 3DS eShop Is Going Offline Forever. How to Play All Games After 2023],
 +
* Citra: [https://web.archive.org/web/20240304201632/https://citra-emu.org/tags/progress-report/ Blog], [https://discord.gg/FAXfZV9 Discord]
 +
* Panda3DS: [https://discord.gg/UyepRMm Discord]
 +
* [https://www.3dbrew.org/wiki/Main_Page 3dbrew]
 +
* [https://wiki.gbatemp.net/wiki/3DS_Homebrew_Development GBATemp - 3DS Homebrew Development]
 +
* [https://3ds.hacks.guide/ 3DS Hacks Guide]
 +
* [https://fosdem.org/2024/schedule/event/fosdem-2024-1726-panda3ds-climbing-the-tree-of-3ds-emulation/ FOSDEM '24: Panda3DS - Climbing the tree of 3DS emulation]
  
 
{{Nintendo}}
 
{{Nintendo}}
  
[[Category:Consoles]]
+
[[Category:Consoles|!3DS]]
[[Category:Nintendo consoles]]
+
[[Category:Handheld consoles|!3DS]]
[[Category:Eighth-generation video game consoles]]
+
[[Category:Nintendo consoles|!3DS]]
[[Category:Nintendo 3DS emulators]]
+
[[Category:Eighth-generation video game consoles|!3DS]]
 +
[[Category:Nintendo 3DS emulators|*]]
 +
[[Category:ARM-based|!3DS]]

Latest revision as of 06:51, 21 March 2024

Nintendo 3DS
3ds.png
Nintendo 3DS XL
Developer Nintendo
Type Handheld game console
Generation Eighth generation
Release date 2011 (3DS)
2014 (new 3DS)
Discontinued 2017 (new 3DS)
2020 (3DS)
Predecessor DS(i)
Successor Switch
Emulated
For other emulators that run on 3DS hardware, see Emulators on 3DS.

The Nintendo 3DS is an eighth-generation handheld game console by Nintendo, released on March 27, 2011, for $249. The original model and the 2DS had a dual-core ARM11 MPCore at 268 MHz and a single-core ARM9, 128 MBs of RAM and 6 MBs of VRAM, and a DMP PICA200 GPU. The New 3DS and New 2DS XL models upgrade this to an 804 MHz quad-core ARM11 and 256 MBs of RAM, along with an extra pair of shoulder buttons and a right analog stick.

The most notable feature of this console is the use of autostereoscopic (glasses-free) 3D, which can be configured using a slider. This was omitted on the cost-reduced 2DS and New 2DS XL models, which were released due to eye health concerns with children ages 6 and under whom Nintendo advised not to use the 3DS' stereoscopic mode (though it is speculated that said advisories were more for liability reasons in case of a health-related lawsuit).

Remember, certain titles are exclusive to the New 3DS, New 3DS XL and New 2DS XL. Make sure your chosen emulator supports these variations if you want to play them.

Emulators[edit]

Name Platform(s) Latest Version New 3DS Hardware features Enhancements Compatibility FLOSS Active Recommended
PC / x86
Citra
citra_libretro
Windows Linux macOS PabloMK7 fork
libretro cores[N 1]
Former website (Offline)
~ ~ 63%
327 out of 519 reported titles
~[N 2]
Panda3DS Windows Linux macOS 0.8 ~ ~ 37%
38 out of 102 reported titles
Mikage (御影) Windows Linux N/A (WIP) ~ ~ ~ N/A ~ [1] TBD (WIP)
Corgi3DS Windows Linux macOS git ?
TronDS Windows Linux 1.0.0.5 ?
3dmoo Windows Linux git ?
LemonLime Windows Linux macOS git ?
VVCTRE Windows archive ?
Mobile / ARM
Citra Android iOS [N 3] PabloMK7 fork
libretro core[N 1]
Former website (Offline)
rinsuki builds for iOS (Offline)
~ ~ 63%
327 out of 519 reported titles
~[N 2]
Citra MMJ Android git ~ ~ ? ~ ~
Panda3DS Android 1.0 ~ ~ ~ ? ~
Limón iOS Public Betas ? ~
Lemonade Android Alpha ? ? ? * ~
Mikage (御影) Android N/A (WIP) ~ ~ ~ N/A ~ [1] TBD (WIP)
  1. 1.0 1.1 Similar to Dolphin, PPSSPP and melonDS libretro cores, the standalone version of Citra is highly recommended over the libretro core as the libretro core version is outdated and can be slow and unstable.
  2. 2.0 2.1 Official distribution of yuzu and Citra have been discontinued. See Yuzu#Lawsuit and #Comparisons sections. However there are forks that still active. For example, PabloMK7's Citra fork. PabloMK7 was a contributor of Citra. The repository has also seen work from GPUCode, who was one of the most active contributors for Citra before the repository was deleted. It seems that this new repository is simply the new place for Citra development.
  3. iOS support only available with rinsuki builds.

Comparisons[edit]

Citra
An open-source Nintendo 3DS emulator made by experienced emulator developers. The devs insist that it's still experimental, but as of mid-2019, around half of all games are fully playable with minor or no issues, on top of that its supports lots of hardware features and enhancements. An official Android version was released in May 2020, also there is a VR project for this emulator called "CitraVR". As of March 4th 2024, the lawsuit filed by Nintendo against the management of the yuzu emulator has led to the unfortunate decision to cease official distribution of yuzu and Citra.
Citra MMJ
A unofficial Nintendo 3DS emulator for Android written by weihuoya and forked from Citra. Offers less stuttering and greater performance than mainline Citra on Android, along with additional features.
Limón
Port of Citra to iOS/iPadOS devices, developed by Jarrod Norwell. Previously known as emuThreeDS.
Lemonade
Fork of Citra. Previously known as Citra-Enhanced which development stopped for a while but then it's back[1] due to the stoppage of Citra development. Project now focusing Android platform and plan to add new features and enhancements.
Mikage
An emulator developed by Tony Wasserka, a.k.a. neobrain, focused on optimization and stability in Android and PC, willing to fill the gap left by Citra. It is closed-source, but developers will release the source code bit-by-bit after the official app release.[1] Mikage is an early stage of development, but according to developer it supports some of the hardware features and many commercial games already.
Panda3DS
A HLE approach 3DS emulator founded by Alber and wheremyfoodat (Peach), and currently developed by an array of developers. It can run many games, even including some Nintendo 3DS applets.
Corgi3DS
A unique 3DS emulator designed for macOS systems. Its GitHub activity started on May 5, 2019. The main programmer is a self-proclaimed dog-lover and has previously created CorgiDS and DobieStation, though the former seemed to be abandoned. Corgi3DS is mainly indigenous, but the preliminary Wi-Fi code was ported from melonDS' code. The project is on an indefinite hiatus. PSI said this about the matter: "Haven't worked on it in several months, it's basically a hobby project of mine that I touch when I feel the urge".
TronDS
A closed-source Nintendo 3DS emulator, presumably made by the iDeaS author. Little is known about it other than that it can run simple homebrew. It cannot be used for playing games.
3dmoo
Another open-source Nintendo 3DS emulator, made by experienced developers in the DS hacking scene. It was released shortly after Citra and received similar progress for a few months, but was eventually aborted by its authors after a while.

Hardware features[edit]

Name Citra Citra MMJ Lemonade Mikage Panda3DS
3DS system software HOME Menu * ? * *
DS Mode TBD
Virtual Console ? ? TBD ?
3D Classics ? ? TBD ?
3D Screen [N 1] ? TBD ?
Amiibo ? TBD ~*
Inputs Circle Pad Pro/C-Stick ? TBD ?
Motion Control (Gyroscope/Accelerometer) [N 2] TBD ? TBD ?
Camera [N 3] ? TBD ?
Microphone [N 4] ? TBD ?
Head-tracking ? ? TBD ?
Touch-screen [N 5] ? ?
Connectivity SpotPass/StreetPass * * ? TBD ?
NFC Reader/Writer * ? TBD ?
Nintendo Network * ? TBD ?
Download Play TBD ? TBD ?
DS(i) Connectivity ? TBD ?
Wii U Connectivity ? TBD ?
  1. Citra supports Stereoscopic 3D mode (Side by Side, Anaglyph, Interlaced, Reverse Interlaced).
  2. Citra supports motion control in Mouse (Right click), CemuhookUDP and SDL modes.
  3. Citra supports Front and Rear cameras in single (2D) and double (3D) modes. The camera can be a still image or system camera.
  4. Citra supports microphone as Static noise and Real device.
  5. Citra supports touch-screen in Emulator Window and CemuhookUDP modes. It's possible to use button mapping.

DS Mode[edit]

Wikipedia - Nintendo 3DS backwards compatibility

In addition to its own software, the Nintendo 3DS is backward compatible with all Nintendo DS and Nintendo DSi software. Like the DSi and DSi XL, the Nintendo 3DS is incompatible with DS software that requires use of the Game Boy Advance port. Nintendo DS and DSi software cannot be played with 3D visuals on the 3DS.

  • None of the 3DS emulators support this feature. There was a feature request for implementing this feature to Citra emulator.

Enhancements[edit]

Name Citra Panda3DS Mikage
Graphics Resizable Internal Resolution ? ?
Ultrawide hack
Widescreen already supported on 3DS system.
However for DS backwards compatibility titles you need to use patches to play in widescreen mode.
There is no support by system for render games in other ratios such as ultrawide 21:9 and 32:9.
?
Texture Replacement ~* ?
Ray-tracing
(DXR, VRT and MRT)
Implementing ray-tracing in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future.
However you can try "Screen-Space Ray Traced Global Illumination" shader using ReShade.[2][3]
Pre-rendering AA
(MSAA, SSAA)
? ? ?
Super-resolution techniques
(DLSS, XeSS and FSR 2+)
Requires access to the depth buffer and temporal data like motion-vectors so it's quite challenging and unlikely to be feasible in the near future.
Besides any GPU that can use DLSS can run these emulators at 4k native with ease anyway.
Performance Overclock * ?
Internal Framerate Hack ? ? ?
Frame generation technologies
(LSFG, DLSS-G, ExtraSS and AFMF)
Implementing frame generation technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future, however post-processing techniques such as motion interpolation is quite possible. Input latency will be a crucial factor, but its impact likely varies depending on the specific technique employed, it's recommended to use after applying the "Internal Framerate Hack".
While AFMF or LSFG could be used with Citra?, please be aware that some visual glitches and artifacts may occur at this time.
Preload ROM image to RAM
For users with sluggish multi-platter HDDs or plagued by horrible seek times, this enhancement might offer smoother experience, potentially reduced power consumption; it also shines when images reside on a network drive.
Although keep in mind that preloading image would take some time, and it will require additional amount of RAM capacity.
? ?
Post-Processing Post-rendering AA
(FXAA, TXAA and MLAA/SMAA)
* ? ?
Post-rendering scaling
(Sharp bilinear, Lanczos and FSR 1)
? ?
Filters ? ?
AI-powered filter compatible
(Freestyle)
? ? ?
Shader Chain ~[N2 1] ? ?
Inverse tone mapping compatible ? ? ?
TAS features Macros/Scripts/Lua ? ?
Rewind * ? ?
Fast-Forward/Turbo Speed * ? ?
Savestates ? ?
Movie recording/playback * ?
Controls Mouse Injector Compatible ?
Input lag-mitigating technique ?
Quality of life Built-in Graphics mod editor/manager ?
Built-in Cheat Manager * ?
Streamable compression format ?
Per-Game Profiles ? ? ?
Command Line Options ? ? ?
Big Picture Mode ? ?
Misc RetroAchievements ?
EmuVR support Exclusive to libretro cores at the moment.
Debug Features ? ? ?
  1. Exclusive to libretro core.

Game images[edit]

3DS vs. CIA[edit]

There are two types of 3DS game images currently:

NCSD-type
Includes .cci (CTR Cart Image), aka .3ds - data on physical carts, can be executed right off the bat, not used much since no one bothered to develop a CFW solution to load them yet (besides converting them to CIA) and only overpriced flashcarts (Gateway/Sky3DS) can load them.
NCCH-type
Includes .cia (CTR Importable Archive) and .cxi - installers that unpack game data to the SD card or the 3DS NAND memory. Some homebrew apps (FBI, DevMenu) can install CIA files on 3DS systems with CFW installed. Digital games are often distributed as CIAs.
  • Note that CTR (Citrus) is the internal code name for the 3DS.

Due to one format being so far restricted to overpriced flashcarts and the very slow Citra development (meaning playing on an actual 3DS is still the preferred way to go), the CIA format is preferred in many sharing websites, downloader tools and even tools to dump your own games.

However, converting a CIA image to 3DS format (and vice versa) is still possible with no loss of content. Read the Encryption section below for a guide.

Some outdated dumping utilities intended for use with Citra (like braindump) produce damaged decrypted 3DS images that can't be easily converted back. No known solution exists so far to fix those dumps.

Encryption[edit]

Most dumps online are also encrypted. This encryption poses no problem for playing game images on an actual 3DS since it can deal with that encryption with internal keys included in the bootrom, but becomes a problem when trying to emulate them on PC. Citra requires additional encryption keys to play encrypted games. If you want to play encrypted games on Citra without these keys, you'll have to convert your game images to the decrypted format.

Formerly, decrypting those ROMs used to require real 3DS hardware (bafflingly enough, Citra devs still ask users to do this even nowadays). It required files generated by a real 3DS called xorpads unique to that game version, using the encryption engine within the 3DS. After this part, these xorpads (which are big) can be used with PC tools (or other 3DS-based homebrew) to produce the decrypted game image. After that, some 3DS homebrew (Decrypt9, GodMode9) included tools to directly convert encrypted images to decrypted images with a single button press, but those still require a real 3DS.

The game changer was the sighax exploit, which allowed for the dumping of the 3DS bootrom, which includes these encryption keys. This file can be downloaded from the Emulator Files page. You can then use a program like fuse-3ds to decrypt games using this file. Simply place boot9.bin in the same folder, run the program, mount the encrypted CIA or 3DS, and find the decrypted.cxi file inside (usually in the first folder). Citra should be able to load this file without issues.

Due to these keys being available, Citra can now play encrypted games (3DS or CIA) without decrypting them. Read this page. Then, go to this Reddit page and copy the code from the second comment (credit floppydoppy2). Copy it and make a new TXT file named aes_keys.txt. Place this TXT file in the sysdata folder of Citra's user directory. This key file is already included in the 3DS Shared Data download in the Emulator Files page.

Emulation issues[edit]

For more information about Nintendo 3DS hardware and reverse engineering;