Line 1: |
Line 1: |
| The following is a list of known file formats used by the 3DS. | | The following is a list of known file formats used by the 3DS. |
| + | |
| + | == NCCH == |
| + | |
| + | |
| + | .[[CXI]] - Executable image. Are either packaged into a CCI/CSU for running off a cartridge, or packaged into a CIA for installing to the SDMC or NAND. |
| + | |
| + | .CFA - CTR File Archive - Externalized Rom-FS. This is non-executable specialisation of the NCCH container format. Generally used in conjunction with an executable specialisation of the NCCH container format (CXI). |
| + | |
| + | == NCSD == |
| + | |
| | | |
| .[[CCI]] - Cart image. Burned into a ROM (or loaded by official debugging hardware). These are also the actual format of ROM dumps, and the response of read requests between a 3DS and a cartridge. This is simply a NCCH container, with a maximum of 8 NCCHs. | | .[[CCI]] - Cart image. Burned into a ROM (or loaded by official debugging hardware). These are also the actual format of ROM dumps, and the response of read requests between a 3DS and a cartridge. This is simply a NCCH container, with a maximum of 8 NCCHs. |
| | | |
− | .[[CXI]] - Executable image. Are either packaged into a CCI/CSU for running off a cartridge, or packaged into a CIA for installing to the SDMC or NAND. | + | .[[CCI|CSU]] - System Update. Format varies slightly with revisions. |
| + | |
| + | == Archive File Formats == |
| + | |
| | | |
| .[[CIA]] - (CTR Importable Archive) This format allows the installation titles to the 3DS. CIA files can compile a CXI for installation to either the SDMC or CTR NAND. CIA files can also compile .SRL files (format for DS(i) executable images) for installation to the TWL NAND of the 3DS. | | .[[CIA]] - (CTR Importable Archive) This format allows the installation titles to the 3DS. CIA files can compile a CXI for installation to either the SDMC or CTR NAND. CIA files can also compile .SRL files (format for DS(i) executable images) for installation to the TWL NAND of the 3DS. |
| | | |
− | .[[CCI|CSU]] - System Update. Format varies slightly with revisions.
| + | == Descriptor File Formats == |
| | | |
− | .CFA - CTR File Archive - Externalized ROM-FS. CXI data and ROMFS data can be separated into a list of external files instead of compiled into just 1 CXI image (Normally not used). Lib states this is similar to a CIA, a little like an archive of a CIA. Fortunately lib has some info on this format. CFA files are basically multiple packed CIAs. CFAs are used when the CCI file includes the child device distributed with download play.
| |
| | | |
− | .NSA - Archive used by several of the communication protocols in the 3DS. | + | .BSF - Descriptive data used when outputting ICN/BNR files. The .XBSF format used by CiTRUS is based on the concept of .BSF. |
| | | |
| .RSF - Descriptive data used when outputting a CCI/CXI file. Specifies options such as: title, save type, and so on. | | .RSF - Descriptive data used when outputting a CCI/CXI file. Specifies options such as: title, save type, and so on. |
Line 17: |
Line 29: |
| .DESC - Descriptive data used when outputting a CCI/CXI file. Like the .RSF format, but more complex (more complex in the options which it can specify). | | .DESC - Descriptive data used when outputting a CCI/CXI file. Like the .RSF format, but more complex (more complex in the options which it can specify). |
| | | |
− | .BSF - Descriptive data used when outputting ICN/BNR files. The .XBSF format used by CiTRUS is based on the concept of .BSF.
| + | == ExeFS Related File Formats == |
| + | |
| | | |
| .AXF - Pre-assembled ARM code. Before being linked into the [[ExeFS]] '.code' format. They're practically ARM specific ELF files. The Plain Region found in the CXI is also obtain from this file. | | .AXF - Pre-assembled ARM code. Before being linked into the [[ExeFS]] '.code' format. They're practically ARM specific ELF files. The Plain Region found in the CXI is also obtain from this file. |
| | | |
− | .CDI - (CTR Development Image) CDI files are system processes which other types of applications depend on for access to various other lower level functions. CDI are normally the same titles as listed in a CXI header's dependency list, they are just compiled to a different format. The difference is that CDI is used for a different (test) environment. They're loaded into hardware debugger's memory, along with the 2 cores in order to execute. | + | .BNR - Simply contains a .[[CBMD]] and a .[[BCWAV]], in that order with padding in between the two files to make sure the .[[BCWAV]] is aligned to 0x10 bytes. It contains nothing else. |
| + | |
| + | *.[[BCWAV]] - CTR waveform file format |
| + | |
| + | *.[[CBMD]] - CTR binary banner model. Archive file before being made into a CTR banner for games or other applications. |
| + | |
| + | .[[SMDH|ICN]] - Contains icons, names and flags for an application |
| + | |
| + | *.CTPK - CTR Texture Package |
| | | |
− | .CIP - (CTR Initial Process)
| + | == Other File Formats == |
| | | |
− | .[[BCWAV]] - CTR waveform file format
| |
| | | |
− | .[[CBMD]] - CTR binary banner model. Archive file before being made into a CTR banner for games or other applications. | + | .CDI - (CTR Development Image) CDI files are system processes which other types of applications depend on for access to various other lower level functions. CDI are normally the same titles as listed in a CXI header's dependency list, they are just compiled to a different format. The difference is that CDI is used for a different (test) environment. They're loaded into hardware debugger's memory, along with the 2 cores in order to execute. |
| | | |
− | .BNR - Simply contains a .[[CBMD]] and a .[[BCWAV]], in that order with padding in between the two files to make sure the .[[BCWAV]] is aligned to 0x10 bytes. It contains nothing else. | + | .NSA - Archive used by several of the communication protocols in the 3DS. |
| | | |
− | .[[SMDH|ICN]] - Contains icons, names and flags for an application | + | .CIP - (CTR Initial Process) |
| | | |
− | === Filesystem ===
| + | == Filesystem == |
| | | |
| The 3DS filesystem requires absolute paths. It can handle either short (8.3) and long (255 char maximum) file names. | | The 3DS filesystem requires absolute paths. It can handle either short (8.3) and long (255 char maximum) file names. |