3ds Simple Cia Converter By Rikukh3

Converts CIA (CXI Installed Application) a.k.a. EShop games or DLC to 3DS (Self-Explanitory) Cartridge Format - davFaithid/CIA-to-3DS-Rom-Converter. CIAngel 3DS: Downloads good CIA files right on your 3DS. Llakssz BrewMan 3DS: Homebrew repository downloader, supports github and screenshots Repo3DS BiPoLAR-3ds: Enable/Disable the power LED Spaqin 3DText 3DS: Simple text file viewer. DarkFlare69 3DS Wifi Toggle: Turn Wifi on or off thedax 3DS Quick Shutdown: Shut down your 3DS thedax 3DS.

Installing games (.cia files) is a simple process using the FBI application, many homebrew applications also come in .cia format and will appear in the Home menu once installed. Homebrew applications in .3dsx format are not installed, instead, they must be copied to your SD card and loaded via the Homebrew Launcher. This guide will show you how to install backup games and homebrew applications from your SD card onto your hacked 3DS.

Hacked (New) Nintendo 3DS (XL) Console

  • A hacked 3DS with FBI and the Homebrew Launcher are required to install games and homebrew applications
  • These are usually installed as part of the hacking process for 3DS
  • 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
  1. Place any .cia files you wish to install in the /cia/ folder on your SD card
  2. Insert your SD card into your 3DS and power it on
  3. Launch FBI and navigate to SD -> cia
  4. Select your .cia -> [Install and delete CIA]
  5. Once installed, press [Home] your game can be found in the home menu
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.

3DS Homebrew Application come in the form of .3dsx files and can be run via the Homebrew Launcher

  1. Place your .3dsx file in the /3ds/ folder on your 3DS SD card
  2. Insert your SD card into your 3DS and power it on
  3. Launch the Homebrew Launcher from the home menu
  4. Select your app from the list to launch it

Convert 3DS ROMs for Installation

  • Use GodMode9 to convert your .3ds ROM’s to .cia files that can be installed on your 3DS

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

Play DS Games with TWiLight Menu++

  • Play Nintendo DS ROM’s flawlessly using TWiLight Menu++
  • The application also features a built-in cheats manager

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

Luma3DS Cheats with Checkpoint

Simple
  • Easily load game cheats with Checkpoint and activate them using the cheat manager in the Rosalina menu (Luma3DS)
makerom
General
Author(s)3dsguy
TypePC utility
Version0.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:

Cia
  • 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]

3ds to cia converter
NCCHRequiredIndex
Executable imageYES0
e-Manual archiveNO1
DLP child CIA archiveNO2
Update Data archiveNO7

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):

NCCHRequiredIndex
Executable imageYES0
e-Manual archiveNO1
DLP child CIA archiveNO2

System Applet/Module:

NCCHRequiredIndex
Executable imageYES0

System Data Archives:

NCCHRequiredIndex
Data archiveYES0

DLC:

The number of DLC data archives in DLC varies for each DLC.

3ds Simple Cia Converter By Rikukh3 0

NCCHRequiredIndex
DLC index archiveYES0
DLC data archiveYESVaries

Using Makerom[edit]

Command line[edit]

General Arguments

ArgumentAcceptable valuesNotes
-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.
-vnot requiredEnables verbose output.

RSF Arguments

ArgumentAcceptable valuesNotes
-rsf <path>Valid file pathSpecify 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

ArgumentAcceptable valuesNotes
-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.
-showkeysnoneDumps loaded key-chain to stdout.

NCCH Build Arguments

Cia
ArgumentAcceptable valuesNotes
-elf <file>Valid file pathSpecify ELF. See below for creating ELF.
-icon <file>Valid file pathSpecify icon.
-banner <file>Valid file pathSpecify 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.
-exefslogononeInclude logo in ExeFS. Required for usage on <5.0 systems.

Arguments useful for rebuilding a NCCH file:

ArgumentAcceptable valuesNotes
-code <file>Valid file pathSpecify decompressed/plaintext exefs code binary.
-exheader <file>Valid file pathSpecify plaintext exheader binary.
-logo <file>Valid file pathSpecify logo.
-plainrgn <file>Valid file pathSpecify NCCH plain-region.
-romfs <file>Valid file pathSpecify an unencrypted RomFS binary.

CCI Arguments

ArgumentAcceptable valuesNotes
-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'.
-devccinoneBuild a debug CCI?
-nomodtidnoneDon't modify the TitleIds of NCCH files included to match NCCH0
-alignwrnoneAlign the offset for the Card2 writable region to the end of the last NCCH in the CCI.

CIA Arguments

ArgumentAcceptable valuesNotes
-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'.
-dlcnoneSpecify this flag when building a DLC CIA.
-randnoneUse 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

Create CIA and CXI at the same time and include a CFA

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.

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.

3ds Simple Cia Converter By Rikukh3 Bit

Compiling Source[edit]

3ds Simple Cia Converter By Rikukh3 3

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.

3ds Simple Cia Converter By Rikukh3 X

Retrieved from 'https://www.3dbrew.org/w/index.php?title=Makerom&oldid=17471'