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.
.CIA - (CTR Importable Archive) It is the application compiled into an archive, ready to be installed to a designated location. A .CIA file can be extracted to install applications to the, CTR NAND, TWL NAND (part of the NAND used by DSi applications), and the SD card.
.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.
.AXF - 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 Object Format)
Document describing the file format used in mpo files: http://www.cipa.jp/english/hyoujunka/kikaku/pdf/DC-007_E.pdf