ctr_makeromThis ctr_makerom tool is for creating CCI (CTR Card Image) files. CCI files are created based on the content in RSF files.
If a NAND application is specified as the output format, a CXI (Ctr eXecutable Image) file is generated as the output. The requirements for CXI file generation are the same as for CCI files.
You will need the following to create a CCI file:
RSF files contain the information required to create a CCI file. They must be created individually for each application. By default, the SDK's default RSF file is used. Be sure to always use the DESC file included in the SDK.
% ctr_makerom32 ELF_FILE -rsf RSF_FILE -desc DESC_FILE [-o OUTPUT_FILE] [-Dname=value...] [-f FORMAT] [-info INFO_FILE] [-banner BANNER_FILE] [-icon ICON_FILE] [-cxi CXI_FILE:PARTITION_ID]
You must specify the ELF, RSF, and DESC files. All other options are optional.
| Options | Description | ||||||
|---|---|---|---|---|---|---|---|
| -rsf | Specifies the RSF file. | ||||||
| -desc | Specifies the DESC file. | ||||||
| -banner | Specifies the banner file. | ||||||
| -icon | Specifies the icon file. | ||||||
| -content CONTENTS_PATH:INDEX |
Specifies content (.cfa) included in the CCI. Specify the contents file path in CONTENTS_PATH. Specify the partition number including the content in INDEX. The values specifiable for INDEX vary depending on the following conditions.
|
||||||
| -o | Specifies the output filename. If omitted, the output file will have the same basename as the ELF file used as input, and instead of the .elf extension, the output file extension will be .cci for card applications and .cxi for NAND applications. | ||||||
| -Dname=value | Specifies the variable name (name) and value (value) from the RSF file to reference. References to $(name) in the RSF file are replaced with the value command line argument and then evaluated. |
||||||
| -f FORMAT | Specifies the format of the image to output. The following values can be specified for FORMAT.
nand is used.
|
||||||
| -info | Specifies the output file for information about the output image. If unspecified, the output filename will have the .xml filename extension. This file contains information about the application title and ROMFS.
|
This is a file that contains the settings for the CCI file to be generated.
The RSF file format is shown below.
BasicInfo:
Title: # Application title
CompanyCode: # Company code
ProductCode: # Product code
MediaSize: # Media size
Logo: # Logo data specification
TitleInfo:
Category: # Title category
UniqueId: # Unique ID for title code
ChildIndex: # DLP child index
Rom:
HostRoot: # Root path of the ROM file system
Reject: # File and directory names to exclude from the ROM file system
AccessControlInfo:
Priority: # Priority of main thread
SystemControlInfo:
StackSize: # Main thread stack size
Option:
EnableCompress: # Enable/disable compression of static memory
Configure the values of the items under the four main sections (BasicInfo, TitleInfo, Rom, AccessControlInfo, and SystemControlInfo).
Set the values using the following format:
Key Name: Value
Key Name:
- Value 1
- Value 2
...
| Item Name | Description | Comment |
|---|---|---|
| Title | The title of the application. Specifies the application title in 8 or fewer ASCII characters. | |
| CompanyCode | The company code. Company code that was assigned when the licensing agreement was signed with Nintendo. Two ASCII characters. | |
| ProductCode | Product code. Specifies the product code issued by Nintendo. | |
| MediaSize | Specifies the media size. Specify a value of 125 MB, 256 MB, 512 MB, 1 GB, or 2 GB. | |
| Logo | Specifies the type of logo data. Specify one of "Nintendo", "Licensed", or "Published". |
| Item Name | Description | Comment | ||||
|---|---|---|---|---|---|---|
| Category | Specifies the application type.
|
Application is selected if not specified. | ||||
| UniqueId | The application's unique ID. Specifies the ID issued by Nintendo. | Valid values are from 0x00200 to 0xf7fff. | ||||
| ChildIndex | Specifies the download play child index. |
| Item Name | Description | Comment |
|---|---|---|
| HostRoot | The root path of the ROM file system. Specify either an absolute path or a relative path from the directory that is the current directory when executing ctr_makerom. All files and directories under the directory specified here will be stored in the ROM file system. However, any files or directories that start with a dot (".") will not be stored in the ROM file system, nor will any files or directories specified under the Reject item. |
|
| Reject | Specify the names of files and directories to exclude from the ROM file system. Any files or directories that match the names specified will not be stored in the ROM file system. You can set multiple values. Names can use the "*" and "?" wildcards ("*" matches 0 or more characters, and "?" matches a single character). |
Use the syntax described in the Specifying Multiple Values section. |
| Item Name | Description | Comment |
|---|---|---|
| StackSize | Specify the stack size of the main thread (in bytes). | Must be a multiple of 4096. |
| Item Name | Description | Comment |
|---|---|---|
| Priority | Specifies the priority of the main thread. | You can specify values between 0 and 31 (inclusive). |
| Item Name | Description | Comment |
|---|---|---|
| EnableCompress | Specifies TRUE to enable static memory compression, or FALSE to disable. Memory is not compressed if doing so would not decrease the size. The compression rate is output to the file specified in the -info argument. |
If this argument is not specified, the default value of TRUE is used. |
Using the -Dname=value option allows you to pass variable names and their corresponding values to the ctr_makerom tool. The ctr_makerom tool replaces any occurrences of $(name) within the RSF file with the specified value, then evaluates the results. An example is shown below.
$ ctr_makerom32 test.axf -o test.cci -rsf test.rsf -DTITLE=Test -DROMFS_ROOT=files
--- test.rsf
BasicInfo:
Title: $(TITLE)
Rom:
HostRoot: "$(ROMFS_ROOT)"
--- Value at final evaluation
BasicInfo:
Title: Test
Rom:
HostRoot: "files"
Edits to this file are prohibited. Editing this file may prevent your application from operating properly. Always use CTR_SDK/resources/specfiles/Application.desc.
If you're using the build system, the option -desc CTR_SDK/resources/specfiles/Application.desc is specified automatically when you run ctr_makerom.
The following code has been assigned for software testing and prototyping purposes. Use this as an ID for internal testing. Be careful to avoid duplicate IDs within your company and development department.
Note that running ctr_makerom will display a warning if you are using a UniqueId for prototype code.
BasicInfo:
CompanyCode:"00" ProductCode:"CTR-*-9@** (###)"
TitleInfo:
UniqueId :0xFF000 ~ 0xFF3FF
* ... A-Z, 0-9
# ... A-Z
@ ... A-H
Refer to Build Rules (ctr_makerom) for more information about variables defined within the OMakefile.
EnableCompress and MediaSize options.
InitialCode option.
-info option, CompanyCode, ProductCode, and UniqueId.
CONFIDENTIAL