File Formats
The following is a list of known file formats used by the 3DS.
Applications ( any executable code )
.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.
.CXI - Executable image. Similar to above. The difference is CXI applications are installed onto [thus ran from] NAND. See http://3dbrew.org/wiki/CXI.
.CIA - Importable/installable application. An application ran from NAND after being loaded from an external [not NAND] source. The CIA format allows the CXI image to be imported/installed properly.
.CSU - System Update. Format varies slightly with revisions.
.CFA - 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.)
.NSA - Archive used by several of the communication protocols in the 3DS.
.RSF - Descriptive data used when outputting a CCI/CXI file. Specifies options such as: title, save type, and so on.
.RXF - Pre-assembled ARM code. before being linked into a CCI/CXI format.
Filesystem
The 3DS filesystem requires absolute paths. It can handle either short (8.3) and long (255 char maximum) file names.
MPO (Multi-Picture Format)
Document describing the file format used in mpo files: http://www.cipa.jp/english/hyoujunka/kikaku/pdf/DC-007_E.pdf