makerom | |
General | |
---|---|
Author(s) | 3dsguy |
Type | PC utility |
Version | 0.15 |
Links | |
Download | |
Source |
- 3ds To Cia Online Converter
- 3ds Simple Cia Converter Pc Download
- 3ds Simple Cia Converter Pc Download
- 3ds Simple Cia Converter Pc Free
- 3ds Simple Cia Converter V5.0
- Converting a.3DS to.CIA. For organizational purposes, copy each.3ds file you wish to convert to the /cias/ folder on your SD card Note that if you wish to convert a.3ds file that is already on a flashcart, you should follow Dumping a Game Cartridge; Launch GodMode9 by holding (Start) during boot.
- Just another 3DS to CIA converter for Linux and Windows. Usage Easy (precompiled version) Just unzip the released version, put your roms in the roms directory, put the xorpads in the xorpads directory and launch 3ds-to-cia.
- Transfer the.3ds files to my PC. Use 3DS Simple CIA Converter to convert the.3ds files to.cia files (https.
- The.3ds file does not appear to be broken, since it can run on Citra. However, I downloaded a different.3ds rom (not a rom hack) and it is building the.cia just fine. My best guess is that I can't build the.cia because it is a hacked rom or because the rom is decrypted. I tried encrypting the rom with GodMode9 but nothing works with it.
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]
3DS games can also be found in.3ds format, however this is not compatible with 3DS consoles and is generally intended for 3DS emulators such as Citra.3ds files must be converted to.cia before they can be installed on your 3DS. Follow this guide on Converting 3DS ROMs to.cia with GodMode9.
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]
General examples:
Create CXI
3ds To Cia Online Converter
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
Create CIA and CXI at the same time and include a CFA
3ds Simple Cia Converter Pc Download
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.
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.
3ds Simple Cia Converter Pc Download
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.
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. This guide will show you how to convert your .3ds
ROMs to .cia
files using GodMode9.
Required Downloads:
- GodMode9 (latest version)
Hacked (New) Nintendo 3DS (XL) Console with Luma3DS CFW
- Booting into GodMode9 via the Luma3DS chainloader requires a hacked 3DS console
- Follow this guide (with pictures) or Plailect’s guide on hacking your 3DS if you have not done so before
- An SD Card is required to store the exploit files and homebrew apps
- 32GB or more is recommended to store games
- The SD card must be formatted to FAT32
- MicroSD cards are compatible with Old 3DS consoles via a MicroSD to SD adapter
- Insert your 3DS SD card into your PC
- Extract the GodMode9
.zip
- Copy
GodeMode9.firm
to the/luma/payloads/
folder on your SD card - Copy the
/gm9/
folder to the root of your SD card - Insert your SD card into your 3DS
- Insert your 3DS SD card into your PC
- Create a folder called
in
inside the/gm9/
folder on your SD card if it doesn’t exist already - Copy your
.3ds
rom file to the/gm9/in/
folder on your SD card - Insert your SD card into your 3DS
- Power your 3DS on while holding [START] to boot into GodMode9
- Press [Home] for the action menu
- Select [Scripts…]
- Select [GM9Megascript]
- Select [Miscellaneous]
- Select [.3ds to .cia Converter]
- Select your
.3ds
game then press [A] to confirm your selection and wait for the process to complete - Press [A] once complete to go back to the menu, your
.cia
file will be found in the/gm9/out/
folder on your SD card - You can now install the
.cia
using FBI, navigate toSD
->gm9
->out
to install the game from this location
3ds Simple Cia Converter Pc Free
Congratulations, you’ve converted a .3ds
rom file to a .cia
to install on a 3DS console.
Installing 3DS Backups and Homebrew
3ds Simple Cia Converter V5.0
- Install 3DS backups and homebrew easily with FBI
Dump Cartridges to SD
- Play your games without the cartridge inserted by dumping them directly to your SD card with GodMode9
- Cartridges can be dumped as multiple formats:
.cia
for 3DS consoles,.3ds
for emulators or.nds
for Nintendo DS games
Install Virtual Console Games (GBC, GBA, SNES etc)
- Convert ROM’s to Virtual Console titles and install them directly to your Home menu using New Super Ultimate Injector
Play DS Games with TWiLight Menu++
- Play Nintendo DS ROM’s flawlessly using TWiLight Menu++
- The application also features a built-in cheats manager