Difference between pages "GameCube emulators" and "Nintendo 3DS emulators"

From Emulation General Wiki
(Difference between pages)
Jump to navigation Jump to search
(Emulators)
(Tags: Mobile edit, Mobile web edit)
 
(Citra Android is somewhat good now.)
(Tags: Mobile edit, Mobile web edit)
 
Line 1: Line 1:
 
{{Infobox console
 
{{Infobox console
|title = Nintendo GameCube
+
|title = Nintendo 3DS
|logo = GameCube-logo.png
+
|logo = 3ds.png
|image = GameCube-Console-Set.png
 
 
|developer = [[:Nintendo]]
 
|developer = [[:Nintendo]]
|type = [[:Category:Home consoles|Home video game console]]
+
|type = [[:Category:Handheld consoles|Handheld game console]]
|generation = [[:Category:Sixth-generation video game consoles|Sixth generation]]
+
|generation = [[:Category:Eighth-generation video game consoles|Eighth generation]]
|release = 2001
+
|release = 2011
|discontinued = 2007
+
|discontinued = 2020
|predecessor = [[Nintendo 64 emulators|Nintendo 64]]
+
|predecessor = [[Nintendo DSi emulators|Nintendo DSi]]
|successor = [[Wii emulators|Wii]]
 
 
|emulated = {{✓}}
 
|emulated = {{✓}}
 
}}
 
}}
The '''[[gametech:Nintendo GameCube|GameCube]]''' ('''GCN'''/'''NGC''') is a 32-bit sixth-generation console released by [[wikipedia:Nintendo|Nintendo]] on November 18, 2001 for {{inflation|USD|199|2001}}. It has a IBM PowerPC Gekko CPU at 486 MHz with a ATI Flipper GPU. Nintendo, Namco, and Sega later designed the '''[https://segaretro.org/Triforce Triforce]''' arcade board based on the GameCube, releasing titles for it the next year. The Triforce had a IBM PowerPC "Gekko" at 486 MHz with 24MB of RAM. The GPU was a Custom ATI/Nintendo "Flipper".
 
  
Nintendo released the successor, the [[Wii emulators|Wii]], in 2006 where it was revealed to have very similar (albeit more powerful) hardware and compatible interfaces. This meant that the Wii could handle GameCube games natively rather than use emulation. In contrast, when the [[Wii U emulators|Wii U]] was released in 2012 it contained a Wii mode that could use Wii remotes, but didn't have ports for GameCube controllers or supported GameCube games; the controller issue was later resolved with the Super Smash Bros. adapter, but this still didn't allow GameCube titles to be run.
+
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, 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] (glasses-free) 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).
 +
 
 +
__TOC__
  
 
==Emulators==
 
==Emulators==
Line 21: Line 22:
 
! scope="col"|Platform(s)
 
! scope="col"|Platform(s)
 
! scope="col"|Latest Version
 
! scope="col"|Latest Version
! scope="col"|Wii
+
! scope="col"|Open-Source
! scope="col"|Triforce
 
 
! scope="col"|[[libretro|Libretro Core]]
 
! scope="col"|[[libretro|Libretro Core]]
! 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="10"|PC / x86
+
!colspan="7"|PC / x86
 
|-
 
