- 2List
Open the cia converter program, create ncchinfo.bin. This is something you'll need to make xorpads, which is used to convert.3ds to a.cia Copy that ncchinfo.bin to your SD card, slap it back into your 3DS and run Rxtools. Go to decryption options and then generate xorpads. 3DS Hacks - Convert 3DS ROMs to.cia Nintendo 3DS games can often be found in the.3ds format, which is intended for emulators like Citra. Nintendo 3DS consoles cannot load.3ds ROM files, however they can be converted to.cia format which can be installed on hacked 3DS consoles with FBI. .3ds files are just files for flashcarts. They aren't encrypted. Unless the specific one you have is encrypted for whatever reason, there's no way for us to know how to Decrypt it other than you asking the uploader. You can convert a standard.3ds file to.cia simply by clicking the file from in Godmode. Skip Into 0:51Go Here to checkout some Legit cia's if you are having issuesLike:How To Extract & Rebuild 3DS Games, Also Le. 9) Run the 3DS to CIA exe program once again. Click 'Convert 3DS ROM to CIA' and select your 3DS ROM, the.game id.Main.exheader.xorpad file, and the output CIA file. 10) Click 'OK' at the final prompt. 11) Wait for the conversion to finish. This would take anywhere from 5 seconds to 5 minutes. 12) Click 'OK' to the messagebox that says.
Installing[edit]
Applications are installed by copying the necessary files directly to the 3ds/
folder in the root of the SD card (preferred for new designs), or in a subdirectory of 3ds/
, in which case said subfolder must be named identically to its executable. Most applications come with two files:
[appname].3dsx
: The executable.[appname].smdh
: The icon/metadata. (Not required in any case, and may be integrated into the.3dsx
)[appname].xml
: The list of supported targets (i.e. installed titles which the app supports replacing in memory at runtime, thus inheriting its permissions), and of any arguments to be passed to the .3dsx. (Optional)
A standalone .xml file can point to a differently-named .3dsx, launching it with potentially different arguments so that a single application can run in different modes.
The Homebrew Launcher will scan the SD card for all .3dsx
files, but will only display an icon for those who have one according to the format described above. Recent enough versions can freely navigate the filesystem to select an application.
List[edit]
Launchers[edit]
Name | Description | Author | Download | Open-Source |
---|---|---|---|---|
Homebrew Launcher | Run homebrew on your 3DS! Compatible with Rosalina and all prior 3dsx loading solutions | devkitPro | Here | Yes |
Homebrew Starter Pack | Everything to get you started. | smea | Here | Yes |
Homebrew Launcher (v1.x) | The old version of the 3DS Homebrew Launcher, originally created for ninjhax 1.x (Discontinued) | smea | Here | Yes |
[ Mashers' HBL] | Homebrew Launcher with grid and folder support. (Discontinued) | Mashers | Here | Lost in masher's retirement |
Applications[edit]
Name | Description | Author | Download | Open-Source | Last Updated |
---|---|---|---|---|---|
3dsfetch | Small 3DS version of a popular Linux ricing script called screenfetch. | VideahGams | Here | Yes | 2015-09-17 |
3DS-PluginsFolder | Simple program that creates folders with TitleID and copy plugins on them | Klairm | Here | Yes | 2020-09-06 |
TSI9 | A simple program for detecting touch screen input. | Johnodon | Here | Yes | 2020-1-18 |
3DSident | Identity tool for the Nintendo 3DS heavily inspired by PSPident. | Joel16 | Here | Yes | 2018-8-2 |
Clear MAC Filter | Reset 8-hour per-console StreetPass rate limiting | tastymeatball | Here | Yes | 2018-8-24 |
CtrRGBPATTY | Generate patches that edit LED notifications | CPunch | Here | Yes | 2017-11-3 |
ctrrpc | A small and easily extensible RPC server/client written in C/Python. Allows you to quickly poke service-commands and syscall s over Wi-Fi from a Python shell on your PC. Useful during reverse-engineering. No longer under (active) development? | plutoo | Build from repo | Yes | 2014-11-10 |
ctr-streaming-server | A 3DS homebrew audio/video playback server. It can also send HID state to the client (see the README) when enabled. The included parse_hidstream tool can be used to parse that HID data to simulate keyboard/mouse input events, via Linux uinput . No longer under (active) development? | yellows8 | Build from repo | Yes | 2014-11-20 |
DownloadMii | A WIP repo-based online marketplace for homebrew applications & games. | filfat | Build from repo | Yes | 2015-11-24 |
fb43ds | A simple 3DS Facebook chat client | linoma | Build from repo | Yes | 2015-04-07 |
for-anyone-who-walks-a-lot | Tool to get past the 10 coin per day limit on earning Play Coins by walking. | iamevn | Here | Yes | 2016-03-26 |
Homebrew Browser | Download homebrew from the internet! | cromo, zeta0134 | Here | Yes | 2015-10-07 |
NFCReader | Allows you to use your 3DS as a NFC/RFID UID Scanner. | Jasper Peters | Here | Yes | 2017-01-21 |
ScreenInfo | Identify whether New 3DS LCD panels are TN or IPS. | SciresM | Here | Yes | 2016-09-04 |
Game Engines[edit]
Name | Description | Author | Download | Open-Source | Last Updated |
---|---|---|---|---|---|
Löve Potion | LOVE2D for 3DS Homebrew. | TurtleP | Here | Yes | 2018-08-27 |
ctrµLua | A Lua interpreter for 3DS, brought to life by the remnants of the µLua community. | Firew0lf, Reuh, Negi | Here | Yes | 2016-06-27 |
EasyRPG Player | RPG Maker 2000/2003 interpreter | Rinnegatamante & EasyRPG Team | Here | Yes | 2019-03-03 |
LuaPlayer+ 3DS | First Lua interpreter 3DS homebrew, under Lua 5.3.1 | Rinnegatamante | Here | Yes | 2016-09-21 |
MegaZeux 3DS | A port of the MegaZeux GCS to the 3DS. | MegaZeux developers | Here | Yes | 2018-03-04 |
Games[edit]
Name | Description | Author | Download | Open-Source | Last Updated |
---|---|---|---|---|---|
2048-3D | A port of the popular game 2048 for the 3DS. | Jasper Peters | Here | Yes | 2016-02-12 |
3DSCraft | A Minecraft port for the 3DS. No longer under (active) development? | smea | Build from repo (alt. here) | Yes | 2014-11-20 |
3DS Nyan Cat | A port of Nyan Cat for the 3DS, using LIBSF2D . | markwinap | Build from repo (alt. here) | Yes | 2015-05-26 |
Antibounce | 'Move your player to bounce around and collect coins. Go between screens through the holes in the sides of the floor. 3D can also be enabled.' | TurtleP | Here | Yes | 2015-12-23 |
Breakout | 'A 3ds Breakout Clone.' | Magicrafter13 | Here | Yes | 2017-10-17 |
checkers3ds | A checkers game in glorious ASCII. No longer under development. | UnsureSherlock | Build from repo | Yes | 2016-02-25 |
Cookie Collector | A tiny adaptation of the popular Cookie Clicker game for the 3DS. | Kaisogen | Here | Yes | 2017-06-04 |
Cookie Clicker 3DS | A simple Cookie Clicker type of game inspired by Kaisogen's Cookie Collector | TheMachinumps | Here | Yes | 2016-08-27 |
EDuke3D | An unofficial port of EDuke32 for the 3DS. | MasterFeizz | Here | Yes | 2016-05-09 |
Helii | A port of Helii for the 3DS. | BHSPitMonkey | Here | Yes | 2015-09-18 |
Insectoid Defense | A Sci-Fi Tower Defense game. | sgowen | Here | Yes | 2015-11-09 |
NumberFucker3DS | Simple math game, originally used as a debug game for LövePotion. | VideahGams | Here | Yes | 2015-09-19 |
Zelda ROTH for 3DS | A port of Legend of Zelda: Return of the Hylian, a Zelda fangame, to 3DS. | nop90 | Here | Yes | 2016-09-11 |
Mastermind 3DS | A port of Mastermind for the 3DS. | Jasper Peters | Here | Yes | 2015-08-15 |
One Whale Trip | Five-lane underwater whale swimming/pearl pickup adventure game in Python. | thp | Here | Yes | 2016-10-02 |
OpenSupaplex | An open source 1:1 reimplementation of Supaplex for the 3DS. | sergiou87 | Here | Yes | 2020-06-29 |
Paddle Puffle 3DS | A port of Paddle Puffle for the 3DS. | Peanut42 | Here | Yes | 2015-07-05 |
Pituka Classics | Play CPC classics using Pituka Emulator-Core on 3DS. | D_Skywalk | Yes (core) | 2016-02-26 | |
Portal3DS | An adaptation of Portal for the 3DS. | smea | Build from repo (Precompiled here) | Yes | 2015-08-18 |
ctrQuake | An unofficial port of Quake for the 3DS, fully playable. | MasterFeizz | Here | Yes | 2016-09-16 |
Reversi | Reversi for the 3DS. | Jasper Peters | Here | Yes | 2016-03-05 |
Sokoban | An unofficial port of the puzzle game Sokoban for the 3DS. | Landm | Here | Yes | 2016-03-14 |
Space Fruit | Hackathon game by 4 friends ported to 3DS. Asteroids but with fruit. | TurtleP | Here | Yes | 2016-04-09 |
SRB2 3DS | An unofficial port of Sonic Robo Blast 2 Version 2.1.20 to New 3DS. It was made by derrek, a known vulnerability researcher and homebrew developer. SRB2 2.2.X Versions (2.2.8 is latest at the time this is being made) aren't ported yet and probably won't be. | [derrekr] | Here (Don't use 2.2 files!) | Yes | 2018-12-23 |
Tappy Plane | A port of Flappy Bird for 3DS, but with a colorful plane. | sgowen | Here | Yes | 2015-11-09 |
Tetrepetete 3DS | A game with blocks. | thp | Here | No | 2016-06-29 |
That Rabbit Game 3DS | Inverse duck hunt with accelerometer input and stereoscopic 3D. | thp | Here | No | 2016-07-04 |
World of 3DSand | A port of World of Sand for the 3DS. | Steveice10 | Here | Yes | 2016-07-12 |
Yeti3DS | A quick and dirty port of Derek Evans' Yeti3D software rendering engine. | smea | Build from repo | Yes | 2015-08-07 |
Loonies 8192 | A Mini Retro Puzzle for DOS, the PSP and 3DS (Homebrew) | thp | Here | No | 2019-01-27 |
DevilutionX | A 3DS Port of Diablo 1. | MrHuu | Here | Yes | 2020-05-08 |
(muahahah I am SIG7 and I added the thread for SRB2 3DS!)
Emulators[edit]
Name | Description | Author | Download | Open-Source | Last Updated |
---|---|---|---|---|---|
3DNES | A NES emulator, without sound support. No longer under development. | st4rk, gdkChan | Here | Yes | 2015-03-28 |
atari800-3DS | An Atari 8-bit home computer emulator. | asie | Here | Yes | 2016-10-29 |
blargSnes | A Super Nintendo (SNES) emulator. A compatibility list can be found here. | StapleButter | Here | Yes | 2015-06-12 |
CHIP-3DS | A simple and slow CHIP-8 emulator. | xerpi | Build from repo (alt. here) | Yes | 2015-04-02 |
CHIP8-2DS | CHIP-8 emulator with savestates and touch controls. | nopy4869 | Here | Yes | 2016-07-20 |
CitrAGB | Yet another GBA emulator for the 3DS. | Shiny Quagsire | Build from repo (alt. here) | Yes | 2015-09-21 |
GameYob | A Game Boy (Color) emulator. A compatibility list can be found here. | Drenn/Steveice10 | Here | Yes | 2016-07-17 |
mGBA | A GBA emulator that runs well without kernel hax. | endrift | Here | Yes | 2016-10-13 |
r3Ddragon | A WIP Virtual Boy emulator for the 3DS based on Reality Boy / Red Dragon. | mrdanielps | Here | Yes | 2016-08-16 |
RetroArch | A multisystem emulator. (GB, GBA, SNES, Genesis, CPS1, CPS2, etc.) | libretro | Here | Yes | Undergoing rapid development. |
SNES9x for 3DS | A SNES emulator for the old 3DS / 2DS. Optimised from Snes9x 1.43 and runs many games at full speed. Compatibility list here | bubble2k16 | Here | Yes | 2017-02-11 |
VirtuaNES for 3DS | A NES emulator for the old 3DS / 2DS. Optimised from VirtuaNES 0.9.7 and runs many games at full speed. | bubble2k16 | Here | Yes | 2017-03-23 |
TemperPCE for 3DS | A PC-Engine/Turbografx-16 emulator for the old 3DS / 2DS. Optimised from Temper runs all games, including CD-ROM and SGX games at full speed. | bubble2k16 | Here | Yes | 2017-06-19 |
Theme managers[edit]
Name | Description | Author | Download | Open-Source | Last Updated |
---|---|---|---|---|---|
3DS HomeMenu extdata Tool | Tool for accessing the SD extdata which Home Menu uses. This essentially allows writing custom themes to extdata which get loaded at Home Menu startup. | yellows8 | Here | Yes | 2015-08-17 |
Custom Home Menu Manager 2 | Theme manager for Nintendo 3DS. Discontinued. | Rinnegatamante | Here | Yes | 2016-07-04 |
Themely | Theme manager for Nintendo 3DS with 3dsthem.es integration. | ErmanSayin | Here | Not anymore, 1.3.1 last FOSS version | 2017-6-28 |
Usagi 3DS Theme Editor | A simple 3DS theme editor for PC. You will need to have the .NET Library installed on your PC first before you can use it. | usagirei | Here | Not sure | 2017.05.28 |
Anemone3DS | New theme and Luma splash screen manager, created to fill the gap left by its predecessors. | User:astronautlevel2 | Here | Yes | 2018-5-13 |
Title managers[edit]
Name | Description | Author | Download | Open-Source | Last Updated |
---|---|---|---|---|---|
FBI | Open source CIA (un)installer and launcher. | Steveice10 | Here | Yes | 2015-12-02 |
FBI 2 | Multipurpose file/title/ticket/save manager | Steveice10 | Here | Yes | 2018-8-21 |
Note: downloading non-system applications from CDN is broken in any known homebrew, regardless of whether a signed ticket is installed or not (See also: 11.8.0-41#Server-side_changes)
Save managers[edit]
Name | Description | Author | Download | Open-Source | Last Updated |
---|---|---|---|---|---|
save_manager | Proof of concept save exporter/importer | profi200 | [Here] | Yes | 2015-09-13 |
svdt | Save Data Explorer/Manager | meladroit | Here | Yes | 2015-10-16 |
[JK's Save Manager] | Save/Extdata Manager | JK_ | Here] | Yes | 2016-09-29 |
JK's Save Manager for Rosalina | Modded version of JKSM for use as .3dsx on Luma 8+ | Phalk, JK_ | Here | Yes | 2017-7-12 |
PKSM | Save editor for Pokémon generations 3 to 7 | Bernardo Giordano | Here | Yes | 2020-6-13 |
Checkpoint | Fast and simple homebrew save manager for 3DS and Switch written in C++ | Bernardo Giordano | Here | Yes | 2019-12-9 |
SpecializeMii | Editor for Mii database (specialness) | phijor | Here | Yes | 2017-1-22 |
SpecializeMii | Editor for Mii database (specialness and ownership) | phijor, Ryccardo | Here | Yes | 2017-8-13 |
File servers[edit]
Name | Description | Author | Download | Open-Source | Last Updated |
---|---|---|---|---|---|
ftpd (ftBrony) | A FTP server. | mtheall | Here | Yes | 2020-05-30 |
FTP-3DS | Fork of ftBrony with a Nintendo theme. No longer under development and without repo. | iamevn | N/A | Yes (No source officially available.) | N/A |
FTP - Graphic ModifierX Edition | Fork of ftpd with aesthetic modifications. | FloatingStar | Here | Yes | 2016-01-27 |
ftpony | A basic FTP server, useful for testing new homebrew versions without swapping the SD card. No longer under (active) development? | smea | Build from repo | Yes | 2014-11-24 |
Icon Packs[edit]
Icon Packs are SMDH
Packs for homebrew apps.
Name | Description | Author | Download | Last Updated |
---|---|---|---|---|
Simplok | The first 3DS Icon pack. | link6155 | Here | 2015-09-12 |
1LP | Another 3DS Icon pack. Repo is dead, no alternate downloads available. | 100pcrack | N/A | 2015-12-22 |
Modern UI | A simple icon pack with a flat and minimalist design. | LouchDaishiteru | Here | 2016-02-15 |
Demos[edit]
Name | Description | Author | Download | Open-Source | Last Updated |
---|---|---|---|---|---|
Skate Station | A demo for the 3DS featuring music and 3D effects | SVatG | Here | Yes | July 2019 |
cubedemo | A short demo of Homebrew on the 3DS, with working sound. | plutoo | Here | No | N/A |
demo ou mourir | Small demo for the 3DS with music and 2D effects | Desire | Here | No | November 2015 |
The Night of Interruptions! | An independently made short film which can be watched on the Nintendo 3DS. | Chukoloco08 | Here | No | December 2020 |
makerom | |
General | |
---|---|
Author(s) | 3dsguy |
Type | PC utility |
Version | 0.15 |
Links | |
Download | |
Source |
makerom is a tool which can be used to create NCCH, CCI, and CIA files.
- 1Format Overviews
- 1.2CCI
- 1.3CIA
- 2Using Makerom
- 2.1Command line
Format Overviews[edit]
NCCH[edit]
The native format storing code binaries and data archives for the 3DS is NCCH. NCCH files are comprised of:
- code/exheader/plainregion (used for code execution) (plainregion just lists included SDK library add-ons)
- icon (app title text, icon, homemenu settings, see here
- banner (cbmd + cwav, i.e. the upper screen banner/sound shown on the homemenu)
- logo (the splash screen displayed after an application is launched from the homemenu)
- romfs (read-only filesystem used to store resources)
Typical uses for NCCH files include:
- Executable image (code+exheader+icon+banner+logo+romfs)
- e-Manual archive (accessed from homemenu) (romfs)
- DLP child CIA archive (accessed from application) (romfs)
- Update Data archive (romfs)
- Standalone data archive (romfs)
- DLC index archive (icon+romfs)
- DLC archive (romfs)
CCI[edit]
The native format for gamecard images is CCI and is a NCCH container format. CCI files are limited to containing 8 NCCH files, and can contain NCCH files for applications titles only.
NCCH configuration for CCI[edit]
NCCH | Required | Index |
---|---|---|
Executable image | YES | 0 |
e-Manual archive | NO | 1 |
DLP child CIA archive | NO | 2 |
Update Data archive | NO | 7 |
CIA[edit]
The native format for packaging NCCH files for install is CIA, which is also a NCCH container format. CIA files are limited to containing 65535 NCCH files and can be used to contain NCCH files for any title type. CIA files also contain signed data used by the 3DS for general title management and DRM. Installing custom CIA files on a 3DS which also uses eShop/SysUpdates is unwise as conflicts will likely occur.
NCCH configurations for CIA[edit]
Applications (Application/DlpChild/Demo/Patch/SystemApplication): M1 macbook android emulator.
NCCH | Required | Index |
---|---|---|
Executable image | YES | 0 |
e-Manual archive | NO | 1 |
DLP child CIA archive | NO | 2 |
System Applet/Module:
NCCH | Required | Index |
---|---|---|
Executable image | YES | 0 |
System Data Archives:
NCCH | Required | Index |
---|---|---|
Data archive | YES | 0 |
DLC:
The number of DLC data archives in DLC varies for each DLC.
NCCH | Required | Index |
---|---|---|
DLC index archive | YES | 0 |
DLC data archive | YES | Varies |
Using Makerom[edit]
Command line[edit]
General Arguments
Argument | Acceptable values | Notes |
---|---|---|
-f <format> | 'ncch'/'cxi'/'cfa'/'cci'/'cia' | Specify the output file format. 'ncch'/'cxi'/'cfa' has no affect, probably parsed without error for legacy support. |
-o <path> | Valid file path. | Specify name/path for output file. Makerom will decided a name if this is not specified. |
-v | not required | Enables verbose output. |
RSF Arguments
Argument | Acceptable values | Notes |
---|---|---|
-rsf <path> | Valid file path | Specify the path to Rom Specification File(RSF). See below for creating RSF. |
-D<NAME>=<VALUE> | This is used to substitute where '$(<NAME>)' exists in the RSF files with '<VALUE>'. (Uppercase isn't a requirement) |
Crypto Arguments
Argument | Acceptable values | Notes |
---|---|---|
-target <target> | 't'/'d'/'p' | Specify key-chain. This affects encryption, signing and '-desc' template availability. t=test, suitable for homebrew. d=devkit(incomplete), suitable for devkits. p=retail(unusable), suitable for signing retail software? |
-ckeyid <index> | Any value between 0-255 (inclusive). | Overrides the default common key used to encrypt CIA title keys. |
-showkeys | none | Dumps loaded key-chain to stdout. |
NCCH Build Arguments
Argument | Acceptable values | Notes |
---|---|---|
-elf <file> | Valid file path | Specify ELF. See below for creating ELF. |
-icon <file> | Valid file path | Specify icon. |
-banner <file> | Valid file path | Specify banner. |
-desc <apptype>:<fw> | <apptype>='app'/'ecapp'/'demo'/'dlpchild'. <fw>='kernel version minor'. | Use a template for exheader/accessdesc. These are hard-coded, so not all firmwares have a template. A value from 1-7 can be used in place of 'kernel version minor'. A template shouldn't be used if the title needs 'special' permissions, the RSF must be configured fully. |
-exefslogo | none | Include logo in ExeFS. Required for usage on <5.0 systems. |
Arguments useful for rebuilding a NCCH file:
Argument | Acceptable values | Notes |
---|---|---|
-code <file> | Valid file path | Specify decompressed/plaintext exefs code binary. |
-exheader <file> | Valid file path | Specify plaintext exheader binary. |
-logo <file> | Valid file path | Specify logo. |
-plainrgn <file> | Valid file path | Specify NCCH plain-region. |
-romfs <file> | Valid file path | Specify an unencrypted RomFS binary. |
CCI Arguments
Argument | Acceptable values | Notes |
---|---|---|
-content <path>:<index> | <path>=Valid file path. <index>=Any value between 0-7 (inclusive) | Include a built NCCH file in the CCI container. '-i' can be used instead of '-content'. |
-devcci | none | Build a debug CCI? |
-nomodtid | none | Don't modify the TitleIds of NCCH files included to match NCCH0 |
-alignwr | none | Align the offset for the Card2 writable region to the end of the last NCCH in the CCI. |
CIA Arguments
Argument | Acceptable values | Notes |
---|---|---|
-content <path>:<index>:<id> | <path>=Valid file path. <index>=Any value between 0x0-0xFFFF (inclusive). <id>=Any value between 0x0-0xFFFFFFFF (inclusive) | Include a built NCCH file in the CIA container. If <id> isn't specified, it will be generated randomly. '-i' can be used instead of '-content'. |
-major <version> | Any value between 0-63 (inclusive) | Specify the version major for the title. This cannot be used with '-dver'. |
-minor <version> | Any value between 0-63 (inclusive) | Specify the version minor for the title. This cannot be used with '-dver'. |
-micro <version> | Any value between 0-15 (inclusive) | Specify the version micro for the title. |
-dver <version> | Any value between 0-4095 (inclusive) | Specify the or '-minor'. |
-dlc | none | Specify this flag when building a DLC CIA. |
-rand | none | Use a random title key to encrypt CIA content. |
Examples[edit]
General examples:
Create CXI
Create CFA
Create CCI
Create CIA
Makerom supports building a NCCH file and including it automatically (as index 0) into a NCCH container:
Create CCI and CXI at the same time and include a CFA
Alternative to bluestacks for mac. Create CIA and CXI at the same time and include a CFA
3ds To Cia Converter Operation Failed Download
Rebuilding CXI:
3ds To Cia Converter Download
Creating RSF files[edit]
Inspired by Nintendo's format for their makerom, a yaml configuration file is required for creating NCCH files. CIA/CCI can be created without using a RSF file, but default settings will be used.
For CXI, RSF files can be used to specify permissions, and access control settings. Makerom can use default settings by use of the '-desc' option, which removes the requirement for specifying them in the RSF file.
Sample RSF to be used with '-desc': download (link broken)
Sample RSF to be used without '-desc': download
Creating ELF files[edit]
The latest devkitARM used in conjunction with ctrulib can create ELF files compatible with makerom.
ELF files that are created using the official SDK are also supported by makerom.
Compiling Source[edit]
Download os x el capitan 10.11. For Windows a MinGW-W64/MSYS build setup is required.
For Linux, gcc/g++/make must be installed.
3ds To Cia Converter Online
All additional libraries used by makerom (polarssl/libyaml) are included in the source, and are linked statically.