- Convert.3ds to.cia. #####So what is it? It's a Windows program to convert 3DS roms to CIA files, those CIA files can then be used to install the converted 3DS rom on Gateway or Custom FirmWare (CFW) It can convert Multiple roms at 1 go:) #####Why a guide if it's so simple? Why are there guides for everything. For example internet for dummies.
- 하지만 Batch CIA 3DS Decryptor를 사용하면 PC에서도 복호화가 가능하다. 암호화된 롬파일을 폴더에 넣고, Batch CIA 3DS Decryptor.bat을 실행하기만 하면 된다. 3DS는 Trimmed(압축된) 3DS로. CIA는 CCI(3DS)로 파일이 바뀐다. DLC CIA는 CIA 그대로 바뀐다.
하지만 Batch CIA 3DS Decryptor를 사용하면 PC에서도 복호화가 가능하다. 암호화된 롬파일을 폴더에 넣고, Batch CIA 3DS Decryptor.bat을 실행하기만 하면 된다. 3DS는 Trimmed(압축된) 3DS로. CIA는 CCI(3DS)로 파일이 바뀐다. DLC CIA는 CIA 그대로 바뀐다. Start CIA converter and choose “convert 3ds to cia”. Choose the roms folder when it asks. This is the same folder where you previously placed all your roms. CIA converter will then convert all roms in the roms folder and make CIA files in ‘cia’folder.
The below wiki article is based on user submitted content.
Please verify all hyperlinks and terminal commands below!
How to Transfer 3DS Save Data to Citra
There are multiple ways to transfer 3DS save data to Citra in a usable form, but the important thing to note is that whatever tool used to get the save data off of the 3DS supports exporting expanded save data. Save data lives in Citra’s emulated SD card directories (user/sdmc/Nintendo 3DS/000...0/000...0/title/[game-TID-high]/[game-TID-low]/data/00000001/
).
threeSD
threeSD is a tool written to help import data from your 3DS for Citra more conveniently.
Refer to threeSD Quickstart Guide for importing your installed titles, updates, DLCs, save data, extra data, system files, etc. Note that you’ll still need a hacked 3DS with GodMode9 to obtain your keys so that threeSD can decrypt the data on your SD card.
Checkpoint
As the supported way of transferring save data, Checkpoint is easy to install and use.
Required tools
- A 3DS with boot9strap installed
- Checkpoint.
- SD card reader (preferred), or a way to use wireless file transfer
Installing Checkpoint
- Download Checkpoint from the link above.
- For cia installation, transfer the cia file to the SD card and install it with a cia installer such as FBI. For Rosalina-based Homebrew Launcher, transfer the 3dsx file to
/3ds/
on the SD card. Hax-based Homebrew Launchers are not supported by Checkpoint.
Transferring Save Data
- Open Checkpoint. If this is the first time launching Checkpoint, it may take a considerably longer than usual depending on the amount of installed titles.
- Highlight the game you want to dump by navigating to it with the D-pad.
- Press A and select
Backup
on the bottom screen. You will be promptedYes
orNo
. SelectYes
by pressing A. - You will have the option to name the save folder. Name it whatever you want or use the name given to it. Press
OK
on the bottom screen. - The top screen will flash a message
Success! Progress correctly saved to disk
. Exit out of Checkpoint. - Transfer all files located in
/3ds/Checkpoint/saves/[Game Name]/[Folder created in Step 4]
to the computer. - Place the files in Citra’s emulated SD card’s save directory. You can open the save directory by right-clicking on a game in Citra and clicking “Open Save Data Directory”. If the directory doesn’t exist, start the game once and the directory will be created.
Example diagram showing the correct location of New Super Mario Bros. 2 save data in Citra’s User Directory.
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):
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]
3ds To Cia Converter On Pc Mac
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
3ds To Cia Converter On Pc
Create CIA and CXI at the same time and include a CFA
3ds To Cia On Pc
Rebuilding CXI:
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.
3ds To Cia Converter Download
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]
For Windows a MinGW-W64/MSYS build setup is required.
For Linux, gcc/g++/make must be installed.
All additional libraries used by makerom (polarssl/libyaml) are included in the source, and are linked statically.