|-
|[[Dolphin]]
+
|[[Citra]]
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
+
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://dolphin-emu.org/download/ Dev]
+
|[https://citra-emu.org/download Nightly]
|{{✓}} ||{{~}}<ref group=N name=triforce>Requires the [https://dolphin-emu.org/download/list/Triforce/1/ Triforce branch] to work. It is very old and unsupported.</ref> ||{{✓}}<ref group=N>Currently at Alpha release and has bugs that are not present on standalone Dolphin.</ref> ||{{✓}} ||{{✓}} ||{{✓}}
+
|{{✓}}
 +
|{{✓}}
 +
|{{✓}}
 +
|{{✓}}
 
|-
 
|-
|Ishiiruka-Dolphin
+
|Corgi3DS
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
+
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://forums.dolphin-emu.org/Thread-unofficial-ishiiruka-dolphin-custom-version Dev]
+
|[https://github.com/PSI-Rockin/Corgi3DS git]
|{{✓}} ||{{✗}} ||{{~}} ||{{✓}} ||{{✓}} ||{{✓}}
+
|{{✓}}
 +
|{{✗}}
 +
|{{}}
 +
|{{}}
 
|-
 
|-
|[https://github.com/ogamespec/dolwin/ Dolwin]
+
|[[3dmoo]]
 
|align=left|{{Icon|Windows|Linux}}
 
|align=left|{{Icon|Windows|Linux}}
|[https://github.com/ogamespec/dolwin/releases {{DolwinVer}}]
+
|[https://github.com/plutooo/3dmoo git]
|{{}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}}
+
|{{}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 
|-
 
|-
|[[Dolphin (Nintendo)|Dolphin <small>(Nintendo)</small>]]
+
|[[TronDS]]
|align=left|{{Icon|Windows}}
 
|[http://www.emuparadise.me/sdk/Installers/Nintendo/GameCube/NINTENDO%20GameCube%20PC%20Dolphin%20Emulator%20e2.8%20(Installer).7z e2.8]
 
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|Gekko
 
 
|align=left|{{Icon|Windows|Linux}}
 
|align=left|{{Icon|Windows|Linux}}
|[https://code.google.com/p/gekko-gc-emu/ {{GekkoVer}}]
+
|[http://trondsemu.byethost15.com/downloads.html 1.0.0.5]
|{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
+
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 
|-
 
|-
!colspan="10"|Mobile / ARM
+
|LemonLime
 +
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[https://github.com/Cyuubi/LemonLime/ git]
 +
|{{✓}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 
|-
 
|-
|[[Dolphin]]
+
!colspan="9"|Mobile / ARM
|align=left|{{Icon|Android|Linux}}
 
|[https://dolphin-emu.org/download/list/master Dev]
 
|{{✓}} ||{{~}}<ref group=N name=triforce /> ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}
 
 
|-
 
|-
|[[Dolphin MMJR (Unofficial)|Dolphin MMJR]]
+
|[[Citra_MMJ_(Unofficial)|Citra-MMJ]]
 
|align=left|{{Icon|Android}}
 
|align=left|{{Icon|Android}}
|[https://github.com/Bankaimaster999/Dolphin-MMJR/releases git]
+
|[https://github.com/weihuoya/citra/releases git]
|{{✓}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}}
+
|{{✓}}
 +
|{{✗}}
 +
|{{✓}}
 +
|{{~}}<small> (WIP)</small>
 
|-
 
|-
|Dolphin 360
+
|[[Citra]]
 
|align=left|{{Icon|Android}}
 
|align=left|{{Icon|Android}}
|[https://github.com/Gamer64ytb/Dolphin-360-Definitive-/releases git]
+
|[https://play.google.com/store/apps/details?id=org.citra.citra_emu Beta 15]<br/>[https://github.com/citra-emu/citra-android git]
|{{✓}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{~}}
+
|{{✓}}
|-
+
|{{}}
|-
+
|{{✓}}
!colspan="10"|Consoles
+
|{{~}}
|-
 
|[[Nintendont]]
 
|align=left|{{Icon|Wii|WiiU}}
 
|[https://github.com/FIX94/Nintendont 2021-07-12]
 
|{{✓}} ||{{~}} ||N/A ||{{✓}} ||{{}} ||{{✓}}
 
|-
 
 
|}
 
|}
 
<references group=N />
 
  
 
===Comparisons===
 
===Comparisons===
;[[Dolphin]]: is the emulator of choice for the GameCube and the first and only emulator for the Wii. It's updated on a near daily basis and has very good emulation of almost every game, though some games have known bugs on their issue trackers. It is the first emulator to [https://dolphin-emu.org/blog/2016/09/06/booting-the-final-gc-game/ boot the full game catalog of a sixth generation home console] (Before any emulator for the same generation rivals like the Dreamcast, PlayStation 2 and Xbox) and did so on September 2016. The developers maintain a wiki containing known bugs, tips, user-provided tests, and much more for every game. System requirements are high, more so for Wii games than GameCube. As of May 2021, Dolphin's compatibility is at 96% of the games being playable or perfect.
+
;[[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].
  
;[http://forums.dolphin-emu.org/Thread-unofficial-ishiiruka-dolphin-custom-version Ishiiruka-Dolphin]: is a fork of Dolphin optimized towards performance at the cost of accuracy and stability in the process. Its most important features are:
+
;[[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.
:* Async shader compilation (Avoiding shader compilation time)
+
;[[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.
:*Galop's DX11 Texture Encoder/Decoder (Improve Texture decoding specially EFB TO RAM)
 
:*Pre compiled Vertex loader & Optimized vertex decoding using SSSE3 and SSE4
 
:*Dolby Pro Logic II support for XAudio and OpenAL
 
:*Custom Texture improvements to allow directly compressed texture loading including mipmaps
 
:*DSP - Time Stretching Option (Improve sound output to avoid sound skipping on slow machines)
 
:*DX9 support for old machines
 
:*Modified Post Processing interface to support:
 
::*Multiple Stages allowing more complex effects.
 
::*Depth and native gamma as inputs.
 
::*Custom version of DolphinFX that work under dx11 and ogl
 
::*SSAO and DOF.
 
::*Texture Scaling Support
 
::*Bump Mapping with advanced material properties
 
::*Phong Specular reflection to improve lighting quality
 
::*Tessellation and Displacement Mapping
 
::*Rim Lighting
 
::*Bump auto-generation to improve lighting
 
  
;Dolwin: an open-source Nintendo GameCube emulator which initially started development in 2004. It went into hiatus but is now active. With that in mind, it's not the most advanced but has interesting features and is able to boot and run some commercial games and demos...
+
;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").
  
;[[Dolphin (Nintendo)]]: Nintendo made an emulator for Windows that was also called Dolphin. This official program does not run commercial games and has no connection to the open-source project.
 
 
;[[Nintendont]]: loads Gamecube ISOs for Wii and Wii U. It was a Wii homebrew app, but Wii U with Homebrew Channel on Wii Mode can run it too! For Wii U, there is Memory Card Emulation. Playable with Gamecube Controller, Classic Controller, USB HID controllers and Wiimote + Nunchuk
 
<!--
 
 
==Emulation issues==
 
==Emulation issues==
-->
+
Citra currently can't emulate any of the 3DS's online features aside from LAN multiplayer. It can't connect to Nintendo's servers but users can create rooms and play through the internet.
 
 
==Running BIOS==
 
To boot the GameCube's original BIOS, you need a dump from real hardware. Dolphin does not require it to load games but can be set to use it if desired. Current development builds have introduced a feature allowing users to load the BIOS directly from the interface in the Tools list without needing to load a game, as well as hybrid XFB. If you're on the stable release, use XFB Virtual and disable "Skip BIOS" in the GameCube options; you will have to load a GameCube title so that the startup animation begins and like on the original console, you hold the first controller's A button down and the system will send you into the main menu instead of booting the game. You can then switch to another game with Change Disc, or you can explore the BIOS.
 
 
 
==Peripherals==
 
 
 
===GC/GBA Cable===
 
Nintendo produced a [[Wikipedia:Nintendo GameCube – Game Boy Advance link cable|special cable]] (<code>DOL-011</code>) that allowed connectivity with the [[Game Boy Advance emulators|Game Boy Advance]] in specific games. Up to four ports could be taken up for the game. While the third-generation Pokémon games are the prime example of it being used in conjunction with Colosseum, XD, or Pokémon Box, they aren't the only games to do so.
 
 
 
Dolphin includes a GBA core based on [[mGBA]] that is tied to GameCube emulation, which allows for a very stable connection that works with features such as save states and netplay. Dolphin can also connect to standalone versions of mGBA; this is necessary for some less commonly used features such as [[GBA e-Reader emulators|e-Reader]] support or cases where the GBA has to be disconnected from the GameCube. Both of these can be enabled by going into the controller settings and assigning the GBA to one or more ports. The general config menu also allows you to specify a GBA rom to be used if using the built-in GBA core.
 
 
 
===Game Boy Player===
 
This add-on plugged into the bottom of the GameCube and allowed it to play Game Boy / Game Boy Advance games on a standard television; it had provisions against [[Wikipedia:Game Boy Advance Video|Game Boy Advance Video]] cartridges by returning an error after booting them. The launcher even had support for the GBA-GCN link cable where the Game Boy Advance would serve as the controller. Some GBA games like ''Super Mario Advance 4'' and ''Mario & Luigi: Superstar Saga'' took advantage of the add-on by adding rumble support. The hardware is essentially a peripheral containing Game Boy Advance hardware.
 
 
 
No emulator currently supports the Game Boy Player hardware and its features. With [[mGBA]] now integrated into Dolphin, support for it has been hinted as coming in the future.<ref>https://dolphin-emu.org/blog/2021/07/21/integrated-gba/#conclusion</ref>
 
 
 
===Broadband Adapter===
 
This shouldn't be confused with [[netplay]], which synchronizes emulation over an internet connection.
 
 
 
This was an add-on that allowed the console to use LAN technology over [[Wikipedia:Ethernet|ethernet]]. ''Mario Kart: Double Dash!!'' used it to play on a local network with up to eight other GameCubes while ''Phantasy Star Online'' took it a step further to allow an internet connection for Sega's now-offline official game servers. ''Kirby Air Ride'' and ''1080° Avalanche'' also support this adapter. This feature was unavailable on the [[Wii emulators|Wii]] despite having 802.11 b/g connectivity built-in and an official USB LAN adaptor.
 
 
 
It's possible to hook up zero or more of each of these configurations on one networked game:
 
*A GameCube with the broadband adapter (of course)
 
*A soft modded Wii with [https://gbatemp.net/threads/330554 Devolution]
 
*A recent version of Dolphin with OpenVPN
 
 
 
[[Dolphin]] has support for the Broadband Adapter on Windows and Linux. Go to <code>Config</code> > <code>GameCube</code>. A drop-down for <code>SP1</code> will have the <code>Broadband Adaptor</code> or <code>BBA</code>, depending on the version of Dolphin you're running. [https://wiki.dolphin-emu.org/index.php?title=Broadband_Adapter#How_to_use_the_BroadBand_Adapter Their wiki contains up to date instructions on setting up a VPN.]
 
 
 
[[Nintendont]] has the easiest method. There is an option named BBA Emulation to emulate the Broadband Adapter.
 
  
===Bongos===
+
Corgi3ds currently can't run any game without heavy stuttering.
This is a special controller used with ''Donkey Konga'' and other ''Donkey Kong'' games released for the GameCube. Dolphin supports this controller.
 
  
===Microphone===
+
Citra emulates the home menu although you can't launch anything on it.
This was an accessory bundled with ''Mario Party 6 & Mario Party 7'' that allowed the GameCube to receive audio from the memory card slot. There were also other games known to support it.
 
  
In Dolphin, set slot B in the emulator settings to the microphone. In the operating system, you then make your default recording device available.
+
==Game images==
 +
===3DS vs. CIA===
 +
<!--this section is pretty inaccurate-->
 +
There are two big 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.
  
==Triforce==
+
*Note that CTR (Citrus) is the internal code names for the 3DS.
The [[wikipedia:List_of_Sega_arcade_system_boards#Triforce|Triforce]] is an [[:Category:Arcade|arcade system board]] developed jointly by [[wikipedia:Namco|Namco]], [[wikipedia:Sega|Sega]], and Nintendo, with the first games appearing in 2002. The system hardware is based on the Nintendo GameCube with several differences, such as provisions for add-ons such as Sega's GD-ROM system and upgradeable RAM modules. [[Wii emulators]] can also play Triforce games.
 
  
Dolphin used to have Triforce support in the stable builds, which was quickly deprecated and [https://dolphin-emu.org/download/list/Triforce/ a branch] remained. This branch is no longer updated, but can still be used.<ref>https://dolphin-emu.org/blog/2016/09/01/dolphin-progress-report-august-2016</ref> The developers plan to bring it back, but only if there is interest and work is done to clean up the code.
+
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.  
  
Compatibility is abysmal, and there are lots of unemulated features preventing the games from even booting without patches like both Mario Kart GP games. Check the Dolphin Wiki for more information. Various features including the NamCam camera, the save transfer functionality, and the multiple Triforce board networking, are simply not emulated.
+
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.
  
For the games that do emulate with Dolphin Triforce (that is, the Mario Kart GP games and little else):
+
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.
* Under "Config/GameCube" (or more recently "Controllers"), "SP1" and "Port 1" need to be assigned to "AM-Baseboard".
 
* "Enable Cheats" must be activated. Mario Kart GP1 and GP2 have patch codes that need to be added to their gameini file to fix the showstopping emulation bugs and to change the coins value to something else than 0, to play it at all.
 
* The keys used are the same as the GameCube controls in Dolphin. The Z button supposedly emulates "Insert Coin", but it doesn't seem to work.
 
  
There is a Nintendont option to activate Triforce. Moving the C-stick anywhere will insert a coin.
+
===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 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.
  
==Panasonic Q==
+
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.
[[File:Panasonic Q.png|210px|thumb|left|The Panasonic Q GameCube console.]]
 
The Panasonic Q  (sometimes refered to as GameQ by Gamecube fans) is a hybrid version of the GameCube with a DVD player manufactured by Panasonic in cooperation with Nintendo. The system was officially released only in Japan. A feature of its main competitors Xbox and PlayStation 2, the GameCube lacked commercial DVD movie playback functionality due to the use of the Nintendo optical discs format for games and the correspondingly small disc tray.
 
Initially, the Panasonic Q was only able to play games and DVDs from Japan; however, a modified version, which could play American games and DVDs, began to be sold from Import shops, making it a popular console to import from Japan. The unit was priced at around ¥41,000 JPY and the modified version was priced at ¥46,000 JPY.
 
The Panasonic Q is capable of using almost all of the GameCube hardware upgrades. A special version of the Game Boy Player was designed for the Q because the Player was designed to fit onto the bottom of the GameCube, and the Q's different bottom form factor kept the Player from being installed. Other features of the Panasonic Q include a backlit information LCD, a front-loading slot disc tray, an optical sound output supporting Dolby Digital 5.1 and DTS, a separate subwoofer jack, and a stainless steel chassis. These high-end features, as well as the aforementioned multimedia playback capabilites, have made the Panasonic Q a popular console to collect.
 
  
The Q system was licensed by Nintendo, released on December 13, 2001, and was discontinued on December 18, 2003 due to low sales.
+
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.
  
==Resources==
+
Due to these keys being available, Citra can now play encrypted games (3ds or CIA) without decrypting them. Read this page
*[https://wiki.dolphin-emu.org/index.php?title=Main_Page Dolphin Wiki] - The most comprehensive wiki for the Dolphin emulator and games. Good for any fixes/tweaks/settings you should know beforehand.
+
[https://citra-emu.org/wiki/aes-keys/]. Then, go to this reddit page and copy the code from second comment (credit floppydoppy2)
 +
[https://www.reddit.com/r/CemuPiracy/comments/gpo2ey/aes_key_nintendo_3ds_title_keys_for_citra/]. 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.  
  
==References==
 
<references/>
 
  
 
{{Nintendo}}
 
{{Nintendo}}
  
 
[[Category:Consoles]]
 
[[Category:Consoles]]
[[Category:Home consoles]]
+
[[Category:Handheld consoles]]
[[Category:Sixth-generation video game consoles]]
 
 
[[Category:Nintendo consoles]]
 
[[Category:Nintendo consoles]]
[[Category:GameCube emulators|*]]
+
[[Category:Eighth-generation video game consoles]]
 +
[[Category:Nintendo 3DS emulators|*]]

Revision as of 21:27, 10 October 2021

Nintendo 3DS
3ds.png
Developer Nintendo
Type Handheld game console
Generation Eighth generation
Release date 2011
Discontinued 2020
Predecessor Nintendo DSi
Emulated

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, 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 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 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).

Emulators

Name Platform(s) Latest Version Open-Source Libretro Core Active Recommended
PC / x86
Citra Windows Linux macOS Nightly
Corgi3DS Windows Linux macOS git
3dmoo Windows Linux git
TronDS Windows Linux 1.0.0.5
LemonLime Windows Linux macOS git
Mobile / ARM
Citra-MMJ Android git ~ (WIP)
Citra Android Beta 15
git
~

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. An official Android version was released in May of 2020.
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 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 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").

Emulation issues

Citra currently can't emulate any of the 3DS's online features aside from LAN multiplayer. It can't connect to Nintendo's servers but users can create rooms and play through the internet.

Corgi3ds currently can't run any game without heavy stuttering.

Citra emulates the home menu although you can't launch anything on it.

Game images

3DS vs. CIA

There are two big 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 names 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.

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

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 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, allowing to dump 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 [1]. Then, go to this reddit page and copy the code from second comment (credit floppydoppy2) [2]. 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.