Nintendo 3DS emulators
|Name||Operating System(s)||Latest Version||Active||Recommended|
|Citra||Windows, OS X, Linux||(nightly builds)||✓||✓|
|3dmoo||Windows, Linux||(nightly builds)||✗||✗|
- Citra is an early in development open-source 3DS emulator made by experienced emulator developers. It is considered experimental, and it runs homebrew applications with a decent degree of compatibility. Though it can play many commercial games to some extent, the emulator has various graphical and sound issues with most games, and requires a very powerful CPU for most games to be playable. Citra is being regularly worked on, and progress in it is faster than expected for most emulators. However, there's still no telling how long it will be before it is suitable for playing games to completion.
- 3dmoo is another open-source 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 is a closed-source 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.
The Nintendo 3DS currently has no emulators that play games with all features intact. This is mainly because for a long time the hardware was documented only sparingly, and homebrew code execution was hard to achieve. Nowadays, the hardware is better known and homebrew is being developed. Many games boot now, with a few even having no noticeable graphical issues. However, sound has not fully been implemented. This, along with other various issues, exist that make 3DS emulation not ready for prime time just yet.
There's two big types of 3DS game images currently:
- NCSD-type: Includes .CCI (Citra Cart Image), aka .3DS
- NCCH-type: Includes .CIA (Citra Importable Archive) and .CXI
(Citrus, Citra or CTR being the internal code name for the 3DS)
The first type (.3ds) is used for data on the physical carts, and can be executed right off the bat. These ROMs are playable on official developer flashcards, and 3DS flashcards like Gateway/Sky3DS, but are not playable on CFW aka custom firmwares (because no one bothered to code homebrew doing so... for now).
The second type (.cia) are essentially installers, unpacking and installing the game's contents to your SD card or the 3DS's NAND memory, provided you have a ticket proving you own that game. They're found on digital installs and Nintendo's servers (and some homebrew apps like Freeshop and CIAngel can fool them into thinking you have the tickets and can download the .cia for free even without the eShop). Some unofficial homebrew apps like FBI and DevMenu can install cia files on 3DS systems with CFW, even if the cia files don't have the proper signature or region code.
Citra can only load .3ds files and not .cia files for now. However...
The 3DS custom firmware can only load .cia files and not .3ds files. In addition, the more recent dumping tools output .cia files, even from physical cartridges. And more and more games are digital only nowadays.
This means most dumps online are in the preferred .cia format, considering games are more playable on the real deal than on the Citra emulator.
Even the ones in .3ds format will be most of the time encrypted (same for the .cia ones, for that matter). The 3DS can decrypt and play those dumps, even unofficial ones, but Citra can't. Currently, converting an encrypted (normal) game dump to a decrypted dump requires files generated by a real 3DS called xorpads unique to that game version.
Fortunately, converting from .cia to .3ds and vice-versa is still possible. It still needs those xorpads, except if the game is already decrypted (and 3dsconv can convert 3ds dumps back to cia in case you needed them for the 3DS CFW).