https://www.3dbrew.org/w/api.php?action=feedcontributions&user=3dsguy&feedformat=atom3dbrew - User contributions [en]2024-03-29T10:50:11ZUser contributionsMediaWiki 1.35.8https://www.3dbrew.org/w/index.php?title=Makerom&diff=9044Makerom2014-05-07T01:00:41Z<p>3dsguy: links</p>
<hr />
<div>{{Infobox homebrew<br />
| title = makerom<br />
| type = pc utility<br />
| author = [[User:3dsguy|3dsguy]]<br />
| download = https://anonfiles.com/file/2e954a4b954778e8bcd0c317f071c272<br />
| source = https://github.com/3DSGuy/Project_CTR/tree/master/makerom<br />
| version = 0.8<br />
}}<br />
<br />
makerom is a tool which can be used to created [[NCCH]] and [[NCSD|CCI]] and [[CIA]] files.<br />
<br />
== Using Makerom ==<br />
<br />
=== Command line ===<br />
Since CCI and CIA are NCCH containers, makerom was built so CXIs could be built stand alone, or straight into a container format. It is also possible rebuild CXIs as easily building a CXI from an elf. As a result the are many combinations which can be used, and for simplicity specific functions will be explained by breaking them up into argument groups:<br />
<br />
'''Creating CXIs from scratch:'''<br />
-elf <elf path> -rsf <rsf path> [-icon <[[SMDH|icon]] path> -banner <banner path>]<br />
<br />
'''Rebuilding CXIs:'''<br />
-code <decompressed exefs .code> -exheader <exheader from original CXI> -rsf <rsf path> [-icon <[[SMDH|icon]] path> -banner <banner path> -romfs <cleartext romfs binary>]<br />
<br />
'''Creating CFAs:'''<br />
-f cfa -rsf <rsf path> [-icon <[[SMDH|icon]] path> -romfs <romfs binary>]<br />
<br />
'''Creating CCIs:'''<br />
-f cci [-content <path>:<index> ...]<br />
<br />
'''Creating CCIs:'''<br />
-f cia [-content <path>:<index>:<id> ...]<br />
<br />
'''Using Desc presets:'''<br />
-desc <app type>:<firm version><br />
<br />
* 'app type' can be SDApp / ECApp / Demo / DlpChild<br />
* 'firm version' is the target kernel version minor for the intended 3DS system.<br />
<br />
'''Examples:'''<br />
Create a CCI, using a manual CFA, and a desc preset:<br />
makerom -f cci -elf homebrew.elf -rsf app.rsf -desc sdapp:33 -icon homebrew.icn -banner homebrew.bnr -content manual.cfa:1 -o homebrew.cci<br />
<br />
Create a CIA using an already built application CXI and manual CFA:<br />
makerom -f cia -content homebrew.cxi:0:0 -content manual.cfa:1:1 -o homebrew.cia<br />
<br />
Rebuild a CXI:<br />
makerom -code code.bin -exheader exheader.bin -icon icon.bin -banner banner.bin -romfs romfs.bin -rsf app.rsf -desc sdapp:33 -o rebuild.cxi<br />
<br />
<br />
=== Creating RSF files ===<br />
Inspired by Nintendo's format for their makerom, is a yaml configuration file, required for creating NCCH files. CIA/CCI can be created without using a RSF file, but default settings will be used.<br />
<br />
For CXI, RSF files can be used to specify permissions, and access control settings. However makerom can use default settings by use of the "-desc" option, which removes the requirement for specifing them in the RSF file.<br />
<br />
Sample RSF to be used with "-desc": [https://gist.githubusercontent.com/3DSGuy/83e12e0ae3dcccb9827f/raw/sample0.rsf download]<br />
<br />
Sample RSF to be used without "-desc": [https://gist.githubusercontent.com/3DSGuy/83e12e0ae3dcccb9827f/raw/sample1.rsf download]<br />
<br />
=== Creating ELF files ===<br />
ELF files created using the official SDK can be used with makerom. But ELF files created using smea's WIP ctrulib, can be used, provided they are linked with this linker script: [https://gist.githubusercontent.com/3DSGuy/53475c0cc74996b1606e/raw/ctr_homebrew.ld download]<br />
<br />
== Compiling Source ==<br />
For Windows use MinGW, 64bit versions of MinGW are supported also.<br />
<br />
For Linux, gcc/g++/make must be installed.<br />
<br />
All additional libraries used by makerom, are included in the source, and are linked statically.<br />
<br />
== Issues ==<br />
<br />
* Proper ticket index generation isn't complete (CIA tickets are valid for only one content)<br />
* RomFs hasn't been completely implemented (But valid pre-built romfs can be used as substitute)</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Makerom&diff=9038Makerom2014-05-05T23:34:20Z<p>3dsguy: </p>
<hr />
<div>{{Infobox homebrew<br />
| title = makerom<br />
| type = pc utility<br />
| author = [[User:3dsguy|3dsguy]]<br />
| download = https://dl.dropboxusercontent.com/u/60710927/CTR/makerom/makerom.zip<br />
| source = https://github.com/3DSGuy/Project_CTR/tree/master/makerom<br />
| version = 0.8<br />
}}<br />
<br />
makerom is a tool which can be used to created [[NCCH]] and [[NCSD|CCI]] and [[CIA]] files.<br />
<br />
== Using Makerom ==<br />
<br />
=== Command line ===<br />
Since CCI and CIA are NCCH containers, makerom was built so CXIs could be built stand alone, or straight into a container format. It is also possible rebuild CXIs as easily building a CXI from an elf. As a result the are many combinations which can be used, and for simplicity specific functions will be explained by breaking them up into argument groups:<br />
<br />
'''Creating CXIs from scratch:'''<br />
-elf <elf path> -rsf <rsf path> [-icon <[[SMDH|icon]] path> -banner <banner path>]<br />
<br />
'''Rebuilding CXIs:'''<br />
-code <decompressed exefs .code> -exheader <exheader from original CXI> -rsf <rsf path> [-icon <[[SMDH|icon]] path> -banner <banner path> -romfs <cleartext romfs binary>]<br />
<br />
'''Creating CFAs:'''<br />
-f cfa -rsf <rsf path> [-icon <[[SMDH|icon]] path> -romfs <romfs binary>]<br />
<br />
'''Creating CCIs:'''<br />
-f cci [-content <path>:<index> ...]<br />
<br />
'''Creating CCIs:'''<br />
-f cia [-content <path>:<index>:<id> ...]<br />
<br />
'''Using Desc presets:'''<br />
-desc <app type>:<firm version><br />
<br />
* 'app type' can be SDApp / ECApp / Demo / DlpChild<br />
* 'firm version' is the target kernel version minor for the intended 3DS system.<br />
<br />
'''Examples:'''<br />
Create a CCI, using a manual CFA, and a desc preset:<br />
makerom -f cci -elf homebrew.elf -rsf app.rsf -desc sdapp:33 -icon homebrew.icn -banner homebrew.bnr -content manual.cfa:1 -o homebrew.cci<br />
<br />
Create a CIA using an already built application CXI and manual CFA:<br />
makerom -f cia -content homebrew.cxi:0:0 -content manual.cfa:1:1 -o homebrew.cia<br />
<br />
Rebuild a CXI:<br />
makerom -code code.bin -exheader exheader.bin -icon icon.bin -banner banner.bin -romfs romfs.bin -rsf app.rsf -desc sdapp:33 -o rebuild.cxi<br />
<br />
<br />
=== Creating RSF files ===<br />
Inspired by Nintendo's format for their makerom, is a yaml configuration file, required for creating NCCH files. CIA/CCI can be created without using a RSF file, but default settings will be used.<br />
<br />
For CXI, RSF files can be used to specify permissions, and access control settings. However makerom can use default settings by use of the "-desc" option, which removes the requirement for specifing them in the RSF file.<br />
<br />
Sample RSF to be used with "-desc": [https://dl.dropboxusercontent.com/u/60710927/CTR/makerom/sample0.rsf download]<br />
<br />
Sample RSF to be used without "-desc": [https://dl.dropboxusercontent.com/u/60710927/CTR/makerom/sample1.rsf download]<br />
<br />
=== Creating ELF files ===<br />
ELF files created using the official SDK can be used with makerom. But ELF files created using smea's WIP ctrulib, can be used, provided they are linked with this linker script: [https://dl.dropboxusercontent.com/u/60710927/CTR/makerom/ctr_homebrew.ld download]<br />
<br />
== Compiling Source ==<br />
For Windows use MinGW, 64bit versions of MinGW are supported also.<br />
<br />
For Linux, gcc/g++/make must be installed.<br />
<br />
All additional libraries used by makerom, are included in the source, and are linked statically.<br />
<br />
== Issues ==<br />
<br />
* Proper ticket index generation isn't complete (CIA tickets are valid for only one content)<br />
* RomFs hasn't been completely implemented (But valid pre-built romfs can be used as substitute)</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Makerom&diff=9037Makerom2014-05-05T14:44:47Z<p>3dsguy: Created page with "{{Infobox homebrew | title = makerom | type = pc utility | author = 3dsguy | source = https://github.com/3DSGuy/Project_CTR/tree/master/makerom ..."</p>
<hr />
<div>{{Infobox homebrew<br />
| title = makerom<br />
| type = pc utility<br />
| author = [[User:3dsguy|3dsguy]]<br />
| source = https://github.com/3DSGuy/Project_CTR/tree/master/makerom<br />
| version = 0.8<br />
}}<br />
<br />
makerom is a tool which can be used to created [[NCCH]] and [[NCSD|CCI]] and [[CIA]] files.<br />
<br />
== Using Makerom ==<br />
<br />
=== Command line ===<br />
Since CCI and CIA are NCCH containers, makerom was built so CXIs could be built stand alone, or straight into a container format. It is also possible rebuild CXIs as easily building a CXI from an elf. As a result the are many combinations which can be used, and for simplicity specific functions will be explained by breaking them up into argument groups:<br />
<br />
'''Creating CXIs from scratch:'''<br />
-elf <elf path> -rsf <rsf path> [-icon <[[SMDH|icon]] path> -banner <banner path>]<br />
<br />
'''Rebuilding CXIs:'''<br />
-code <decompressed exefs .code> -exheader <exheader from original CXI> -rsf <rsf path> [-icon <[[SMDH|icon]] path> -banner <banner path> -romfs <cleartext romfs binary>]<br />
<br />
'''Creating CFAs:'''<br />
-f cfa -rsf <rsf path> [-icon <[[SMDH|icon]] path> -romfs <romfs binary>]<br />
<br />
'''Creating CCIs:'''<br />
-f cci [-content <path>:<index> ...]<br />
<br />
'''Creating CCIs:'''<br />
-f cia [-content <path>:<index>:<id> ...]<br />
<br />
'''Using Desc presets:'''<br />
-desc <app type>:<firm version><br />
<br />
* 'app type' can be SDApp / ECApp / Demo / DlpChild<br />
* 'firm version' is the target kernel version minor for the intended 3DS system.<br />
<br />
'''Examples:'''<br />
Create a CCI, using a manual CFA, and a desc preset:<br />
makerom -f cci -elf homebrew.elf -rsf app.rsf -desc sdapp:33 -icon homebrew.icn -banner homebrew.bnr -content manual.cfa:1 -o homebrew.cci<br />
<br />
Create a CIA using an already built application CXI and manual CFA:<br />
makerom -f cia -content homebrew.cxi:0:0 -content manual.cfa:1:1 -o homebrew.cia<br />
<br />
Rebuild a CXI:<br />
makerom -code code.bin -exheader exheader.bin -icon icon.bin -banner banner.bin -romfs romfs.bin -rsf app.rsf -desc sdapp:33 -o rebuild.cxi<br />
<br />
<br />
=== Creating RSF files ===<br />
Inspired by Nintendo's format for their makerom, is a yaml configuration file, required for creating NCCH files. CIA/CCI can be created without using a RSF file, but default settings will be used.<br />
<br />
For CXI, RSF files can be used to specify permissions, and access control settings. However makerom can use default settings by use of the "-desc" option, which removes the requirement for specifing them in the RSF file.<br />
<br />
Sample RSF to be used with "-desc": [https://dl.dropboxusercontent.com/u/60710927/CTR/makerom/sample0.rsf download]<br />
<br />
Sample RSF to be used without "-desc": [https://dl.dropboxusercontent.com/u/60710927/CTR/makerom/sample1.rsf download]<br />
<br />
=== Creating ELF files ===<br />
ELF files created using the official SDK can be used with makerom. But ELF files created using smea's WIP ctrulib, can be used, provided they are linked with this linker script: [https://dl.dropboxusercontent.com/u/60710927/CTR/makerom/ctr_homebrew.ld download]<br />
<br />
== Issues ==<br />
<br />
* Proper ticket index generation isn't complete (CIA tickets are valid for only one content)<br />
* RomFs hasn't been completely implemented (But valid pre-built romfs can be used as substitute)</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Filesystem_services_PXI&diff=8991Filesystem services PXI2014-04-30T10:13:50Z<p>3dsguy: /* Errors */ 0xD900458B</p>
<hr />
<div>{| class="wikitable" border="1"<br />
|-<br />
! Command Header, prior to [[3.0.0-5]]<br />
! Command Header, starting with [[3.0.0-5]]<br />
! Available since system version<br />
! Description<br />
|-<br />
| 0x000101C2<br />
| <br />
| [[1.0.0-0]]<br />
| OpenFile<br />
|-<br />
| 0x00020142<br />
| <br />
| [[1.0.0-0]]<br />
| DeleteFile? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr) <br />
|-<br />
| 0x00030244<br />
| <br />
| [[1.0.0-0]]<br />
| RenameFile? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, secondarchivehandlelo, secondarchivehandlehi, secondpathtype, secondpathsize, pathptrsize, pathptr, secondpathptrsize, secondpathptr)<br />
|-<br />
| 0x00040142<br />
| <br />
| [[1.0.0-0]]<br />
| DeleteDirectory? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr) <br />
|-<br />
| 0x00050202<br />
| <br />
| [[1.0.0-0]]<br />
| CreateFile? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, unknown_u32, unknown_lo, unknown_hi, pathptrsize, pathptr) <br />
|-<br />
| 0x00060182<br />
| <br />
| [[1.0.0-0]]<br />
| CreateDirectory? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, unknown_u32, pathptrsize, pathptr) <br />
|-<br />
| 0x00070244<br />
| <br />
| [[1.0.0-0]]<br />
| RenameDirectory? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, secondarchivehandlelo, secondarchivehandlehi, secondpathtype, secondpathsize, pathptrsize, pathptr, secondpathptrsize, secondpathptr)<br />
|-<br />
| 0x00080102<br />
| <br />
| [[1.0.0-0]]<br />
| OpenDirectory (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr)<br />
|-<br />
| 0x00090142<br />
| <br />
| [[1.0.0-0]]<br />
| ReadFile<br />
|-<br />
| 0x000A00C2<br />
| <br />
| [[1.0.0-0]]<br />
| CalculateFileHashSHA256<br />
|-<br />
| 0x000B0182<br />
| <br />
| [[1.0.0-0]]<br />
| WriteFile<br />
|-<br />
| 0x000C0104<br />
| <br />
| [[1.0.0-0]]<br />
| [[FSPXI:CalcSavegameMAC|CalcSavegameMAC]]<br />
|-<br />
| 0x000D0080<br />
| <br />
| [[1.0.0-0]]<br />
| GetFileSize<br />
|-<br />
| 0x000E0100<br />
| <br />
| [[1.0.0-0]]<br />
| SetFileSize (sizelo, sizehi, filehandlelo, filehandlehi)<br />
|-<br />
| 0x000F0080<br />
| <br />
| [[1.0.0-0]]<br />
| CloseFile (filehandlelo, filehandlehi)<br />
|-<br />
| 0x001000C2<br />
| <br />
| [[1.0.0-0]]<br />
| ReadDirectory (dirhandlelo, dirhandlehi, count, ptrsize, ptr)<br />
|-<br />
| 0x00110080<br />
| <br />
| [[1.0.0-0]]<br />
| CloseDirectory (dirhandlelo, dirhandlehi)<br />
|-<br />
| 0x001200C2<br />
| <br />
| [[1.0.0-0]]<br />
| [[FSPXI:OpenArchive|OpenArchive]]<br />
|-<br />
| 0x00130102<br />
| <br />
| [[1.0.0-0]]<br />
| CreateExtSaveData? (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr) <br />
|-<br />
| 0x00140102<br />
| <br />
| [[1.0.0-0]]<br />
| (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr) <br />
|-<br />
| 0x00150102<br />
| <br />
| [[1.0.0-0]]<br />
| (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr) <br />
|-<br />
| 0x00160080<br />
| <br />
| [[1.0.0-0]]<br />
| CloseArchive (archivehandlelo, archivehandlehi)<br />
|-<br />
| 0x00170080<br />
| <br />
| [[1.0.0-0]]<br />
| ReopenArchive? (archivehandlelo, archivehandlehi)<br />
|-<br />
| 0x00180000<br />
| <br />
| [[1.0.0-0]]<br />
| GetCardType<br />
|-<br />
| 0x00190000<br />
| <br />
| [[1.0.0-0]]<br />
| [[FSPXI:GetSdmcArchiveResource|GetSdmcArchiveResource]]<br />
|-<br />
| 0x001A0000<br />
| <br />
| [[1.0.0-0]]<br />
| [[FSPXI:GetNandArchiveResource|GetNandArchiveResource]]<br />
|-<br />
| 0x001B0000<br />
| <br />
| [[1.0.0-0]]<br />
| GetSdmcFatFsError<br />
|-<br />
| 0x001C0000<br />
| <br />
| [[1.0.0-0]]<br />
| GetSdmcDetected<br />
|-<br />
| 0x001D0000<br />
| <br />
| [[1.0.0-0]]<br />
| GetSdmcWritable<br />
|-<br />
| 0x001E0042<br />
| <br />
| [[1.0.0-0]]<br />
| [[FSPXI:GetSdmcCid|GetSdmcCid]]<br />
|-<br />
| 0x001F0042<br />
| <br />
| [[1.0.0-0]]<br />
| [[FSPXI:GetNandCid|GetNandCid]]<br />
|-<br />
| 0x00200000<br />
| <br />
| [[1.0.0-0]]<br />
| GetSdmcSpeedInfo<br />
|-<br />
| 0x00210000<br />
| <br />
| [[1.0.0-0]]<br />
| GetNandSpeedInfo<br />
|-<br />
| 0x00220042<br />
| <br />
| [[1.0.0-0]]<br />
| GetSdmcLog<br />
|-<br />
| 0x00230042<br />
| <br />
| [[1.0.0-0]]<br />
| GetNandLog<br />
|-<br />
| 0x00240000<br />
| <br />
| [[1.0.0-0]]<br />
| ClearSdmcLog<br />
|-<br />
| 0x00250000<br />
| <br />
| [[1.0.0-0]]<br />
| ClearNandLog<br />
|-<br />
| 0x00260000<br />
| <br />
| [[1.0.0-0]]<br />
| GetCardSlotInserted<br />
|-<br />
| 0x00270000<br />
| <br />
| [[1.0.0-0]]<br />
| CardSlotPowerOn<br />
|-<br />
| 0x00280000<br />
| <br />
| [[1.0.0-0]]<br />
| CardSlotPowerOff<br />
|-<br />
| 0x00290000<br />
| <br />
| [[1.0.0-0]]<br />
| CardSlotGetIfPowerStatus<br />
|-<br />
| 0x002A0040<br />
| <br />
| [[1.0.0-0]]<br />
| [[FSPXI:CardNorDirectCommand|CardNorDirectCommand]] (These CardNor commands are used for accessing the raw gamecard flash savedata)<br />
|-<br />
| 0x002B0080<br />
| <br />
| [[1.0.0-0]]<br />
| [[FSPXI:CardNorDirectCommandWithAddress|CardNorDirectCommandWithAddress]]<br />
|-<br />
| 0x002C0082<br />
| <br />
| [[1.0.0-0]]<br />
| [[FSPXI:CardNorDirectRead|CardNorDirectRead]]<br />
|-<br />
| 0x002D00C2<br />
| <br />
| [[1.0.0-0]]<br />
| [[FSPXI:CardNorDirectReadWithAddress|CardNorDirectReadWithAddress]]<br />
|-<br />
| 0x002E0082<br />
| <br />
| [[1.0.0-0]]<br />
| [[FSPXI:CardNorDirectWrite|CardNorDirectWrite]]<br />
|-<br />
| 0x002F00C2<br />
| <br />
| [[1.0.0-0]]<br />
| [[FSPXI:CardNorDirectWriteWithAddress|CardNorDirectWriteWithAddress]]<br />
|-<br />
| 0x003000C2<br />
| <br />
| [[1.0.0-0]]<br />
| [[FSPXI:CardNorDirectRead4IO|CardNorDirectRead4IO]]<br />
|-<br />
| 0x00310082<br />
| <br />
| [[1.0.0-0]]<br />
| CardNorDirectCpuWriteWithoutVerify<br />
|-<br />
| 0x00320040<br />
| <br />
| [[1.0.0-0]]<br />
| [[FSPXI:CardNorDirectSectorEraseWithoutVerify|CardNorDirectSectorEraseWithoutVerify]]<br />
|-<br />
| 0x00330080<br />
| <br />
| [[1.0.0-0]]<br />
| GetProductInfo<br />
|-<br />
| 0x00340040<br />
| <br />
| [[1.0.0-0]]<br />
| SetCardSpiBaudrate<br />
|-<br />
| 0x00350040<br />
| <br />
| [[1.0.0-0]]<br />
| SetCardSpiBusMode<br />
|-<br />
| 0x00360040<br />
| <br />
| [[1.0.0-0]]<br />
| SendInitializeInfo<br />
|-<br />
| 0x00370140<br />
| <br />
| [[1.0.0-0]]<br />
| CreateExtSaveData<br />
|-<br />
| 0x003800C0<br />
| <br />
| [[1.0.0-0]]<br />
| DeleteExtSaveData<br />
|-<br />
| 0x00390082<br />
| <br />
| [[1.0.0-0]]<br />
| EnumerateExtSaveData<br />
|-<br />
| 0x003A0100<br />
| <br />
| [[1.0.0-0]]<br />
| GetSpecialContentIndex<br />
|-<br />
| 0x003B00C2<br />
| <br />
| [[1.0.0-0]]<br />
| GetLegacyRomHeader<br />
|-<br />
| 0x003C00C2<br />
| <br />
| [[1.0.0-0]]<br />
| GetLegacyBannerData<br />
|-<br />
| 0x003F0000<br />
| <br />
| [[1.0.0-0]]<br />
| [[FSPXI:DeleteSdmcRoot|DeleteSdmcRoot]]<br />
|-<br />
| 0x00400040<br />
| <br />
| [[1.0.0-0]]<br />
| DeleteAllExtSaveDataOnNand<br />
|-<br />
| 0x00410000<br />
| <br />
| [[1.0.0-0]]<br />
| [[FSPXI:InitializeCtrFilesystem|InitializeCtrFilesystem]]<br />
|-<br />
| 0x00420000<br />
| <br />
| [[1.0.0-0]]<br />
| CreateSeed<br />
|-<br />
| 0x00430042<br />
| <br />
| [[2.0.0-2]]<br />
| [[FSPXI:GetSdmcCtrRootPath|GetSdmcCtrRootPath]]<br />
|-<br />
| 0x00440040<br />
| <br />
| [[2.0.0-2]]<br />
| GetArchiveResource<br />
|-<br />
| 0x00450002<br />
| <br />
| [[2.0.0-2]]<br />
| [[FSPXI:ExportIntegrityVerificationSeed|ExportIntegrityVerificationSeed]]<br />
|-<br />
| 0x00460002<br />
| <br />
| [[2.0.0-2]]<br />
| [[FSPXI:ImportIntegrityVerificationSeed|ImportIntegrityVerificationSeed]]<br />
|-<br />
| 0x00470082<br />
| <br />
| [[2.0.0-2]]<br />
| EnumerateSharedExtSaveData<br />
|-<br />
| 0x00480102<br />
| <br />
| [[2.0.0-2]]<br />
| GetLegacySubBannerData<br />
|-<br />
| 0x00490042<br />
| <br />
| [[2.0.0-2]]<br />
| Initialize (?)<br />
|-<br />
| 0x004A00C2<br />
| <br />
| [[2.0.0-2]]<br />
| OpenSpecialFile? (archivehandlelo, archivehandlehi, size, ptrsize_mul2, ptr)<br />
|-<br />
| 0x004B0102<br />
| <br />
| [[2.0.0-2]]<br />
| ReadSpecialFile<br />
|-<br />
| <br />
| 0x004B0000<br />
| [[3.0.0-5]]<br />
| [[FSPXI:GetMovableSedHashedKeyYRandomData|GetMovableSedHashedKeyYRandomData]]<br />
|-<br />
| 0x004C0040<br />
| <br />
| [[2.0.0-2]]<br />
| GetSpecialFileSize<br />
|-<br />
| <br />
| 0x004D01C4<br />
| [[3.0.0-5]]<br />
| This is a wrapper for ReadFile. If the first ReadFile call fails, this calls ReadFile again then executes hash-related code.<br />
|-<br />
| <br />
| 0x004E0204<br />
| [[3.0.0-5]]<br />
| This is a wrapper for WriteFile, this is similar to command 0x004D01C4.<br />
|-<br />
| <br />
| 0x004F....<br />
| [[3.0.0-5]]<br />
| (unknown_u64)<br />
|-<br />
| <br />
| 0x00500000<br />
| [[3.0.0-5]]<br />
| Stubbed, this only returns value 0.<br />
|-<br />
| <br />
| 0x0051....<br />
| [[3.0.0-5]]<br />
| (unknown_u8)<br />
|-<br />
| <br />
| 0x00520042<br />
| [[3.0.0-5]]<br />
| (outbuffersize, outbufferptr)<br />
|-<br />
| <br />
| 0x00530000<br />
| [[3.0.0-5]]<br />
| Unknown, stubbed with [[4.0.0-7]].<br />
|-<br />
| <br />
| 0x0054....<br />
| [[4.0.0-7]]<br />
| Stubbed with [[4.0.0-7]].<br />
|-<br />
| <br />
| 0x00550082<br />
| [[4.0.0-7]]<br />
| (outbuffersize, u8 mediatype, outbufferptr)<br />
|}<br />
<br />
=Errors=<br />
{| class="wikitable" border="1"<br />
|-<br />
! Error-code<br />
! Description<br />
|-<br />
| 0xC8804478<br />
| Object doesn't exist / failed to open object(file). Or: The specified title does not exist in the [[Title_Database|database]].<br />
|-<br />
| 0xC88044AB<br />
| [[SDMC]]/NAND bus error, REG_SDSTATUS: TMIO_STAT_CMD_BUSY or TMIO_STAT_TXUNDERRUN<br />
|-<br />
| 0xC88044AC<br />
| [[SDMC]]/NAND bus error, REG_SDSTATUS: TMIO_STAT_ILL_FUNC<br />
|-<br />
| 0xC92044E6<br />
| File already opened?<br />
|-<br />
| 0xC9204509<br />
| [[SDMC]]/NAND bus error, REG_SDSTATUS: TMIO_STAT_CMDTIMEOUT<br />
|-<br />
| 0xC960454B<br />
| [[SDMC]]/NAND bus error, when an error-bit in REG_SDSTATUS separate from the above errors is set. This can also indicate that the TWL partition table in the NAND sector0 is invalid, or that the sector signature for sector0 at offset 0x1FE is invalid?<br />
|-<br />
| 0xC960454C<br />
| [[SDMC]]/NAND bus error, REG_SDSTATUS: TMIO_STAT_STOPBIT_ERR<br />
|-<br />
| 0xC960F401<br />
| [[SDMC]]/NAND bus error, REG_SDSTATUS: Bit23(0x00800000)<br />
|-<br />
| 0xD900458B<br />
| FSUSER: A corrupted [[RomFS]] block was read. (hash check fail)<br />
|-<br />
| 0xD9004676<br />
| FSUSER: The specified service-command / archive is not accessible, due to the currently used exheader accessinfo not having the required bit(s) set. (This error can also indicate that the required ARM9 access-control mount flag is not enabled, in the exheader for any of the running ARM11 processes)<br />
|-<br />
| 0xE0E046BE<br />
| Invalid lowpath. This can also indicate that the specified archive-id does not exist, or that the specified archive-id is not accessible over FSPXI.<br />
|-<br />
| 0xE160F402<br />
| [[SDMC]]/NAND bus error, REG_SDSTATUS: TMIO_STAT_RXRDY<br />
|-<br />
| 0xE160F403<br />
| [[SDMC]]/NAND bus error, REG_SDSTATUS: Bit28(0x10000000)<br />
|-<br />
| 0xE160F404<br />
| [[SDMC]]/NAND bus error, REG_SDSTATUS: Bit27(0x08000000)<br />
|}</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=FIRM&diff=8949FIRM2014-04-23T13:47:52Z<p>3dsguy: /* Overview */</p>
<hr />
<div>== Overview ==<br />
This is the file format for the [[Title list#00040138 - System Firmware|3DS' Firmware]], it contains four 'sections' of ARM code (ARM9 and ARM11). The firmware sections are not encrypted in the FIRM format.<br />
<br />
The ARM9 section contains the ARM9 kernel and the ARM9 process(exheader process name is "Process9"). The ARM11 section(s) contains the ARM11 kernel, and the ARM11 process(es). For NATIVE_FIRM/SAFE_MODE_FIRM these ARM11 processes are sm, fs, pm, loader, and pxi. Normally the 4th section is not used. The code loaded from FIRM is constantly running on the system until another FIRM is launched. The ARM11 kernel is hard-coded to always decompress the FIRM ARM11 modules ExeFS .code, the exheader compression bit is not checked.<br />
<br />
== FIRM Header ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! OFFSET<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x000<br />
| 4<br />
| Magic 'FIRM'<br />
|-<br />
| 0x004<br />
| 4<br />
| Reserved1<br />
|-<br />
| 0x008<br />
| 4<br />
| ARM11 Entrypoint<br />
|-<br />
| 0x00C<br />
| 4<br />
| ARM9 Entrypoint<br />
|-<br />
| 0x010<br />
| 0x030<br />
| Reserved2<br />
|-<br />
| 0x040<br />
| 0x0C0 (0x030*4)<br />
| Firmware Section Headers<br />
|-<br />
| 0x100<br />
| 0x100<br />
| RSA-2048 signature of the FIRM header, using SHA-256.<br />
|}<br />
<br />
== Firmware Section Headers ==<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! OFFSET<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x000<br />
| 4<br />
| Offset<br />
|-<br />
| 0x004<br />
| 4<br />
| Address<br />
|-<br />
| 0x008<br />
| 4<br />
| Size<br />
|-<br />
| 0x00C<br />
| 4<br />
| Firmware Type ('0'=ARM9/'1'=ARM11)<br />
|-<br />
| 0x010<br />
| 0x020<br />
| SHA-256 Hash of Firmware Section<br />
|}<br />
<br />
== NATIVE_FIRM and SAFE_MODE_FIRM ==<br />
NATIVE_FIRM is the FIRM which is installed to the [[Flash_Filesystem|NAND]] firm partitions, which is loaded by bootrom. SAFE_MODE_FIRM and NATIVE_FIRM for the initial versions are exactly the same, except for the system core version fields. SAFE_MODE is used for running the [[System_Settings#System_Updater|System Updater]].<br />
<br />
== TWL_FIRM and AGB_FIRM ==<br />
TWL_FIRM handles DS(i) backwards compatibility, while AGB_FIRM handles running GBA VC titles. The ARM9 FIRM section for TWL_FIRM and AGB_FIRM are exactly the same(for TWL_FIRM and AGB_FIRM versions which were updated with the same system-update).<br />
<br />
=== TWL_FIRM ===<br />
The 3DS-mode ARM9 core seems to switch into DSi-mode(for running DSi-mode ARM9 code) by writing to a [[PDN]] register(this changes the memory layout to DSi-mode / etc, therefore this register poke *must* be executed from ITCM). This is the final 3DS-mode register poke before the ARM9 switches into DSi-mode. It's unknown how exactly DS(i)-mode ARM7 code is run. Trying to read from the exception-vector region(address 0x0) under this DSi-mode ARM7 seems to only return 0x00/0xFF data. Also note that this DSi-mode ARM7 runs code(stored in TWL_FIRM) which pokes some DSi-mode registers that on the DSi were used for disabling access to the DSi bootROMs, however these registers do not affect the 3DS DSi-mode ARM9/ARM7 "bootrom" region(exceptionvector region + 0x8000) at all.<br />
<br />
For shutting down the system(?), TWL_FIRM writes u8 value 8 to [[I2C]] MCU register 0x20. For returning to 3DS-mode, TWL_FIRM writes value 4 to that MCU register to trigger a hardware system reboot.</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=NCCH/Extended_Header&diff=8948NCCH/Extended Header2014-04-23T13:47:25Z<p>3dsguy: /* ARM11 Local System Capabilities */</p>
<hr />
<div>== Overview ==<br />
This page documents the format of the '''NCCH Extended Header''' (''exheader'' for short).<br />
<br />
The exheader, has two sections:<br />
* The actual exheader data, containing System Control Info and Access Control Info,<br />
* And a signed copy of NCCH HDR public key, and exheader Access Control Info. (This version of the Access Control Info is used as limitation to the actual Access Control Info)<br />
<br />
== Main Structure ==<br />
All values are little endian unless otherwise specified.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x200<br />
| System Control Info<br />
|-<br />
| 0x200<br />
| 0x200<br />
| Access Control Info<br />
|-<br />
| 0x400<br />
| 0x100<br />
| AccessDesc Signature (RSA-2048-SHA256)<br />
|-<br />
| 0x500<br />
| 0x100<br />
| NCCH Hdr RSA-2048 Public Key<br />
|-<br />
| 0x600<br />
| 0x200<br />
| Access Control Info (For limitation of first Access Control Info)<br />
|}<br />
<br />
The AccessDesc Signature covers the ''NCCH Hdr Public Key'' and second ''Access Control Info''. The AccessDesc public key is initialised by the bootrom.<br />
<br />
When loading the exheader, [[FIRM|Process9]] compares the exheader data with the data in the accessdesc(note that not everything is compared here). When these don't match, an error is returned. The Process9 code handling this validation was updated with [[6.0.0-11|v6.0]](the only change in this function seems to be the check for the "Ideal Processor" field).<br />
<br />
== System Control Info ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x8<br />
| Application Title<br />
|-<br />
| 0x8<br />
| 0x5<br />
| Reserved<br />
|-<br />
| 0xD<br />
| 0x1<br />
| Flag (Bit0: CompressExefsCode, Bit1: SDApplication)<br />
|-<br />
| 0xE<br />
| 0x2<br />
| Remaster Version<br />
|-<br />
| 0x10<br />
| 0xC<br />
| Text Code Set Info<br />
|-<br />
| 0x1C<br />
| 0x4<br />
| Stack Size<br />
|-<br />
| 0x20<br />
| 0xC<br />
| ReadOnly Code Set Info<br />
|-<br />
| 0x2C<br />
| 0x4<br />
| Reserved<br />
|-<br />
| 0x30<br />
| 0xC<br />
| Data Code Set Info<br />
|-<br />
| 0x3C<br />
| 0x4<br />
| BSS Size<br />
|-<br />
| 0x40<br />
| 0x180 (48*8)<br />
| Dependency Module (Program ID) List<br />
|-<br />
| 0x1C0<br />
| 0x40<br />
| SystemInfo<br />
|}<br />
<br />
=== Code Set Info ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x4<br />
| Address<br />
|-<br />
| 0x4<br />
| 0x4<br />
| Physical region size (in page-multiples)<br />
|-<br />
| 0x8<br />
| 0x4<br />
| Size (in bytes)<br />
|}<br />
<br />
=== System Info ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x8<br />
| SaveData Size<br />
|-<br />
| 0x8<br />
| 0x8<br />
| Jump ID<br />
|-<br />
| 0x10<br />
| 0x30<br />
| Reserved<br />
|}<br />
<br />
== Access Control Info ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x170<br />
| ARM11 Local System Capabilities<br />
|-<br />
| 0x170<br />
| 0x80<br />
| ARM11 Kernel Capabilities<br />
|-<br />
| 0x1F0<br />
| 0x10<br />
| ARM9 Access Control<br />
|}<br />
<br />
=== ARM11 Local System Capabilities ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x8<br />
| Program ID<br />
|-<br />
| 0x8<br />
| 0x4<br />
| Core Version (The Title ID low of the required [[FIRM]])<br />
|-<br />
| 0xC<br />
| 0x2<br />
| Reserved<br />
|-<br />
| 0xE<br />
| 0x1<br />
| Flag0<br />
|-<br />
| 0xF<br />
| 0x1<br />
| Priority<br />
|-<br />
| 0x10<br />
| 0x20 (16*2)<br />
| Resource Limit Descriptors<br />
|-<br />
| 0x30<br />
| 0x20<br />
| Storage Info<br />
|-<br />
| 0x50<br />
| 0x100 (32*8)<br />
| Service Access Control<br />
|-<br />
| 0x150<br />
| 0x1F<br />
| Reserved<br />
|-<br />
| 0x16F<br />
| 0x1<br />
| Resource Limit Category. (0 = APPLICATION, 1 = SYS_APPLET, 2 = LIB_APPLET, 3 = OTHER)<br />
|}<br />
<br />
==== Flag0 ====<br />
This stores the ''System Mode'', ''Affinity Mask'' and ''Ideal Processor'' values in one byte. They are stored as follows:<br />
u8 Flag0 = (SystemMode << 4 | AffinityMask << 2 | IdealProcessor);<br />
And can be retrieved as follows:<br />
u8 SystemMode = (Flag0>>4)&0xF;<br />
u8 AffinityMask = (Flag0>>2)&0x3;<br />
u8 IdealProcessor = (Flag0>>0)&0x3;<br />
<br />
In the exheader data, the IdealProcessor field is a bit-index, while in the accessdesc the IdealProcessor field is a bitmask. When the bit specified by the exheader field is not set in the accessdesc field, an error is returned. "if((1<<exheaderval) & accessdescval == 0)return error"<br />
<br />
==== Storage Info ====<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x8<br />
| Extdata ID<br />
|-<br />
| 0x8<br />
| 0x8<br />
| System Save Data Ids<br />
|-<br />
| 0x10<br />
| 0x8<br />
| Storage Accessable Unique Ids<br />
|-<br />
| 0x18<br />
| 0x7<br />
| File System Access Info<br />
|-<br />
| 0x1F<br />
| 0x1<br />
| Other Attributes<br />
|}<br />
<br />
File System Access Info:<br />
{| class="wikitable" border="1"<br />
|-<br />
! Bit<br />
! Description<br />
|-<br />
| 0<br />
| Category System Application<br />
|-<br />
| 1<br />
| Category Hardware Check<br />
|-<br />
| 2<br />
| Category File System Tool<br />
|-<br />
| 3<br />
| Debug<br />
|-<br />
| 4<br />
| TWL Card Backup<br />
|-<br />
| 5<br />
| TWL Nand Data<br />
|-<br />
| 6<br />
| BOSS<br />
|-<br />
| 7<br />
| [[FS:OpenArchive|sdmc:/]]<br />
|-<br />
| 8<br />
| Core<br />
|-<br />
| 9<br />
| [[Flash Filesystem|nand:/ro/]] (Read Only)<br />
|-<br />
| 10<br />
| [[Flash Filesystem|nand:/rw/]]<br />
|-<br />
| 11<br />
| [[Flash Filesystem|nand:/ro/]] (Write Access)<br />
|-<br />
| 12<br />
| Category System Settings<br />
|-<br />
| 13<br />
| Card Board<br />
|-<br />
| 14<br />
| Export Import IVS<br />
|-<br />
| 15<br />
| [[FS:OpenArchive|sdmc:/]] (Write-only)<br />
|-<br />
| 16<br />
| Switch Cleanup (Introduced in [[3.0.0-5|3.0.0]]?) <br />
|-<br />
| 17<br />
| Save Data Move (Introduced in [[5.0.0-11|5.0.0]]) <br />
|-<br />
| 18<br />
| Shop (Introduced in [[5.0.0-11|5.0.0]]) <br />
|-<br />
| 19<br />
| Shell (Introduced in [[5.0.0-11|5.0.0]]) <br />
|-<br />
| 20<br />
| Category HomeMenu (Introduced in [[6.0.0-11|6.0.0]]) <br />
|}<br />
<br />
Other Attributes:<br />
{| class="wikitable" border="1"<br />
|-<br />
! Bit<br />
! Description<br />
|-<br />
| 0<br />
| Not use RomFS<br />
|-<br />
| 1<br />
| Use Extended Save Data Access. When this is set, the ''Extdata ID'' and ''Storage Accessable Unique Ids'' regions are used to store a total of 6 ''Accessible Save Ids''. Introduced in [[6.0.0-11|6.0.0]].<br />
|}<br />
<br />
<br />
==== Service Access Control ====<br />
This is the list of [[Services_API|services]] which the process is allowed to access, this is registered with the [[Services|services]] manager. Each service listed in the exheader must be listed in the accessdesc, otherwise the invalid exheader error is returned. The order of the services for exheader/accessdesc doesn't matter. The accessdesc can list services which are not in the exheader, but normally the service-access-control data for exheader/accessdesc are exactly the same.<br />
<br />
=== ARM11 Kernel Capabilities ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x70 (28*4)<br />
| Descriptors<br />
|-<br />
| 0x70<br />
| 0x10<br />
| Reserved<br />
|}<br />
<br />
=== ARM9 Access Control ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0xF<br />
| Descriptors<br />
|-<br />
| 0xF<br />
| 0x1<br />
| ARM9 Descriptor Version<br />
|}<br />
<br />
Descriptors:<br />
{| class="wikitable" border="1"<br />
|-<br />
! Bit<br />
! Description<br />
|-<br />
| 0<br />
| Mount [[Flash Filesystem|nand:/]]<br />
|-<br />
| 1<br />
| Mount [[Flash Filesystem|nand:/ro/]] (Write Access)<br />
|-<br />
| 2<br />
| Mount [[Flash Filesystem|twln:/]]<br />
|-<br />
| 3<br />
| Mount [[Flash Filesystem|wnand:/]]<br />
|-<br />
| 4<br />
| Mount Card SPI<br />
|-<br />
| 5<br />
| Use SDIF3<br />
|-<br />
| 6<br />
| Create Seed<br />
|-<br />
| 7<br />
| Use Card SPI<br />
|-<br />
| 8<br />
| SD Application (Not checked)<br />
|-<br />
| 9<br />
| Mount [[SD Filesystem|sdmc:/]] (Write Access)<br />
|}</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Title_list&diff=8947Title list2014-04-23T13:46:34Z<p>3dsguy: </p>
<hr />
<div>The Nintendo 3DS utilizes a similar title-based organization as seen in the Wii and DSi platforms. The update server is located [http://nus.cdn.c.shop.nintendowifi.net/ccs/download/ here]. When using SSL, the update/shop servers must be accessed via SSLv3.<br />
<br />
The organization of Title IDs has not been documented fully yet. Region info isn't stored in title IDs however there does appear to be evidence that the regions are sequential, similar to how Wii System Menu Updates are ordered: JPN USA EUR KOR and CHN (introduced with the DSi). 3DS has one additional region: TWN.<br />
<br />
Note: The terms 'Title ID', 'Partition ID' and 'Media ID' are interchangeable.<br />
<br />
The 3DS retrieves system [[CommonETicket|tickets]] with SOAP request GetSystemCommonETicket, instead of directly downloading the cetk with HTTPS. The cetk is still accessible via HTTP, however 3DS doesn't use direct HTTP for this.<br />
<br />
<br />
'''TitleID Structure''': 0xCCCCABCDLLLLLLRR<br />
<br />
* CCCC defines the console '''Platform''' (4=3DS, 3=DSi, 1=[http://wiibrew.org/wiki/Title_database Wii])<br />
* ABCD defines the '''Content Category''' of the title, Demo, DLPChild, etc.<br />
* LLLLLL For CTR titles, this is the title's '''Unique ID'''. For TWL converted titles this is in two sections grouped as SSLLLL. SS is the old title identification used by the DSi and is made redundant by 'ABCD'. LLLL is the TWL title's 'Unique ID'. There are restrictions on the Unique ID, see below for more info.<br />
* RR This is the Title ID '''Variation''', and has various uses.<br />
<br />
<br />
'''Content Categories''':<br />
<br />
This u16 is a collection bit mask flag. Each Category is a group of one or more bit masks.<br />
<br />
Specific Bitmask Flags:<br />
{| class="wikitable" border="1"<br />
|-<br />
! Category<br />
! Bitmask<br />
|-<br />
| Normal<br />
| 0x0<br />
|-<br />
| DlpChild<br />
| 0x1<br />
|-<br />
| Demo<br />
| 0x2<br />
|-<br />
| Contents<br />
| 0x3<br />
|-<br />
| AddOnContents<br />
| 0x4<br />
|-<br />
| Patch<br />
| 0x6<br />
|-<br />
| CannotExecution<br />
| 0x8<br />
|-<br />
| System<br />
| 0x10<br />
|-<br />
| RequireBatchUpdate<br />
| 0x20<br />
|-<br />
| NotRequireUserApproval<br />
| 0x40<br />
|-<br />
| NotRequireRightForMount<br />
| 0x80<br />
|-<br />
| CanSkipConvertJumpId<br />
| 0x100<br />
|-<br />
| TWL<br />
| 0x8000<br />
|}<br />
<br />
* TWL Category bit mask are carried over from original TWL category bitmasks (ignoring bit mask 0x8000), so TWL system titles have the bitmask of 0x8001.<br />
<br />
* System titles (TWL and CTR) are eligible to be updated during a System Update.<br />
<br />
* Bit Mask 0x4000 appears to be reserved, as it renders the ''TWL'' and ''System'' bit masks useless.<br />
<br />
'''Unique ID Restrictions''':<br />
<br />
For the CTR titles, there appears to be is a correlation between Unique IDs (UID) and 3DS 'title types'. For developer titles this is known(shown below), and retail titles *appear* to follow suite. It is unknown if this correlation is enforced on retail units, or if it is just for organisation purposes. <br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! TITLE TYPE<br />
! UNIQUE ID RANGE<br />
|-<br />
| System<br />
| 0x0 - 0x2FF<br />
|- <br />
| Application<br />
| 0x300 - 0xF7FFF<br />
|- <br />
| Evaluation<br />
| 0xF8000 -0xFFFFF<br />
|- <br />
| Prototype*<br />
| 0xFF000 - 0xFF3FF<br />
|}<br />
<nowiki>*</nowiki>On the home menu, titles with UIDs within the 'Prototype' range, appear on the home menu after install without the gift fanfare.<br />
<br />
'''TitleID Variation''':<br />
<br />
This u8 allows enumeration of titles from the same category and unique ID. Common uses are explained below:<br />
<br />
* CTR System Titles: The 3DS has two copies of most modules/applets/archives for usage with either the NATIVE_FIRM or SAFE_MODE_FIRM. This is allowed for, by changing the title ID variation of the title to match the core version set by the FIRM it is designed to be used with:<br />
{| class="wikitable" border="1"<br />
|-<br />
! RR<br />
! MEANING<br />
|- <br />
| 02<br />
| System Title (Core version 0x2)<br />
|-<br />
| 03<br />
| SAFE_MODE System Title (Core version 0x3)<br />
|}<br />
Normally on retail SAFE_MODE ARM11 [[NCCH#CXI|CXI]] titles can't be launched, since the [[Configuration_Memory|system]] core version doesn't match the CXI exheader core version.<br />
<br />
* Only most non-Normal Applications are known to utilise Title ID variation, this is explained in their respective sections on this page.<br />
<br />
* [[3DS Development Unit Software|Dev Menu]] installs CTR Applications with a TitleID variation of 0x02 to the CTR NAND.<br />
<br />
* Title ID variation is ignored for TWL titles, this value is carried over from the original TWL title ID and is used for region lock:<br />
<br />
=== Versions ===<br />
<br />
v## = 0xHHHH = 0bBBBBBBBB...<br />
<br />
* The version major,minor and micro can be extracted from the version number by converting the 16 bit number to binary<br />
* 6 bits : Major<br />
* 6 bits : Minor<br />
* 4 bits : Micro ('Build' in some contexts)<br />
* i.e. v2069 (Taken from 000400DB00017302) = 0b000010 000001 0101 means that the title version is v2.1.5. For reasons unknown, the CVer build, stored in the RomFS of the title, has always been zero (at time of writing), regardless of the CVer build in the TMD. So when predicting the firmware version, this should be taken into account.<br />
<br />
NOTE: This Title list is a condensed version, only the System Titles lists are full lists. For a full list of titles on Nintendo's CDN, see [http://mtheall.com/~mtheall/tmdlist.php here]. The reports/title-lists from [http://yls8.mtheall.com/reports.php here] are automatically obtained from the system update SOAP.<br />
<br />
== CTR System Titles ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! System Category<br />
! Bit Mask(s)<br />
! Category Bit Mask<br />
|-<br />
| Application (SYSTEM_APPLICATION)<br />
| Normal<nowiki>|</nowiki>System<br />
| 0x0010<br />
|-<br />
| System Data Archives (SYSTEM_CONTENT)<br />
| Contents<nowiki>|</nowiki>CannotExecution<nowiki>|</nowiki>System<br />
| 0x001B<br />
|-<br />
| Shared Data Archives (SHARED_CONTENT)<br />
| Contents<nowiki>|</nowiki>CannotExecution<nowiki>|</nowiki>System<nowiki>|</nowiki>NotRequireRightForMount<br />
| 0x009B<br />
|-<br />
| System Data Archives (AUTO_UPDATE_CONTENT)<br />
| Contents<nowiki>|</nowiki>CannotExecution<nowiki>|</nowiki>System<nowiki>|</nowiki>NotRequireUserApproval<nowiki>|</nowiki>NotRequireRightForMount<br />
| 0x00DB<br />
|-<br />
| Applet (APPLET)<br />
| Normal<nowiki>|</nowiki>System<nowiki>|</nowiki>RequireBatchUpdate<br />
| 0x0030<br />
|-<br />
| Module (BASE)<br />
| Normal<nowiki>|</nowiki>System<nowiki>|</nowiki>RequireBatchUpdate<nowiki>|</nowiki>CanSkipConvertJumpId<br />
| 0x0130<br />
|-<br />
| Firmware (FIRMWARE)<br />
| Normal<nowiki>|</nowiki>CannotExecution<nowiki>|</nowiki>System<nowiki>|</nowiki>RequireBatchUpdate<nowiki>|</nowiki>CanSkipConvertJumpId<br />
| 0x0138<br />
|}<br />
<br />
=== 00040010 - System Applications ===<br />
The versions for CHN, KOR, and TWN are separate from the other regions.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! JPN TIDLow<br />
! USA TIDLow<br />
! EUR TIDLow<br />
! CHN TIDLow<br />
! KOR TIDLow<br />
! TWN TIDLow<br />
! Description<br />
! JPN Versions<br />
! EUR Versions<br />
! USA Versions<br />
! CHN Versions<br />
! KOR Versions<br />
! TWN Versions<br />
! Status<br />
|-<br />
| 00020000<br />
| 00021000<br />
| 00022000<br />
| 00026000<br />
| 00027000<br />
| 00028000<br />
| [[System Settings]] (mset)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1027]], [[3.0.0-5|v2060]], [[4.0.0-7|v3074]], [[5.0.0-11|v4097]], [[6.0.0-11|v5127]], [[7.0.0-13|v6157]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1027]], [[3.0.0-5|v2061]], [[4.0.0-7|v3075]], [[5.0.0-11|v4097]], [[6.0.0-11|v5127]], [[7.0.0-13|v6157]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1027]], [[3.0.0-5|v2062]], [[4.0.0-7|v3078]], [[5.0.0-11|v4098]], [[6.0.0-11|v5128]], [[7.0.0-13|v6157]]<br />
| [[4.0.0-7|v8]], v1024, [[5.0.0-11|v2049]], [[7.0.0-13|v3075]]<br />
| [[4.0.0-7|v1026]], [[5.0.0-11|v2049]], [[7.0.0-13|v4098]]<br />
| [[4.1.0-8|v8]], [[4.2.0-9|v1024]], [[5.0.0-11|v2050]], [[7.0.0-13|v3074]]<br />
| Active<br />
|-<br />
| 00020100<br />
| 00021100<br />
| 00022100<br />
| 00026100<br />
| 00027100<br />
| 00028100<br />
| [[Download Play]] (dlplay)<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1026]], [[4.0.0-7|v2051]]<br />
| Same as JPN<br />
| Same as JPN<br />
| [[4.0.0-7|v4]]<br />
| [[4.0.0-7|v1027]]<br />
| [[4.1.0-8|v4]]<br />
| Active<br />
|-<br />
| 00020200<br />
| 00021200<br />
| 00022200<br />
| 00026200<br />
| 00027200<br />
| 00028200<br />
| [[Activity Log]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[3.0.0-5|v2051]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[3.0.0-5|v2054]], [[7.0.0-13|v2064]]<br />
| Same as EUR<br />
| [[4.0.0-7|v3]]<br />
| [[4.0.0-7|v2]], [[7.0.0-13|v16]]<br />
| [[4.1.0-8|v2]]<br />
| Active<br />
|-<br />
| 00020300<br />
| 00021300<br />
| 00022300<br />
| 00026300<br />
| 00027300<br />
| 00028300<br />
| [[Health and Safety Information]]<br />
| [[1.0.0-0|v0]], [[4.0.0-7|v1024]], [[6.0.0-11|v2050]]<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[4.0.0-7|v2050]], [[6.0.0-11|v3077]]<br />
| [[1.0.0-0|v0]], [[4.0.0-7|v1026]], [[6.1.0-12U|v2051]]<br />
| [[4.0.0-7|v5]]<br />
| [[4.0.0-7|v2]]<br />
| [[4.1.0-8|v5]]<br />
| Active<br />
|-<br />
| 00020400<br />
| 00021400<br />
| 00022400<br />
| 00026400<br />
| 00027400<br />
| 00028400<br />
| [[Nintendo 3DS Camera]] (CtrApp)<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v16]], [[3.0.0-5|v1038]], [[4.0.0-7|v2048]], [[6.0.0-11|v3073]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v16]], [[3.0.0-5|v1039]], [[4.0.0-7|v2048]], [[6.0.0-11|v3073]], [[7.0.0-13|v3088]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v16]], [[3.0.0-5|v1039]], [[4.0.0-7|v2048]], [[6.1.0-12U|v3074]], [[7.0.0-13|v3088]]<br />
| [[4.0.0-7|v3]]<br />
| [[4.0.0-7|v2]], [[7.0.0-13|v1040]]<br />
| [[4.1.0-8|v3]]<br />
| Active<br />
|-<br />
| 00020500<br />
| 00021500<br />
| 00022500<br />
| 00026500<br />
| 00027500<br />
| 00028500<br />
| [[Nintendo 3DS Sound]] (CtrApp)<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1027]], [[3.0.0-5|v2049]], [[4.0.0-7|v3072]], [[7.0.0-13|v3089]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1027]], [[3.0.0-5|v2049]], [[4.0.0-7|v3072]], [[7.0.0-13|v3088]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1027]], [[3.0.0-5|v2049]], [[4.0.0-7|v3072]], [[7.0.0-13|v3088]]<br />
| [[4.0.0-7|v2]]<br />
| [[4.0.0-7|v2]], [[7.0.0-13|v16]]<br />
| [[4.1.0-8|v3]]<br />
| Active<br />
|-<br />
| 00020700<br />
| 00021700<br />
| 00022700<br />
| 00026700<br />
| 00027700<br />
| 00028700<br />
| [[Mii Maker]] (EDIT)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[7.0.0-13|v2055]]<br />
| Same as JPN<br />
| Same as JPN<br />
| [[4.0.0-7|v1]]<br />
| [[4.0.0-7|v1]], [[7.0.0-13|v16]]<br />
| [[4.1.0-8|v2]]<br />
| Active<br />
|-<br />
| 00020800<br />
| 00021800<br />
| 00022800<br />
| 00026800<br />
| 00027800<br />
| 00028800<br />
| [[StreetPass Mii Plaza]] (MEET)<br />
| [[1.0.0-0|v0]], v1027, [[2.1.0-4|v2048]], [[3.0.0-5|v3087]], [[3.0.0-6|v4096]], [[6.0.0-11|v5121]]<br />
| [[1.0.0-0|v0]], v1027, [[2.1.0-4|v2048]], [[3.0.0-5|v3087]], [[3.0.0-6|v4096]], [[6.0.0-11|v5122]]<br />
| [[1.0.0-0|v0]], v1027, [[2.1.0-4|v2048]], [[3.0.0-5|v3087]], [[3.0.0-6|v4096]], [[6.1.0-12U|v5124]], [[7.0.0-13|v5136]]<br />
| [[4.0.0-7|v0]], [[4.4.0-10|v4096]]<br />
| [[4.0.0-7|v1]], [[4.4.0-10|v4096]], [[7.0.0-13|v5120]]<br />
| [[4.1.0-8|v1]], [[4.4.0-10|v4096]]<br />
| Active<br />
|-<br />
| 00020900<br />
| 00021900<br />
| 00022900<br />
| N/A<br />
| 00027900<br />
| 00028900<br />
| [[eShop]] (tiger)<br />
| [[2.0.0-2|v4]], [[2.1.0-3|v1026]], [[3.0.0-5|v2057]], [[4.0.0-7|v3081]], [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7169]], [[7.0.0-13|v8206]], [[7.1.0-14|v9231]]<br />
| [[2.0.0-2|v4]], [[2.1.0-3|v1026]], [[3.0.0-5|v2058]], [[4.0.0-7|v3081]], [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7171]], [[7.0.0-13|v8206]], [[7.1.0-14|v9231]]<br />
| [[2.0.0-2|v4]], [[2.1.0-3|v1026]], [[3.0.0-5|v2058]], [[4.0.0-7|v3081]], [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7170]], [[7.0.0-13|v8206]], [[7.1.0-14|v9231]]<br />
| N/A<br />
| [[4.0.0-7|v3082]], [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7169]], [[7.0.0-13|v8205]], [[7.1.0-14|v9231]]<br />
| [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7170]], [[7.0.0-13|v8205]], [[7.1.0-14|v9231]]<br />
| Active<br />
|-<br />
| 00020A00<br />
| 00021A00<br />
| 00022A00<br />
| N/A<br />
| 00027A00<br />
| 00028A00<br />
| [[System Transfer]] (CARDBOAR)<br />
| [[2.0.0-2|v4]], [[3.0.0-5|v1035]], [[4.0.0-7|v2050]], [[5.0.0-11|v3074]], [[7.0.0-13|v4109]]<br />
| [[2.0.0-2|v4]], [[3.0.0-5|v1035]], [[4.0.0-7|v2050]], [[5.0.0-11|v3073]], [[7.0.0-13|v4109]]<br />
| [[2.0.0-2|v4]], [[3.0.0-5|v1035]], [[4.0.0-7|v2051]], [[5.0.0-11|v3073]], [[7.0.0-13|v4109]]<br />
| N/A<br />
| [[4.0.0-7|v2]], [[5.0.0-11|v1025]], [[7.0.0-13|v2061]]<br />
| [[4.1.0-8|v2]], [[5.0.0-11|v1025]], [[7.0.0-13|v2061]]<br />
| Active<br />
|-<br />
| 00020B00<br />
| 00021B00<br />
| 00022B00<br />
| N/A<br />
| N/A<br />
| N/A<br />
| [[Nintendo Zone]] ("Nintendo")<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1034]]<br />
| Same as JPN<br />
| Same as JPN<br />
| N/A<br />
| N/A<br />
| N/A<br />
| Active<br />
|-<br />
| 00020D00<br />
| 00021D00<br />
| 00022D00<br />
| 00026D00<br />
| 00027D00<br />
| 00028D00<br />
| [[Face Raiders]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1028]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1028]], [[7.0.0-13|v1040]]<br />
| Same as EUR<br />
| [[4.0.0-7|v0]]<br />
| [[4.0.0-7|v0]]<br />
| [[4.1.0-8|v2]]<br />
| Active<br />
|-<br />
| 00020E00<br />
| 00021E00<br />
| 00022E00<br />
| 00026E00<br />
| 00027E00<br />
| 00028E00<br />
| [[AR Games]] (AR_ACT)<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1026]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1026]], [[7.0.0-13|v1040]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1027]], [[7.0.0-13|v1040]]<br />
| [[4.0.0-7|v0]]<br />
| [[4.0.0-7|v0]], [[7.0.0-13|v16]]<br />
| [[4.1.0-8|v1]]<br />
| Active<br />
|-<br />
| 00020F00<br />
| 00021F00<br />
| 00022F00<br />
| 00026F00<br />
| 00027F00<br />
| 00028F00<br />
| SAFE_MODE [[System Settings#System Updater|System Updater]] (mset)<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[6.0.0-11|v2049]]<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[6.0.0-11|v2050]]<br />
| Same as JPN<br />
| [[4.0.0-7|v1]], [[6.0.0-11|v1026]]<br />
| [[4.0.0-7|v1]]<br />
| [[4.1.0-8|v1]]<br />
| Active<br />
|-<br />
| 00023000<br />
| 00024000<br />
| 00025000<br />
| N/A<br />
| N/A<br />
| N/A<br />
| Promotional video<br />
| [[1.1.0-1|v0]], [[2.0.0-2|v2048]]<br />
| Same as JPN<br />
| Same as JPN<br />
| N/A<br />
| N/A<br />
| N/A<br />
| Stubbed<br />
|-<br />
| 0002BF00<br />
| 0002C000<br />
| 0002C100<br />
| N/A<br />
| N/A<br />
| N/A<br />
| Nintendo Network ID Settings (act)<br />
| [[7.0.0-13|v14]]<br />
| Same as JPN<br />
| Same as JPN<br />
| N/A<br />
| N/A<br />
| N/A<br />
| Active<br />
|}<br />
<br />
The "act" application seems to use a web browser with webkit?<br />
<br />
=== 0004001B - [[NCCH#CFA|System Data Archives]] ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Description<br />
! Versions<br />
|-<br />
| 00010002<br />
| [[ClCertA]]<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00010702<br />
| [[NS CFA]]<br />
| [[3.0.0-5|v0]], [[6.0.0-11|v1028]], [[6.3.0-12|v2048]], [[7.0.0-13|v3073]]<br />
|-<br />
| 00010802<br />
| This CFA only contains a 1-byte "dummy.txt" in the RomFS, which contains '0'.<br />
| [[6.3.0-12|v0]]<br />
|-<br />
| 00018002<br />
| Same contents as 00010802. Starting with [[7.1.0-15]], the "dummy.txt" file was removed from RomFS: this CFA RomFS now contains web-browser data(similar to 00018102) for NNID / networking, etc.<br />
| [[7.0.0-13|v14]], [[7.1.0-15|v1025]]<br />
|-<br />
| 00018102<br />
| This contains local web-browser data(html/js, gfx, etc) for the Miiverse Offline-mode.<br />
| [[7.0.0-13|v11]]<br />
|-<br />
| 00018202<br />
| This contains the webkit/OSS [[CRO0|CROs]] used with the Miiverse applet and the "act" application.<br />
| [[7.0.0-13|v7]]<br />
|}<br />
<br />
=== 00040030 - Applets===<br />
{| class="wikitable" border="1"<br />
|-<br />
! JPN TitleIDLow<br />
! USA TitleIDLow<br />
! EUR TitleIDLow<br />
! Description<br />
! Versions<br />
|-<br />
| 00008102<br />
| 00008102<br />
| 00008102<br />
| [[NS#Alternate menu|Alternate menu]]<br />
| N/A<br />
|-<br />
| 00008202<br />
| 00008F02<br />
| 00009802<br />
| [[Home Menu|SYSMENU]] (menu)<br />
| v0, v1029, v2049, [[2.2.0-X|v3075]], v4111, v5131, [[4.2.0-9|v6146]], [[5.0.0-11|v7172]], [[6.0.0-11|v8198]], [[7.0.0-13|v9230]]<br />
|-<br />
| 00008402<br />
| 00009002<br />
| 00009902<br />
| Camera applet used by Home-menu (CtrApp)<br />
| v0, v1036<br />
|-<br />
| 00008502<br />
| 00009102<br />
| 00009A02<br />
| Not available on CDN<br />
| ?<br />
|-<br />
| 00008602<br />
| 00009202<br />
| 00009B02<br />
| Instruction Manual, application for displaying instruction manuals<br />
| v0, v1026, v2048, v3072, [[5.0.0-11|v4097]]<br />
|-<br />
| 00008702<br />
| 00009302<br />
| 00009C02<br />
| Game Notes (Cherry)<br />
| v0, v1026, v2049, [[5.0.0-11|v3073]]<br />
|-<br />
| 00008802<br />
| 00009402<br />
| 00009D02<br />
| [[Internet Browser]] (spider)<br />
| [[2.0.0-2|v6]], [[2.1.0-4|v1024]], [[4.0.0-7|v2050]], [[5.0.0-11|v3075]], [[7.0.0-13|v3088]], [[7.1.0-16|v4096]]<br />
|-<br />
| 00008A02<br />
| 00008A02<br />
| 00008A02<br />
| [[ErrDisp]]<br />
| v0, v1025, [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5121]]<br />
|-<br />
| 00008A03<br />
| 00008A03<br />
| 00008A03<br />
| SAFE_MODE [[ErrDisp]]<br />
| v0<br />
|-<br />
| 00008D02<br />
| 00009602<br />
| 00009F02<br />
| Friend List (friend)<br />
| v0, v1026, [[2.2.0-X|v2051]], v3082, v4099, [[7.0.0-13|v5120]] (EUR v6, v1024, v3082, v4099, [[7.0.0-13|v5120]])<br />
|-<br />
| 00008E02<br />
| 00009702<br />
| 0000A002<br />
| Notifications (newslist)<br />
| v0, v1029, v2054, v3075 (EUR v6, v1024, v2054, v3075)<br />
|-<br />
| 0000C002<br />
| 0000C802<br />
| 0000D002<br />
| Software Keyboard (swkbd)<br />
| v0, v1026, v2053, [[7.0.0-13|v3072]]<br />
|-<br />
| 0000C003<br />
| 0000C803<br />
| 0000D003<br />
| SAFE_MODE Software Keyboard (swkbd)<br />
| v0<br />
|-<br />
| 0000C102<br />
| 0000C902<br />
| 0000D102<br />
| appletEd<br />
| v0, v1026<br />
|-<br />
| 0000C302<br />
| 0000CB02<br />
| 0000D302<br />
| PNOTE_AP<br />
| v0, v1024<br />
|-<br />
| 0000C402<br />
| 0000CC02<br />
| 0000D402<br />
| SNOTE_AP<br />
| v0, v3<br />
|-<br />
| 0000C502<br />
| 0000C502<br />
| 0000C502<br />
| error (This applet displays networking errors, etc)<br />
| v0, v1026, v2053, v3074<br />
|-<br />
| 0000C503<br />
| 0000C503<br />
| 0000C503<br />
| SAFE_MODE error applet<br />
| v0<br />
|-<br />
| 0000CD02<br />
| 0000CD02<br />
| 0000CD02<br />
| extrapad ([[Circle Pad Pro]] calibration applet)<br />
| v1, v1026<br />
|-<br />
| 0000C602<br />
| 0000CE02<br />
| 0000D602<br />
| mint (eShop related?)<br />
| v5, v1028, [[4.2.0-9|v2050]], [[5.0.0-11|v3072]], [[7.0.0-13|v4109]]<br />
|-<br />
| 0000BC02<br />
| 0000BD02<br />
| 0000BE02<br />
| olv (Miiverse applet)<br />
| [[7.0.0-13|v14]]<br />
|-<br />
| 0000F602<br />
| 0000F602<br />
| 0000F602<br />
| memolib (Uses Miiverse, likely the "system library" for Miiverse)<br />
| [[7.0.0-13|v5]]<br />
|}<br />
<br />
Most of these processes are applets. There can only be one application here(Home Menu, Internet Browser, Friend-List, etc) with programID-high 00040030 running at a time. When directly launching one of these 00040030 applications with Home Menu, the Home Menu process will terminate once the process is launched. When returning to Home Menu from that launched process, the Home Menu process is launched again.<br />
<br />
All of the above processes use the "SYSTEM" [[SVC|memory-region]].<br />
<br />
The Miiverse applet seems to use a web browser with webkit.<br />
<br />
=== 0004009B - [[NCCH#CFA|System Data Archives]] (Shared Archives) ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! JPN TitleIDLow<br />
! USA TitleIDLow<br />
! EUR TitleIDLow<br />
! Description<br />
! Versions<br />
|-<br />
| 00010202<br />
| 00010202<br />
| 00010202<br />
| ?<br />
| v0<br />
|-<br />
| 00010302<br />
| 00010302<br />
| 00010302<br />
| ?<br />
| v0, v2052<br />
|-<br />
| 00010402<br />
| 00010402<br />
| 00010402<br />
| Mounted as "area:"<br />
| v0, v1024, v2050, v3072, [[7.0.0-13|v4098]]<br />
|-<br />
| 00010502<br />
| 00010502<br />
| 00010502<br />
| ?<br />
| v0, v1024, v2048<br />
|-<br />
| 00010602<br />
| 00010602<br />
| 00010602<br />
| ?<br />
| v2<br />
|-<br />
| 00011902<br />
| ?<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| 00011402<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| 00011602<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| 00011D02<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| 00011E02<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011202<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011302<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011502<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011702<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011802<br />
| ?<br />
| v0<br />
|-<br />
| 00011902<br />
| ?<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011B02<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011C02<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011D02<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00012102<br />
| ?<br />
| v0, v1026, v2051, v3074<br />
|-<br />
| 00012202<br />
| 00012302<br />
| 00012102<br />
| ?<br />
| v1026, v2053, v3073, [[4.2.0-9|v4096]], [[5.0.0-11|v5120]], [[7.0.0-13|v6149]]<br />
|-<br />
| 00013202<br />
| 00013302<br />
| 00013102<br />
| Mounted as "eula:"<br />
| v0, v1024, v2049 USA: v1024, v2051, [[7.0.0-13|v3074]]<br />
|-<br />
| 00014002<br />
| 00014002<br />
| 00014002<br />
| JPN/EUR/USA System Font ("font:")<br />
| v0<br />
|-<br />
| 00014102<br />
| 00014102<br />
| 00014102<br />
| CHN System Font ("font:")<br />
| v0, v1024<br />
|-<br />
| 00014202<br />
| 00014202<br />
| 00014202<br />
| KOR System Font ("font:")<br />
| v0, v1024<br />
|-<br />
| 00014302<br />
| 00014302<br />
| 00014302<br />
| TWN System Font ("font:")<br />
| v0, v1024<br />
|-<br />
| 00015202<br />
| 00015302<br />
| 00015102<br />
| Mounted as "rate:"<br />
| v0 (EUR: v0, v1024)<br />
|-<br />
| ?<br />
| 00016302<br />
| ?<br />
| ?<br />
| v80<br />
|-<br />
| ?<br />
| 00017302<br />
| ?<br />
| ?<br />
| v3088<br />
|}<br />
<br />
=== 000400DB - [[NCCH#CFA|System Data Archives]] ===<br />
These [[NVer]] titleIDs can be found @ offset 0x320 in every [[CCI]]. The title version is likely used to determine whether a system update is needed, it's unknown whether this is involved with region-locking at all.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! EUR TitleIDLow<br />
! JPN TitleIDLow<br />
! USA TitleIDLow<br />
! CHN TitleIDLow<br />
! KOR TitleIDLow<br />
! TWN TitleIDLow<br />
! Description<br />
! USA/EUR/JPN Versions<br />
! CHN Versions<br />
! TWN Versions<br />
! KOR Versions<br />
|-<br />
| 00010302<br />
| 00010302<br />
| 00010302<br />
| 00010302<br />
| 00010302<br />
| 00010302<br />
| NGWord bad word list<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1024]], [[3.0.0-5|v2052]], [[4.0.0-7|v3072]], [[4.3.0-10|v4096]], [[5.0.0-11|v5120]]<br />
| Same as USA<br />
| Same as USA<br />
| Same as USA<br />
|-<br />
| 00010502<br />
| 00010502<br />
| 00010502<br />
| 00010502<br />
| 00010502<br />
| 00010502<br />
| [[Nintendo Zone]] hotspot list<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1024]], [[3.0.0-5|v2048]], [[4.0.0-7|v3073]], [[4.3.0-10|v4096]], [[4.4.0-10|v5120]], [[4.5.0-10|v6144]], [[5.0.0-11|v7169]], [[6.0.0-11|v8192]], [[6.2.0-12|v9216]], [[7.0.0-13|v10242]]<br />
| Same as USA<br />
| Same as USA<br />
| Same as USA<br />
|-<br />
| 00016102<br />
| 00016202<br />
| 00016302<br />
| 00016402<br />
| 00016502<br />
| 00016602<br />
| [[NVer]]<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v16]], [[2.0.0-2|v32]], [[2.1.0-3|v48]], [[2.1.0-4|v64]], [[3.0.0-5|v80]], [[3.0.0-6|v96]], [[4.0.0-7|v112]], [[4.1.0-8|v128]], [[4.2.0-9|v144]], [[4.3.0-10|v160]], [[5.0.0-11|v176]], non-USA=[[6.0.0-11|v192]]/USA=[[6.1.0-12U|v192]], [[7.0.0-13|v208]], [[7.1.0-14|v224]], [[7.1.0-15|v240]], [[7.1.0-16|v256]]<br />
| [[4.0.0-7|v113]], [[4.2.0-9|v128]], [[5.0.0-11|v129]], [[7.1.0-16|v130]]<br />
| [[4.1.0-8|v114]], [[4.2.0-9|v133]], [[4.3.0-10|v134]], [[5.0.0-11|v136]], [[7.0.0-13|v144]], [[7.1.0-14|v160]] [[7.1.0-16|v192]]<br />
| [[4.0.0-7|v113]], [[4.1.0-8|v114]], [[4.2.0-9|v133]], [[4.3.0-10|v134]], [[5.0.0-11|v136]], [[7.0.0-13|v160]], [[7.1.0-14|v176]], [[7.1.0-16|v176]]<br />
|-<br />
| 00017102<br />
| 00017202<br />
| 00017302<br />
| 00017402<br />
| 00017502<br />
| 00017602<br />
| [[CVer]]<br />
| [[1.0.0-0|v1024]], [[1.1.0-1|v1045]], [[2.0.0-2|v2049]], [[2.1.0-3|v2069]], [[3.0.0-5|v3088]], [[4.0.0-7|v4098]], [[4.1.0-8|v4113]], [[4.2.0-9|v4130]], [[4.3.0-10|v4145]], [[4.4.0-10|v4163]], [[4.5.0-10|v4176]], [[5.0.0-11|v5120]], [[5.1.0-11|v5136]], [[6.0.0-11|v6146]], [[6.1.0-11|v6160]], [[6.2.0-12|v6178]], [[6.3.0-12|v6192]], [[7.0.0-13|v7175]], [[7.1.0-14|v7187]]<br />
| Same as USA<br />
| Same as USA<br />
| Same as USA<br />
|}<br />
<br />
=== 00040130 - System [[Services API|Modules]] ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Description<br />
! Versions<br />
|-<br />
| 00001002<br />
| sm (Stored in [[FIRM|NATIVE_FIRM]])<br />
| N/A<br />
|-<br />
| 00001102<br />
| [[Filesystem services|fs]] (Stored in [[FIRM|NATIVE_FIRM]])<br />
| N/A<br />
|-<br />
| 00001202<br />
| [[Process Manager Services|pm]] (Stored in [[FIRM|NATIVE_FIRM]])<br />
| N/A<br />
|-<br />
| 00001302<br />
| loader (Stored in [[FIRM|NATIVE_FIRM]])<br />
| N/A<br />
|-<br />
| 00001402<br />
| pxi (Stored in [[FIRM|NATIVE_FIRM]])<br />
| N/A<br />
|-<br />
| 00001502<br />
| [[Application Manager Services|AM]] ( Application Manager )<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[3.0.0-5|v2053]], [[4.0.0-7|v3072]], [[5.0.0-11|v4098]], [[6.0.0-11|v5120]]<br />
|-<br />
| 00001503<br />
| AM<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001602<br />
| Camera<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[3.0.0-5|v2048]], [[4.0.0-7|v3074]], [[5.0.0-11|v4098]], [[6.0.0-11|v5120]], [[7.1.0-14|v6146]]<br />
|-<br />
| 00001702<br />
| [[Config Services|Config]] (cfg)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1024]], [[3.0.0-5|v2049]], [[4.0.0-7|v4096]], [[5.0.0-11|v5122]], [[6.0.0-11|v6145]], [[6.1.0-11|v7168]], [[7.0.0-13|v8196]]<br />
|-<br />
| 00001703<br />
| Config (cfg)<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001802<br />
| Codec<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[5.0.0-11|v4098]], [[7.0.0-13|v5120]]<br />
|-<br />
| 00001803<br />
| Codec<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001A02<br />
| DSP<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[4.0.0-7|v2048]], [[5.0.0-11|v3074]], [[6.0.0-11|v4096]]<br />
|-<br />
| 00001A03<br />
| DSP<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001B02<br />
| GPIO<br />
| [[1.0.0-0|v0]], [[5.0.0-11|v1025]]<br />
|-<br />
| 00001B03<br />
| GPIO<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001C02<br />
| GSP<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v1040]], [[2.0.0-2|v2049]], [[3.0.0-5|v3075]], [[4.0.0-7|v5120]], [[5.0.0-11|v6145]], [[6.0.0-11|v7168]]<br />
|-<br />
| 00001C03<br />
| GSP<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001D02<br />
| HID (Human Interface Devices) <br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5121]]<br />
|-<br />
| 00001D03<br />
| HID<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001E02<br />
| i2c<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[5.0.0-11|v2049]]<br />
|- <br />
| 00001E03<br />
| i2c<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001F02<br />
| MCU<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.1.0-3|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4102]], [[5.0.0-11|v5122]], [[6.0.0-11|v6145]], [[7.0.0-13|v7168]]<br />
|-<br />
| 00001F03<br />
| MCU<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002002<br />
| Microphone (mic)<br />
| [[1.0.0-0|v0]], [[5.0.0-11|v1025]]<br />
|-<br />
| 00002102<br />
| PDN<br />
| [[1.0.0-0|v0]], [[5.0.0-11|v1025]]<br />
|-<br />
| 00002103<br />
| PDN<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002202<br />
| PTM (Play time, pedometer, and battery manager)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3075]], [[4.0.0-7|v5120]], [[5.0.0-11|v6146]], [[6.0.0-11|v7168]], [[7.0.0-13|v8192]]<br />
|-<br />
| 00002203<br />
| PTM<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002302<br />
| spi<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[5.0.0-11|v2049]]<br />
|-<br />
| 00002303<br />
| spi<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002402<br />
| Network manager (AC)<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v1024]], [[2.0.0-2|v2052]], [[2.1.0-3|v3072]], [[3.0.0-5|v4101]], [[5.0.0-11|v5122]], [[7.0.0-13|v6145]]<br />
|-<br />
| 00002403<br />
| AC<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002602<br />
| Cecd (StreetPass)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3073]], [[4.0.0-7|v4097]], [[5.0.0-11|v5122]], [[6.0.0-11|v6144]], [[6.2.0-12|v7170]], [[7.0.0-13|v8193]]<br />
|-<br />
| 00002702<br />
| CSND<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[4.0.0-7|v2048]], [[5.0.0-11|v3073]]<br />
|-<br />
| 00002703<br />
| CSND<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002802<br />
| dlp ([[Download Play]])<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3078]], [[5.0.0-11|v4099]]<br />
|-<br />
| 00002902<br />
| http<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.1.0-3|v2049]], [[2.2.0-X|v3072]], [[3.0.0-5|v4099]], [[4.0.0-7|v5122]], [[5.0.0-11|v6145]], [[7.0.0-13|v7171]], [[7.1.0-14|v8192]]<br />
|-<br />
| 00002903<br />
| http<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002A02<br />
| MP<br />
| [[1.0.0-0|v0]], [[5.0.0-11|v1025]]<br />
|-<br />
| 00002A03<br />
| MP<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002B02<br />
| NDM<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[3.0.0-5|v2049]], [[4.0.0-7|v3072]], [[5.0.0-11|v4098]]<br />
|-<br />
| 00002C02<br />
| [[NIM Services|NIM]] (Memory-region: "SYSTEM")<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1028]], [[3.0.0-5|v2055]], [[4.0.0-7|v3074]], [[5.0.0-11|v4100]], [[6.0.0-11|v5120]], [[7.0.0-13|v6148]]<br />
|-<br />
| 00002C03<br />
| NIM<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002D02<br />
| NWM ( Low-level wifi manager )<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v1024]], [[2.0.0-2|v2052]], [[2.2.0-X|v3072]], [[3.0.0-5|v4101]], [[4.0.0-7|v5120]], [[5.0.0-11|v6148]], [[6.0.0-11|v7169]]<br />
|-<br />
| 00002D03<br />
| NWM<br />
| [[1.0.0-0|v0]], [[6.0.0-11|v5120]]<br />
|-<br />
| 00002E02<br />
| Sockets<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v1024]], [[2.0.0-2|v2053]], [[3.0.0-5|v3075]], [[4.0.0-7|v4096]], [[5.0.0-11|v5121]]<br />
|-<br />
| 00002E03<br />
| Sockets<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002F02<br />
| SSL (Memory-region: "SYSTEM")<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1024]], [[2.1.0-3|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5122]]<br />
|-<br />
| 00002F03<br />
| SSL<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00003102<br />
| [[Process Services|PS]] ( Process Manager )<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[5.0.0-11|v2049]], [[6.0.0-11|v3072]]<br />
|-<br />
| 00003103<br />
| PS<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00003202<br />
| FriendsList (friends)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1028]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5122]], [[7.0.0-13|v6145]]<br />
|-<br />
| 00003203<br />
| FriendsList (friends)<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00003302<br />
| IR (Infrared)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5121]]<br />
|-<br />
| 00003303<br />
| IR<br />
| [[1.0.0-0|v0]]<br />
|- <br />
| 00003402<br />
| BOSS (SpotPass)<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v1024]], [[2.0.0-2|v2053]], [[2.2.0-X|v3073]], [[3.0.0-5|v4101]], [[4.0.0-7|v5122]], [[5.0.0-11|v6146]], [[6.0.0-11|v7169]], [[6.2.0-12|v8193]], [[7.0.0-13|v9222]]<br />
|-<br />
| 00003502<br />
| News (Notifications)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1028]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[5.0.0-11|v4097]]<br />
|-<br />
| 00003702<br />
| [[RO_Services|RO]]<br />
| [[2.0.0-2|v0]], [[4.0.0-7|v1024]], [[5.0.0-11|v2049]]<br />
|-<br />
| 00003802<br />
| act (handles Nintendo Network '''a'''c'''c'''oun'''t'''s)<br />
| [[7.0.0-13|v1029]], [[7.1.0-14|v2050]]<br />
|-<br />
| 00008002<br />
| [[NS]] (Memory-region: "SYSTEM")<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1028]], [[2.2.0-X|v2048]], [[3.0.0-5|v3077]], [[4.0.0-7|v5121]], [[5.0.0-11|v6148]], [[5.1.0-11|v7168]], [[6.0.0-11|v8193]], [[6.1.0-11|v9216]], [[7.0.0-13|v10248]]<br />
|-<br />
| 00008003<br />
| NS<br />
| [[1.0.0-0|v0]]<br />
|}<br />
<br />
Once Home Menu finishes loading, all of the above system modules are running, except for MP, RO, and act which are automatically [[Process_Manager_Services|loaded]] when a process requires them. When [[Process_Manager_Services|PM]] module terminates processes, it will check whether the processes listed as dependencies for this process are listed as dependencies for other processes. Any processes which are no longer listed in any processes dependencies lists are then terminated.<br />
<br />
All of the above system modules use the "BASE" [[SVC|memory-region]](specified in the exheader), except when listed otherwise for certain modules.<br />
<br />
=== 00040138 - [[FIRM|System Firmware]] ===<br />
NATIVE_FIRM and SAFE_MODE_FIRM for the initial versions are exactly the same, besides [[Configuration_Memory|core-version]] fields. SAFE_MODE_FIRM is used for running SAFE_MODE titles, on retail SAFE_MODE_FIRM seems to be only used for running the [[System_Settings#System_Updater|System Updater]] application. When a GBA VC title is launched, AGB_FIRM is launched to handle running this title. GBA VC savegames stored under SD card /title/<TID>/data use a custom format, this is handled by AGB_FIRM.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Description<br />
! Versions<br />
|-<br />
| 00000001<br />
| Unknown, very similar to SAFE_MODE_FIRM. Exists only on dev units and seems to only be used by SystemUpdaters.<br />
| v0<br />
|-<br />
| 00000002<br />
| NATIVE_FIRM (Native Firmware)<br />
| [[1.0.0-0|v432]], [[1.1.0-1|v1472]], [[2.0.0-2|v2516]], [[2.1.0-3|v3553]], [[2.2.0-X|v4595]], [[3.0.0-5|v5647]], [[4.0.0-7|v6677]], [[4.1.0-8|v7712]], [[5.0.0-11|v8758]], [[5.1.0-11|v9792]], [[6.0.0-11|v10833]], [[6.1.0-11|v11872]], [[7.0.0-13|v12916]]<br />
|-<br />
| 00000003<br />
| SAFE_MODE_FIRM <br />
| [[1.0.0-0|v432]], [[3.0.0-5|v5632]]<br />
|-<br />
| 00000102 <br />
| TWL_FIRM ( DSi Firmware )<br />
| [[1.0.0-0|v432]], [[2.0.0-2|v1489]], [[3.0.0-5|v2565]], [[4.0.0-7|v4625]], [[4.4.0-10|v5681]], [[4.5.0-10|v6704]], [[6.0.0-11|v7762]], [[6.2.0-12|v8817]]<br />
|- <br />
| 00000202<br />
| AGB_FIRM ( GBA Firmware )<br />
| [[3.0.0-5|v519]], [[4.0.0-7|v2576]], [[6.0.0-11|v3665]]<br />
|}<br />
<br />
== TWL System Titles ==<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Content Category<br />
! Bit Mask(s)<br />
! Category Bit Mask<br />
|-<br />
| System Application<br />
| TWL<nowiki>|</nowiki>0x1<nowiki>|</nowiki>0x4<br />
| 0x8005<br />
|-<br />
| System Archive<br />
| TWL<nowiki>|</nowiki>0x1<nowiki>|</nowiki>0x2<nowiki>|</nowiki>0x4<nowiki>|</nowiki>0x8<br />
| 0x800F<br />
|}<br />
Bitmask 0x1 for TWL titles determines whether the title will be updated during a System Update.<br />
<br />
=== 00048005 - System Applications===<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Region<br />
! Description<br />
! Versions<br />
! Information<br />
|-<br />
| 42383841(B88A)<br />
| ALL<br />
| [[DS Internet]]<br />
| v0, [[2.1.0-4|v1025]], [[3.0.0-5|v2048]]<br />
| [[DS Internet]] is the DSi-mode application launched by [[System Settings]] for setting TWL wifi configuration. <br />
|-<br />
| 484E4441(HNDA)<br />
| ALL<br />
| [[Download Play]]<br />
| v1024<br />
| This [[Download Play]] application is the DS-mode Download Play client, launched by the 3DS-mode Download Play application.<br />
|-<br />
| 484E4443(HNDC)<br />
| CHN<br />
| [[Download Play]]<br />
| v1024<br />
| See Above Description.<br />
|-<br />
| 484E444B(HNDK)<br />
| KOR<br />
| [[Download Play]]<br />
| v1024<br />
| See Above Description.<br />
|}<br />
<br />
=== 0004800F - System Data Archives===<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Description<br />
! Versions<br />
|-<br />
| 484E4841(HNHA)<br />
| [[Nintendo DS Cart Whitelist]]<br />
| v0, [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[4.2.0-9|v5120]], [[4.3.0-10|v6145]], [[4.4.0-10|v7168]], [[4.5.0-10|v8192]], [[5.0.0-11|v9216]], [[6.0.0-11|v10240]], [[7.0.0-13|v11264]]<br />
|-<br />
| 484E4C41(HNLA)<br />
| [[Version Data]]<br />
| v0<br />
|}<br />
<br />
New system updates only block DS flash-cards when the above whitelist was updated, or when TWL_FIRM was updated. The whitelist contains the data used for detecting flash-cards, this is used by TWL_FIRM.<br />
<br />
== Application Titles ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Content Category<br />
! Bit Mask(s)<br />
! Category Bit Mask<br />
|-<br />
| [[Title list/eShop Titles|Application]] (eShop Title)<br />
| Normal<br />
| 0x0000<br />
|-<br />
| DLP Child<br />
| DlpChild<br />
| 0x0001<br />
|-<br />
| [[EShop Demos|Demo]]<br />
| Demo<br />
| 0x0002<br />
|-<br />
| [[Title list/Patches|Patch]]<br />
| CannotExecution<nowiki>|</nowiki>Patch<br />
| 0x000E<br />
|-<br />
| [[Title list/DLC|Add-on Content]] (DLC)<br />
| NotRequireRightForMount<nowiki>|</nowiki>CannotExecution<nowiki>|</nowiki>AddOnContents<br />
| 0x008C<br />
|}<br />
<br />
=== 00040001 - [[Download Play]] Titles ===<br />
This titleID-high/programID-high is used for the titles sent over [[Download Play]]. Only one 00040001 Download Play title is installed to NAND /title at a time. There can be a maximum of 255 Download Play child titles per Unique ID, indexed by Title ID Variation. The legal index range: 0x0 - 0xff.<br />
<br />
== TWL Application Titles ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Content Category<br />
! Bit Mask(s)<br />
! Category Bit Mask<br />
|-<br />
| Application (DSiWare)<br />
| TWL<nowiki>|</nowiki>0x4<br />
| 0x8004<br />
|}<br />
<br />
=== 00048004 - DSiWare ===<br />
Although these have a titleID high separate from DSi and a titleID is stored in the SRLs, the content of these SRLs are identical to DSi.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Region<br />
! Description<br />
! Versions<br />
|-<br />
| 4B4B5456(KKTV)<br />
| EUR<br />
| Cut the Rope<br />
| v0, v64<br />
|-<br />
| 4B4E5256(KNRV)<br />
| EUR<br />
| A Little Bit of... Brain Training™: Maths Edition <br />
| v0<br />
|-<br />
| 4B5A4C56(KZLV)<br />
| EUR<br />
| Plants vs. Zombies™<br />
| v0<br />
|-<br />
| 4B454256(KEBV)<br />
| EUR<br />
| ELECTROPLANKTON (Hanenbow)<br />
| v0<br />
|-<br />
| 4B513956(KQ9V)<br />
| EUR<br />
| Zelda: Four Swords Anniversary Edition<br />
| v0, v16<br />
|-<br />
| 4B574256(KWBV)<br />
| EUR<br />
| Mario Calculator <br />
| v0<br />
|-<br />
| 4B574656(KWFV)<br />
| EUR<br />
| Mario Clock <br />
| v0<br />
|}</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=NCSD&diff=8872NCSD2014-04-08T03:58:53Z<p>3dsguy: </p>
<hr />
<div>[[Category:File formats]]<br />
This page documents the format of NCSD.<br />
<br />
== Overview ==<br />
There are two known specialisations of the NCSD container format. The CTR Cart Image (CCI) format and the 3DS' raw [[Flash Filesystem#NAND structure|NAND format]]. CCI is the format of game ROM images.<br />
<br />
'''CTR System Update (CSU)''' is a variant of CCI, where the only difference is in the file extension. This is used with developer System Updates and associated [[3DS Development Unit Software|Tools]].<br />
<br />
<br />
NCSD images start with a NCSD header, followed by up to a maximum of 8 [[NCCH]] partitions.<br />
<br />
For CCI images, the partitions are reserved as follows:<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! [[NCCH]] Index<br />
! Reserved Use<br />
|-<br />
| 0<br />
| Executable Content ([[NCCH#CXI|CXI]])<br />
|-<br />
| 1<br />
| E-Manual ([[NCCH#CFA|CFA]])<br />
|-<br />
| 2<br />
| [[Download Play]] Child container ([[NCCH#CFA|CFA]])<br />
|-<br />
| 7<br />
| [[System_Update_CFA|Update Data]] ([[NCCH#CFA|CFA]])<br />
|}<br />
<br />
The format of partitions can be determined from the partition FS flags (normally these are zero for CCI/CSU NCSD Images).<br />
<br />
== NCSD header ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x000<br />
| 0x100<br />
| RSA-2048 SHA-256 signature of the NCSD header<br />
|-<br />
| 0x100<br />
| 4<br />
| Magic Number 'NCSD'<br />
|-<br />
| 0x104<br />
| 4<br />
| Size of the NCSD image, in media units (1 media unit = 0x200 bytes)<br />
|-<br />
| 0x108<br />
| 8<br />
| Media ID<br />
|-<br />
| 0x110<br />
| 8<br />
| Partitions FS type<br />
|-<br />
| 0x118<br />
| 8<br />
| Partitions crypt type <br />
|-<br />
| 0x120<br />
| 0x40=(4+4)*8<br />
| Offset & Length partition table<br />
|-<br />
| 0x160<br />
| 0x20<br />
| Exheader SHA-256 hash<br />
|-<br />
| 0x180<br />
| 0x4<br />
| Additional header size<br />
|-<br />
| 0x184<br />
| 0x4<br />
| Sector zero offset<br />
|-<br />
| 0x188<br />
| 8<br />
| Partition Flags (See Below)<br />
|-<br />
| 0x190<br />
| 0x40=8*8<br />
| Partition ID table <br />
|-<br />
| 0x1D0<br />
| 0x30<br />
| Reserved<br />
|}<br />
<br />
=== Partition Flags ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Byte Index<br />
! Description<br />
|-<br />
| 0<br />
| Backup Write Wait Time (The time to wait to write save to backup after the card is recognized (0-255 seconds)).NATIVE_FIRM loads this flag from the gamecard NCSD header starting with [[6.0.0-11]].<br />
|-<br />
| 3<br />
| Media Card Device (1 = NOR Flash, 2 = None, 3 = BT) (SDK 3.X+)<br />
|-<br />
| 4<br />
| Media Platform Index (1 = CTR)<br />
|-<br />
| 5<br />
| Media Type Index (0 = Inner Device, 1 = Card1, 2 = Card2, 3 = Extended Device)<br />
|-<br />
| 6<br />
| Media Unit Size i.e. u32 MediaUnitSize = 0x200*2^flags[6];<br />
|-<br />
| 7<br />
| Media Card Device (1 = NOR Flash, 2 = None, 3 = BT) (Only SDK 2.X)<br />
|}<br />
<br />
=== Partition Flags (In Terms of Save Crypto Determination) ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Byte Index<br />
! Description<br />
|-<br />
| 1<br />
| Starting with [[6.0.0-11]] NATIVE_FIRM will use this flag to determine the gamecard [[Savegames|savegame]] keyY method, when flag[3] is set. 0 = [[2.0.0-2]] hashed keyY, 1 = [[Savegames|new]] keyY method implemented with [[6.0.0-11]].<br />
|-<br />
| 3<br />
| Support for this flag was implemented in NATIVE_FIRM with [[2.0.0-2]]. When this flag is set the hashed gamecard [[Savegames|savegame]] keyY method is used, this likely still uses the repeating-CTR however. With [[6.0.0-11]] the system will determine the gamecard savegame keyY method via flag[1], instead of just using the hashed keyY via this flag.<br />
|-<br />
| 7<br />
| This flag enables using the hashed gamecard [[Savegames|savegame]] keyY method, support for this flag was implemented in NATIVE_FIRM with [[2.2.0-4]]. All games with the NCSD image finalized since [[2.2.0-4]](and contains [[2.2.0-4]]+ in the system update partition) have this flag set, this flag also enables using new CTR method as well.<br />
|}<br />
<br />
== Card Info Header ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! OFFSET<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x200<br />
| 4<br />
| CARD2: Writable Address In Media Units (For 'On-Chip' Savedata). CARD1: Always 0xFFFFFFFF.<br />
|-<br />
| 0x204<br />
| 4<br />
| Card Info Bitmask<br />
|-<br />
| 0x208<br />
| 0xDF8<br />
| Reserved1<br />
|-<br />
| 0x1000<br />
| 8<br />
| Media ID (same as first NCCH partitionId)<br />
|-<br />
| 0x1008<br />
| 8<br />
| Reserved2<br />
|-<br />
| 0x1010<br />
| 0x30<br />
| Initial Data<br />
|-<br />
| 0x1040<br />
| 0xC0<br />
| Reserved<br />
|-<br />
| 0x1100<br />
| 0x100<br />
| Copy of first NCCH header (excluding RSA signature)<br />
|}<br />
<br />
== Development Card Info Header Extension ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! OFFSET<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x1200<br />
| 0x200<br />
| CardDeviceReserved1<br />
|-<br />
| 0x1400<br />
| 0x10<br />
| TitleKey<br />
|-<br />
| 0x1410<br />
| 0xF0<br />
| CardDeviceReserved2<br />
|}<br />
<br />
== Tools ==<br />
<br />
[https://github.com/3dshax/ctr/tree/master/ctrtool ctrtool] - (CMD)(Windows/Linux) Parsing NCSD files<br />
<br />
[[3DSExplorer]] - (GUI)(Windows Only) Parsing NCSD files</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=CRR0&diff=8861CRR02014-04-02T22:28:05Z<p>3dsguy: </p>
<hr />
<div>[[Category:File formats]]<br />
<br />
{| class="wikitable" border="1"<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x4<br />
| Magic "CRR0"<br />
|-<br />
| 0x4<br />
| 0x4<br />
| Reserved<br />
|-<br />
| 0x8<br />
| 0x4<br />
| Node 0 (Must be zero)<br />
|-<br />
| 0xC<br />
| 0x4<br />
| Node 1 (Must be zero)<br />
|-<br />
| 0x10<br />
| 0x4<br />
| Debug Info Offset<br />
|-<br />
| 0x14<br />
| 0x4<br />
| Debug Info Size<br />
|-<br />
| 0x18<br />
| 0x8<br />
| Reserved<br />
|-<br />
| 0x20<br />
| 0x4<br />
| UniqueID Mask<br />
|-<br />
| 0x24<br />
| 0x4<br />
| UniqueID Pattern<br />
|-<br />
| 0x28<br />
| 0x18<br />
| Reserved<br />
|-<br />
| 0x40<br />
| 0x100<br />
| RSA-2048 modulo<br />
|-<br />
| 0x140<br />
| 0x100<br />
| RSA-2048 signature signed by Nintendo, starting at offset 0x20 with size 0x120<br />
|-<br />
| 0x240<br />
| 0x100<br />
| RSA-2048 signature verified with the above modulo, over the data starting at 0x340 with the size from 0x358<br />
|-<br />
| 0x340<br />
| 0x4<br />
| Process UniqueID<<8, from the ProgramID<br />
|-<br />
| 0x344<br />
| 0x4<br />
| Size of the whole CRR0 file<br />
|-<br />
| 0x348<br />
| 0x8<br />
| Reserved<br />
|-<br />
| 0x350<br />
| 0x4<br />
| Hash-table Offset<br />
|-<br />
| 0x354<br />
| 0x4<br />
| Total hashes in the hash-table<br />
|-<br />
| 0x358<br />
| 0x4<br />
| Offset to the plain region containing text tags, from the process [[NCCH#CXI|NCCH]]<br />
|-<br />
| 0x35C<br />
| 0x4<br />
| Size of plain region<br />
|-<br />
| 0x360<br />
| <br />
| SHA-256 hash-table<br />
|}<br />
<br />
Each hash stored in the hash-table is over the corresponding executable [[CRO0]] hash-table.<br />
<br />
CRR0 files are usually stored under "romfs:/.crr/". The end of the file is aligned to a 0x1000-byte boundary with 0xCC bytes.</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=NCCH&diff=8852NCCH2014-03-27T05:33:24Z<p>3dsguy: </p>
<hr />
<div>[[Category:File formats]]<br />
The following text tries to document the structure of the NCCH container format.<br />
<br />
== Overview ==<br />
There are two known NCCH container specialisations used on the 3DS, "executable" and "non-executable", officially known as CXI and CFA respectively.<br />
<br />
== CXI == <br />
<br />
The CXI (CTR Executable Image) specialisation of the NCCH container, contains executable code, which runs on a single ARM11 core. It can communicate through SVC calls with the other ARM11 core running the 'system' program code. For reasons of clarity, the ARM11 cores will sometimes be called the 'appcore' and 'syscore' respectively.<br />
<br />
The CXI format is structured in the following order:<br />
* first a NCCH header,<br />
* followed by an extended header,<br />
* followed by an access descriptor,<br />
* followed by an '''optional''' plain binary region,<br />
* followed by an '''optional''' executable filesystem ([[ExeFS]]) - (contains ARM11 code, Home menu [[SMDH|icn]]/bnr and [[Logo|logo]]),<br />
* and finally followed by an '''optional''' read-only filesystem ([[RomFS]]) - (Used for external file storage).<br />
<br />
The extended header contains additional information regarding access control. <br />
The plain binary region is an area specifically stored in plaintext, mostly containing SDK library strings for identification.<br />
<br />
== CFA ==<br />
<br />
The CFA (CTR File Archive) specialisation of the NCCH container, is not executable, but are used in conjunction with CXI files. For instance the DLP Child Container and the Electronic Manual. (There is a system update NCCH which follows this format, but is used by the 3DS rather than the Application NCCH, and only works when embedded in the [[CCI]] format because the nVer is kept in the header of retail [[CCI]] files instead of the application NCCH). There are CFA files which exist alone in a title, but these are just [[Title list|System Data Archive]] titles and are found only in the [[Flash Filesystem#CTR partition|NAND]].<br />
<br />
CFA files are structured in the following order:<br />
* first a NCCH header,<br />
* followed by an '''optional''' executable filesystem ([[ExeFS]]) (same as in CXI, except no ARM11 code)<br />
* followed by an '''optional''' read-only filesystem ([[RomFS]])<br />
<br />
Non-Executable NCCH file examples(Includes Decrypted [[RomFS]]):<br />
<br />
[https://dl.dropbox.com/u/60710927/CTR/Sample/DLP%20Child.7z DLPChild Container]<br />
[https://dl.dropbox.com/u/60710927/CTR/Sample/Manual.7z Electronic Manual]<br />
<br />
== NCCH Specs ==<br />
<br />
The extended header, the [[ExeFS]] and the [[RomFS]] are encrypted using 128-bit AES CTR. <br />
<br />
By default encrypted regions are compressed with an LZ77 variant, then encrypted. The spec allows for both unencrypted and uncompressed regions to exist. Development units use a fixed system key for system titles. On retail part of the input [[AES]] engine key is unique per NCCH, the AES engine internally generates the final-normal key.<br />
<br />
As of [[7.0.0-13]] the system now supports a new encryption method for the secure-cryptotype, the CTR for this is the same as before. This is enabled when NCCH flag[3] is non-zero. When enabled, the [[RomFS]] and [[ExeFS]] files which don't have filenames "icon" or "banner"(that is, ".code") are crypted with a different keyslot. This keyslot is [[Savegames|initialized]] by the 6.0 gamecard savegame keyY init function during boot, using a different portion of the [[Savegames|final]] hash(this keyslot is separate from the one used for the 6.0 save crypto).<br />
<br />
On retail for SD applications, exheader_systeminfoflags.flag bit1 must be set.<br />
<br />
Retail CFAs use NCCH product code "CTR-P-CTAP", while retail title/gamecard CXIs use NCCH product code "CTR-P-XXXX". This product code is the NCCH [[Serials|serial code]]. The region-locking info checked by home menu is stored in the [[SMDH#BNR Region|icon]].<br />
<br />
All of the hashes stored in this NCCH header are over the cleartext data. The ExeFS/RomFS superblock starts at offset 0x0 in the ExeFS/RomFS, and the size is specified by the hash region fields. Interestingly, Nintendo's NCCH validation code seems to have the size of this region fixed to 0x200 bytes (for ExeFS at least). <br />
<br />
As of [[5.0.0-11]] the application [[ExeFS]]:/.logo can be loaded from the plaintext region between the access descriptor and the plain region, all applications built since [[5.0.0-11]] store the logo here. The size of this logo is always 0x2000-bytes. Applications built starting with [[6.0.0-11]] have this logo data set to all-zero with the logo offset/size and hash(in the NCCH header) set the same as if there was actual logo data, it's unknown how this is handled.<br />
<br />
The plain region mainly contains tags for each SDK library used when building the CXI. The version used for the "FIRMWARE" tag is the kernel/FIRM [[Configuration_Memory|version]], this version can also be stored in the exheader "kernel release version" ARM11 kernel descriptor field. As of [[2.2.0-X]] the NATIVE_FIRM kernels check the CXI exheader "kernel release version" field, if it is stored in the CXI exheader. If the kernel/FIRM version specified by this field is higher than the version of the running NATIVE_FIRM, the kernel will return error-code 0xD9001413.<br />
<br />
=== NCCH Header ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! OFFSET<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x000<br />
| 0x100<br />
| RSA-2048 signature of the NCCH header, using SHA-256.<br />
|-<br />
| 0x100<br />
| 4<br />
| Magic ID, always 'NCCH'<br />
|-<br />
| 0x104<br />
| 4<br />
| Content size, in media units (1 media unit = 0x200 bytes)<br />
|-<br />
| 0x108<br />
| 8<br />
| Partition ID<br />
|-<br />
| 0x110<br />
| 2<br />
| Maker code<br />
|-<br />
| 0x112<br />
| 2<br />
| Version<br />
|-<br />
| 0x114<br />
| 4<br />
| Reserved<br />
|-<br />
| 0x118<br />
| 8<br />
| Program ID<br />
|-<br />
| 0x120<br />
| 0x10<br />
| Reserved<br />
|-<br />
| 0x130<br />
| 0x20<br />
| Logo Region SHA-256 hash. (For applications built with SDK 5+) (Supported from firmware: [[5.0.0-11]])<br />
|-<br />
| 0x150<br />
| 0x10<br />
| Product code<br />
|-<br />
| 0x160<br />
| 0x20<br />
| Extended header SHA-256 hash (SHA256 of 2x Alignment Size, beginning at 0x0 of ExHeader)<br />
|-<br />
| 0x180<br />
| 4<br />
| Extended header size<br />
|-<br />
| 0x184<br />
| 4<br />
| Reserved<br />
|-<br />
| 0x188<br />
| 8<br />
| Flags (See Below)<br />
|-<br />
| 0x190<br />
| 4<br />
| Plain region offset, in media units<br />
|-<br />
| 0x194<br />
| 4<br />
| Plain region size, in media units<br />
|-<br />
| 0x198<br />
| 4<br />
| Logo Region offset, in media units (For applications built with SDK 5+) (Supported from firmware: [[5.0.0-11]])<br />
|-<br />
| 0x19c<br />
| 4<br />
| Logo Region size, in media units (For applications built with SDK 5+) (Supported from firmware: [[5.0.0-11]])<br />
|-<br />
| 0x1A0<br />
| 4<br />
| ExeFS offset, in media units<br />
|-<br />
| 0x1A4<br />
| 4<br />
| ExeFS size, in media units<br />
|-<br />
| 0x1A8<br />
| 4<br />
| ExeFS hash region size, in media units<br />
|-<br />
| 0x1AC<br />
| 4<br />
| Reserved<br />
|-<br />
| 0x1B0<br />
| 4<br />
| RomFS offset, in media units<br />
|-<br />
| 0x1B4<br />
| 4<br />
| RomFS size, in media units<br />
|-<br />
| 0x1B8<br />
| 4<br />
| RomFS hash region size, in media units<br />
|-<br />
| 0x1BC<br />
| 4<br />
| Reserved<br />
|-<br />
| 0x1C0<br />
| 0x20<br />
| ExeFS superblock SHA-256 hash - (SHA-256 hash, starting at 0x0 of the ExeFS over the number of media units specified in the ExeFS hash region size)<br />
|-<br />
| 0x1E0<br />
| 0x20<br />
| RomFS superblock SHA-256 hash - (SHA-256 hash, starting at 0x0 of the RomFS over the number of media units specified in the RomFS hash region size)<br />
|}<br />
<br />
=== NCCH Flags ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! INDEX<br />
! DESCRIPTION<br />
|-<br />
| 3<br />
| Starting with [[7.0.0-13]], this enables a new encryption method for certain NCCH sections when this is non-zero(see above).<br />
|-<br />
| 4<br />
| Content Platform (1 = CTR)<br />
|-<br />
| 5<br />
| Content Type Bit-masks: Data = 0x1, Executable = 0x2, SystemUpdate = 0x4, Manual = 0x8, Child = (0x4<nowiki>|</nowiki>0x8), Trial = 0x10. When 'Data' is set, but not 'Executable', NCCH is a CFA. Otherwise when 'Executable' is set, NCCH is a CXI.<br />
|-<br />
| 6<br />
| Content Unit Size i.e. u32 ContentUnitSize = 0x200*2^flags[6]; <br />
|-<br />
| 7<br />
| Bit-masks: FixedCryptoKey = 0x1, NoMountRomFs = 0x2, NoCrypto = 0x4<br />
|}<br />
CXIs NCCH header signature is verified using the RSA public key stored in the accessdesc,(which follows the exheader) while CFAs NCCH header is verified with a fixed RSA public key.<br />
<br />
==== NCCH header example for Lego Starwars III ====<br />
Signature: 720FF8F83F2A1E998322A026D1434165<br />
ED19642ABC1CB2722135AA202BEAD60A<br />
80BCD21C768C597B8268FEF2C64EA710<br />
4C9BA5E12CFFBD1D0C619F4EF7B42CA7<br />
DD8482CB4EB26720AD66CDA57ABCBCFB<br />
D63268A6E2896A59B3B744E39E45B88A<br />
ABB4C0980ACC6210818DCE6DAC838A10<br />
95D0F66B352474D4B3DA4B333F49912D<br />
29AF7EA58BC8C890B18C70B7D540A9FB<br />
EBE24A5312055617D3353B28C3EB1D17<br />
61021BEFF6AD22C384835B40BD44DFAD<br />
981F6350F9458B17BCB5F768C92ABC93<br />
2BCE9888855A8998F4CDE40C9543514A<br />
C57B84EB75A680E7C742632614620D1D<br />
A253284DF3DC01091EB3800C36FD62EE<br />
BA15340F1FD498FAB67C0302E9CDA397<br />
Magic: NCCH<br />
Content size: 0x1cfef400<br />
Partition id: 0004000000038c00<br />
Maker code: 3436 ("46")<br />
Version: 0002<br />
Program id: 0004000000038c00<br />
Temp flag: 00<br />
Product code: CTR-P-ALGP<br />
Extended header hash: 0C27E3C1DE7B2AE2D3114F32A4EEBF46<br />
9AFD0CF352C11D4984C2A9F1D2144C63<br />
Extended header size: 00000400<br />
Flags: 0000030100000000<br />
Plain region offset: 0x00004a00<br />
Plain region size: 0x00000200<br />
ExeFS offset: 0x00004c00<br />
ExeFS size: 0x00143800<br />
ExeFS hash region size: 0x00000200<br />
RomFS offset: 0x00148400<br />
RomFS size: 0x1ceab000<br />
RomFS hash region size: 0x00000200<br />
ExeFS Superblock Hash: 130C042615F647C4C63225EA9E67F8A2<br />
7B15246B88FBC7A927257B84977B787B<br />
RomFS Superblock Hash: A65BEE1060BB6A6821BBCEC600035B7E<br />
64FB6EACA7F0960CFB1F5A37087728F7<br />
Note: Offsets and sizes in media units have been converted to byte sizes.<br />
<br />
==== Plain region example for Lego Starwars III ====<br />
0004a00: 5b 53 44 4b 2b 4e 49 4e 54 45 4e 44 4f 3a 43 54 [SDK+NINTENDO:CT [SDK+NINTENDO:CTR_SDK-0_14_23_200_none]<br />
0004a10: 52 5f 53 44 4b 2d 30 5f 31 34 5f 32 33 5f 32 30 R_SDK-0_14_23_20<br />
0004a20: 30 5f 6e 6f 6e 65 5d 00 5b 53 44 4b 2b 4e 49 4e 0_none].[SDK+NIN [SDK+NINTENDO:Firmware-02_27]<br />
0004a30: 54 45 4e 44 4f 3a 46 69 72 6d 77 61 72 65 2d 30 TENDO:Firmware-0<br />
0004a40: 32 5f 32 37 5d 00 5b 53 44 4b 2b 4d 6f 62 69 63 2_27].[SDK+Mobic [SDK+Mobiclip:Deblocker_1_0_2]<br />
0004a50: 6c 69 70 3a 44 65 62 6c 6f 63 6b 65 72 5f 31 5f lip:Deblocker_1_<br />
0004a60: 30 5f 32 5d 00 5b 53 44 4b 2b 4d 6f 62 69 63 6c 0_2].[SDK+Mobicl [SDK+Mobiclip:ImaAdpcmDec_1_0_0]<br />
0004a70: 69 70 3a 49 6d 61 41 64 70 63 6d 44 65 63 5f 31 ip:ImaAdpcmDec_1<br />
0004a80: 5f 30 5f 30 5d 00 5b 53 44 4b 2b 4d 6f 62 69 63 _0_0].[SDK+Mobic [SDK+Mobiclip:MobiclipDec_1_0_1]<br />
0004a90: 6c 69 70 3a 4d 6f 62 69 63 6c 69 70 44 65 63 5f lip:MobiclipDec_<br />
0004aa0: 31 5f 30 5f 31 5d 00 5b 53 44 4b 2b 4d 6f 62 69 1_0_1].[SDK+Mobi [SDK+Mobiclip:MoflexDemuxer_1_0_2]<br />
0004ab0: 63 6c 69 70 3a 4d 6f 66 6c 65 78 44 65 6d 75 78 clip:MoflexDemux<br />
0004ac0: 65 72 5f 31 5f 30 5f 32 5d 00 00 00 00 00 00 00 er_1_0_2].......<br />
0004ad0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br />
0004ae0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br />
<br />
==== Example dependency list from the extended header ====<br />
00850 41 50 54 3A 55 00 00 00 24 68 69 6F 46 49 4F 00 APT:U...$hioFIO.<br />
00860 24 68 6F 73 74 69 6F 30 24 68 6F 73 74 69 6F 31 $hostio0$hostio1<br />
00870 61 63 3A 75 00 00 00 00 62 6F 73 73 3A 55 00 00 ac:u....boss:U..<br />
00880 63 61 6D 3A 75 00 00 00 63 65 63 64 3A 75 00 00 cam:u...cecd:u..<br />
00890 63 66 67 3A 75 00 00 00 64 6C 70 3A 46 4B 43 4C cfg:u...dlp:FKCL<br />
008A0 64 6C 70 3A 53 52 56 52 64 73 70 3A 3A 44 53 50 dlp:SRVRdsp::DSP<br />
008B0 66 72 64 3A 75 00 00 00 66 73 3A 55 53 45 52 00 frd:u...fs:USER.<br />
008C0 67 73 70 3A 3A 47 70 75 68 69 64 3A 55 53 45 52 gsp::Gpuhid:USER<br />
008D0 68 74 74 70 3A 43 00 00 6D 69 63 3A 75 00 00 00 http:C..mic:u...<br />
008E0 6E 64 6D 3A 75 00 00 00 6E 65 77 73 3A 75 00 00 ndm:u...<nowiki>news:u..</nowiki><br />
008F0 6E 77 6D 3A 3A 55 44 53 70 74 6D 3A 75 00 00 00 nwm::UDSptm:u...<br />
00900 70 78 69 3A 64 65 76 00 73 6F 63 3A 55 00 00 00 pxi:dev.soc:U...<br />
00910 73 73 6C 3A 43 00 00 00 79 32 72 3A 75 00 00 00 ssl:C...y2r:u...<br />
00920 69 72 3A 55 53 45 52 00 6C 64 72 3A 72 6F 00 00 ir:USER.ldr:ro..<br />
00930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br />
00940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br />
00950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br />
00960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br />
... ...<br />
009D0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF <br />
009E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br />
009F0 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 02 . .............<br />
<br />
=== Extended Header ===<br />
See also: [https://github.com/3dshax/ctr/blob/master/ctrtool/exheader.h]<br />
<br />
See [[NCCH/Extended Header|this]]<br />
<br />
== Tools ==<br />
<br />
[https://github.com/3dshax/ctr/tree/master/ctrtool ctrtool] - (CMD)(Windows/Linux) Parsing and decrypting(debug only) NCCH files<br />
<br />
[[3DSExplorer]] - (GUI)(Windows Only) Parsing NCCH files</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=SMDH&diff=8846SMDH2014-03-22T02:59:54Z<p>3dsguy: </p>
<hr />
<div>This page describes the format of the icon stored at [[NCCH#CXI|CXI]] ExeFS:/icon and [[CIA]] icons.<br />
The size of icons is 0x36c0 bytes. The CXI icon is displayed by [[Home Menu]] and [[System Settings]](3DS Software Management), while [[CIA#Meta|CIA icons]] are dummies and not yet utilised by Dev 3DS' (as of rev 47586).<br />
<br />
== Format ==<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! OFFSET<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x00<br />
| 0x04 <br />
| Magic 'SMDH'<br />
|- <br />
| 0x04<br />
| 0x02 <br />
| Version<br />
|- <br />
| 0x06<br />
| 0x02 <br />
| Reserved<br />
|-<br />
| 0x8<br />
| 0x2000<br />
| 16 application titles structs, each 0x200 bytes<br />
|-<br />
| 0x2008<br />
| 0x30<br />
| Application Settings<br />
|-<br />
| 0x2038<br />
| 0x8<br />
| Reserved <br />
|-<br />
| 0x2040<br />
| 0x1680<br />
| Icon graphics<br />
|}<br />
<br />
== Application Titles ==<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! START<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x00<br />
| 0x80<br />
| Short Description<br />
|- <br />
| 0x80<br />
| 0x100 <br />
| Long Description<br />
|- <br />
| 0x180<br />
| 0x80 <br />
| Publisher<br />
|}<br />
<br />
All encoded in UTF-16.<br />
There are 16 app title structs(currently only 12 are used), each one for separate languages.<br />
<br />
The languages by order of appearance:<br />
<br />
* 1st: Japanese title name<br />
* 2nd: English title name<br />
* 3rd: French title name<br />
* 4th: German title name<br />
* 5th: Italian title name<br />
* 6th: Spanish title name<br />
* 7th: Simplified Chinese title name<br />
* 8th: Korean title name<br />
* 9th: Dutch title name<br />
* 10th: Portuguese title name<br />
* 11th: Russian title name<br />
* 12th: Traditional Chinese title name<br />
<br />
== Application Settings ==<br />
<br />
Most of these flags are only used by the [[Home Menu]]. All of these are represented in SMDH files in little endian. But when documented below, the tables represent values in big endian.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! START<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x2008<br />
| 0x10<br />
| Region Specific Game Ratings (For use with Parental Controls)<br />
|-<br />
| 0x2018<br />
| 0x4<br />
| Region Lockout<br />
|- <br />
| 0x201C<br />
| 0xC <br />
| Match Maker IDs (Online Play)<br />
|- <br />
| 0x2028<br />
| 0x4<br />
| Flags<br />
|- <br />
| 0x202C<br />
| 0x2 <br />
| EULA Version<br />
|- <br />
| 0x202E<br />
| 0x2 <br />
| Reserved<br />
|- <br />
| 0x2030<br />
| 0x4 <br />
| 'Optimal Animation Default Frame' (for BNR)<br />
|- <br />
| 0x2034<br />
| 0x4 <br />
| CEC (StreetPass) ID (So the Home Menu knows which application icon to show the 'Green' CEC notification for)<br />
|}<br />
<br />
=== Region Specific Game Age Ratings ===<br />
<br />
These flags tell the 3DS the 'Age Rating' of the software for the below regions:<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! START<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x2008<br />
| 0x1<br />
| CERO (Japan)<br />
|-<br />
| 0x2009<br />
| 0x1<br />
| ESRB (USA)<br />
|-<br />
| 0x200A<br />
| 0x1<br />
| Reserved<br />
|-<br />
| 0x200B<br />
| 0x1<br />
| USK (German)<br />
|-<br />
| 0x200C<br />
| 0x1<br />
| PEGI GEN (Europe)<br />
|-<br />
| 0x200D<br />
| 0x1<br />
| Reserved<br />
|-<br />
| 0x200E<br />
| 0x1<br />
| PEGI PRT (Portugal)<br />
|-<br />
| 0x200F<br />
| 0x1<br />
| PEGI BBFC (England)<br />
|-<br />
| 0x2010<br />
| 0x1<br />
| COB (Australia)<br />
|-<br />
| 0x2011<br />
| 0x1<br />
| GRB (South Korea)<br />
|-<br />
| 0x2012<br />
| 0x1<br />
| CGSRR (China)<br />
|-<br />
| 0x2013<br />
| 0x1<br />
| Reserved<br />
|-<br />
| 0x2014<br />
| 0x1<br />
| Reserved<br />
|-<br />
| 0x2015<br />
| 0x1<br />
| Reserved<br />
|-<br />
| 0x2016<br />
| 0x1<br />
| Reserved<br />
|-<br />
| 0x2017<br />
| 0x1<br />
| Reserved<br />
|}<br />
<br />
Active ratings have a bitmask of 0x80, and inactive ratings have no bitmask at all. Ratings without the 0x80 bitmask are ignored. 0x40 bitmask indicates Rating Pending. 0x20 bitmask indicates No Age Restriction.<br />
<br />
=== Region Lockout ===<br />
<br />
This u32 flag is what the Home Menu uses to determine the [[Home Menu#Region Lockout|Region Lockout]] of a title.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! REGION<br />
! BITMASK<br />
|-<br />
| Japan<br />
| 0x01<br />
|-<br />
| North America<br />
| 0x02 <br />
|-<br />
| Europe<br />
| 0x04 <br />
|-<br />
| Australia<br />
| 0x08 <br />
|-<br />
| China<br />
| 0x10 <br />
|-<br />
| Korea<br />
| 0x20 <br />
|-<br />
| Taiwan <br />
| 0x40 <br />
|}<br />
<br />
Regions are 'included' in region lock by setting their bitmask value. Nintendo defines region free as 0x7fffffff. Early in the 3DS' development, Nintendo grouped the Australian and Europe markets together. Nintendo defines market Europe as having the combined bitmasks of Europe and Australia. No 3DS' which check the Australia bitmask have been seen (Australia uses the European 3DS model).<br />
<br />
=== Match Maker IDs ===<br />
<br />
These IDs are an application's online gaming IDs.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! START<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x201C<br />
| 0x4<br />
| Match Maker ID<br />
|- <br />
| 0x2020<br />
| 0x8<br />
| Match Maker BIT ID<br />
|}<br />
<br />
=== Flags ===<br />
The u32 is used for storing flags as bit-masks.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! FLAG<br />
! BITMASK VALUE<br />
|-<br />
| Visibility Flag (Required for visibility on the Home Menu)<br />
| 0x0001<br />
|-<br />
| [[Home Menu#Auto-Boot Kiosk Function|Auto-boot]] this gamecard title<br />
| 0x0002<br />
|-<br />
| Allow use of 3D? (For use with parental Controls. An application can use the 3D affect, even when this flag isn't set)<br />
| 0x0004<br />
|-<br />
| Require accepting CTR EULA(see below)<br />
| 0x0008<br />
|-<br />
| Autosave on exit?<br />
| 0x0010<br />
|-<br />
| Uses an [[Extended Banner]]?<br />
| 0x0020<br />
|-<br />
| [[SMDH#Region Specific Game Age Ratings|Region game rating]] required<br />
| 0x0040<br />
|-<br />
| Uses save data?<br />
| 0x0080<br />
|-<br />
| Application usage is to be recorded. If this is not set, it causes the application's usage to be omitted from the Home Menu's [[Home_Menu#Cache.dat & CacheD.dat|icon cache]], as well as in [[????????|other places]].<br />
| 0x0100<br />
|-<br />
| Disables [[SD Savedata Backups]] for this title.<br />
| 0x0400<br />
|}<br />
<br />
=== EULA Version ===<br />
This is the EULA version which is checked when the Accept EULA flag is set, the version is compared to one stored in the 3DS. If the SMDH version is greater, then the user will be prompted to accept the EULA.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! START<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x202C<br />
| 0x01<br />
| EULA Version Minor<br />
|-<br />
| 0x202D<br />
| 0x01<br />
| EULA Version Major<br />
|}<br />
<br />
=== 'Optimal Animation Default Frame' (for BNR) ===<br />
<br />
This is a float, indicating the preferred (or 'most representative') frame for the banner animation.<br />
<br />
=== CEC (StreetPass) ID ===<br />
<br />
This u32 represents the application CEC ID. This is likely loaded by applications for use with the CEC services as well.<br />
<br />
== Icon graphics ==<br />
<br />
At offset 0x2040, there are two icons:<br />
{| class="wikitable" border="1"<br />
|-<br />
! START<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x2040<br />
| 0x480<br />
| Small - 24x24 (shown on top screen when pausing the app)<br />
|- <br />
| 0x24C0<br />
| 0x1200 <br />
| Large - 48x48 icon (the general icon)<br />
|}<br />
<br />
Both of the icons are encoded in RGB565 meaning 16bpp. Although both icons are known to be RGB565, developers have the option of encoding icons (and banners) with the following encodings :<br />
<br />
* RGBA8<br />
* RGB8<br />
* RGBA5551<br />
* RGB565<br />
* RGBA4<br />
* LA8<br />
* HILO8<br />
* L8<br />
* A8<br />
* LA4<br />
* L4<br />
* ETC1<br />
* ETC1A4<br />
<br />
This does not necessarily mean the other encodings will be used, it is just that those are the options when compiling. Like we've seen with Super Mario 3D Land Nintendo has changed save file encryption, and likewise they can encode icons and banners differently ''should they choose to''. Currently we've seen just RGB565 so don't be fooled if an icon doesn't show up right! It is probably one of these formats above. Although we will probably not see other formats used for a while it's nice to know they have an opportunity to change.<br />
<br />
The data is encoded in tiles (starting from size 8x8, continuing recursively).<br />
<br />
If the buffer is like this:<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! 0<br />
! 1<br />
! 2<br />
! 3<br />
! 4<br />
! 5<br />
! 6<br />
! 7<br />
! 8<br />
! 9<br />
! 10<br />
! 11<br />
! 12<br />
! 13<br />
! 14<br />
! 15<br />
! 16<br />
|-<br />
|}<br />
<br />
Then the image would look like this:<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! x=0<br />
! x=1<br />
! x=2<br />
! x=3<br />
! x=4<br />
|-<br />
| 0<br />
| 1<br />
| 4<br />
| 5<br />
| 16<br />
|-<br />
| 2<br />
| 3<br />
| 6<br />
| 7<br />
| ...<br />
|-<br />
| 8<br />
| 9<br />
| 12<br />
| 13<br />
|-<br />
| 10<br />
| 11<br />
| 14<br />
| 15<br />
|-<br />
|}<br />
<br />
<br />
== Tools ==<br />
<br />
[[CiTRUS]] - (GUI)(Windows Only) Generating ICN files<br />
<br />
[[3DSExplorer]] - (GUI)(Windows Only) Parsing ICN files</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Title_list&diff=8826Title list2014-03-16T03:05:51Z<p>3dsguy: </p>
<hr />
<div>The Nintendo 3DS utilizes a similar title-based organization as seen in the Wii and DSi platforms. The update server is located [http://nus.cdn.c.shop.nintendowifi.net/ccs/download/ here]. When using SSL, the update/shop servers must be accessed via SSLv3.<br />
<br />
The organization of Title IDs has not been documented fully yet. Region info isn't stored in title IDs however there does appear to be evidence that the regions are sequential, similar to how Wii System Menu Updates are ordered: JPN USA EUR KOR and CHN (introduced with the DSi). 3DS has one additional region: TWN.<br />
<br />
Note: The terms 'Title ID', 'Partition ID' and 'Media ID' are interchangeable.<br />
<br />
The 3DS retrieves system [[CommonETicket|tickets]] with SOAP request GetSystemCommonETicket, instead of directly downloading the cetk with HTTPS. The cetk is still accessible via HTTP, however 3DS doesn't use direct HTTP for this.<br />
<br />
<br />
'''TitleID Structure''': 0xCCCCABCDLLLLLLRR<br />
<br />
* CCCC defines the console '''Platform''' (4=3DS, 3=DSi, 1=[http://wiibrew.org/wiki/Title_database Wii])<br />
* ABCD defines the '''Content Category''' of the title, Demo, DLPChild, etc.<br />
* LLLLLL For CTR titles, this is the title's '''Unique ID'''. For TWL converted titles this is in two sections grouped as SSLLLL. SS is the old title identification used by the DSi and is made redundant by 'ABCD'. LLLL is the TWL title's 'Unique ID'. There are restrictions on the Unique ID, see below for more info.<br />
* RR This is the Title ID '''Variation''', and has various uses.<br />
<br />
<br />
'''Content Categories''':<br />
<br />
This u16 is a collection bit mask flag. Each Category is a group of one or more bit masks.<br />
<br />
Specific Bitmask Flags:<br />
{| class="wikitable" border="1"<br />
|-<br />
! Category<br />
! Bitmask<br />
|-<br />
| Normal<br />
| 0x0<br />
|-<br />
| DlpChild<br />
| 0x1<br />
|-<br />
| Demo<br />
| 0x2<br />
|-<br />
| Contents<br />
| 0x3<br />
|-<br />
| AddOnContents<br />
| 0x4<br />
|-<br />
| Patch<br />
| 0x6<br />
|-<br />
| CannotExecution<br />
| 0x8<br />
|-<br />
| System<br />
| 0x10<br />
|-<br />
| RequireBatchUpdate<br />
| 0x20<br />
|-<br />
| NotRequireUserApproval<br />
| 0x40<br />
|-<br />
| NotRequireRightForMount<br />
| 0x80<br />
|-<br />
| CanSkipConvertJumpId<br />
| 0x100<br />
|-<br />
| TWL<br />
| 0x8000<br />
|}<br />
<br />
* TWL Category bit mask are carried over from original TWL category bitmasks (ignoring bit mask 0x8000), so TWL system titles have the bitmask of 0x8001.<br />
<br />
* System titles (TWL and CTR) are eligible to be updated during a System Update.<br />
<br />
* Bit Mask 0x4000 appears to be reserved, as it renders the ''TWL'' and ''System'' bit masks useless.<br />
<br />
'''Unique ID Restrictions''':<br />
<br />
For the CTR titles, there appears to be is a correlation between Unique IDs (UID) and 3DS 'title types'. For developer titles this is known(shown below), and retail titles *appear* to follow suite. It is unknown if this correlation is enforced on retail units, or if it is just for organisation purposes. <br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! TITLE TYPE<br />
! UNIQUE ID RANGE<br />
|-<br />
| System<br />
| 0x0 - 0x2FF<br />
|- <br />
| Application<br />
| 0x300 - 0xF7FFF<br />
|- <br />
| Evaluation<br />
| 0xF8000 -0xFFFFF<br />
|- <br />
| Prototype*<br />
| 0xFF000 - 0xFF3FF<br />
|}<br />
<nowiki>*</nowiki>On the home menu, titles with UIDs within the 'Prototype' range, appear on the home menu after install without the gift fanfare.<br />
<br />
'''TitleID Variation''':<br />
<br />
This u8 allows enumeration of titles from the same category and unique ID. Common uses are explained below:<br />
<br />
* CTR System Titles: The 3DS has two copies of most modules/applets/archives for usage with either the NATIVE_FIRM or SAFE_MODE_FIRM. This is allowed for, by changing the title ID variation of the title to match the core version set by the FIRM it is designed to be used with:<br />
{| class="wikitable" border="1"<br />
|-<br />
! RR<br />
! MEANING<br />
|- <br />
| 02<br />
| System Title (Core version 0x2)<br />
|-<br />
| 03<br />
| SAFE_MODE System Title (Core version 0x3)<br />
|}<br />
Normally on retail SAFE_MODE ARM11 [[NCCH#CXI|CXI]] titles can't be launched, since the [[Configuration_Memory|system]] core version doesn't match the CXI exheader core version.<br />
<br />
* Only most non-Normal Applications are known to utilise Title ID variation, this is explained in their respective sections on this page.<br />
<br />
* [[3DS Development Unit Software|Dev Menu]] installs CTR Applications with a TitleID variation of 0x02 to the CTR NAND.<br />
<br />
* Title ID variation is ignored for TWL titles, this value is carried over from the original TWL title ID and is used for region lock:<br />
<br />
=== Versions ===<br />
<br />
v## = 0xHHHH = 0bBBBBBBBB...<br />
<br />
* The version major,minor and micro can be extracted from the version number by converting the 16 bit number to binary<br />
* 6 bits : Major<br />
* 6 bits : Minor<br />
* 4 bits : Micro ('Build' in some contexts)<br />
* i.e. v2069 (Taken from 000400DB00017302) = 0b000010 000001 0101 means that the title version is v2.1.5. For reasons unknown, the CVer build, stored in the RomFS of the title, has always been zero (at time of writing), regardless of the CVer build in the TMD. So when predicting the firmware version, this should be taken into account.<br />
<br />
NOTE: This Title list is a condensed version, only the System Titles lists are full lists. For a full list of titles on Nintendo's CDN, see [http://mtheall.com/~mtheall/tmdlist.php here]. The reports/title-lists from [http://yls8.mtheall.com/reports.php here] are automatically obtained from the system update SOAP.<br />
<br />
== CTR System Titles ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! System Category<br />
! Bit Mask(s)<br />
! Category Bit Mask<br />
|-<br />
| Application (SYSTEM_APPLICATION)<br />
| Normal<nowiki>|</nowiki>System<br />
| 0x0010<br />
|-<br />
| System Data Archives (SYSTEM_CONTENT)<br />
| Contents<nowiki>|</nowiki>CannotExecution<nowiki>|</nowiki>System<br />
| 0x001B<br />
|-<br />
| Shared Data Archives (SHARED_CONTENT)<br />
| Contents<nowiki>|</nowiki>CannotExecution<nowiki>|</nowiki>System<nowiki>|</nowiki>NotRequireRightForMount<br />
| 0x009B<br />
|-<br />
| System Data Archives (AUTO_UPDATE_CONTENT)<br />
| Contents<nowiki>|</nowiki>CannotExecution<nowiki>|</nowiki>System<nowiki>|</nowiki>NotRequireUserApproval<nowiki>|</nowiki>NotRequireRightForMount<br />
| 0x00DB<br />
|-<br />
| Applet (APPLET)<br />
| Normal<nowiki>|</nowiki>System<nowiki>|</nowiki>RequireBatchUpdate<br />
| 0x0030<br />
|-<br />
| Module (BASE)<br />
| Normal<nowiki>|</nowiki>System<nowiki>|</nowiki>RequireBatchUpdate<nowiki>|</nowiki>CanSkipConvertJumpId<br />
| 0x0130<br />
|-<br />
| Firmware (FIRMWARE)<br />
| Normal<nowiki>|</nowiki>CannotExecution<nowiki>|</nowiki>System<nowiki>|</nowiki>RequireBatchUpdate<nowiki>|</nowiki>CanSkipConvertJumpId<br />
| 0x0138<br />
|}<br />
<br />
=== 00040010 - System Applications ===<br />
The versions for CHN, KOR, and TWN are separate from the other regions.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! JPN TIDLow<br />
! USA TIDLow<br />
! EUR TIDLow<br />
! CHN TIDLow<br />
! KOR TIDLow<br />
! TWN TIDLow<br />
! Description<br />
! JPN Versions<br />
! EUR Versions<br />
! USA Versions<br />
! CHN Versions<br />
! KOR Versions<br />
! TWN Versions<br />
! Status<br />
|-<br />
| 00020000<br />
| 00021000<br />
| 00022000<br />
| 00026000<br />
| 00027000<br />
| 00028000<br />
| [[System Settings]] (mset)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1027]], [[3.0.0-5|v2060]], [[4.0.0-7|v3074]], [[5.0.0-11|v4097]], [[6.0.0-11|v5127]], [[7.0.0-13|v6157]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1027]], [[3.0.0-5|v2061]], [[4.0.0-7|v3075]], [[5.0.0-11|v4097]], [[6.0.0-11|v5127]], [[7.0.0-13|v6157]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1027]], [[3.0.0-5|v2062]], [[4.0.0-7|v3078]], [[5.0.0-11|v4098]], [[6.0.0-11|v5128]], [[7.0.0-13|v6157]]<br />
| [[4.0.0-7|v8]], v1024, [[5.0.0-11|v2049]], [[7.0.0-13|v3075]]<br />
| [[4.0.0-7|v1026]], [[5.0.0-11|v2049]], [[7.0.0-13|v4098]]<br />
| [[4.1.0-8|v8]], [[4.2.0-9|v1024]], [[5.0.0-11|v2050]], [[7.0.0-13|v3074]]<br />
| Active<br />
|-<br />
| 00020100<br />
| 00021100<br />
| 00022100<br />
| 00026100<br />
| 00027100<br />
| 00028100<br />
| [[Download Play]] (dlplay)<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1026]], [[4.0.0-7|v2051]]<br />
| Same as JPN<br />
| Same as JPN<br />
| [[4.0.0-7|v4]]<br />
| [[4.0.0-7|v1027]]<br />
| [[4.1.0-8|v4]]<br />
| Active<br />
|-<br />
| 00020200<br />
| 00021200<br />
| 00022200<br />
| 00026200<br />
| 00027200<br />
| 00028200<br />
| [[Activity Log]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[3.0.0-5|v2051]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[3.0.0-5|v2054]], [[7.0.0-13|v2064]]<br />
| Same as EUR<br />
| [[4.0.0-7|v3]]<br />
| [[4.0.0-7|v2]], [[7.0.0-13|v16]]<br />
| [[4.1.0-8|v2]]<br />
| Active<br />
|-<br />
| 00020300<br />
| 00021300<br />
| 00022300<br />
| 00026300<br />
| 00027300<br />
| 00028300<br />
| [[Health and Safety Information]]<br />
| [[1.0.0-0|v0]], [[4.0.0-7|v1024]], [[6.0.0-11|v2050]]<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[4.0.0-7|v2050]], [[6.0.0-11|v3077]]<br />
| [[1.0.0-0|v0]], [[4.0.0-7|v1026]], [[6.1.0-12U|v2051]]<br />
| [[4.0.0-7|v5]]<br />
| [[4.0.0-7|v2]]<br />
| [[4.1.0-8|v5]]<br />
| Active<br />
|-<br />
| 00020400<br />
| 00021400<br />
| 00022400<br />
| 00026400<br />
| 00027400<br />
| 00028400<br />
| [[Nintendo 3DS Camera]] (CtrApp)<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v16]], [[3.0.0-5|v1038]], [[4.0.0-7|v2048]], [[6.0.0-11|v3073]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v16]], [[3.0.0-5|v1039]], [[4.0.0-7|v2048]], [[6.0.0-11|v3073]], [[7.0.0-13|v3088]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v16]], [[3.0.0-5|v1039]], [[4.0.0-7|v2048]], [[6.1.0-12U|v3074]], [[7.0.0-13|v3088]]<br />
| [[4.0.0-7|v3]]<br />
| [[4.0.0-7|v2]], [[7.0.0-13|v1040]]<br />
| [[4.1.0-8|v3]]<br />
| Active<br />
|-<br />
| 00020500<br />
| 00021500<br />
| 00022500<br />
| 00026500<br />
| 00027500<br />
| 00028500<br />
| [[Nintendo 3DS Sound]] (CtrApp)<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1027]], [[3.0.0-5|v2049]], [[4.0.0-7|v3072]], [[7.0.0-13|v3089]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1027]], [[3.0.0-5|v2049]], [[4.0.0-7|v3072]], [[7.0.0-13|v3088]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1027]], [[3.0.0-5|v2049]], [[4.0.0-7|v3072]], [[7.0.0-13|v3088]]<br />
| [[4.0.0-7|v2]]<br />
| [[4.0.0-7|v2]], [[7.0.0-13|v16]]<br />
| [[4.1.0-8|v3]]<br />
| Active<br />
|-<br />
| 00020700<br />
| 00021700<br />
| 00022700<br />
| 00026700<br />
| 00027700<br />
| 00028700<br />
| [[Mii Maker]] (EDIT)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[7.0.0-13|v2055]]<br />
| Same as JPN<br />
| Same as JPN<br />
| [[4.0.0-7|v1]]<br />
| [[4.0.0-7|v1]], [[7.0.0-13|v16]]<br />
| [[4.1.0-8|v2]]<br />
| Active<br />
|-<br />
| 00020800<br />
| 00021800<br />
| 00022800<br />
| 00026800<br />
| 00027800<br />
| 00028800<br />
| [[StreetPass Mii Plaza]] (MEET)<br />
| [[1.0.0-0|v0]], v1027, [[2.1.0-4|v2048]], [[3.0.0-5|v3087]], [[3.0.0-6|v4096]], [[6.0.0-11|v5121]]<br />
| [[1.0.0-0|v0]], v1027, [[2.1.0-4|v2048]], [[3.0.0-5|v3087]], [[3.0.0-6|v4096]], [[6.0.0-11|v5122]]<br />
| [[1.0.0-0|v0]], v1027, [[2.1.0-4|v2048]], [[3.0.0-5|v3087]], [[3.0.0-6|v4096]], [[6.1.0-12U|v5124]], [[7.0.0-13|v5136]]<br />
| [[4.0.0-7|v0]], [[4.4.0-10|v4096]]<br />
| [[4.0.0-7|v1]], [[4.4.0-10|v4096]], [[7.0.0-13|v5120]]<br />
| [[4.1.0-8|v1]], [[4.4.0-10|v4096]]<br />
| Active<br />
|-<br />
| 00020900<br />
| 00021900<br />
| 00022900<br />
| N/A<br />
| 00027900<br />
| 00028900<br />
| [[eShop]] (tiger)<br />
| [[2.0.0-2|v4]], [[2.1.0-3|v1026]], [[3.0.0-5|v2057]], [[4.0.0-7|v3081]], [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7169]], [[7.0.0-13|v8206]], [[7.1.0-14|v9231]]<br />
| [[2.0.0-2|v4]], [[2.1.0-3|v1026]], [[3.0.0-5|v2058]], [[4.0.0-7|v3081]], [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7171]], [[7.0.0-13|v8206]], [[7.1.0-14|v9231]]<br />
| [[2.0.0-2|v4]], [[2.1.0-3|v1026]], [[3.0.0-5|v2058]], [[4.0.0-7|v3081]], [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7170]], [[7.0.0-13|v8206]], [[7.1.0-14|v9231]]<br />
| N/A<br />
| [[4.0.0-7|v3082]], [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7169]], [[7.0.0-13|v8205]], [[7.1.0-14|v9231]]<br />
| [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7170]], [[7.0.0-13|v8205]], [[7.1.0-14|v9231]]<br />
| Active<br />
|-<br />
| 00020A00<br />
| 00021A00<br />
| 00022A00<br />
| N/A<br />
| 00027A00<br />
| 00028A00<br />
| [[System Transfer]] (CARDBOAR)<br />
| [[2.0.0-2|v4]], [[3.0.0-5|v1035]], [[4.0.0-7|v2050]], [[5.0.0-11|v3074]], [[7.0.0-13|v4109]]<br />
| [[2.0.0-2|v4]], [[3.0.0-5|v1035]], [[4.0.0-7|v2050]], [[5.0.0-11|v3073]], [[7.0.0-13|v4109]]<br />
| [[2.0.0-2|v4]], [[3.0.0-5|v1035]], [[4.0.0-7|v2051]], [[5.0.0-11|v3073]], [[7.0.0-13|v4109]]<br />
| N/A<br />
| [[4.0.0-7|v2]], [[5.0.0-11|v1025]], [[7.0.0-13|v2061]]<br />
| [[4.1.0-8|v2]], [[5.0.0-11|v1025]], [[7.0.0-13|v2061]]<br />
| Active<br />
|-<br />
| 00020B00<br />
| 00021B00<br />
| 00022B00<br />
| N/A<br />
| N/A<br />
| N/A<br />
| [[Nintendo Zone]] ("Nintendo")<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1034]]<br />
| Same as JPN<br />
| Same as JPN<br />
| N/A<br />
| N/A<br />
| N/A<br />
| Active<br />
|-<br />
| 00020D00<br />
| 00021D00<br />
| 00022D00<br />
| 00026D00<br />
| 00027D00<br />
| 00028D00<br />
| [[Face Raiders]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1028]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1028]], [[7.0.0-13|v1040]]<br />
| Same as EUR<br />
| [[4.0.0-7|v0]]<br />
| [[4.0.0-7|v0]]<br />
| [[4.1.0-8|v2]]<br />
| Active<br />
|-<br />
| 00020E00<br />
| 00021E00<br />
| 00022E00<br />
| 00026E00<br />
| 00027E00<br />
| 00028E00<br />
| [[AR Games]] (AR_ACT)<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1026]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1026]], [[7.0.0-13|v1040]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1027]], [[7.0.0-13|v1040]]<br />
| [[4.0.0-7|v0]]<br />
| [[4.0.0-7|v0]], [[7.0.0-13|v16]]<br />
| [[4.1.0-8|v1]]<br />
| Active<br />
|-<br />
| 00020F00<br />
| 00021F00<br />
| 00022F00<br />
| 00026F00<br />
| 00027F00<br />
| 00028F00<br />
| SAFE_MODE [[System Settings#System Updater|System Updater]] (mset)<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[6.0.0-11|v2049]]<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[6.0.0-11|v2050]]<br />
| Same as JPN<br />
| [[4.0.0-7|v1]], [[6.0.0-11|v1026]]<br />
| [[4.0.0-7|v1]]<br />
| [[4.1.0-8|v1]]<br />
| Active<br />
|-<br />
| 00023000<br />
| 00024000<br />
| 00025000<br />
| N/A<br />
| N/A<br />
| N/A<br />
| Promotional video<br />
| [[1.1.0-1|v0]], [[2.0.0-2|v2048]]<br />
| Same as JPN<br />
| Same as JPN<br />
| N/A<br />
| N/A<br />
| N/A<br />
| Stubbed<br />
|-<br />
| 0002BF00<br />
| 0002C000<br />
| 0002C100<br />
| N/A<br />
| N/A<br />
| N/A<br />
| Nintendo Network ID Settings (act)<br />
| [[7.0.0-13|v14]]<br />
| Same as JPN<br />
| Same as JPN<br />
| N/A<br />
| N/A<br />
| N/A<br />
| Active<br />
|}<br />
<br />
The "act" application seems to use a web browser with webkit?<br />
<br />
=== 0004001B - [[NCCH#CFA|System Data Archives]] ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Description<br />
! Versions<br />
|-<br />
| 00010002<br />
| [[ClCertA]]<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00010702<br />
| [[NS CFA]]<br />
| [[3.0.0-5|v0]], [[6.0.0-11|v1028]], [[6.3.0-12|v2048]], [[7.0.0-13|v3073]]<br />
|-<br />
| 00010802<br />
| This CFA only contains a 1-byte "dummy.txt" in the RomFS, which contains '0'.<br />
| [[6.3.0-12|v0]]<br />
|-<br />
| 00018002<br />
| Same contents as 00010802. Starting with [[7.1.0-15]], the "dummy.txt" file was removed from RomFS: this CFA RomFS now contains web-browser data(similar to 00018102) for NNID / networking, etc.<br />
| [[7.0.0-13|v14]], [[7.1.0-15|v1025]]<br />
|-<br />
| 00018102<br />
| This contains local web-browser data(html/js, gfx, etc) for the Miiverse Offline-mode.<br />
| [[7.0.0-13|v11]]<br />
|-<br />
| 00018202<br />
| This contains the webkit/OSS [[CRO0|CROs]] used with the Miiverse applet and the "act" application.<br />
| [[7.0.0-13|v7]]<br />
|}<br />
<br />
=== 00040030 - Applets===<br />
{| class="wikitable" border="1"<br />
|-<br />
! JPN TitleIDLow<br />
! USA TitleIDLow<br />
! EUR TitleIDLow<br />
! Description<br />
! Versions<br />
|-<br />
| 00008102<br />
| 00008102<br />
| 00008102<br />
| [[NS#Alternate menu|Alternate menu]]<br />
| N/A<br />
|-<br />
| 00008202<br />
| 00008F02<br />
| 00009802<br />
| [[Home Menu|SYSMENU]] (menu)<br />
| v0, v1029, v2049, [[2.2.0-X|v3075]], v4111, v5131, [[4.2.0-9|v6146]], [[5.0.0-11|v7172]], [[6.0.0-11|v8198]], [[7.0.0-13|v9230]]<br />
|-<br />
| 00008402<br />
| 00009002<br />
| 00009902<br />
| Camera applet used by Home-menu (CtrApp)<br />
| v0, v1036<br />
|-<br />
| 00008502<br />
| 00009102<br />
| 00009A02<br />
| Not available on CDN<br />
| ?<br />
|-<br />
| 00008602<br />
| 00009202<br />
| 00009B02<br />
| Instruction Manual, application for displaying instruction manuals<br />
| v0, v1026, v2048, v3072, [[5.0.0-11|v4097]]<br />
|-<br />
| 00008702<br />
| 00009302<br />
| 00009C02<br />
| Game Notes (Cherry)<br />
| v0, v1026, v2049, [[5.0.0-11|v3073]]<br />
|-<br />
| 00008802<br />
| 00009402<br />
| 00009D02<br />
| [[Internet Browser]] (spider)<br />
| [[2.0.0-2|v6]], [[2.1.0-4|v1024]], [[4.0.0-7|v2050]], [[5.0.0-11|v3075]], [[7.0.0-13|v3088]], [[7.1.0-16|v4096]]<br />
|-<br />
| 00008A02<br />
| 00008A02<br />
| 00008A02<br />
| [[ErrDisp]]<br />
| v0, v1025, [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5121]]<br />
|-<br />
| 00008A03<br />
| 00008A03<br />
| 00008A03<br />
| SAFE_MODE [[ErrDisp]]<br />
| v0<br />
|-<br />
| 00008D02<br />
| 00009602<br />
| 00009F02<br />
| Friend List (friend)<br />
| v0, v1026, [[2.2.0-X|v2051]], v3082, v4099, [[7.0.0-13|v5120]] (EUR v6, v1024, v3082, v4099, [[7.0.0-13|v5120]])<br />
|-<br />
| 00008E02<br />
| 00009702<br />
| 0000A002<br />
| Notifications (newslist)<br />
| v0, v1029, v2054, v3075 (EUR v6, v1024, v2054, v3075)<br />
|-<br />
| 0000C002<br />
| 0000C802<br />
| 0000D002<br />
| Software Keyboard (swkbd)<br />
| v0, v1026, v2053, [[7.0.0-13|v3072]]<br />
|-<br />
| 0000C003<br />
| 0000C803<br />
| 0000D003<br />
| SAFE_MODE Software Keyboard (swkbd)<br />
| v0<br />
|-<br />
| 0000C102<br />
| 0000C902<br />
| 0000D102<br />
| appletEd<br />
| v0, v1026<br />
|-<br />
| 0000C302<br />
| 0000CB02<br />
| 0000D302<br />
| PNOTE_AP<br />
| v0, v1024<br />
|-<br />
| 0000C402<br />
| 0000CC02<br />
| 0000D402<br />
| SNOTE_AP<br />
| v0, v3<br />
|-<br />
| 0000C502<br />
| 0000C502<br />
| 0000C502<br />
| error (This applet displays networking errors, etc)<br />
| v0, v1026, v2053, v3074<br />
|-<br />
| 0000C503<br />
| 0000C503<br />
| 0000C503<br />
| SAFE_MODE error applet<br />
| v0<br />
|-<br />
| 0000CD02<br />
| 0000CD02<br />
| 0000CD02<br />
| extrapad ([[Circle Pad Pro]] calibration applet)<br />
| v1, v1026<br />
|-<br />
| 0000C602<br />
| 0000CE02<br />
| 0000D602<br />
| mint (eShop related?)<br />
| v5, v1028, [[4.2.0-9|v2050]], [[5.0.0-11|v3072]], [[7.0.0-13|v4109]]<br />
|-<br />
| 0000BC02<br />
| 0000BD02<br />
| 0000BE02<br />
| olv (Miiverse applet)<br />
| [[7.0.0-13|v14]]<br />
|-<br />
| 0000F602<br />
| 0000F602<br />
| 0000F602<br />
| memolib (Uses Miiverse, likely the "system library" for Miiverse)<br />
| [[7.0.0-13|v5]]<br />
|}<br />
<br />
Most of these processes are applets. There can only be one application here(Home Menu, Internet Browser, Friend-List, etc) with programID-high 00040030 running at a time. When directly launching one of these 00040030 applications with Home Menu, the Home Menu process will terminate once the process is launched. When returning to Home Menu from that launched process, the Home Menu process is launched again.<br />
<br />
All of the above processes use the "SYSTEM" [[SVC|memory-region]].<br />
<br />
The Miiverse applet seems to use a web browser with webkit.<br />
<br />
=== 0004009B - [[NCCH#CFA|System Data Archives]] (Shared Archives) ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! JPN TitleIDLow<br />
! USA TitleIDLow<br />
! EUR TitleIDLow<br />
! Description<br />
! Versions<br />
|-<br />
| 00010202<br />
| 00010202<br />
| 00010202<br />
| ?<br />
| v0<br />
|-<br />
| 00010302<br />
| 00010302<br />
| 00010302<br />
| ?<br />
| v0, v2052<br />
|-<br />
| 00010402<br />
| 00010402<br />
| 00010402<br />
| Mounted as "area:"<br />
| v0, v1024, v2050, v3072, [[7.0.0-13|v4098]]<br />
|-<br />
| 00010502<br />
| 00010502<br />
| 00010502<br />
| ?<br />
| v0, v1024, v2048<br />
|-<br />
| 00010602<br />
| 00010602<br />
| 00010602<br />
| ?<br />
| v2<br />
|-<br />
| 00011902<br />
| ?<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| 00011402<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| 00011602<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| 00011D02<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| 00011E02<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011202<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011302<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011502<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011702<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011802<br />
| ?<br />
| v0<br />
|-<br />
| 00011902<br />
| ?<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011B02<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011C02<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011D02<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00012102<br />
| ?<br />
| v0, v1026, v2051, v3074<br />
|-<br />
| 00012202<br />
| 00012302<br />
| 00012102<br />
| ?<br />
| v1026, v2053, v3073, [[4.2.0-9|v4096]], [[5.0.0-11|v5120]], [[7.0.0-13|v6149]]<br />
|-<br />
| 00013202<br />
| 00013302<br />
| 00013102<br />
| Mounted as "eula:"<br />
| v0, v1024, v2049 USA: v1024, v2051, [[7.0.0-13|v3074]]<br />
|-<br />
| 00014002<br />
| 00014002<br />
| 00014002<br />
| JPN/EUR/USA System Font ("font:")<br />
| v0<br />
|-<br />
| 00014102<br />
| 00014102<br />
| 00014102<br />
| CHN System Font ("font:")<br />
| v0, v1024<br />
|-<br />
| 00014202<br />
| 00014202<br />
| 00014202<br />
| KOR System Font ("font:")<br />
| v0, v1024<br />
|-<br />
| 00014302<br />
| 00014302<br />
| 00014302<br />
| TWN System Font ("font:")<br />
| v0, v1024<br />
|-<br />
| 00015202<br />
| 00015302<br />
| 00015102<br />
| Mounted as "rate:"<br />
| v0 (EUR: v0, v1024)<br />
|-<br />
| ?<br />
| 00016302<br />
| ?<br />
| ?<br />
| v80<br />
|-<br />
| ?<br />
| 00017302<br />
| ?<br />
| ?<br />
| v3088<br />
|}<br />
<br />
=== 000400DB - [[NCCH#CFA|System Data Archives]] ===<br />
These [[NVer]] titleIDs can be found @ offset 0x320 in every [[CCI]]. The title version is likely used to determine whether a system update is needed, it's unknown whether this is involved with region-locking at all.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! EUR TitleIDLow<br />
! JPN TitleIDLow<br />
! USA TitleIDLow<br />
! CHN TitleIDLow<br />
! KOR TitleIDLow<br />
! TWN TitleIDLow<br />
! Description<br />
! USA/EUR/JPN Versions<br />
! CHN Versions<br />
! TWN Versions<br />
! KOR Versions<br />
|-<br />
| 00010302<br />
| 00010302<br />
| 00010302<br />
| 00010302<br />
| 00010302<br />
| 00010302<br />
| NGWord bad word list<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1024]], [[3.0.0-5|v2052]], [[4.0.0-7|v3072]], [[4.3.0-10|v4096]], [[5.0.0-11|v5120]]<br />
| Same as USA<br />
| Same as USA<br />
| Same as USA<br />
|-<br />
| 00010502<br />
| 00010502<br />
| 00010502<br />
| 00010502<br />
| 00010502<br />
| 00010502<br />
| [[Nintendo Zone]] hotspot list<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1024]], [[3.0.0-5|v2048]], [[4.0.0-7|v3073]], [[4.3.0-10|v4096]], [[4.4.0-10|v5120]], [[4.5.0-10|v6144]], [[5.0.0-11|v7169]], [[6.0.0-11|v8192]], [[6.2.0-12|v9216]], [[7.0.0-13|v10242]]<br />
| Same as USA<br />
| Same as USA<br />
| Same as USA<br />
|-<br />
| 00016102<br />
| 00016202<br />
| 00016302<br />
| 00016402<br />
| 00016502<br />
| 00016602<br />
| [[NVer]]<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v16]], [[2.0.0-2|v32]], [[2.1.0-3|v48]], [[2.1.0-4|v64]], [[3.0.0-5|v80]], [[3.0.0-6|v96]], [[4.0.0-7|v112]], [[4.1.0-8|v128]], [[4.2.0-9|v144]], [[4.3.0-10|v160]], [[5.0.0-11|v176]], non-USA=[[6.0.0-11|v192]]/USA=[[6.1.0-12U|v192]], [[7.0.0-13|v208]], [[7.1.0-14|v224]], [[7.1.0-15|v240]], [[7.1.0-16|v256]]<br />
| [[4.0.0-7|v113]], [[4.2.0-9|v128]], [[5.0.0-11|v129]], [[7.1.0-16|v130]]<br />
| [[4.1.0-8|v114]], [[4.2.0-9|v133]], [[4.3.0-10|v134]], [[5.0.0-11|v136]], [[7.0.0-13|v144]], [[7.1.0-14|v160]] [[7.1.0-16|v192]]<br />
| [[4.0.0-7|v113]], [[4.1.0-8|v114]], [[4.2.0-9|v133]], [[4.3.0-10|v134]], [[5.0.0-11|v136]], [[7.0.0-13|v160]], [[7.1.0-14|v176]], [[7.1.0-16|v176]]<br />
|-<br />
| 00017102<br />
| 00017202<br />
| 00017302<br />
| 00017402<br />
| 00017502<br />
| 00017602<br />
| [[CVer]]<br />
| [[1.0.0-0|v1024]], [[1.1.0-1|v1045]], [[2.0.0-2|v2049]], [[2.1.0-3|v2069]], [[3.0.0-5|v3088]], [[4.0.0-7|v4098]], [[4.1.0-8|v4113]], [[4.2.0-9|v4130]], [[4.3.0-10|v4145]], [[4.4.0-10|v4163]], [[4.5.0-10|v4176]], [[5.0.0-11|v5120]], [[5.1.0-11|v5136]], [[6.0.0-11|v6146]], [[6.1.0-11|v6160]], [[6.2.0-12|v6178]], [[6.3.0-12|v6192]], [[7.0.0-13|v7175]], [[7.1.0-14|v7187]]<br />
| Same as USA<br />
| Same as USA<br />
| Same as USA<br />
|}<br />
<br />
=== 00040130 - System [[Services API|Modules]] ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Description<br />
! Versions<br />
|-<br />
| 00001002<br />
| sm (Stored in [[FIRM|NATIVE_FIRM]])<br />
| N/A<br />
|-<br />
| 00001102<br />
| [[Filesystem services|fs]] (Stored in [[FIRM|NATIVE_FIRM]])<br />
| N/A<br />
|-<br />
| 00001202<br />
| [[Process Manager Services|pm]] (Stored in [[FIRM|NATIVE_FIRM]])<br />
| N/A<br />
|-<br />
| 00001302<br />
| loader (Stored in [[FIRM|NATIVE_FIRM]])<br />
| N/A<br />
|-<br />
| 00001402<br />
| pxi (Stored in [[FIRM|NATIVE_FIRM]])<br />
| N/A<br />
|-<br />
| 00001502<br />
| [[Application Manager Services|AM]] ( Application Manager )<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[3.0.0-5|v2053]], [[4.0.0-7|v3072]], [[5.0.0-11|v4098]], [[6.0.0-11|v5120]]<br />
|-<br />
| 00001503<br />
| AM<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001602<br />
| Camera<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[3.0.0-5|v2048]], [[4.0.0-7|v3074]], [[5.0.0-11|v4098]], [[6.0.0-11|v5120]], [[7.1.0-14|v6146]]<br />
|-<br />
| 00001702<br />
| [[Config Services|Config]] (cfg)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1024]], [[3.0.0-5|v2049]], [[4.0.0-7|v4096]], [[5.0.0-11|v5122]], [[6.0.0-11|v6145]], [[6.1.0-11|v7168]], [[7.0.0-13|v8196]]<br />
|-<br />
| 00001703<br />
| Config (cfg)<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001802<br />
| Codec<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[5.0.0-11|v4098]], [[7.0.0-13|v5120]]<br />
|-<br />
| 00001803<br />
| Codec<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001A02<br />
| DSP<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[4.0.0-7|v2048]], [[5.0.0-11|v3074]], [[6.0.0-11|v4096]]<br />
|-<br />
| 00001A03<br />
| DSP<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001B02<br />
| GPIO<br />
| [[1.0.0-0|v0]], [[5.0.0-11|v1025]]<br />
|-<br />
| 00001B03<br />
| GPIO<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001C02<br />
| GSP<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v1040]], [[2.0.0-2|v2049]], [[3.0.0-5|v3075]], [[4.0.0-7|v5120]], [[5.0.0-11|v6145]], [[6.0.0-11|v7168]]<br />
|-<br />
| 00001C03<br />
| GSP<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001D02<br />
| HID (Human Interface Devices) <br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5121]]<br />
|-<br />
| 00001D03<br />
| HID<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001E02<br />
| i2c<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[5.0.0-11|v2049]]<br />
|- <br />
| 00001E03<br />
| i2c<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001F02<br />
| MCU<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.1.0-3|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4102]], [[5.0.0-11|v5122]], [[6.0.0-11|v6145]], [[7.0.0-13|v7168]]<br />
|-<br />
| 00001F03<br />
| MCU<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002002<br />
| Microphone (mic)<br />
| [[1.0.0-0|v0]], [[5.0.0-11|v1025]]<br />
|-<br />
| 00002102<br />
| PDN<br />
| [[1.0.0-0|v0]], [[5.0.0-11|v1025]]<br />
|-<br />
| 00002103<br />
| PDN<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002202<br />
| PTM (Play time, pedometer, and battery manager)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3075]], [[4.0.0-7|v5120]], [[5.0.0-11|v6146]], [[6.0.0-11|v7168]], [[7.0.0-13|v8192]]<br />
|-<br />
| 00002203<br />
| PTM<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002302<br />
| spi<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[5.0.0-11|v2049]]<br />
|-<br />
| 00002303<br />
| spi<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002402<br />
| Network manager (AC)<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v1024]], [[2.0.0-2|v2052]], [[2.1.0-3|v3072]], [[3.0.0-5|v4101]], [[5.0.0-11|v5122]], [[7.0.0-13|v6145]]<br />
|-<br />
| 00002403<br />
| AC<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002602<br />
| Cecd (StreetPass)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3073]], [[4.0.0-7|v4097]], [[5.0.0-11|v5122]], [[6.0.0-11|v6144]], [[6.2.0-12|v7170]], [[7.0.0-13|v8193]]<br />
|-<br />
| 00002702<br />
| CSND<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[4.0.0-7|v2048]], [[5.0.0-11|v3073]]<br />
|-<br />
| 00002703<br />
| CSND<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002802<br />
| dlp ([[Download Play]])<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3078]], [[5.0.0-11|v4099]]<br />
|-<br />
| 00002902<br />
| http<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.1.0-3|v2049]], [[2.2.0-X|v3072]], [[3.0.0-5|v4099]], [[4.0.0-7|v5122]], [[5.0.0-11|v6145]], [[7.0.0-13|v7171]], [[7.1.0-14|v8192]]<br />
|-<br />
| 00002903<br />
| http<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002A02<br />
| MP<br />
| [[1.0.0-0|v0]], [[5.0.0-11|v1025]]<br />
|-<br />
| 00002A03<br />
| MP<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002B02<br />
| NDM<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[3.0.0-5|v2049]], [[4.0.0-7|v3072]], [[5.0.0-11|v4098]]<br />
|-<br />
| 00002C02<br />
| [[NIM Services|NIM]] (Memory-region: "SYSTEM")<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1028]], [[3.0.0-5|v2055]], [[4.0.0-7|v3074]], [[5.0.0-11|v4100]], [[6.0.0-11|v5120]], [[7.0.0-13|v6148]]<br />
|-<br />
| 00002C03<br />
| NIM<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002D02<br />
| NWM ( Low-level wifi manager )<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v1024]], [[2.0.0-2|v2052]], [[2.2.0-X|v3072]], [[3.0.0-5|v4101]], [[4.0.0-7|v5120]], [[5.0.0-11|v6148]], [[6.0.0-11|v7169]]<br />
|-<br />
| 00002D03<br />
| NWM<br />
| [[1.0.0-0|v0]], [[6.0.0-11|v5120]]<br />
|-<br />
| 00002E02<br />
| Sockets<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v1024]], [[2.0.0-2|v2053]], [[3.0.0-5|v3075]], [[4.0.0-7|v4096]], [[5.0.0-11|v5121]]<br />
|-<br />
| 00002E03<br />
| Sockets<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002F02<br />
| SSL (Memory-region: "SYSTEM")<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1024]], [[2.1.0-3|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5122]]<br />
|-<br />
| 00002F03<br />
| SSL<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00003102<br />
| [[Process Services|PS]] ( Process Manager )<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[5.0.0-11|v2049]], [[6.0.0-11|v3072]]<br />
|-<br />
| 00003103<br />
| PS<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00003202<br />
| FriendsList (friends)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1028]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5122]], [[7.0.0-13|v6145]]<br />
|-<br />
| 00003203<br />
| FriendsList (friends)<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00003302<br />
| IR (Infrared)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5121]]<br />
|-<br />
| 00003303<br />
| IR<br />
| [[1.0.0-0|v0]]<br />
|- <br />
| 00003402<br />
| BOSS (SpotPass)<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v1024]], [[2.0.0-2|v2053]], [[2.2.0-X|v3073]], [[3.0.0-5|v4101]], [[4.0.0-7|v5122]], [[5.0.0-11|v6146]], [[6.0.0-11|v7169]], [[6.2.0-12|v8193]], [[7.0.0-13|v9222]]<br />
|-<br />
| 00003502<br />
| News (Notifications)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1028]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[5.0.0-11|v4097]]<br />
|-<br />
| 00003702<br />
| [[RO_Services|RO]]<br />
| [[2.0.0-2|v0]], [[4.0.0-7|v1024]], [[5.0.0-11|v2049]]<br />
|-<br />
| 00003802<br />
| act (handles Nintendo Network '''a'''c'''c'''oun'''t'''s)<br />
| [[7.0.0-13|v1029]], [[7.1.0-14|v2050]]<br />
|-<br />
| 00008002<br />
| [[NS]] (Memory-region: "SYSTEM")<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1028]], [[2.2.0-X|v2048]], [[3.0.0-5|v3077]], [[4.0.0-7|v5121]], [[5.0.0-11|v6148]], [[5.1.0-11|v7168]], [[6.0.0-11|v8193]], [[6.1.0-11|v9216]], [[7.0.0-13|v10248]]<br />
|-<br />
| 00008003<br />
| NS<br />
| [[1.0.0-0|v0]]<br />
|}<br />
<br />
Once Home Menu finishes loading, all of the above system modules are running, except for MP, RO, and act which are automatically [[Process_Manager_Services|loaded]] when a process requires them. When [[Process_Manager_Services|PM]] module terminates processes, it will check whether the processes listed as dependencies for this process are listed as dependencies for other processes. Any processes which are no longer listed in any processes dependencies lists are then terminated.<br />
<br />
All of the above system modules use the "BASE" [[SVC|memory-region]](specified in the exheader), except when listed otherwise for certain modules.<br />
<br />
=== 00040138 - [[FIRM|System Firmware]] ===<br />
NATIVE_FIRM and SAFE_MODE_FIRM for the initial versions are exactly the same, besides [[Configuration_Memory|core-version]] fields. SAFE_MODE_FIRM is used for running SAFE_MODE titles, on retail SAFE_MODE_FIRM seems to be only used for running the [[System_Settings#System_Updater|System Updater]] application. When a GBA VC title is launched, AGB_FIRM is launched to handle running this title. GBA VC savegames stored under SD card /title/<TID>/data use a custom format, this is handled by AGB_FIRM.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Description<br />
! Versions<br />
|-<br />
| 00000002<br />
| NATIVE_FIRM (Native Firmware)<br />
| [[1.0.0-0|v432]], [[1.1.0-1|v1472]], [[2.0.0-2|v2516]], [[2.1.0-3|v3553]], [[2.2.0-X|v4595]], [[3.0.0-5|v5647]], [[4.0.0-7|v6677]], [[4.1.0-8|v7712]], [[5.0.0-11|v8758]], [[5.1.0-11|v9792]], [[6.0.0-11|v10833]], [[6.1.0-11|v11872]], [[7.0.0-13|v12916]]<br />
|-<br />
| 00000003<br />
| SAFE_MODE_FIRM <br />
| [[1.0.0-0|v432]], [[3.0.0-5|v5632]]<br />
|-<br />
| 00000102 <br />
| TWL_FIRM ( DSi Firmware )<br />
| [[1.0.0-0|v432]], [[2.0.0-2|v1489]], [[3.0.0-5|v2565]], [[4.0.0-7|v4625]], [[4.4.0-10|v5681]], [[4.5.0-10|v6704]], [[6.0.0-11|v7762]], [[6.2.0-12|v8817]]<br />
|- <br />
| 00000202<br />
| AGB_FIRM ( GBA Firmware )<br />
| [[3.0.0-5|v519]], [[4.0.0-7|v2576]], [[6.0.0-11|v3665]]<br />
|}<br />
<br />
== TWL System Titles ==<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Content Category<br />
! Bit Mask(s)<br />
! Category Bit Mask<br />
|-<br />
| System Application<br />
| TWL<nowiki>|</nowiki>0x1<nowiki>|</nowiki>0x4<br />
| 0x8005<br />
|-<br />
| System Archive<br />
| TWL<nowiki>|</nowiki>0x1<nowiki>|</nowiki>0x2<nowiki>|</nowiki>0x4<nowiki>|</nowiki>0x8<br />
| 0x800F<br />
|}<br />
Bitmask 0x1 for TWL titles determines whether the title will be updated during a System Update.<br />
<br />
=== 00048005 - System Applications===<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Region<br />
! Description<br />
! Versions<br />
! Information<br />
|-<br />
| 42383841(B88A)<br />
| ALL<br />
| [[DS Internet]]<br />
| v0, [[2.1.0-4|v1025]], [[3.0.0-5|v2048]]<br />
| [[DS Internet]] is the DSi-mode application launched by [[System Settings]] for setting TWL wifi configuration. <br />
|-<br />
| 484E4441(HNDA)<br />
| ALL<br />
| [[Download Play]]<br />
| v1024<br />
| This [[Download Play]] application is the DS-mode Download Play client, launched by the 3DS-mode Download Play application.<br />
|-<br />
| 484E4443(HNDC)<br />
| CHN<br />
| [[Download Play]]<br />
| v1024<br />
| See Above Description.<br />
|-<br />
| 484E444B(HNDK)<br />
| KOR<br />
| [[Download Play]]<br />
| v1024<br />
| See Above Description.<br />
|}<br />
<br />
=== 0004800F - System Data Archives===<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Description<br />
! Versions<br />
|-<br />
| 484E4841(HNHA)<br />
| [[Nintendo DS Cart Whitelist]]<br />
| v0, [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[4.2.0-9|v5120]], [[4.3.0-10|v6145]], [[4.4.0-10|v7168]], [[4.5.0-10|v8192]], [[5.0.0-11|v9216]], [[6.0.0-11|v10240]], [[7.0.0-13|v11264]]<br />
|-<br />
| 484E4C41(HNLA)<br />
| [[Version Data]]<br />
| v0<br />
|}<br />
<br />
New system updates only block DS flash-cards when the above whitelist was updated, or when TWL_FIRM was updated. The whitelist contains the data used for detecting flash-cards, this is used by TWL_FIRM.<br />
<br />
== Application Titles ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Content Category<br />
! Bit Mask(s)<br />
! Category Bit Mask<br />
|-<br />
| [[Title list/eShop Titles|Application]] (eShop Title)<br />
| Normal<br />
| 0x0000<br />
|-<br />
| DLP Child<br />
| DlpChild<br />
| 0x0001<br />
|-<br />
| [[EShop Demos|Demo]]<br />
| Demo<br />
| 0x0002<br />
|-<br />
| [[Title list/Patches|Patch]]<br />
| CannotExecution<nowiki>|</nowiki>Patch<br />
| 0x000E<br />
|-<br />
| [[Title list/DLC|Add-on Content]] (DLC)<br />
| NotRequireRightForMount<nowiki>|</nowiki>CannotExecution<nowiki>|</nowiki>AddOnContents<br />
| 0x008C<br />
|}<br />
<br />
=== 00040001 - [[Download Play]] Titles ===<br />
This titleID-high/programID-high is used for the titles sent over [[Download Play]]. Only one 00040001 Download Play title is installed to NAND /title at a time. There can be a maximum of 255 Download Play child titles per Unique ID, indexed by Title ID Variation. The legal index range: 0x0 - 0xff.<br />
<br />
== TWL Application Titles ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Content Category<br />
! Bit Mask(s)<br />
! Category Bit Mask<br />
|-<br />
| Application (DSiWare)<br />
| TWL<nowiki>|</nowiki>0x4<br />
| 0x8004<br />
|}<br />
<br />
=== 00048004 - DSiWare ===<br />
Although these have a titleID high separate from DSi and a titleID is stored in the SRLs, the content of these SRLs are identical to DSi.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Region<br />
! Description<br />
! Versions<br />
|-<br />
| 4B4B5456(KKTV)<br />
| EUR<br />
| Cut the Rope<br />
| v0, v64<br />
|-<br />
| 4B4E5256(KNRV)<br />
| EUR<br />
| A Little Bit of... Brain Training™: Maths Edition <br />
| v0<br />
|-<br />
| 4B5A4C56(KZLV)<br />
| EUR<br />
| Plants vs. Zombies™<br />
| v0<br />
|-<br />
| 4B454256(KEBV)<br />
| EUR<br />
| ELECTROPLANKTON (Hanenbow)<br />
| v0<br />
|-<br />
| 4B513956(KQ9V)<br />
| EUR<br />
| Zelda: Four Swords Anniversary Edition<br />
| v0, v16<br />
|-<br />
| 4B574256(KWBV)<br />
| EUR<br />
| Mario Calculator <br />
| v0<br />
|-<br />
| 4B574656(KWFV)<br />
| EUR<br />
| Mario Clock <br />
| v0<br />
|}</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Home_Menu&diff=8824Home Menu2014-03-14T23:29:12Z<p>3dsguy: </p>
<hr />
<div>The '''Home Menu''' is the heart of the Nintendo 3DS. From there one can start games, applications, and access various processes including the friends list. It is launched by [[NS]], and is always running in the background in 3DS-mode except when other programID-high 00040030 applications like Internet Browser, Friend-List, etc are running. Home Menu is still running while [[System Settings]] is running, however the System Settings application does not allow directly returning to home-menu. The system will normally re-launch Home Menu when the Home Menu process crashes/terminates. When this re-launch occurs while Home Menu is active, Home Menu displays an error message which says to manually reboot the system.<br />
<br />
== System Versions ==<br />
Nintendo devised a system, whereby updates would be delivered via two channels: <br />
*Card Updates (CUP) - The Nintendo 3DS is updated with data from an [[System Update CFA|update partition]] on retail gamecard title. <br />
*Network Updates (NUP) - The Nintendo 3DS is updated by downloading data from Nintendo's [[Title list|CDN]].<br />
<br />
CUPs will only deliver updates to core features, such as the Home Menu, [[Nintendo 3DS Camera]] etc. CUPs will not deliver updates to Network features, such as [[System Transfer]], [[Internet Browser]], [[StreetPass Mii Plaza]] or [[EShop|eShop]].<br />
<br />
NUPs can deliver updates to core features as well as (updated) Network Features.<br />
<br />
As a result of deciding to make a distinction between what content could be updated and how, Nintendo split the system version displayed by [[System Settings]] into two parts: [[CVer]] (Console Version) and [[NVer]] (Network Update Version). Represented as: <br />
<CVer Major>.<CVer Minor>.<CVer Micro>-<NUP Version><NUP Region><br />
<br />
The Console Version represents the version of the collectively installed core features. And the NUP Version represents the version of the collectively installed network features.<br />
<br />
So if a 3DS' System Firmware read '''2.1.0-2U''', it would indicate a console version of '''2.1.0''' and a NUP version of '''2U'''. <br />
<br />
NOTES:<br />
* CUPs can only update core content, so [[NVer]] is never updated with CUPs.<br />
* NUPs will not update [[NVer]] if network features are not updated. (Best seen with the USA vs JPN/EUR 6.0.0 NUP)<br />
<br />
<br />
CUPs are implemented by adding a [[System Update CFA]] to retail NCSD gamecard images. Nintendo generally creates CUPs after NUPs are released.<br />
<br />
<br />
When updating the system from 4.5.0-6 to 4.5.0-10, the following titles are updated(in the order of title download+install): [[Health and Safety Information]], [[Nintendo 3DS Camera]], [[eShop]], [[System Transfer]], [[Internet Browser]], [[Title_list|0004009B00014102]], [[Title_list|0004009B00014202]], [[Title_list|0004009B00014302]], [[NVer]], and [[FIRM|AGB_FIRM]].<br />
<br />
<br />
{| class="wikitable"<br />
|-<br />
! Version <br />
! Title version<br />
! Release date <br />
! Changelog <br />
! CUP Released<br />
! CDN Availability<br />
! CDN Post Date<br />
|-<br />
| [[1.0.0-0|1.0.0-0]]<br />
| 0<br />
| February 26, 2011<br />
| Shipped with 3DS on launch<br />
| Yes<br />
| Available<br />
| February 18, 2011<br />
|-<br />
| [[1.1.0-1|1.1.0-1]] <br />
| 0 <br />
| February ?, 2011<br />
| General bug fixes<br />
Added 3D Video title to menu. ("For a Limited Time Only")<br />
| Yes<br />
| Available<br />
| March 1, 2011<br />
|-<br />
| [[2.0.0-2|2.0.0-2]]<br />
| 1029<br />
| June 6/7, 2011<br />
| [[eShop]] added, web browser available, [[System Transfer]] added. Full DSiWare data management available. [[Automatic_System_Update_Download|Automatic]] downloading for system updates added.<br />
| No<br />
| Available<br />
| June 6, 2011<br />
|-<br />
| [[2.1.0-3|2.1.0-3]]<br />
| 2049<br />
| June 15, 2011<br />
| Fixes the Ridge Racer freeze.<br />
| Yes<br />
| Available<br />
| June 15, 2011<br />
|-<br />
| [[2.1.0-4|2.1.0-4]]<br />
| 2049<br />
| July 25, 2011<br />
| System stability improvements and other adjustments.<br />
| No<br />
| Available<br />
| July 25, 2011<br />
|-<br />
| [[2.2.0-X|2.2.0]]<br />
| ?<br />
| November 6, 2011<br />
| CUP Only Release. Improved the arrangement of [[Friend List]]. Update from some game cards such as Super Mario 3D Land.<br />
| Yes<br />
| Unavailable<br />
| ?<br />
|-<br />
| [[3.0.0-5|3.0.0-5]]<br />
| 4111<br />
| December 7, 2011<br />
| Added 3D video recording to the camera title, updated Mii Streetpass Plaza, [[System Transfer]] between 3DS systems available, improved eShop, home menu QR code scanning with QR codes containing URLs. [[Nintendo Zone]] is now always accessible, 3D video streaming support was added to NZone. This added support for running GBA VC titles via AGB_FIRM as well, support for GBA VC titles was also added to NATIVE_FIRM.<br />
| Yes<br />
| Available<br />
| December 7, 2011<br />
|-<br />
| [[3.0.0-6|3.0.0-6]]<br />
| 4111<br />
| December 21, 2011<br />
| Only StreetPass Mii Plaza and the [[NVer]] title were updated. From Nintendo's release notes: "System stability improvements and other adjustments".<br />
| No<br />
| Available<br />
| December 21, 2011<br />
|-<br />
| [[4.0.0-7|4.0.0-7]]<br />
| 5131<br />
| April 24, 2012<br />
| Add folders to Home Menu, game patching added, buy more expensive games than 1000 yen in JPN. System titles for CHN, TWN, and KOR became available.<br />
| Yes<br />
| Available<br />
| April 24, 2012<br />
|-<br />
| [[4.1.0-8|4.1.0-8]]<br />
| 5131<br />
| May 14, 2012<br />
| From changelog: "improvements to overall system stability and other minor adjustments". Once updated to [[4.1.0-8]], the parental-controls PIN is no longer required for future system updates.<br />
| Yes<br />
| Available<br />
| May 14, 2012<br />
|-<br />
| [[4.2.0-9|4.2.0-9]]<br />
| 6146<br />
| June 26, 2012<br />
| Improved eShop safety for entering credit-card info, and behind the scenes improvements. Stored CC info will be deleted by this updated eShop, and can be re-entered again.<br />
| Yes<br />
| Available<br />
| June 26, 2012<br />
|-<br />
| [[4.3.0-10|4.3.0-10]]<br />
| 6146<br />
| July 24, 2012<br />
| Updated eShop, bad word list and NZone hotspot list updated.<br />
| Yes<br />
| Available<br />
| July 24, 2012<br />
|-<br />
| [[4.4.0-10|4.4.0-10]]<br />
| 6146<br />
| September 19, 2012<br />
| NZone hotspot list updated and TWL_FIRM updated for blocking flash cards.<br />
| Yes<br />
| Available<br />
| September 19, 2012<br />
|-<br />
| [[4.4.0-10|4.4.0-10C]]<br />
| 6146<br />
| October 17, 2012<br />
| China-only, the *only* updated title was [[System Settings]]. This title was updated to a version already available in TWN/KOR.<br />
| ?<br />
| Available<br />
| October 17, 2012<br />
|-<br />
| [[4.5.0-10|4.5.0-10]]<br />
| 6146<br />
| December 4, 2012<br />
| Flash-card block via updated TWL_FIRM and whitelist. NZone hotspot list updated as well.<br />
| Yes<br />
| Available<br />
| December 4, 2012<br />
|-<br />
| [[5.0.0-11|5.0.0-11]]<br />
| 7172<br />
| March 25, 2013<br />
| Many system titles including NATIVE_FIRM were updated, multiple vulnerabilities were fixed as well.<br />
| No<br />
| Available<br />
| March 25, 2013<br />
|-<br />
| [[5.1.0-11|5.1.0-11]]<br />
| 7172<br />
| April 4, 2013<br />
| NATIVE_FIRM and NS were updated. According to the official change-log: "Resolves an issue that may prevent access to the System Settings or other features."<br />
| Yes<br />
| Available<br />
| April 4, 2013<br />
|-<br />
| [[6.0.0-11|6.0.0-12 (-11U)]]<br />
| 8198<br />
| June 17, 2013<br />
| Official change-log: "Users can now back up save data for downloadable versions of Nintendo 3DS software and most Virtual Console games". For EUR/JPN, the [[StreetPass Mii Plaza]] application and the [[Nintendo 3DS Camera]] application were updated. Other titles for all regions were updated as well.<br />
| No<br />
| Available<br />
| June 17, 2013<br />
|-<br />
| [[6.1.0-11|6.1.0-12 (-11U)]]<br />
| 8198<br />
| June 27, 2013<br />
| Official change-log: "Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience."<br />
| Yes<br />
| Available<br />
| June 27, 2013<br />
|-<br />
| [[6.1.0-12U]]<br />
| 8198<br />
| July 11, 2013<br />
| This USA-only updated added the updated network features applications which were first released in JPN/EUR with the [[6.0.0-11|6.0.0-12 NUP]] update.<br />
| No<br />
| Available<br />
| July 11, 2013<br />
|-<br />
| [[6.2.0-12]]<br />
| 8198<br />
| August 6, 2013<br />
| This update added support for the StreetPass relay feature, updated TWL_FIRM, and updated the Nintendo Zone hotspots list.<br />
| Yes<br />
| Available<br />
| August 6, 2013<br />
|-<br />
| [[6.3.0-12]]<br />
| 8198<br />
| September 13, 2013<br />
| See [[6.3.0-12|this]].<br />
| No<br />
| Available<br />
| September 13, 2013<br />
|-<br />
| [[7.0.0-13]]<br />
| 9230<br />
| December 9, 2013<br />
| See [[7.0.0-13|this]].<br />
| No<br />
| Available<br />
| December 9, 2013<br />
|-<br />
| [[7.1.0-14]]<br />
| ?<br />
| December 19, 2013<br />
| See [[7.1.0-14|this]].<br />
| Yes<br />
| Available<br />
| December 19, 2013<br />
|-<br />
| [[7.1.0-15]]<br />
| ?<br />
| January 22, 2014<br />
| See [[7.1.0-15|this]].<br />
| No<br />
| Available<br />
| January 22, 2014<br />
|-<br />
| [[7.1.0-16]]<br />
| ?<br />
| February 26, 2014<br />
| See [[7.1.0-16|this]].<br />
| No<br />
| Available<br />
| February 26, 2014<br />
|}<br />
<br />
[[Category:Nintendo Software]]<br />
<br />
== Auto-Boot Function ==<br />
When the Home Menu is initially loaded by [[NS]], it checks the gamecard ExeFS:/[[SMDH|icon]] for the auto-boot flag. If the auto-boot flag is set, it will load the application on the cartridge and the home menu will not remain running in the background, or at least not in an operational state. Using software cues to return to the home menu, or sleep menu while in this state, causes a shutdown.<br />
<br />
Notable features of demo titles:<br />
*Auto-boot demos generally disable the functionality of the home button.<br />
*The ''New Super Mario Bros 2'' demo, retained the functionality of the home button, and had an timer which triggered the demo to quit after a period of inactivity.<br />
<br />
Auto-boot cartridges, can bypass some of the functions of the Home Menu. Auto Booted software:<br />
* Doesn't show usage history in the [[Activity Log]]<br />
* Bypasses Parental controls<br />
* Bypasses Forced Game Card Updates<br />
* Bypasses Initial 3DS Setup<br />
* The console does not have a friends list presence.<br />
* Is still subject to region lock(see below).<br />
<br />
Region lock is still active, so the home menu will refuse to launch demos with incorrect region lock will not load, displaying "An Error has Occurred". However, game card update partition checks are not done, which allows launching demos that have region free encoding, but have an alternate(or even invalid) region update partition.<br />
<br />
<br />
<br />
The following auto-boot paths can be used by Home Menu, checked in the same order listed below(the above gamecard auto-boot is checked before this):<br />
{| class="wikitable"<br />
! Key-combo / requirements for this path<br />
! Description<br />
|-<br />
| R, L, and X<br />
| This launches [[System Settings]] for touchscreen calibration.<br />
|-<br />
| R, L, and Y<br />
| This launches [[System Settings]] for circlepad calibration.<br />
|}<br />
<br />
The following is only checked when the low u16 from [[Config_Savegame|config]] block 0x00110000 is value zero(normally this is non-zero). Thus, the below is only handled when a system setup is required.<br />
{| class="wikitable"<br />
! Key-combo / requirements for this path<br />
! Description<br />
|-<br />
| R, X, Y, A, and B, a 3DS gamecard must be inserted as well.<br />
| This launches the gamecard application. Note that pressing the HOME button in the gamecard application launched this way will only result in the system shutting down.<br />
|-<br />
| This is used when the above path isn't used.<br />
| This launches System Settings for the system setup.<br />
|}<br />
<br />
== Region Lockout ==<br />
<br />
One of the Home Menu's functions, is to regulate region lockout. The region lockout data for any given title is held in the [[SMDH#BNR Region|ICN data]]. There are 6 regions of which have their own region lockout, Japan, USA, Europe(including Nintendo Australia), China, Taiwan and Korea. There is also a value which makes a title exempt from region lockout, and consequently accessible from any region of 3DS.<br />
<br />
=== Effects of Region Lockout ===<br />
Every 3DS title regardless of location (NAND/SD Card/Game Card) is subject to region lockout scrutiny by the Home Menu. And the home menu treats 'out-of-region' titles by simply refusing to show them on the home menu. No messages are shown on the home menu to notify the user, the title is simply ignored. However out-of-region SD Card titles, will appear and quickly disappear, while all the SD Titles are being processed. In cases where access to the home menu GUI is not needed to launch the title (like in the case of kiosk demos), the home menu states an error has occurred, and launching of the title is stopped.<br />
<br />
=== Game Card Updates ===<br />
Either intentionally a region lock mechanism or not, the function which checks the game card update partition returns an error when it is detected the update is for a region other than the 3DS's region (Most likely triggered by the absence of the correct CVer title). And errors returned from checking the update partition, will result in the home menu displaying "This Game Card cannnot be used", when the user attempts to launch the title.<br />
<br />
== Home-menu [[SpotPass]] usage ==<br />
<br />
Home-menu uses two domains with HTTPS for SpotPass. SpotPass stores this content in Home-menu's NAND shared extdata.<br />
<br />
* The system notifications are downloaded from: https://a248.e.akamai.net/f/248/103046/10m/npdl.c.app.nintendowifi.net/p01/nsa/<regionID>/<filename>/<langcode>/<filename> Where langcode is the two-character language codes from [[Config_Savegame|config]], and regionID is from the below table. <filename> is bashoX/sysmsgX where X is 0-3.<br />
* https://pls.c.shop.nintendowifi.net/pl/upload This URL is used for uploading data from the home menu NAND shared extdata, it's unknown what this is used for. This data is uploaded every 24 hours.<br />
* https://npul.c.app.nintendowifi.net/p01/recv/<regionID>/<filename> This is used for uploading unknown data from extdata. <filename> can be "phu", "tiu", "splu", or "sendmgn".<br />
<br />
{| class="wikitable"<br />
|-<br />
! Region<br />
! ID<br />
|-<br />
| JPN<br />
| gWr4JXxb2mKTG3lq<br />
|-<br />
| NA<br />
| uuI82221UKkqmtbp<br />
|-<br />
| EUR / Others<br />
| UrXSeurnxhPrq7AS<br />
|}<br />
<br />
The SpotPass content payload for notifications begin with a header, followed by an [[SMDH|icon]] and the UTF-16 text, and various metadata.<br />
<br />
== Automatic System Update Download ==<br />
See [[Automatic System Update Download]].<br />
<br />
== Home Menu Error Messages ==<br />
{| class="wikitable"<br />
|-<br />
! Dialog Text<br />
! Description<br />
|-<br />
| "An error has occured. Please save your data ... then restart the system"<br />
| This dialog is displayed when a system process(including Home Menu) crashes/terminates. This dialog is also displayed for system errors as well.<br />
|}<br />
<br />
== SD ExtData ==<br />
The SD ExtData [[Extdata#Filesystem|File System]] for Home Menu is as follows:<br />
<br />
root<br />
├── icon<br />
├── boss<br />
└── user<br />
├── SaveData.dat<br />
├── Cache.dat<br />
└── CacheD.dat<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! File<br />
! Details<br />
! Size<br />
! FW Introduced<br />
! Plaintext<br />
|-<br />
| icon<br />
| Stubbed. Always image 00000002.<br />
| 0x4 Bytes<br />
| n/a<br />
| <br />
|-<br />
| SaveData.dat<br />
| Always image 00000003.<br />
| 0x2cb0 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/SaveData.dat Download]<br />
|-<br />
| Cache.dat<br />
| Indexes and records details for the cached icon data. Always image 00000004.<br />
| 0x1688 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/Cache.dat Download]<br />
|-<br />
| CacheD.dat<br />
| Cached icon data for Home Menu. Always image 00000005.<br />
| 0x4cfe00 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/CacheD.dat Download]<br />
|}<br />
<br />
=== Cache.dat & CacheD.dat ===<br />
These two files work in tandem to allow the home menu to cache icon data for applications which are presented on the Home Menu. The size of both files suggests a maximum cache size of 360 icons. Cache.dat stores details about the cache icon data, and CacheD.dat stores the icon data. The icon cache stores icon data for *all* applications shown on the Home Menu, this includes DSi NAND Titles, and DS(i) cartridges. The format of cached DS(i) icon data is not understood, but they are the same size as 3DS icon data (0x36c0).<br />
<br />
In Cache.dat the first 8 bytes are reserved, then follows each icon slots's entry in the format:<br />
{| class="wikitable" border="1"<br />
|-<br />
! OFFSET<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x0<br />
| 8<br />
| Title ID in Little Endian<br />
|-<br />
| 0x8<br />
| 4<br />
| Unknown<br />
|-<br />
| 0xc<br />
| 4<br />
| Unknown<br />
|}<br />
<br />
All unused entries have the Title IDs filled with "0xff".<br />
<br />
In CacheD.dat, the icon data is concatenated together, with the first icon at offset 0x0.<br />
<br />
== See Also ==<br />
* http://www.nintendo.com/consumer/systems/3ds/en_na/menu_update.jsp<br />
* http://www.nintendo.co.jp/netinfo/3ds/JPN/ja.html</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Home_Menu&diff=8823Home Menu2014-03-14T23:28:23Z<p>3dsguy: /* System Versions */</p>
<hr />
<div>The '''Home Menu''' is the heart of the Nintendo 3DS. From there one can start games, applications, and access various processes including the friends list. It is launched by [[NS]], and is always running in the background in 3DS-mode except when other programID-high 00040030 applications like Internet Browser, Friend-List, etc are running. Home Menu is still running while [[System Settings]] is running, however the System Settings application does not allow directly returning to home-menu. The system will normally re-launch Home Menu when the Home Menu process crashes/terminates. When this re-launch occurs while Home Menu is active, Home Menu displays an error message which says to manually reboot the system.<br />
<br />
== System Versions ==<br />
Nintendo devised a system, whereby updates would be delivered via two channels: <br />
*Card Updates (CUP) - The Nintendo 3DS is updated with data from an [[System Update CFA|update partition]] on retail gamecard title. <br />
*Network Updates (NUP) - The Nintendo 3DS is updated by downloading data from Nintendo's [[Title list|CDN]].<br />
<br />
CUPs will only deliver updates to core features, such as the Home Menu, [[Nintendo 3DS Camera]] etc. CUPs will not deliver updates to Network features, such as [[System Transfer]], [[Internet Browser]], [[StreetPass Mii Plaza]] or [[EShop|eShop]].<br />
<br />
NUPs can deliver updates to core features as well as (updated) Network Features.<br />
<br />
As a result of deciding to make a distinction between what content could be updated and how, Nintendo split the system version displayed by [[System Settings]] into two parts: [[CVer]] (Console Version) and [[NVer]] (Network Update Version). Represented as: <br />
<CVer Major>.<CVer Minor>.<CVer Micro>-<NUP Version><NUP Region><br />
<br />
The Console Version represents the version of the collectively installed core features. And the NUP Version represents the version of the collectively installed network features.<br />
<br />
So if a 3DS' System Firmware read '''2.1.0-2U''', it would indicate a console version of '''2.1.0''' and a NUP version of '''2U'''. <br />
<br />
NOTES:<br />
* CUPs can only update core content, so [[NVer]] is never updated with CUPs.<br />
* NUPs will not update [[NVer]] if network features are not updated. (Best seen with the USA vs JPN/EUR 6.0.0 NUP)<br />
<br />
<br />
CUPs are implemented by adding a [[System Update CFA]] to retail NCSD gamecard images. Nintendo generally creates CUPs after NUPs are released.<br />
<br />
<br />
When updating the system from 4.5.0-6 to 4.5.0-10, the following titles are updated(in the order of title download+install): [[Health and Safety Information]], [[Nintendo 3DS Camera]], [[eShop]], [[System Transfer]], [[Internet Browser]], [[Title_list|0004009B00014102]], [[Title_list|0004009B00014202]], [[Title_list|0004009B00014302]], [[NVer]], and [[FIRM|AGB_FIRM]].<br />
<br />
<br />
{| class="wikitable"<br />
|-<br />
! Version <br />
! Title version<br />
! Release date <br />
! Changelog <br />
! CUP Released<br />
! CDN Availability<br />
! CDN Post Date<br />
|-<br />
| [[1.0.0-0|1.0.0-0]]<br />
| 0<br />
| February 26, 2011<br />
| Shipped with 3DS on launch<br />
| Yes<br />
| Available<br />
| February 18, 2011<br />
|-<br />
| [[1.1.0-1|1.1.0-1]] <br />
| 0 <br />
| February ?, 2011<br />
| General bug fixes<br />
Added 3D Video title to menu. ("For a Limited Time Only")<br />
| Yes<br />
| Available<br />
| March 1, 2011<br />
|-<br />
| [[2.0.0-2|2.0.0-2]]<br />
| 1029<br />
| June 6/7, 2011<br />
| [[eShop]] added, web browser available, [[System Transfer]] added. Full DSiWare data management available. [[Automatic_System_Update_Download|Automatic]] downloading for system updates added.<br />
| No<br />
| Available<br />
| June 6, 2011<br />
|-<br />
| [[2.1.0-3|2.1.0-3]]<br />
| 2049<br />
| June 15, 2011<br />
| Fixes the Ridge Racer freeze.<br />
| Yes<br />
| Available<br />
| June 15, 2011<br />
|-<br />
| [[2.1.0-4|2.1.0-4]]<br />
| 2049<br />
| July 25, 2011<br />
| System stability improvements and other adjustments.<br />
| No<br />
| Available<br />
| July 25, 2011<br />
|-<br />
| [[2.2.0-X|2.2.0]]<br />
| ?<br />
| November 6, 2011<br />
| CUP Only Release. Improved the arrangement of [[Friend List]]. Update from some game cards such as Super Mario 3D Land.<br />
| Yes<br />
| Unavailable<br />
| ?<br />
|-<br />
| [[3.0.0-5|3.0.0-5]]<br />
| 4111<br />
| December 7, 2011<br />
| Added 3D video recording to the camera title, updated Mii Streetpass Plaza, [[System Transfer]] between 3DS systems available, improved eShop, home menu QR code scanning with QR codes containing URLs. [[Nintendo Zone]] is now always accessible, 3D video streaming support was added to NZone. This added support for running GBA VC titles via AGB_FIRM as well, support for GBA VC titles was also added to NATIVE_FIRM.<br />
| Yes<br />
| Available<br />
| December 7, 2011<br />
|-<br />
| [[3.0.0-6|3.0.0-6]]<br />
| 4111<br />
| December 21, 2011<br />
| Only StreetPass Mii Plaza and the [[NVer]] title were updated. From Nintendo's release notes: "System stability improvements and other adjustments".<br />
| No<br />
| Available<br />
| December 21, 2011<br />
|-<br />
| [[4.0.0-7|4.0.0-7]]<br />
| 5131<br />
| April 24, 2012<br />
| Add folders to Home Menu, game patching added, buy more expensive games than 1000 yen in JPN. System titles for CHN, TWN, and KOR became available.<br />
| Yes<br />
| Available<br />
| April 24, 2012<br />
|-<br />
| [[4.1.0-8|4.1.0-8]]<br />
| 5131<br />
| May 14, 2012<br />
| From changelog: "improvements to overall system stability and other minor adjustments". Once updated to [[4.1.0-8]], the parental-controls PIN is no longer required for future system updates.<br />
| Yes<br />
| Available<br />
| May 14, 2012<br />
|-<br />
| [[4.2.0-9|4.2.0-9]]<br />
| 6146<br />
| June 26, 2012<br />
| Improved eShop safety for entering credit-card info, and behind the scenes improvements. Stored CC info will be deleted by this updated eShop, and can be re-entered again.<br />
| Yes<br />
| Available<br />
| June 26, 2012<br />
|-<br />
| [[4.3.0-10|4.3.0-10]]<br />
| 6146<br />
| July 24, 2012<br />
| Updated eShop, bad word list and NZone hotspot list updated.<br />
| Yes<br />
| Available<br />
| July 24, 2012<br />
|-<br />
| [[4.4.0-10|4.4.0-10]]<br />
| 6146<br />
| September 19, 2012<br />
| NZone hotspot list updated and TWL_FIRM updated for blocking flash cards.<br />
| Yes<br />
| Available<br />
| September 19, 2012<br />
|-<br />
| [[4.4.0-10|4.4.0-10C]]<br />
| 6146<br />
| October 17, 2012<br />
| China-only, the *only* updated title was [[System Settings]]. This title was updated to a version already available in TWN/KOR.<br />
| ?<br />
| Available<br />
| October 17, 2012<br />
|-<br />
| [[4.5.0-10|4.5.0-10]]<br />
| 6146<br />
| December 4, 2012<br />
| Flash-card block via updated TWL_FIRM and whitelist. NZone hotspot list updated as well.<br />
| Yes<br />
| Available<br />
| December 4, 2012<br />
|-<br />
| [[5.0.0-11|5.0.0-11]]<br />
| 7172<br />
| March 25, 2013<br />
| Many system titles including NATIVE_FIRM were updated, multiple vulnerabilities were fixed as well.<br />
| No<br />
| Available<br />
| March 25, 2013<br />
|-<br />
| [[5.1.0-11|5.1.0-11]]<br />
| 7172<br />
| April 4, 2013<br />
| NATIVE_FIRM and NS were updated. According to the official change-log: "Resolves an issue that may prevent access to the System Settings or other features."<br />
| Yes<br />
| Available<br />
| April 4, 2013<br />
|-<br />
| [[6.0.0-11|6.0.0-12 (-11U)]]<br />
| 8198<br />
| June 17, 2013<br />
| Official change-log: "Users can now back up save data for downloadable versions of Nintendo 3DS software and most Virtual Console games". For EUR/JPN, the [[StreetPass Mii Plaza]] application and the [[Nintendo 3DS Camera]] application were updated. Other titles for all regions were updated as well.<br />
| No<br />
| Available<br />
| June 17, 2013<br />
|-<br />
| [[6.1.0-11|6.1.0-12 (-11U)]]<br />
| 8198<br />
| June 27, 2013<br />
| Official change-log: "Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience."<br />
| Yes<br />
| Available<br />
| June 27, 2013<br />
|-<br />
| [[6.1.0-12U]]<br />
| 8198<br />
| July 11, 2013<br />
| This USA-only updated added the updated network features applications which were first released in JPN/EUR with the [[6.0.0-11|6.0.0-12 NUP]] update.<br />
| No<br />
| Available<br />
| July 11, 2013<br />
|-<br />
| [[6.2.0-12]]<br />
| 8198<br />
| August 6, 2013<br />
| This update added support for the StreetPass relay feature, updated TWL_FIRM, and updated the Nintendo Zone hotspots list.<br />
| Yes<br />
| Available<br />
| August 6, 2013<br />
|-<br />
| [[6.3.0-12]]<br />
| 8198<br />
| September 13, 2013<br />
| See [[6.3.0-12|this]].<br />
| No<br />
| Available<br />
| September 13, 2013<br />
|-<br />
| [[7.0.0-13]]<br />
| 9230<br />
| December 9, 2013<br />
| See [[7.0.0-13|this]].<br />
| Not observed yet<br />
| Available<br />
| December 9, 2013<br />
|-<br />
| [[7.1.0-14]]<br />
| ?<br />
| December 19, 2013<br />
| See [[7.1.0-14|this]].<br />
| Yes<br />
| Available<br />
| December 19, 2013<br />
|-<br />
| [[7.1.0-15]]<br />
| ?<br />
| January 22, 2014<br />
| See [[7.1.0-15|this]].<br />
| No<br />
| Available<br />
| January 22, 2014<br />
|-<br />
| [[7.1.0-16]]<br />
| ?<br />
| February 26, 2014<br />
| See [[7.1.0-16|this]].<br />
| No<br />
| Available<br />
| February 26, 2014<br />
|}<br />
<br />
[[Category:Nintendo Software]]<br />
<br />
== Auto-Boot Function ==<br />
When the Home Menu is initially loaded by [[NS]], it checks the gamecard ExeFS:/[[SMDH|icon]] for the auto-boot flag. If the auto-boot flag is set, it will load the application on the cartridge and the home menu will not remain running in the background, or at least not in an operational state. Using software cues to return to the home menu, or sleep menu while in this state, causes a shutdown.<br />
<br />
Notable features of demo titles:<br />
*Auto-boot demos generally disable the functionality of the home button.<br />
*The ''New Super Mario Bros 2'' demo, retained the functionality of the home button, and had an timer which triggered the demo to quit after a period of inactivity.<br />
<br />
Auto-boot cartridges, can bypass some of the functions of the Home Menu. Auto Booted software:<br />
* Doesn't show usage history in the [[Activity Log]]<br />
* Bypasses Parental controls<br />
* Bypasses Forced Game Card Updates<br />
* Bypasses Initial 3DS Setup<br />
* The console does not have a friends list presence.<br />
* Is still subject to region lock(see below).<br />
<br />
Region lock is still active, so the home menu will refuse to launch demos with incorrect region lock will not load, displaying "An Error has Occurred". However, game card update partition checks are not done, which allows launching demos that have region free encoding, but have an alternate(or even invalid) region update partition.<br />
<br />
<br />
<br />
The following auto-boot paths can be used by Home Menu, checked in the same order listed below(the above gamecard auto-boot is checked before this):<br />
{| class="wikitable"<br />
! Key-combo / requirements for this path<br />
! Description<br />
|-<br />
| R, L, and X<br />
| This launches [[System Settings]] for touchscreen calibration.<br />
|-<br />
| R, L, and Y<br />
| This launches [[System Settings]] for circlepad calibration.<br />
|}<br />
<br />
The following is only checked when the low u16 from [[Config_Savegame|config]] block 0x00110000 is value zero(normally this is non-zero). Thus, the below is only handled when a system setup is required.<br />
{| class="wikitable"<br />
! Key-combo / requirements for this path<br />
! Description<br />
|-<br />
| R, X, Y, A, and B, a 3DS gamecard must be inserted as well.<br />
| This launches the gamecard application. Note that pressing the HOME button in the gamecard application launched this way will only result in the system shutting down.<br />
|-<br />
| This is used when the above path isn't used.<br />
| This launches System Settings for the system setup.<br />
|}<br />
<br />
== Region Lockout ==<br />
<br />
One of the Home Menu's functions, is to regulate region lockout. The region lockout data for any given title is held in the [[SMDH#BNR Region|ICN data]]. There are 6 regions of which have their own region lockout, Japan, USA, Europe(including Nintendo Australia), China, Taiwan and Korea. There is also a value which makes a title exempt from region lockout, and consequently accessible from any region of 3DS.<br />
<br />
=== Effects of Region Lockout ===<br />
Every 3DS title regardless of location (NAND/SD Card/Game Card) is subject to region lockout scrutiny by the Home Menu. And the home menu treats 'out-of-region' titles by simply refusing to show them on the home menu. No messages are shown on the home menu to notify the user, the title is simply ignored. However out-of-region SD Card titles, will appear and quickly disappear, while all the SD Titles are being processed. In cases where access to the home menu GUI is not needed to launch the title (like in the case of kiosk demos), the home menu states an error has occurred, and launching of the title is stopped.<br />
<br />
=== Game Card Updates ===<br />
Either intentionally a region lock mechanism or not, the function which checks the game card update partition returns an error when it is detected the update is for a region other than the 3DS's region (Most likely triggered by the absence of the correct CVer title). And errors returned from checking the update partition, will result in the home menu displaying "This Game Card cannnot be used", when the user attempts to launch the title.<br />
<br />
== Home-menu [[SpotPass]] usage ==<br />
<br />
Home-menu uses two domains with HTTPS for SpotPass. SpotPass stores this content in Home-menu's NAND shared extdata.<br />
<br />
* The system notifications are downloaded from: https://a248.e.akamai.net/f/248/103046/10m/npdl.c.app.nintendowifi.net/p01/nsa/<regionID>/<filename>/<langcode>/<filename> Where langcode is the two-character language codes from [[Config_Savegame|config]], and regionID is from the below table. <filename> is bashoX/sysmsgX where X is 0-3.<br />
* https://pls.c.shop.nintendowifi.net/pl/upload This URL is used for uploading data from the home menu NAND shared extdata, it's unknown what this is used for. This data is uploaded every 24 hours.<br />
* https://npul.c.app.nintendowifi.net/p01/recv/<regionID>/<filename> This is used for uploading unknown data from extdata. <filename> can be "phu", "tiu", "splu", or "sendmgn".<br />
<br />
{| class="wikitable"<br />
|-<br />
! Region<br />
! ID<br />
|-<br />
| JPN<br />
| gWr4JXxb2mKTG3lq<br />
|-<br />
| NA<br />
| uuI82221UKkqmtbp<br />
|-<br />
| EUR / Others<br />
| UrXSeurnxhPrq7AS<br />
|}<br />
<br />
The SpotPass content payload for notifications begin with a header, followed by an [[SMDH|icon]] and the UTF-16 text, and various metadata.<br />
<br />
== Automatic System Update Download ==<br />
See [[Automatic System Update Download]].<br />
<br />
== Home Menu Error Messages ==<br />
{| class="wikitable"<br />
|-<br />
! Dialog Text<br />
! Description<br />
|-<br />
| "An error has occured. Please save your data ... then restart the system"<br />
| This dialog is displayed when a system process(including Home Menu) crashes/terminates. This dialog is also displayed for system errors as well.<br />
|}<br />
<br />
== SD ExtData ==<br />
The SD ExtData [[Extdata#Filesystem|File System]] for Home Menu is as follows:<br />
<br />
root<br />
├── icon<br />
├── boss<br />
└── user<br />
├── SaveData.dat<br />
├── Cache.dat<br />
└── CacheD.dat<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! File<br />
! Details<br />
! Size<br />
! FW Introduced<br />
! Plaintext<br />
|-<br />
| icon<br />
| Stubbed. Always image 00000002.<br />
| 0x4 Bytes<br />
| n/a<br />
| <br />
|-<br />
| SaveData.dat<br />
| Always image 00000003.<br />
| 0x2cb0 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/SaveData.dat Download]<br />
|-<br />
| Cache.dat<br />
| Indexes and records details for the cached icon data. Always image 00000004.<br />
| 0x1688 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/Cache.dat Download]<br />
|-<br />
| CacheD.dat<br />
| Cached icon data for Home Menu. Always image 00000005.<br />
| 0x4cfe00 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/CacheD.dat Download]<br />
|}<br />
<br />
=== Cache.dat & CacheD.dat ===<br />
These two files work in tandem to allow the home menu to cache icon data for applications which are presented on the Home Menu. The size of both files suggests a maximum cache size of 360 icons. Cache.dat stores details about the cache icon data, and CacheD.dat stores the icon data. The icon cache stores icon data for *all* applications shown on the Home Menu, this includes DSi NAND Titles, and DS(i) cartridges. The format of cached DS(i) icon data is not understood, but they are the same size as 3DS icon data (0x36c0).<br />
<br />
In Cache.dat the first 8 bytes are reserved, then follows each icon slots's entry in the format:<br />
{| class="wikitable" border="1"<br />
|-<br />
! OFFSET<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x0<br />
| 8<br />
| Title ID in Little Endian<br />
|-<br />
| 0x8<br />
| 4<br />
| Unknown<br />
|-<br />
| 0xc<br />
| 4<br />
| Unknown<br />
|}<br />
<br />
All unused entries have the Title IDs filled with "0xff".<br />
<br />
In CacheD.dat, the icon data is concatenated together, with the first icon at offset 0x0.<br />
<br />
== See Also ==<br />
* http://www.nintendo.com/consumer/systems/3ds/en_na/menu_update.jsp<br />
* http://www.nintendo.co.jp/netinfo/3ds/JPN/ja.html</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Application_Manager_Services_PXI&diff=8812Application Manager Services PXI2014-03-10T02:26:40Z<p>3dsguy: /* Errors */</p>
<hr />
<div>{| class="wikitable" border="1"<br />
|-<br />
! Command Header<br />
! Available since system version<br />
! Description<br />
|-<br />
| 0x00010040<br />
| [[1.0.0-0]]<br />
| [[AMPXI:GetTitleCount|GetTitleCount]]<br />
|-<br />
| 0x00020082<br />
| [[1.0.0-0]]<br />
| [[AMPXI:GetTitleList|GetTitleList]]<br />
|-<br />
| 0x00030084<br />
| [[1.0.0-0]]<br />
| [[AMPXI:GetTitleInfo|GetTitleInfo]]<br />
|-<br />
| 0x000400C0<br />
| [[1.0.0-0]]<br />
| [[AMPXI:DeleteTitle|DeleteTitle]]<br />
|-<br />
| 0x000500C0<br />
| [[1.0.0-0]]<br />
| [[AMPXI:GetTitleProductCode|GetTitleProductCode]]<br />
|-<br />
| 0x000600C0<br />
| [[1.0.0-0]]<br />
| (unknown_u8, unknown_u64)<br />
|-<br />
| 0x00070080<br />
| [[1.0.0-0]]<br />
| (unknown_u8, unknown_u32)<br />
|-<br />
| 0x00080080<br />
| [[1.0.0-0]]<br />
| [[AMPXI:InstallFIRM|InstallFIRM]]<br />
|-<br />
| 0x00090000<br />
| [[1.0.0-0]]<br />
| InstallTikBegin<br />
|-<br />
| 0x000A0042<br />
| [[1.0.0-0]]<br />
| InstallTikWrite (size, ptr, ptrsize)<br />
|-<br />
| 0x000B0000<br />
| [[1.0.0-0]]<br />
| <br />
|-<br />
| 0x000C0000<br />
| [[1.0.0-0]]<br />
| InstallTikFinish<br />
|-<br />
| 0x000D0080<br />
| [[1.0.0-0]]<br />
| (unknown_u64)<br />
|-<br />
| 0x000E0000<br />
| [[1.0.0-0]]<br />
| GetTitleAllCount<br />
|-<br />
| 0x000F0082<br />
| [[1.0.0-0]]<br />
| GetTitleAllList<br />
|-<br />
| 0x00100100<br />
| [[1.0.0-0]]<br />
| InstallTitleBegin (?)<br />
|-<br />
| 0x00110000<br />
| [[1.0.0-0]]<br />
| InstallTitleAbort (?)<br />
|-<br />
| 0x00120100<br />
| [[1.0.0-0]]<br />
| InstallTitleResume (?)<br />
|-<br />
| 0x00130000<br />
| [[1.0.0-0]]<br />
| InstallTmdBegin (?)<br />
|-<br />
| 0x00140042<br />
| [[1.0.0-0]]<br />
| [[AMPXI:InstallTmdWrite|InstallTmdWrite]]<br />
|-<br />
| 0x00150000<br />
| [[1.0.0-0]]<br />
| <br />
|-<br />
| 0x00160040<br />
| [[1.0.0-0]]<br />
| InstallTmdFinish (?)<br />
|-<br />
| 0x00170040<br />
| [[1.0.0-0]]<br />
| [[AMPXI:InstallContentBegin|InstallContentBegin]]<br />
|-<br />
| 0x00180042<br />
| [[1.0.0-0]]<br />
| [[AMPXI:InstallContentWrite|InstallContentWrite]]<br />
|-<br />
| 0x00190000<br />
| [[1.0.0-0]]<br />
| InstallContentAbort (?)<br />
|-<br />
| 0x001A0000<br />
| [[1.0.0-0]]<br />
| <br />
|-<br />
| 0x001B0040<br />
| [[1.0.0-0]]<br />
| [[AMPXI:InstallContentResume|InstallContentResume]]<br />
|-<br />
| 0x001C0000<br />
| [[1.0.0-0]]<br />
| [[AMPXI:InstallContentFinish|InstallContentFinish]]<br />
|-<br />
| 0x001D0040<br />
| [[1.0.0-0]]<br />
| (unknown_u8, unknown_u32)<br />
|-<br />
| 0x001E00C2<br />
| [[1.0.0-0]]<br />
| (unknown_entrycount, unknown_u8, unknown_u32, ptr, ptrsize)<br />
|-<br />
| 0x001F0084<br />
| [[1.0.0-0]]<br />
| [[AMPXI:GetTitleTemporaryInfo|GetTitleTemporaryInfo]]<br />
|-<br />
| 0x002000C0<br />
| [[1.0.0-0]]<br />
| (unknown_u8, unknown_u64)<br />
|-<br />
| 0x002100C0<br />
| [[1.0.0-0]]<br />
| (unknown_u8, unknown_u64)<br />
|-<br />
| 0x00220102<br />
| [[1.0.0-0]]<br />
| (count, unknown_u8, unknown_u64, ptrsize_count_mul_2, ptr)<br />
|-<br />
| 0x00230104<br />
| [[1.0.0-0]]<br />
| (count, unknown_u8, unknown_u64, ptr1size_count_mul_2, ptr1, ptr2size_count_mul_24, ptr2)<br />
|-<br />
| 0x00240102<br />
| [[1.0.0-0]]<br />
| (count, unknown_u8, unknown_u64, ptrsize_count_mul2, ptr)<br />
|-<br />
| 0x00250000<br />
| [[1.0.0-0]] <br />
| GetContentCount (?)<br />
|-<br />
| 0x00260042<br />
| [[1.0.0-0]]<br />
| GetContentIds (?)<br />
|-<br />
| 0x00270044<br />
| [[1.0.0-0]]<br />
| GetContentInfoForIds (?)<br />
|-<br />
| 0x00280000<br />
| [[1.0.0-0]]<br />
| <br />
|-<br />
| 0x00290000<br />
| [[1.0.0-0]]<br />
| InstallTitleFinish (?)<br />
|-<br />
| 0x002A00C2<br />
| [[1.0.0-0]]<br />
| (unknown_u8, count, unknown_u8, ptrsize_count_mul_8, ptr)<br />
|-<br />
| 0x002B....<br />
| [[1.0.0-0]]<br />
| ?<br />
|-<br />
| 0x002C....<br />
| [[1.0.0-0]]<br />
| ?<br />
|-<br />
| 0x002D....<br />
| [[1.0.0-0]]<br />
| ?<br />
|-<br />
| 0x002E....<br />
| [[1.0.0-0]]<br />
| ?<br />
|-<br />
| 0x002F....<br />
| [[1.0.0-0]]<br />
| ?<br />
|-<br />
| 0x0030....<br />
| [[1.0.0-0]]<br />
| ?<br />
|-<br />
| 0x0031....<br />
| [[1.0.0-0]]<br />
| ?<br />
|-<br />
| 0x0032....<br />
| [[1.0.0-0]]<br />
| ?<br />
|-<br />
| 0x0033....<br />
| [[1.0.0-0]]<br />
| ?<br />
|-<br />
| 0x0034....<br />
| [[1.0.0-0]]<br />
| ?<br />
|-<br />
| 0x0035....<br />
| [[1.0.0-0]]<br />
| ?<br />
|-<br />
| 0x0036....<br />
| [[1.0.0-0]]<br />
| ?<br />
|-<br />
| 0x0037....<br />
| [[1.0.0-0]]<br />
| ?<br />
|-<br />
| 0x0038....<br />
| [[1.0.0-0]]<br />
| ?<br />
|-<br />
| 0x00390146<br />
| [[1.0.0-0]]<br />
| (size2, size3, unknown_u64, size1, ptr1size_size1, ptr1, ptr2size_size2, ptr2, ptr3size_size3, ptr3)<br />
|-<br />
| 0x003A0146<br />
| [[1.0.0-0]]<br />
| (unknown_u64, size1, size2, size3, ptr1size_size1, ptr1, ptr2size_size2, ptr2, ptr3size_size3, ptr3)<br />
|-<br />
| 0x003B0042<br />
| [[1.0.0-0]]<br />
| (size, ptrsize, ptr)<br />
|-<br />
| 0x003C0000<br />
| [[1.0.0-0]]<br />
| <br />
|-<br />
| 0x003D0108<br />
| [[1.0.0-0]]<br />
| (size1, size2, size3, size4, ptr1size, ptr1, ptr2size, ptr2, ptr3size, ptr3, ptr4size, ptr4)<br />
|-<br />
| 0x003E0042<br />
| [[1.0.0-0]]<br />
| (size, ptrsize, ptr)<br />
|-<br />
| 0x003F0040<br />
| [[1.0.0-0]]<br />
| (unknown_u8)<br />
|-<br />
| 0x00400040<br />
| [[1.0.0-0]]<br />
| FinishInstallToMedia (u8 mediatype)<br />
|-<br />
| 0x00410000<br />
| [[1.0.0-0]]<br />
| <br />
|-<br />
| 0x00420142<br />
| [[1.0.0-0]]<br />
| InstallCommit<br />
|-<br />
| 0x004301C8<br />
| [[2.0.0-2]]<br />
| [[AMPXI:VerifyDSiWareFooter|VerifyDSiWareFooter]]<br />
|-<br />
| 0x004400C4<br />
| [[2.0.0-2]]<br />
| ?<br />
|-<br />
| 0x00450108<br />
| [[2.0.0-2]]<br />
| (size1, size3, size2, unknown_u8, ptr1size, ptr1, ptr2size, ptr2, ptr3size, ptr3, ptr4size_size2, ptr4) (DecryptDSiWareData)<br />
|-<br />
| 0x00460182<br />
| [[2.0.0-2]]<br />
| (unknown_u64, size, unknown_u32, unknown_u8, unknown_u8, ptrsize, ptr)<br />
|-<br />
| 0x00470080<br />
| [[2.0.0-2]]<br />
| (unknown_u8, unknown_u8)<br />
|-<br />
| 0x00480040<br />
| [[2.0.0-2]]<br />
| [[AMPXI:ReloadDBS|ReloadDBS]]<br />
|-<br />
| 0x00490080<br />
| [[2.0.0-2]]<br />
| (unknown_u64)<br />
|-<br />
| 0x004A0102<br />
| [[2.0.0-2]]<br />
| (count, unknown_u64, unknown_u8, ptrsize_count_mul_8, ptr)<br />
|-<br />
| 0x004B0100<br />
| [[2.0.0-2]]<br />
| (unknown_u64, unknown_u64)<br />
|-<br />
| 0x004C0042<br />
| [[2.0.0-2]]<br />
| (count, ptrsize_count_mul_24, ptr)<br />
|-<br />
| 0x004D0144<br />
| [[2.0.0-2]]<br />
| [[AMPXI:ExportDSiWare|ExportDSiWare]]<br />
|-<br />
| 0x004E00C0<br />
| [[2.0.0-2]]<br />
| (unknown_u64, unknown_u8)<br />
|-<br />
| 0x004F00C0<br />
| [[2.0.0-2]]<br />
| [[AMPXI:GetDSiWareExportSize|GetDSiWareExportSize]]<br />
|-<br />
| 0x00500044<br />
| [[2.0.0-2]]<br />
| (count, ptr1size_count_mul_8, ptr1, ptr2size_count_mul_4, ptr2)<br />
|-<br />
| 0x00510000<br />
| [[2.0.0-2]]<br />
| <br />
|-<br />
| 0x00520040<br />
| [[2.0.0-2]]<br />
| (unknown_u8)<br />
|-<br />
| 0x00530084<br />
| [[2.0.0-2]]<br />
| [[AMPXI:ValidateDSiWareMovableSedHash|ValidateDSiWareMovableSedHash]]<br />
|-<br />
| 0x00540000<br />
| [[2.0.0-2]]<br />
| <br />
|-<br />
| 0x005500C4<br />
| [[2.0.0-2]]<br />
| [[AMPXI:ValidateDSiWareSectionMAC|ValidateDSiWareSectionMAC]]<br />
|-<br />
| 0x005600C0<br />
| [[2.0.0-2]]<br />
| (unknown_u64, unknown_u16)<br />
|-<br />
| 0x00570042<br />
| [[4.0.0-7]]<br />
| ?<br />
|-<br />
| 0x0058....<br />
| [[4.0.0-7]]<br />
| ?<br />
|-<br />
| 0x00590104<br />
| [[4.0.0-7]]<br />
| ?<br />
|-<br />
| 0x005A0142<br />
| [[4.0.0-7]]<br />
| ?<br />
|-<br />
| 0x005B....<br />
| [[4.0.0-7]]<br />
| ?<br />
|-<br />
| 0x005C0044<br />
| [[4.0.0-7]]<br />
| ?<br />
|-<br />
| 0x005D0082<br />
| [[4.0.0-7]]<br />
| ?<br />
|-<br />
| 0x005E0102<br />
| [[4.0.0-7]]<br />
| ?<br />
|-<br />
| 0x005F....<br />
| [[4.0.0-7]]<br />
| ?<br />
|-<br />
| 0x00600102<br />
| [[4.0.0-7]]<br />
| ?<br />
|-<br />
| 0x00610142<br />
| [[4.0.0-7]]<br />
| ?<br />
|-<br />
| 0x00620044<br />
| [[4.0.0-7]]<br />
| ?<br />
|-<br />
| 0x00630042<br />
| [[4.0.0-7]]<br />
| ?<br />
|-<br />
| 0x0064....<br />
| [[4.0.0-7]]<br />
| ?<br />
|-<br />
| 0x0065....<br />
| [[4.0.0-7]]<br />
| ?<br />
|-<br />
| 0x0066....<br />
| [[4.0.0-7]]<br />
| Stubbed starting with [[4.0.0-7]], this only returns zero for the command result-code.<br />
|-<br />
| 0x00670082<br />
| [[4.0.0-7]]<br />
| ?<br />
|-<br />
| 0x006801C2<br />
| [[4.0.0-7]]<br />
| ?<br />
|-<br />
| 0x0069....<br />
| [[4.0.0-7]]<br />
| ?<br />
|-<br />
| 0x006A....<br />
| [[4.0.0-7]]<br />
| ?<br />
|-<br />
| 0x006B0142<br />
| [[4.0.0-7]]<br />
| ?<br />
|-<br />
| 0x006C....<br />
| [[5.0.0-11]]<br />
| (u8 [[Mediatypes|Mediatype]], u64 programID)<br />
|}<br />
<br />
=Errors=<br />
{| class="wikitable" border="1"<br />
|-<br />
! Error-code<br />
! Description<br />
|-<br />
| 0xC8E083FC<br />
| This error indicates that the title is already installed, with the same title-version as the title being installed?<br />
|-<br />
| 0xD8E08027<br />
| Invalid title-version, or the title-version of the title being installed is older than the currently installed title-version.<br />
|-<br />
| 0xD8A08004<br />
| Invalid ticket title version.<br />
|-<br />
| 0xD8A08029<br />
| Error-type 1<br />
|-<br />
| 0xD8E08065<br />
| Error-type -1<br />
|-<br />
| 0xD8E08065+1 / 0xD8E08066<br />
| Error-type -2<br />
|-<br />
| 0xD8E08065+2 / 0xD8E08067<br />
| Error-type -3<br />
|-<br />
| 0xD8E08065+3 / 0xD8E08068<br />
| Error-type -4<br />
|-<br />
| 0xD8E08065+4 / 0xD8E08069<br />
| Error-type -5<br />
|-<br />
| 0xD8E08065+5 / 0xD8E0806A<br />
| Error-type -6. Returned when a function returns error -2011: signature check for cert(TMD/TIK/cert-chain, ...) failed.<br />
|-<br />
| 0xD8E08065+6 / 0xD8E0806B<br />
| Error-type -7<br />
|-<br />
| 0xD8E08065+7 / 0xD8E0806C<br />
| Error-type -8<br />
|-<br />
| 0xD8E08065+8 / 0xD8E0806D<br />
| Error-type -9<br />
|-<br />
| 0xD8E08065+9 / 0xD8E0806E<br />
| Error-type -10<br />
|-<br />
| 0xD8E08065+10 / 0xD8E0806F<br />
| Error-type -11<br />
|-<br />
| 0xD8E08065+11 / 0xD8E08070<br />
| Error-type -12<br />
|-<br />
| 0xD8E08065+12 / 0xD8E08071<br />
| Error-type -13<br />
|-<br />
| 0xD8E08065+13 / 0xD8E08072<br />
| Error-type -14<br />
|-<br />
| 0xD8A083FA<br />
| Invalid titleID.<br />
|-<br />
| 0xE0E0802C<br />
| AM module returns this error when the system-title bit is set for the input CTR/TWL titleID-high, for [[AM:DeleteApplicationTitle]].<br />
|}</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Ticket&diff=8804Ticket2014-03-07T03:27:57Z<p>3dsguy: </p>
<hr />
<div>[[Category:File formats]]<br />
Tickets are a format used to store an encrypted titlekey (using 128-Bit AES-CBC). With 3DS, the Ticket format was updated (now v1) from Wii/DSi format (v0).<br />
<br />
== Structure ==<br />
<br />
All of the data in the file is represented in Big Endian.<br />
<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x000||Y||Signature Data<br />
|-<br />
| Y||0x210||Ticket Data<br />
|}<br />
<br />
=== Signature Data ===<br />
The total size of this section is referred to as "Y" in the overall TMD structure. The signature is of the header of the TMD.<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x0||0x4||Signature Type<br />
|-<br />
| 0x4 ||X||Signature<br />
|-<br />
| 0x4 + X|| ||Padding Aligning the signature data to 0x40 bytes<br />
|}<br />
<br />
==== Signature Type ====<br />
{{Signature Types}}<br />
<br />
The hash for the signature is calculated over the Ticket Data.<br />
<br />
=== Ticket Data ===<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x0||0x40||Issuer<br />
|-<br />
| 0x40||0x3C||ECC PublicKey<br />
|-<br />
| 0x7C||0x1||Version (For 3DS this is always 1)<br />
|-<br />
| 0x7D||0x1||CaCrlVersion<br />
|-<br />
| 0x7E||0x1||SignerCrlVersion<br />
|-<br />
| 0x7F||0x10||Encrypted TitleKey<br />
|-<br />
| 0x8F||0x1||Reserved<br />
|-<br />
| 0x90||0x8||TicketID<br />
|-<br />
| 0x98||0x4||ConsoleID<br />
|-<br />
| 0x9C||0x8||TitleID<br />
|-<br />
| 0xA4||0x2||Reserved<br />
|-<br />
| 0xA6||0x2||Ticket title version<br />
|-<br />
| 0xA8||0x8||Reserved<br />
|-<br />
| 0xB0||0x1||License Type<br />
|-<br />
| 0xB1||0x1||Ticket common [[AES|keyY]] index, usually 0x1 for retail system titles.<br />
|-<br />
| 0xB2||0x2A||Reserved<br />
|-<br />
| 0xDC||0x4||eShop Account ID?<br />
|-<br />
| 0xE0||0x1||Reserved<br />
|-<br />
| 0xE1||0x1||Audit<br />
|-<br />
| 0xE2||0x42||Reserved<br />
|-<br />
| 0x124||0x40||Limits<br />
|-<br />
| 0x164||0xAC||Content Index<br />
|}<br />
<br />
* For v0 of the format, see [[Talk:Ticket#Ticket_Format_0|here]]<br />
<br />
* The Ticket Title Version is generally the same as the title version stored in the [[TMD|Title Metadata]]. Although it doesn't have to match the TMD version to be valid.<br />
<br />
* The titlekey is decrypted by using the [[AES]] engine with the ticket common-key keyslot where the keyY is one of 6 keyYs loaded via the keyY index stored in the ticket. AES-CBC mode is used where the IV is the big-endian titleID. Note that on a retail unit index0 is a retail keyY, while on a dev-unit index0 is the dev common-key which is a normal-key.(On retail for these keyYs, the hardware key-scrambler is used)<br />
<br />
== Certificate Chain ==<br />
Tickets retrieved from CDN/SOAP have a [[Certificates|certificate]] chain appended at the end of the file. There are two certificates in this chain:<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! CERTIFICATE<br />
! SIGNATURE TYPE<br />
! RETAIL CERT NAME<br />
! DEBUG CERT NAME<br />
! DESCRIPTION<br />
|-<br />
| Ticket<br />
| RSA-2048<br />
| XS0000000c<br />
| XS00000009<br />
| Used to verify the Ticket signature<br />
|-<br />
| CA<br />
| RSA-4096<br />
| CA00000003<br />
| CA00000004<br />
| Used to verify the Ticket Certificate<br />
|}<br />
<br />
The CA certificate is issued by 'Root', the public key for which is stored in NATIVE_FIRM.<br />
<br />
== Some facts==<br />
* '''CommonETicket''' (for short, '''cetk''') is the name given to tickets for titles which are not available on the [[EShop|eShop]], like [[Title list#CTR System Titles|system titles]]. As the name suggests, they are not unique tickets, the same ticket is common to each 3ds which has installed that title. This is in contrast to tickets for eShop content, which are generated prior to initial download, and are unique to 3ds it was generated for.<br />
<br />
* '''CETK''' can be fetched through HTTP using the link to default update server, using the title's [[TMD]] URL where "cetk" is used instead of "tmd" for the URL. The 3DS NIM module retrieves system tickets via SOAP request ''GetCommonETicket''.</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Ticket&diff=8803Ticket2014-03-06T23:23:47Z<p>3dsguy: </p>
<hr />
<div>[[Category:File formats]]<br />
Tickets are a format used to store an encrypted titlekey (using 128-Bit AES-CBC). With 3DS, the Ticket format was updated (now v1) from Wii/DSi format (v0).<br />
<br />
== Structure ==<br />
<br />
All of the data in the file is represented in Big Endian.<br />
<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x000||Y||Signature Data<br />
|-<br />
| Y||0x210||Ticket Data<br />
|}<br />
<br />
=== Signature Data ===<br />
The total size of this section is referred to as "Y" in the overall TMD structure. The signature is of the header of the TMD.<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x0||0x4||Signature Type<br />
|-<br />
| 0x4 ||X||Signature<br />
|-<br />
| 0x4 + X|| ||Padding Aligning the signature data to 0x40 bytes<br />
|}<br />
<br />
==== Signature Type ====<br />
{{Signature Types}}<br />
<br />
The hash for the signature is calculated over the Ticket Data.<br />
<br />
=== Ticket Data ===<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x0||0x40||Issuer<br />
|-<br />
| 0x40||0x3C||ECC PublicKey<br />
|-<br />
| 0x7C||0x1||Version (For 3DS this is always 1)<br />
|-<br />
| 0x7D||0x1||CaCrlVersion<br />
|-<br />
| 0x7E||0x1||SignerCrlVersion<br />
|-<br />
| 0x7F||0x10||Encrypted TitleKey<br />
|-<br />
| 0x8F||0x1||Reserved<br />
|-<br />
| 0x90||0x8||TicketID<br />
|-<br />
| 0x98||0x4||ConsoleID<br />
|-<br />
| 0x9C||0x8||TitleID<br />
|-<br />
| 0xA4||0x2||Reserved<br />
|-<br />
| 0xA6||0x2||Ticket title version<br />
|-<br />
| 0xA8||0x8||Reserved<br />
|-<br />
| 0xB0||0x1||License Type<br />
|-<br />
| 0xB1||0x1||Ticket common [[AES|keyY]] index, usually 0x1 for retail system titles.<br />
|-<br />
| 0xB2||0x2A||Reserved<br />
|-<br />
| 0xDC||0x4||eShop Account ID?<br />
|-<br />
| 0xE0||0x1||Reserved<br />
|-<br />
| 0xE1||0x1||Audit<br />
|-<br />
| 0xE2||0x42||Reserved<br />
|-<br />
| 0x124||0x40||Limits<br />
|-<br />
| 0x164||0xAC||Content Index<br />
|}<br />
<br />
* For v0 of the format, see [[Talk:Ticket#Ticket_Format_0||here]]<br />
<br />
* The Ticket Title Version is generally the same as the title version stored in the [[TMD|Title Metadata]]. Although it doesn't have to match the TMD version to be valid.<br />
<br />
* The titlekey is decrypted by using the [[AES]] engine with the ticket common-key keyslot where the keyY is one of 6 keyYs loaded via the keyY index stored in the ticket. AES-CBC mode is used where the IV is the big-endian titleID. Note that on a retail unit index0 is a retail keyY, while on a dev-unit index0 is the dev common-key which is a normal-key.(On retail for these keyYs, the hardware key-scrambler is used)<br />
<br />
== Certificate Chain ==<br />
Tickets retrieved from CDN/SOAP have a [[Certificates|certificate]] chain appended at the end of the file. There are two certificates in this chain:<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! CERTIFICATE<br />
! SIGNATURE TYPE<br />
! RETAIL CERT NAME<br />
! DEBUG CERT NAME<br />
! DESCRIPTION<br />
|-<br />
| Ticket<br />
| RSA-2048<br />
| XS0000000c<br />
| XS00000009<br />
| Used to verify the Ticket signature<br />
|-<br />
| CA<br />
| RSA-4096<br />
| CA00000003<br />
| CA00000004<br />
| Used to verify the Ticket Certificate<br />
|}<br />
<br />
The CA certificate is issued by 'Root', the public key for which is stored in NATIVE_FIRM.<br />
<br />
== Some facts==<br />
* '''CommonETicket''' (for short, '''cetk''') is the name given to tickets for titles which are not available on the [[EShop|eShop]], like [[Title list#CTR System Titles|system titles]]. As the name suggests, they are not unique tickets, the same ticket is common to each 3ds which has installed that title. This is in contrast to tickets for eShop content, which are generated prior to initial download, and are unique to 3ds it was generated for.<br />
<br />
* '''CETK''' can be fetched through HTTP using the link to default update server, using the title's [[TMD]] URL where "cetk" is used instead of "tmd" for the URL. The 3DS NIM module retrieves system tickets via SOAP request ''GetCommonETicket''.</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Talk:Ticket&diff=8802Talk:Ticket2014-03-06T23:18:16Z<p>3dsguy: Created page with "=== Ticket Format 0 === {| class="wikitable" | align="center" style="background:#f0f0f0;"|'''Offset''' | align="center" style="background:#f0f0f0;"|'''Size''' | align="center" st..."</p>
<hr />
<div>=== Ticket Format 0 ===<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x0||0x40||Issuer<br />
|-<br />
| 0x40||0x3C||ECC PublicKey<br />
|-<br />
| 0x7C||0x1||Version<br />
|-<br />
| 0x7D||0x1||CaCrlVersion<br />
|-<br />
| 0x7E||0x1||SignerCrlVersion<br />
|-<br />
| 0x7F||0x10||Encrypted TitleKey<br />
|-<br />
| 0x8F||0x1||Reserved<br />
|-<br />
| 0x90||0x8||TicketID<br />
|-<br />
| 0x98||0x4||Ticket consoleID<br />
|-<br />
| 0x9C||0x8||TitleID<br />
|-<br />
| 0xA4||0x2||Systitle Access Mask<br />
|-<br />
| 0xA6||0x2||Ticket title version<br />
|-<br />
| 0xA8||0x4||AccessTitleId - Indicates which titles can access this title<br />
|-<br />
| 0xAC||0x4||AccessTitleMask (Mask for AccessTitleId)<br />
|-<br />
| 0xB0||0x1||License Type<br />
|-<br />
| 0xB1||0x1||Ticket common key index, usually 0x1 for retail system titles.<br />
|-<br />
| 0xB2||0x2F||Reserved<br />
|-<br />
| 0xE1||0x1||Audit<br />
|-<br />
| 0xE2||0x40||Content Index<br />
|-<br />
| 0x122||0x2||Reserved<br />
|-<br />
| 0x124||0x40||Limits<br />
|}</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Ticket&diff=8801Ticket2014-03-06T23:15:55Z<p>3dsguy: </p>
<hr />
<div>[[Category:File formats]]<br />
Tickets are a format used to store an encrypted titlekey (using 128-Bit AES-CBC). With 3DS, the Ticket format was updated (now v1) from Wii/DSi format (v0).<br />
<br />
== Structure ==<br />
<br />
All of the data in the file is represented in Big Endian.<br />
<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x000||Y||Signature Data<br />
|-<br />
| Y||0x210||Ticket Data<br />
|}<br />
<br />
=== Signature Data ===<br />
The total size of this section is referred to as "Y" in the overall TMD structure. The signature is of the header of the TMD.<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x0||0x4||Signature Type<br />
|-<br />
| 0x4 ||X||Signature<br />
|-<br />
| 0x4 + X|| ||Padding Aligning the signature data to 0x40 bytes<br />
|}<br />
<br />
==== Signature Type ====<br />
{{Signature Types}}<br />
<br />
The hash for the signature is calculated over the Ticket Data.<br />
<br />
=== Ticket Data ===<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x0||0x40||Issuer<br />
|-<br />
| 0x40||0x3C||ECC PublicKey<br />
|-<br />
| 0x7C||0x1||Version (For 3DS this is always 1)<br />
|-<br />
| 0x7D||0x1||CaCrlVersion<br />
|-<br />
| 0x7E||0x1||SignerCrlVersion<br />
|-<br />
| 0x7F||0x10||Encrypted TitleKey<br />
|-<br />
| 0x8F||0x1||Reserved<br />
|-<br />
| 0x90||0x8||TicketID<br />
|-<br />
| 0x98||0x4||ConsoleID<br />
|-<br />
| 0x9C||0x8||TitleID<br />
|-<br />
| 0xA4||0x2||Reserved<br />
|-<br />
| 0xA6||0x2||Ticket title version<br />
|-<br />
| 0xA8||0x8||Reserved<br />
|-<br />
| 0xB0||0x1||License Type<br />
|-<br />
| 0xB1||0x1||Ticket common [[AES|keyY]] index, usually 0x1 for retail system titles.<br />
|-<br />
| 0xB2||0x2A||Reserved<br />
|-<br />
| 0xDC||0x4||eShop Account ID?<br />
|-<br />
| 0xE0||0x1||Reserved<br />
|-<br />
| 0xE1||0x1||Audit<br />
|-<br />
| 0xE2||0x42||Reserved<br />
|-<br />
| 0x124||0x40||Limits<br />
|-<br />
| 0x164||0xAC||Content Index<br />
|}<br />
<br />
* For v0 of the format, see [Ticket:Talk||here]]<br />
<br />
* The Ticket Title Version is generally the same as the title version stored in the [[TMD|Title Metadata]]. Although it doesn't have to match the TMD version to be valid.<br />
<br />
* The titlekey is decrypted by using the [[AES]] engine with the ticket common-key keyslot where the keyY is one of 6 keyYs loaded via the keyY index stored in the ticket. AES-CBC mode is used where the IV is the big-endian titleID. Note that on a retail unit index0 is a retail keyY, while on a dev-unit index0 is the dev common-key which is a normal-key.(On retail for these keyYs, the hardware key-scrambler is used)<br />
<br />
== Certificate Chain ==<br />
Tickets retrieved from CDN/SOAP have a [[Certificates|certificate]] chain appended at the end of the file. There are two certificates in this chain:<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! CERTIFICATE<br />
! SIGNATURE TYPE<br />
! RETAIL CERT NAME<br />
! DEBUG CERT NAME<br />
! DESCRIPTION<br />
|-<br />
| Ticket<br />
| RSA-2048<br />
| XS0000000c<br />
| XS00000009<br />
| Used to verify the Ticket signature<br />
|-<br />
| CA<br />
| RSA-4096<br />
| CA00000003<br />
| CA00000004<br />
| Used to verify the Ticket Certificate<br />
|}<br />
<br />
The CA certificate is issued by 'Root', the public key for which is stored in NATIVE_FIRM.<br />
<br />
== Some facts==<br />
* '''CommonETicket''' (for short, '''cetk''') is the name given to tickets for titles which are not available on the [[EShop|eShop]], like [[Title list#CTR System Titles|system titles]]. As the name suggests, they are not unique tickets, the same ticket is common to each 3ds which has installed that title. This is in contrast to tickets for eShop content, which are generated prior to initial download, and are unique to 3ds it was generated for.<br />
<br />
* '''CETK''' can be fetched through HTTP using the link to default update server, using the title's [[TMD]] URL where "cetk" is used instead of "tmd" for the URL. The 3DS NIM module retrieves system tickets via SOAP request ''GetCommonETicket''.</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Ticket&diff=8800Ticket2014-03-06T03:54:04Z<p>3dsguy: /* Ticket Data */</p>
<hr />
<div>[[Category:File formats]]<br />
Tickets are a format used to store an encrypted titlekey (using 128-Bit AES-CBC). This format seems to be identical to DSi/Wii tickets. <br />
<br />
== Structure ==<br />
<br />
All of the data in the file is represented in Big Endian.<br />
<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x000||Y||Signature Data<br />
|-<br />
| Y||0x210||Ticket Data<br />
|}<br />
<br />
=== Signature Data ===<br />
The total size of this section is referred to as "Y" in the overall TMD structure. The signature is of the header of the TMD.<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x0||0x4||Signature Type<br />
|-<br />
| 0x4 ||X||Signature<br />
|-<br />
| 0x4 + X|| ||Padding Aligning the signature data to 0x40 bytes<br />
|}<br />
<br />
==== Signature Type ====<br />
{{Signature Types}}<br />
<br />
The hash for the signature is calculated over the Ticket Data.<br />
<br />
=== Ticket Data ===<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x0||0x40||Issuer<br />
|-<br />
| 0x40||0x3C||ECC PublicKey<br />
|-<br />
| 0x7C||0x1||Version<br />
|-<br />
| 0x7D||0x1||CaCrlVersion<br />
|-<br />
| 0x7E||0x1||SignerCrlVersion<br />
|-<br />
| 0x7F||0x10||Encrypted TitleKey<br />
|-<br />
| 0x8F||0x1||Reserved<br />
|-<br />
| 0x90||0x8||TicketID<br />
|-<br />
| 0x98||0x4||Ticket consoleID<br />
|-<br />
| 0x9C||0x8||TitleID<br />
|-<br />
| 0xA4||0x2||Systitle Access Mask (TWL Only. Clear for CTR)<br />
|-<br />
| 0xA6||0x2||Ticket title version<br />
|-<br />
| 0xA8||0x4||AccessTitleId - Indicates which titles can access this title (TWL Only. Clear for CTR)<br />
|-<br />
| 0xAC||0x4||AccessTitleMask (Mask for AccessTitleId) (TWL Only. Clear for CTR)<br />
|-<br />
| 0xB0||0x1||License Type<br />
|-<br />
| 0xB1||0x1||Ticket common [[AES|keyY]] index, usually 0x1 for retail system titles.<br />
|-<br />
| 0xB2||0x2A||Reserved<br />
|-<br />
| 0xDC||0x4||eShop Account ID?<br />
|-<br />
| 0xE0||0x1||Reserved<br />
|-<br />
| 0xE1||0x1||Audit<br />
|-<br />
| 0xE2||0x40||Content Index (TWL Only. Clear for CTR)<br />
|-<br />
| 0x122||0x2||Reserved<br />
|-<br />
| 0x124||0x40||Limits<br />
|-<br />
| 0x164||0xAC||Content Index (CTR Only)<br />
|}<br />
<br />
* The Ticket Title Version is generally the same as the title version stored in the [[TMD|Title Metadata]]. Although it doesn't have to match the TMD version to be valid.<br />
<br />
* The titlekey is decrypted by using the [[AES]] engine with the ticket common-key keyslot where the keyY is one of 6 keyYs loaded via the keyY index stored in the ticket. AES-CBC mode is used where the IV is the big-endian titleID. Note that on a retail unit index0 is a retail keyY, while on a dev-unit index0 is the dev common-key which is a normal-key.(On retail for these keyYs, the hardware key-scrambler is used)<br />
<br />
== Certificate Chain ==<br />
Tickets retrieved from CDN/SOAP have a [[Certificates|certificate]] chain appended at the end of the file. There are two certificates in this chain:<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! CERTIFICATE<br />
! SIGNATURE TYPE<br />
! RETAIL CERT NAME<br />
! DEBUG CERT NAME<br />
! DESCRIPTION<br />
|-<br />
| Ticket<br />
| RSA-2048<br />
| XS0000000c<br />
| XS00000009<br />
| Used to verify the Ticket signature<br />
|-<br />
| CA<br />
| RSA-4096<br />
| CA00000003<br />
| CA00000004<br />
| Used to verify the Ticket Certificate<br />
|}<br />
<br />
The CA certificate is issued by 'Root', the public key for which is stored in NATIVE_FIRM.<br />
<br />
== Some facts==<br />
* '''CommonETicket''' (for short, '''cetk''') is the name given to tickets for titles which are not available on the [[EShop|eShop]], like [[Title list#CTR System Titles|system titles]]. As the name suggests, they are not unique tickets, the same ticket is common to each 3ds which has installed that title. This is in contrast to tickets for eShop content, which are generated prior to initial download, and are unique to 3ds it was generated for.<br />
<br />
* '''CETK''' can be fetched through HTTP using the link to default update server, using the title's [[TMD]] URL where "cetk" is used instead of "tmd" for the URL. The 3DS NIM module retrieves system tickets via SOAP request ''GetCommonETicket''.</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Ticket&diff=8799Ticket2014-03-06T03:52:56Z<p>3dsguy: </p>
<hr />
<div>[[Category:File formats]]<br />
Tickets are a format used to store an encrypted titlekey (using 128-Bit AES-CBC). This format seems to be identical to DSi/Wii tickets. <br />
<br />
== Structure ==<br />
<br />
All of the data in the file is represented in Big Endian.<br />
<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x000||Y||Signature Data<br />
|-<br />
| Y||0x210||Ticket Data<br />
|}<br />
<br />
=== Signature Data ===<br />
The total size of this section is referred to as "Y" in the overall TMD structure. The signature is of the header of the TMD.<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x0||0x4||Signature Type<br />
|-<br />
| 0x4 ||X||Signature<br />
|-<br />
| 0x4 + X|| ||Padding Aligning the signature data to 0x40 bytes<br />
|}<br />
<br />
==== Signature Type ====<br />
{{Signature Types}}<br />
<br />
The hash for the signature is calculated over the Ticket Data.<br />
<br />
=== Ticket Data ===<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x0||0x40||Issuer<br />
|-<br />
| 0x40||0x3C||ECC PublicKey<br />
|-<br />
| 0x7C||0x1||Format Version<br />
|-<br />
| 0x7D||0x1||CaCrlVersion<br />
|-<br />
| 0x7E||0x1||SignerCrlVersion<br />
|-<br />
| 0x7F||0x10||Encrypted TitleKey<br />
|-<br />
| 0x8F||0x1||Reserved<br />
|-<br />
| 0x90||0x8||TicketID<br />
|-<br />
| 0x98||0x4||Ticket consoleID<br />
|-<br />
| 0x9C||0x8||TitleID<br />
|-<br />
| 0xA4||0x2||Systitle Access Mask (TWL Only. Clear for CTR)<br />
|-<br />
| 0xA6||0x2||Ticket title version<br />
|-<br />
| 0xA8||0x4||AccessTitleId - Indicates which titles can access this title (TWL Only. Clear for CTR)<br />
|-<br />
| 0xAC||0x4||AccessTitleMask (Mask for AccessTitleId) (TWL Only. Clear for CTR)<br />
|-<br />
| 0xB0||0x1||License Type<br />
|-<br />
| 0xB1||0x1||Ticket common [[AES|keyY]] index, usually 0x1 for retail system titles.<br />
|-<br />
| 0xB2||0x2A||Reserved<br />
|-<br />
| 0xDC||0x4||eShop Account ID?<br />
|-<br />
| 0xE0||0x1||Reserved<br />
|-<br />
| 0xE1||0x1||Audit<br />
|-<br />
| 0xE2||0x40||Content Index (TWL Only. Clear for CTR)<br />
|-<br />
| 0x122||0x2||Reserved<br />
|-<br />
| 0x124||0x40||Limits<br />
|-<br />
| 0x164||0xAC||Content Index (CTR Only)<br />
|}<br />
<br />
* The Ticket Title Version is generally the same as the title version stored in the [[TMD|Title Metadata]]. Although it doesn't have to match the TMD version to be valid.<br />
<br />
* The titlekey is decrypted by using the [[AES]] engine with the ticket common-key keyslot where the keyY is one of 6 keyYs loaded via the keyY index stored in the ticket. AES-CBC mode is used where the IV is the big-endian titleID. Note that on a retail unit index0 is a retail keyY, while on a dev-unit index0 is the dev common-key which is a normal-key.(On retail for these keyYs, the hardware key-scrambler is used)<br />
<br />
== Certificate Chain ==<br />
Tickets retrieved from CDN/SOAP have a [[Certificates|certificate]] chain appended at the end of the file. There are two certificates in this chain:<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! CERTIFICATE<br />
! SIGNATURE TYPE<br />
! RETAIL CERT NAME<br />
! DEBUG CERT NAME<br />
! DESCRIPTION<br />
|-<br />
| Ticket<br />
| RSA-2048<br />
| XS0000000c<br />
| XS00000009<br />
| Used to verify the Ticket signature<br />
|-<br />
| CA<br />
| RSA-4096<br />
| CA00000003<br />
| CA00000004<br />
| Used to verify the Ticket Certificate<br />
|}<br />
<br />
The CA certificate is issued by 'Root', the public key for which is stored in NATIVE_FIRM.<br />
<br />
== Some facts==<br />
* '''CommonETicket''' (for short, '''cetk''') is the name given to tickets for titles which are not available on the [[EShop|eShop]], like [[Title list#CTR System Titles|system titles]]. As the name suggests, they are not unique tickets, the same ticket is common to each 3ds which has installed that title. This is in contrast to tickets for eShop content, which are generated prior to initial download, and are unique to 3ds it was generated for.<br />
<br />
* '''CETK''' can be fetched through HTTP using the link to default update server, using the title's [[TMD]] URL where "cetk" is used instead of "tmd" for the URL. The 3DS NIM module retrieves system tickets via SOAP request ''GetCommonETicket''.</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=NCCH/Extended_Header&diff=8728NCCH/Extended Header2014-02-25T23:24:17Z<p>3dsguy: /* ARM11 Local System Capabilities */</p>
<hr />
<div>== Overview ==<br />
This page documents the format of the '''NCCH Extended Header''' (''exheader'' for short).<br />
<br />
The exheader, has two sections:<br />
* The actual exheader data, containing System Control Info and Access Control Info,<br />
* And a signed copy of NCCH HDR public key, and exheader Access Control Info. (This version of the Access Control Info is used as limitation to the actual Access Control Info)<br />
<br />
== Main Structure ==<br />
All values are little endian unless otherwise specified.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x200<br />
| System Control Info<br />
|-<br />
| 0x200<br />
| 0x200<br />
| Access Control Info<br />
|-<br />
| 0x400<br />
| 0x100<br />
| AccessDesc Signature (RSA-2048-SHA256)<br />
|-<br />
| 0x500<br />
| 0x100<br />
| NCCH Hdr RSA-2048 Public Key<br />
|-<br />
| 0x600<br />
| 0x200<br />
| Access Control Info (For limitation of first Access Control Info)<br />
|}<br />
<br />
The AccessDesc Signature covers the ''NCCH Hdr Public Key'' and second ''Access Control Info''. The AccessDesc public key is initialised by the bootrom.<br />
<br />
== System Control Info ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x8<br />
| Application Title<br />
|-<br />
| 0x8<br />
| 0x5<br />
| Reserved<br />
|-<br />
| 0xD<br />
| 0x1<br />
| Flag (Bit0: CompressExefsCode, Bit1: SDApplication)<br />
|-<br />
| 0xE<br />
| 0x2<br />
| Remaster Version<br />
|-<br />
| 0x10<br />
| 0xC<br />
| Text Code Set Info<br />
|-<br />
| 0x1C<br />
| 0x4<br />
| Stack Size<br />
|-<br />
| 0x20<br />
| 0xC<br />
| ReadOnly Code Set Info<br />
|-<br />
| 0x2C<br />
| 0x4<br />
| Reserved<br />
|-<br />
| 0x30<br />
| 0xC<br />
| Data Code Set Info<br />
|-<br />
| 0x3C<br />
| 0x4<br />
| BSS Size<br />
|-<br />
| 0x40<br />
| 0x180 (48*8)<br />
| Dependency Module (Program ID) List<br />
|-<br />
| 0x1C0<br />
| 0x40<br />
| SystemInfo<br />
|}<br />
<br />
=== Code Set Info ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x4<br />
| Address<br />
|-<br />
| 0x4<br />
| 0x4<br />
| Max Number of Pages<br />
|-<br />
| 0x8<br />
| 0x4<br />
| Size<br />
|}<br />
<br />
=== System Info ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x8<br />
| SaveData Size<br />
|-<br />
| 0x8<br />
| 0x8<br />
| Jump ID<br />
|-<br />
| 0x10<br />
| 0x30<br />
| Reserved<br />
|}<br />
<br />
== Access Control Info ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x170<br />
| ARM11 Local System Capabilities<br />
|-<br />
| 0x170<br />
| 0x80<br />
| ARM11 Kernel Capabilities<br />
|-<br />
| 0x1F0<br />
| 0x10<br />
| ARM9 Access Control<br />
|}<br />
<br />
=== ARM11 Local System Capabilities ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x8<br />
| Program ID<br />
|-<br />
| 0x8<br />
| 0x4<br />
| Core Version (The Unique ID of the required FIRM)<br />
|-<br />
| 0xC<br />
| 0x2<br />
| Reserved<br />
|-<br />
| 0xE<br />
| 0x1<br />
| Flag0<br />
|-<br />
| 0xF<br />
| 0x1<br />
| Priority<br />
|-<br />
| 0x10<br />
| 0x20 (16*2)<br />
| Resource Limit Descriptors<br />
|-<br />
| 0x30<br />
| 0x20<br />
| Storage Info<br />
|-<br />
| 0x50<br />
| 0x100 (32*8)<br />
| Service Access Control<br />
|-<br />
| 0x150<br />
| 0x1F<br />
| Reserved<br />
|-<br />
| 0x16F<br />
| 0x1<br />
| Resource Limit Category. (0 = APPLICATION, 1 = SYS_APPLET, 2 = LIB_APPLET, 3 = OTHER)<br />
|}<br />
<br />
==== Flag0 ====<br />
This stores the ''System Mode'', ''Affinity Mask'' and ''Ideal Processor'' values in one byte. They are stored as follows:<br />
u8 Flag0 = (SystemMode << 4 | AffinityMask << 2 | IdealProcessor);<br />
And can be retrieved as follows:<br />
u8 SystemMode = (Flag0>>4)&0xF;<br />
u8 AffinityMask = (Flag0>>2)&0x3;<br />
u8 IdealProcessor = (Flag0>>0)&0x3;<br />
<br />
==== Storage Info ====<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x8<br />
| Extdata ID<br />
|-<br />
| 0x8<br />
| 0x8<br />
| System Save Data Ids<br />
|-<br />
| 0x10<br />
| 0x8<br />
| Storage Accessable Unique Ids<br />
|-<br />
| 0x18<br />
| 0x7<br />
| File System Access Info<br />
|-<br />
| 0x1F<br />
| 0x1<br />
| Other Attributes<br />
|}<br />
<br />
File System Access Info:<br />
{| class="wikitable" border="1"<br />
|-<br />
! Bit<br />
! Description<br />
|-<br />
| 0<br />
| Category System Application<br />
|-<br />
| 1<br />
| Category Hardware Check<br />
|-<br />
| 2<br />
| Category File System Tool<br />
|-<br />
| 3<br />
| Debug<br />
|-<br />
| 4<br />
| TWL Card Backup<br />
|-<br />
| 5<br />
| TWL Nand Data<br />
|-<br />
| 6<br />
| BOSS<br />
|-<br />
| 7<br />
| [[FS:OpenArchive|sdmc:/]]<br />
|-<br />
| 8<br />
| Core<br />
|-<br />
| 9<br />
| [[Flash Filesystem|nand:/ro/]] (Read Only)<br />
|-<br />
| 10<br />
| [[Flash Filesystem|nand:/rw/]]<br />
|-<br />
| 11<br />
| [[Flash Filesystem|nand:/ro/]] (Write Access)<br />
|-<br />
| 12<br />
| Category System Settings<br />
|-<br />
| 13<br />
| Card Board<br />
|-<br />
| 14<br />
| Export Import IVS<br />
|-<br />
| 15<br />
| [[FS:OpenArchive|sdmc:/]] (Write-only)<br />
|-<br />
| 16<br />
| Switch Cleanup (Introduced in [[3.0.0-5|3.0.0]]?) <br />
|-<br />
| 17<br />
| Save Data Move (Introduced in [[5.0.0-11|5.0.0]]) <br />
|-<br />
| 18<br />
| Shop (Introduced in [[5.0.0-11|5.0.0]]) <br />
|-<br />
| 19<br />
| Shell (Introduced in [[5.0.0-11|5.0.0]]) <br />
|-<br />
| 20<br />
| Category HomeMenu (Introduced in [[6.0.0-11|6.0.0]]) <br />
|}<br />
<br />
Other Attributes:<br />
{| class="wikitable" border="1"<br />
|-<br />
! Bit<br />
! Description<br />
|-<br />
| 0<br />
| Not use RomFS<br />
|-<br />
| 1<br />
| Use Extended Save Data Access. When this is set, the ''Extdata ID'' and ''Storage Accessable Unique Ids'' regions are used to store a total of 6 ''Accessible Save Ids''. Introduced in [[6.0.0-11|6.0.0]].<br />
|}<br />
<br />
=== ARM11 Kernel Capabilities ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x70 (28*4)<br />
| Descriptors<br />
|-<br />
| 0x70<br />
| 0x10<br />
| Reserved<br />
|}<br />
<br />
=== ARM9 Access Control ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0xF<br />
| Descriptors<br />
|-<br />
| 0xF<br />
| 0x1<br />
| ARM9 Descriptor Version<br />
|}<br />
<br />
Descriptors:<br />
{| class="wikitable" border="1"<br />
|-<br />
! Bit<br />
! Description<br />
|-<br />
| 0<br />
| Mount [[Flash Filesystem|nand:/]]<br />
|-<br />
| 1<br />
| Mount [[Flash Filesystem|nand:/ro/]] (Write Access)<br />
|-<br />
| 2<br />
| Mount [[Flash Filesystem|twln:/]]<br />
|-<br />
| 3<br />
| Mount [[Flash Filesystem|wnand:/]]<br />
|-<br />
| 4<br />
| Mount Card SPI<br />
|-<br />
| 5<br />
| Use SDIF3<br />
|-<br />
| 6<br />
| Create Seed<br />
|-<br />
| 7<br />
| Use Card SPI<br />
|-<br />
| 8<br />
| SD Application (Not checked)<br />
|-<br />
| 9<br />
| Mount [[SD Filesystem|sdmc:/]] (Write Access)<br />
|}</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=NCCH&diff=8714NCCH2014-02-25T10:32:28Z<p>3dsguy: </p>
<hr />
<div>[[Category:File formats]]<br />
The following text tries to document the structure of the NCCH container format.<br />
<br />
== Overview ==<br />
There are two known NCCH container specialisations used on the 3DS, "executable" and "non-executable", officially known as CXI and CFA respectively.<br />
<br />
== CXI == <br />
<br />
The CXI (CTR Executable Image) specialisation of the NCCH container, contains executable code, which runs on a single ARM11 core. It can communicate through SVC calls with the other ARM11 core running the 'system' program code. For reasons of clarity, the ARM11 cores will sometimes be called the 'appcore' and 'syscore' respectively.<br />
<br />
The CXI format is structured in the following order:<br />
* first a NCCH header,<br />
* followed by an extended header,<br />
* followed by an access descriptor,<br />
* followed by a plain binary region,<br />
* followed by an embedded executable filesystem ([[ExeFS]]) - (contains ARM11 code, Home menu [[SMDH|icn]]/bnr and [[Logo|logo]]),<br />
* and finally followed by a read-only filesystem ([[RomFS]]) - (Used for external file storage).<br />
<br />
The extended header contains additional information regarding access control. <br />
The plain binary region is an area specifically stored in plaintext, mostly containing SDK library strings for identification.<br />
<br />
== CFA ==<br />
<br />
The CFA (CTR File Archive) specialisation of the NCCH container, is not executable, but are used in conjunction with CXI files. For instance the DLP Child Container and the Electronic Manual. (There is a system update NCCH which follows this format, but is used by the 3DS rather than the Application NCCH, and only works when embedded in the [[CCI]] format because the nVer is kept in the header of retail [[CCI]] files instead of the application NCCH). There are CFA files which exist alone in a title, but these are just [[Title list|System Data Archive]] titles and are found only in the [[Flash Filesystem#CTR partition|NAND]].<br />
<br />
CFA files are structured in the following order:<br />
* first a NCCH header,<br />
* followed by a read-only filesystem ([[RomFS]])<br />
<br />
Non-Executable NCCH file examples(Includes Decrypted [[RomFS]]):<br />
<br />
[https://dl.dropbox.com/u/60710927/CTR/Sample/DLP%20Child.7z DLPChild Container]<br />
[https://dl.dropbox.com/u/60710927/CTR/Sample/Manual.7z Electronic Manual]<br />
<br />
== NCCH Specs ==<br />
<br />
The extended header, the [[ExeFS]] and the [[RomFS]] are encrypted using 128-bit AES CTR. <br />
<br />
By default encrypted regions are compressed with an LZ77 variant, then encrypted. The spec allows for both unencrypted and uncompressed regions to exist. Development units use a fixed system key for system titles. On retail part of the input [[AES]] engine key is unique per NCCH, the AES engine internally generates the final-normal key.<br />
<br />
As of [[7.0.0-13]] the system now supports a new encryption method for the secure-cryptotype, the CTR for this is the same as before. This is enabled when NCCH flag[3] is non-zero. When enabled, the [[RomFS]] and [[ExeFS]] files which don't have filenames "icon" or "banner"(that is, ".code") are crypted with a different keyslot. This keyslot is [[Savegames|initialized]] by the 6.0 gamecard savegame keyY init function during boot, using a different portion of the [[Savegames|final]] hash(this keyslot is separate from the one used for the 6.0 save crypto).<br />
<br />
On retail for SD applications, exheader_systeminfoflags.flag bit1 must be set.<br />
<br />
Retail CFAs use NCCH product code "CTR-P-CTAP", while retail title/gamecard CXIs use NCCH product code "CTR-P-XXXX". This product code is the NCCH [[Serials|serial code]]. The region-locking info checked by home menu is stored in the [[SMDH#BNR Region|icon]].<br />
<br />
All of the hashes stored in this NCCH header are over the cleartext data. The ExeFS/RomFS superblock starts at offset 0x0 in the ExeFS/RomFS, and the size is specified by the hash region fields. Interestingly, Nintendo's NCCH validation code seems to have the size of this region fixed to 0x200 bytes (for ExeFS at least). <br />
<br />
As of [[5.0.0-11]] the application [[ExeFS]]:/.logo can be loaded from the plaintext region between the access descriptor and the plain region, all applications built since [[5.0.0-11]] store the logo here. The size of this logo is always 0x2000-bytes. Applications built starting with [[6.0.0-11]] have this logo data set to all-zero with the logo offset/size and hash(in the NCCH header) set the same as if there was actual logo data, it's unknown how this is handled.<br />
<br />
The plain region mainly contains tags for each SDK library used when building the CXI. The version used for the "FIRMWARE" tag is the kernel/FIRM [[Configuration_Memory|version]], this version can also be stored in the exheader "kernel release version" ARM11 kernel descriptor field. As of [[2.2.0-X]] the NATIVE_FIRM kernels check the CXI exheader "kernel release version" field, if it is stored in the CXI exheader. If the kernel/FIRM version specified by this field is higher than the version of the running NATIVE_FIRM, the kernel will return error-code 0xD9001413.<br />
<br />
=== NCCH Header ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! OFFSET<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x000<br />
| 0x100<br />
| RSA-2048 signature of the NCCH header, using SHA-256.<br />
|-<br />
| 0x100<br />
| 4<br />
| Magic ID, always 'NCCH'<br />
|-<br />
| 0x104<br />
| 4<br />
| Content size, in media units (1 media unit = 0x200 bytes)<br />
|-<br />
| 0x108<br />
| 8<br />
| Partition ID<br />
|-<br />
| 0x110<br />
| 2<br />
| Maker code<br />
|-<br />
| 0x112<br />
| 2<br />
| Version<br />
|-<br />
| 0x114<br />
| 4<br />
| Reserved<br />
|-<br />
| 0x118<br />
| 8<br />
| Program ID<br />
|-<br />
| 0x120<br />
| 0x10<br />
| Reserved<br />
|-<br />
| 0x130<br />
| 0x20<br />
| Logo Region SHA-256 hash. (For applications built with SDK 5+) (Supported from firmware: [[5.0.0-11]])<br />
|-<br />
| 0x150<br />
| 0x10<br />
| Product code<br />
|-<br />
| 0x160<br />
| 0x20<br />
| Extended header SHA-256 hash (SHA256 of 2x Alignment Size, beginning at 0x0 of ExHeader)<br />
|-<br />
| 0x180<br />
| 4<br />
| Extended header size<br />
|-<br />
| 0x184<br />
| 4<br />
| Reserved<br />
|-<br />
| 0x188<br />
| 8<br />
| Flags (See Below)<br />
|-<br />
| 0x190<br />
| 4<br />
| Plain region offset, in media units<br />
|-<br />
| 0x194<br />
| 4<br />
| Plain region size, in media units<br />
|-<br />
| 0x198<br />
| 4<br />
| Logo Region offset, in media units (For applications built with SDK 5+) (Supported from firmware: [[5.0.0-11]])<br />
|-<br />
| 0x19c<br />
| 4<br />
| Logo Region size, in media units (For applications built with SDK 5+) (Supported from firmware: [[5.0.0-11]])<br />
|-<br />
| 0x1A0<br />
| 4<br />
| ExeFS offset, in media units<br />
|-<br />
| 0x1A4<br />
| 4<br />
| ExeFS size, in media units<br />
|-<br />
| 0x1A8<br />
| 4<br />
| ExeFS hash region size, in media units<br />
|-<br />
| 0x1AC<br />
| 4<br />
| Reserved<br />
|-<br />
| 0x1B0<br />
| 4<br />
| RomFS offset, in media units<br />
|-<br />
| 0x1B4<br />
| 4<br />
| RomFS size, in media units<br />
|-<br />
| 0x1B8<br />
| 4<br />
| RomFS hash region size, in media units<br />
|-<br />
| 0x1BC<br />
| 4<br />
| Reserved<br />
|-<br />
| 0x1C0<br />
| 0x20<br />
| ExeFS superblock SHA-256 hash - (SHA-256 hash, starting at 0x0 of the ExeFS over the number of media units specified in the ExeFS hash region size)<br />
|-<br />
| 0x1E0<br />
| 0x20<br />
| RomFS superblock SHA-256 hash - (SHA-256 hash, starting at 0x0 of the RomFS over the number of media units specified in the RomFS hash region size)<br />
|}<br />
<br />
=== NCCH Flags ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! INDEX<br />
! DESCRIPTION<br />
|-<br />
| 3<br />
| Starting with [[7.0.0-13]], this enables a new encryption method for certain NCCH sections when this is non-zero(see above).<br />
|-<br />
| 4<br />
| Content Platform (1 = CTR)<br />
|-<br />
| 5<br />
| Content Type Bit-masks: RomFS = 0x1, ExeFS = 0x2, SystemUpdate = 0x4, Manual = 0x8, Child = (0x4<nowiki>|</nowiki>0x8), Trial = 0x10. When 'RomFS' is set, but not 'ExeFS', NCCH is a CFA. Otherwise when 'ExeFS' is set, NCCH is a CXI.<br />
|-<br />
| 6<br />
| Content Unit Size i.e. u32 ContentUnitSize = 0x200*2^flags[6]; <br />
|-<br />
| 7<br />
| Bit-masks: FixedCryptoKey = 0x1, NoMountRomFs = 0x2, NoCrypto = 0x4<br />
|}<br />
CXIs NCCH header signature is verified using the RSA public key stored in the accessdesc,(which follows the exheader) while CFAs NCCH header is verified with a fixed RSA public key.<br />
<br />
==== NCCH header example for Lego Starwars III ====<br />
Signature: 720FF8F83F2A1E998322A026D1434165<br />
ED19642ABC1CB2722135AA202BEAD60A<br />
80BCD21C768C597B8268FEF2C64EA710<br />
4C9BA5E12CFFBD1D0C619F4EF7B42CA7<br />
DD8482CB4EB26720AD66CDA57ABCBCFB<br />
D63268A6E2896A59B3B744E39E45B88A<br />
ABB4C0980ACC6210818DCE6DAC838A10<br />
95D0F66B352474D4B3DA4B333F49912D<br />
29AF7EA58BC8C890B18C70B7D540A9FB<br />
EBE24A5312055617D3353B28C3EB1D17<br />
61021BEFF6AD22C384835B40BD44DFAD<br />
981F6350F9458B17BCB5F768C92ABC93<br />
2BCE9888855A8998F4CDE40C9543514A<br />
C57B84EB75A680E7C742632614620D1D<br />
A253284DF3DC01091EB3800C36FD62EE<br />
BA15340F1FD498FAB67C0302E9CDA397<br />
Magic: NCCH<br />
Content size: 0x1cfef400<br />
Partition id: 0004000000038c00<br />
Maker code: 3436 ("46")<br />
Version: 0002<br />
Program id: 0004000000038c00<br />
Temp flag: 00<br />
Product code: CTR-P-ALGP<br />
Extended header hash: 0C27E3C1DE7B2AE2D3114F32A4EEBF46<br />
9AFD0CF352C11D4984C2A9F1D2144C63<br />
Extended header size: 00000400<br />
Flags: 0000030100000000<br />
Plain region offset: 0x00004a00<br />
Plain region size: 0x00000200<br />
ExeFS offset: 0x00004c00<br />
ExeFS size: 0x00143800<br />
ExeFS hash region size: 0x00000200<br />
RomFS offset: 0x00148400<br />
RomFS size: 0x1ceab000<br />
RomFS hash region size: 0x00000200<br />
ExeFS Superblock Hash: 130C042615F647C4C63225EA9E67F8A2<br />
7B15246B88FBC7A927257B84977B787B<br />
RomFS Superblock Hash: A65BEE1060BB6A6821BBCEC600035B7E<br />
64FB6EACA7F0960CFB1F5A37087728F7<br />
Note: Offsets and sizes in media units have been converted to byte sizes.<br />
<br />
==== Plain region example for Lego Starwars III ====<br />
0004a00: 5b 53 44 4b 2b 4e 49 4e 54 45 4e 44 4f 3a 43 54 [SDK+NINTENDO:CT [SDK+NINTENDO:CTR_SDK-0_14_23_200_none]<br />
0004a10: 52 5f 53 44 4b 2d 30 5f 31 34 5f 32 33 5f 32 30 R_SDK-0_14_23_20<br />
0004a20: 30 5f 6e 6f 6e 65 5d 00 5b 53 44 4b 2b 4e 49 4e 0_none].[SDK+NIN [SDK+NINTENDO:Firmware-02_27]<br />
0004a30: 54 45 4e 44 4f 3a 46 69 72 6d 77 61 72 65 2d 30 TENDO:Firmware-0<br />
0004a40: 32 5f 32 37 5d 00 5b 53 44 4b 2b 4d 6f 62 69 63 2_27].[SDK+Mobic [SDK+Mobiclip:Deblocker_1_0_2]<br />
0004a50: 6c 69 70 3a 44 65 62 6c 6f 63 6b 65 72 5f 31 5f lip:Deblocker_1_<br />
0004a60: 30 5f 32 5d 00 5b 53 44 4b 2b 4d 6f 62 69 63 6c 0_2].[SDK+Mobicl [SDK+Mobiclip:ImaAdpcmDec_1_0_0]<br />
0004a70: 69 70 3a 49 6d 61 41 64 70 63 6d 44 65 63 5f 31 ip:ImaAdpcmDec_1<br />
0004a80: 5f 30 5f 30 5d 00 5b 53 44 4b 2b 4d 6f 62 69 63 _0_0].[SDK+Mobic [SDK+Mobiclip:MobiclipDec_1_0_1]<br />
0004a90: 6c 69 70 3a 4d 6f 62 69 63 6c 69 70 44 65 63 5f lip:MobiclipDec_<br />
0004aa0: 31 5f 30 5f 31 5d 00 5b 53 44 4b 2b 4d 6f 62 69 1_0_1].[SDK+Mobi [SDK+Mobiclip:MoflexDemuxer_1_0_2]<br />
0004ab0: 63 6c 69 70 3a 4d 6f 66 6c 65 78 44 65 6d 75 78 clip:MoflexDemux<br />
0004ac0: 65 72 5f 31 5f 30 5f 32 5d 00 00 00 00 00 00 00 er_1_0_2].......<br />
0004ad0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br />
0004ae0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br />
<br />
==== Example dependency list from the extended header ====<br />
00850 41 50 54 3A 55 00 00 00 24 68 69 6F 46 49 4F 00 APT:U...$hioFIO.<br />
00860 24 68 6F 73 74 69 6F 30 24 68 6F 73 74 69 6F 31 $hostio0$hostio1<br />
00870 61 63 3A 75 00 00 00 00 62 6F 73 73 3A 55 00 00 ac:u....boss:U..<br />
00880 63 61 6D 3A 75 00 00 00 63 65 63 64 3A 75 00 00 cam:u...cecd:u..<br />
00890 63 66 67 3A 75 00 00 00 64 6C 70 3A 46 4B 43 4C cfg:u...dlp:FKCL<br />
008A0 64 6C 70 3A 53 52 56 52 64 73 70 3A 3A 44 53 50 dlp:SRVRdsp::DSP<br />
008B0 66 72 64 3A 75 00 00 00 66 73 3A 55 53 45 52 00 frd:u...fs:USER.<br />
008C0 67 73 70 3A 3A 47 70 75 68 69 64 3A 55 53 45 52 gsp::Gpuhid:USER<br />
008D0 68 74 74 70 3A 43 00 00 6D 69 63 3A 75 00 00 00 http:C..mic:u...<br />
008E0 6E 64 6D 3A 75 00 00 00 6E 65 77 73 3A 75 00 00 ndm:u...<nowiki>news:u..</nowiki><br />
008F0 6E 77 6D 3A 3A 55 44 53 70 74 6D 3A 75 00 00 00 nwm::UDSptm:u...<br />
00900 70 78 69 3A 64 65 76 00 73 6F 63 3A 55 00 00 00 pxi:dev.soc:U...<br />
00910 73 73 6C 3A 43 00 00 00 79 32 72 3A 75 00 00 00 ssl:C...y2r:u...<br />
00920 69 72 3A 55 53 45 52 00 6C 64 72 3A 72 6F 00 00 ir:USER.ldr:ro..<br />
00930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br />
00940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br />
00950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br />
00960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br />
... ...<br />
009D0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF <br />
009E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br />
009F0 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 02 . .............<br />
<br />
=== Extended Header ===<br />
See also: [https://github.com/3dshax/ctr/blob/master/ctrtool/exheader.h]<br />
<br />
See [[NCCH/Extended Header|this]]<br />
<br />
== Tools ==<br />
<br />
[https://github.com/3dshax/ctr/tree/master/ctrtool ctrtool] - (CMD)(Windows/Linux) Parsing and decrypting(debug only) NCCH files<br />
<br />
[[3DSExplorer]] - (GUI)(Windows Only) Parsing NCCH files</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=NCCH/Extended_Header&diff=8709NCCH/Extended Header2014-02-24T14:06:18Z<p>3dsguy: Created page with "== Overview == This page documents the format of the '''NCCH Extended Header''' (''exheader'' for short). The exheader, has two sections: * The actual exheader data, containing ..."</p>
<hr />
<div>== Overview ==<br />
This page documents the format of the '''NCCH Extended Header''' (''exheader'' for short).<br />
<br />
The exheader, has two sections:<br />
* The actual exheader data, containing System Control Info and Access Control Info,<br />
* And a signed copy of NCCH HDR public key, and exheader Access Control Info. (This version of the Access Control Info is used as limitation to the actual Access Control Info)<br />
<br />
== Main Structure ==<br />
All values are little endian unless otherwise specified.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x200<br />
| System Control Info<br />
|-<br />
| 0x200<br />
| 0x200<br />
| Access Control Info<br />
|-<br />
| 0x400<br />
| 0x100<br />
| AccessDesc Signature (RSA-2048-SHA256)<br />
|-<br />
| 0x500<br />
| 0x100<br />
| NCCH Hdr RSA-2048 Public Key<br />
|-<br />
| 0x600<br />
| 0x200<br />
| Access Control Info (For limitation of first Access Control Info)<br />
|}<br />
<br />
The AccessDesc Signature covers the ''NCCH Hdr Public Key'' and second ''Access Control Info''. The AccessDesc public key is initialised by the bootrom.<br />
<br />
== System Control Info ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x8<br />
| Application Title<br />
|-<br />
| 0x8<br />
| 0x5<br />
| Reserved<br />
|-<br />
| 0xD<br />
| 0x1<br />
| Flag (Bit0: CompressExefsCode, Bit1: SDApplication)<br />
|-<br />
| 0xE<br />
| 0x2<br />
| Remaster Version<br />
|-<br />
| 0x10<br />
| 0xC<br />
| Text Code Set Info<br />
|-<br />
| 0x1C<br />
| 0x4<br />
| Stack Size<br />
|-<br />
| 0x20<br />
| 0xC<br />
| ReadOnly Code Set Info<br />
|-<br />
| 0x2C<br />
| 0x4<br />
| Reserved<br />
|-<br />
| 0x30<br />
| 0xC<br />
| Data Code Set Info<br />
|-<br />
| 0x3C<br />
| 0x4<br />
| BSS Size<br />
|-<br />
| 0x40<br />
| 0x180 (48*8)<br />
| Dependency Module (Program ID) List<br />
|-<br />
| 0x1C0<br />
| 0x40<br />
| SystemInfo<br />
|}<br />
<br />
=== Code Set Info ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x4<br />
| Address<br />
|-<br />
| 0x4<br />
| 0x4<br />
| Max Number of Pages<br />
|-<br />
| 0x8<br />
| 0x4<br />
| Size<br />
|}<br />
<br />
=== System Info ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x8<br />
| SaveData Size<br />
|-<br />
| 0x8<br />
| 0x8<br />
| Jump ID<br />
|-<br />
| 0x10<br />
| 0x30<br />
| Reserved<br />
|}<br />
<br />
== Access Control Info ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x170<br />
| ARM11 Local System Capabilities<br />
|-<br />
| 0x170<br />
| 0x80<br />
| ARM11 Kernel Capabilities<br />
|-<br />
| 0x1F0<br />
| 0x10<br />
| ARM9 Access Control<br />
|}<br />
<br />
=== ARM11 Local System Capabilities ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x8<br />
| Program ID<br />
|-<br />
| 0x8<br />
| 0x4<br />
| Core Version (The Unique ID of the required FIRM)<br />
|-<br />
| 0xC<br />
| 0x2<br />
| Reserved<br />
|-<br />
| 0xE<br />
| 0x1<br />
| Flag0<br />
|-<br />
| 0xF<br />
| 0x1<br />
| Priority<br />
|-<br />
| 0x10<br />
| 0x20 (16*2)<br />
| Resource Limit Descriptors<br />
|-<br />
| 0x30<br />
| 0x20<br />
| Storage Info<br />
|-<br />
| 0x50<br />
| 0x100 (32*8)<br />
| Service Access Control<br />
|-<br />
| 0x150<br />
| 0x1F<br />
| Reserved<br />
|-<br />
| 0x16F<br />
| 0x1<br />
| Resource Limit Category. (0 = APPLICATION, 1 = SYS_APPLET, 2 = LIB_APPLET, 3 = OTHER)<br />
|}<br />
<br />
==== Storage Info ====<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x8<br />
| Extdata ID<br />
|-<br />
| 0x8<br />
| 0x8<br />
| System Save Data Ids<br />
|-<br />
| 0x10<br />
| 0x8<br />
| Storage Accessable Unique Ids<br />
|-<br />
| 0x18<br />
| 0x7<br />
| File System Access Info<br />
|-<br />
| 0x1F<br />
| 0x1<br />
| Other Attributes<br />
|}<br />
<br />
File System Access Info:<br />
{| class="wikitable" border="1"<br />
|-<br />
! Bit<br />
! Description<br />
|-<br />
| 0<br />
| Category System Application<br />
|-<br />
| 1<br />
| Category Hardware Check<br />
|-<br />
| 2<br />
| Category File System Tool<br />
|-<br />
| 3<br />
| Debug<br />
|-<br />
| 4<br />
| TWL Card Backup<br />
|-<br />
| 5<br />
| TWL Nand Data<br />
|-<br />
| 6<br />
| BOSS<br />
|-<br />
| 7<br />
| [[SD Filesystem|sdmc:/]] (Read Only)<br />
|-<br />
| 8<br />
| Core<br />
|-<br />
| 9<br />
| [[Flash Filesystem|nand:/ro/]] (Read Only)<br />
|-<br />
| 10<br />
| [[Flash Filesystem|nand:/rw/]]<br />
|-<br />
| 11<br />
| [[Flash Filesystem|nand:/ro/]] (Write Access)<br />
|-<br />
| 12<br />
| Category System Settings<br />
|-<br />
| 13<br />
| Card Board<br />
|-<br />
| 14<br />
| Export Import IVS<br />
|-<br />
| 15<br />
| [[SD Filesystem|sdmc:/]] (Write Access)<br />
|-<br />
| 16<br />
| Switch Cleanup (Introduced in [[3.0.0-5|3.0.0]]?) <br />
|-<br />
| 17<br />
| Save Data Move (Introduced in [[5.0.0-11|5.0.0]]) <br />
|-<br />
| 18<br />
| Shop (Introduced in [[5.0.0-11|5.0.0]]) <br />
|-<br />
| 19<br />
| Shell (Introduced in [[5.0.0-11|5.0.0]]) <br />
|-<br />
| 20<br />
| Category HomeMenu (Introduced in [[6.0.0-11|6.0.0]]) <br />
|}<br />
<br />
Other Attributes:<br />
{| class="wikitable" border="1"<br />
|-<br />
! Bit<br />
! Description<br />
|-<br />
| 0<br />
| Not use RomFS<br />
|-<br />
| 1<br />
| Use Extended Save Data Access. When this is set, the ''Extdata ID'' and ''Storage Accessable Unique Ids'' regions are used to store a total of 6 ''Accessible Save Ids''. Introduced in [[6.0.0-11|6.0.0]].<br />
|}<br />
<br />
=== ARM11 Kernel Capabilities ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x70 (28*4)<br />
| Descriptors<br />
|-<br />
| 0x70<br />
| 0x10<br />
| Reserved<br />
|}<br />
<br />
=== ARM9 Access Control ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0xF<br />
| Descriptors<br />
|-<br />
| 0xF<br />
| 0x1<br />
| ARM9 Descriptor Version<br />
|}<br />
<br />
Descriptors:<br />
{| class="wikitable" border="1"<br />
|-<br />
! Bit<br />
! Description<br />
|-<br />
| 0<br />
| Mount [[Flash Filesystem|nand:/]]<br />
|-<br />
| 1<br />
| Mount [[Flash Filesystem|nand:/ro/]] (Write Access)<br />
|-<br />
| 2<br />
| Mount [[Flash Filesystem|twln:/]]<br />
|-<br />
| 3<br />
| Mount [[Flash Filesystem|wnand:/]]<br />
|-<br />
| 4<br />
| Mount Card SPI<br />
|-<br />
| 5<br />
| Use SDIF3<br />
|-<br />
| 6<br />
| Create Seed<br />
|-<br />
| 7<br />
| Use Card SPI<br />
|-<br />
| 8<br />
| SD Application (Not checked)<br />
|-<br />
| 9<br />
| Mount [[SD Filesystem|sdmc:/]] (Write Access)<br />
|}</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=NCSD&diff=8645NCSD2014-02-19T01:28:46Z<p>3dsguy: </p>
<hr />
<div>[[Category:File formats]]<br />
This page documents the format of NCSD.<br />
<br />
== Overview ==<br />
There are two known specialisations of the NCSD container format. The CTR Cart Image (CCI) format and the CTR System Update (CSU). CCI is the format of retail game ROM dumps. CSU is used with developer system updates and tools<br />
<br />
NCSD images start with a NCSD header, followed by up to a maximum of 8 [[NCCH]] partitions.<br />
<br />
For CCI/CSU images, the partitions are reserved as follows:<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! [[NCCH]] Index<br />
! Reserved Use<br />
|-<br />
| 0<br />
| Executable Content ([[NCCH#CXI|CXI]])<br />
|-<br />
| 1<br />
| E-Manual ([[NCCH#CFA|CFA]])<br />
|-<br />
| 2<br />
| [[Download Play]] Child container ([[NCCH#CFA|CFA]])<br />
|-<br />
| 7<br />
| [[System_Update_CFA|Update Data]] ([[NCCH#CFA|CFA]])<br />
|}<br />
<br />
The format of partitions can be determined from the partition FS flags (normally these are zero for CCI/CSU NCSD Images).<br />
<br />
== NCSD header ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x000<br />
| 0x100<br />
| RSA-2048 SHA-256 signature of the NCSD header<br />
|-<br />
| 0x100<br />
| 4<br />
| Magic Number 'NCSD'<br />
|-<br />
| 0x104<br />
| 4<br />
| Size of the NCSD image, in media units (1 media unit = 0x200 bytes)<br />
|-<br />
| 0x108<br />
| 8<br />
| Media ID<br />
|-<br />
| 0x110<br />
| 8<br />
| Partitions FS type<br />
|-<br />
| 0x118<br />
| 8<br />
| Partitions crypt type <br />
|-<br />
| 0x120<br />
| 0x40=(4+4)*8<br />
| Offset & Length partition table<br />
|-<br />
| 0x160<br />
| 0x20<br />
| Exheader SHA-256 hash<br />
|-<br />
| 0x180<br />
| 0x4<br />
| Additional header size<br />
|-<br />
| 0x184<br />
| 0x4<br />
| Sector zero offset<br />
|-<br />
| 0x188<br />
| 8<br />
| Partition Flags (See Below)<br />
|-<br />
| 0x190<br />
| 0x40=8*8<br />
| Partition ID table <br />
|-<br />
| 0x1D0<br />
| 0x30<br />
| Reserved<br />
|}<br />
<br />
=== Partition Flags ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Byte Index<br />
! Description<br />
|-<br />
| 0<br />
| Backup Write Wait Time (The time to wait to write save to backup after the card is recognized (0-255 seconds)).NATIVE_FIRM loads this flag from the gamecard NCSD header starting with [[6.0.0-11]].<br />
|-<br />
| 3<br />
| Media Card Device (1 = NOR Flash, 2 = None, 3 = BT) (SDK 3.X+)<br />
|-<br />
| 4<br />
| Media Platform Index (1 = CTR)<br />
|-<br />
| 5<br />
| Media Type Index (0 = Inner Device, 1 = Card1, 2 = Card2, 3 = Extended Device)<br />
|-<br />
| 6<br />
| Media Unit Size i.e. u32 MediaUnitSize = 0x200*2^flags[6];<br />
|-<br />
| 7<br />
| Media Card Device (1 = NOR Flash, 2 = None, 3 = BT) (Only SDK 2.X)<br />
|}<br />
<br />
=== Partition Flags (In Terms of Save Crypto Determination) ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Byte Index<br />
! Description<br />
|-<br />
| 1<br />
| Starting with [[6.0.0-11]] NATIVE_FIRM will use this flag to determine the gamecard [[Savegames|savegame]] keyY method, when flag[3] is set. 0 = [[2.0.0-2]] hashed keyY, 1 = [[Savegames|new]] keyY method implemented with [[6.0.0-11]].<br />
|-<br />
| 3<br />
| Support for this flag was implemented in NATIVE_FIRM with [[2.0.0-2]]. When this flag is set the hashed gamecard [[Savegames|savegame]] keyY method is used, this likely still uses the repeating-CTR however. With [[6.0.0-11]] the system will determine the gamecard savegame keyY method via flag[1], instead of just using the hashed keyY via this flag.<br />
|-<br />
| 7<br />
| This flag enables using the hashed gamecard [[Savegames|savegame]] keyY method, support for this flag was implemented in NATIVE_FIRM with [[2.2.0-4]]. All games with the NCSD image finalized since [[2.2.0-4]](and contains [[2.2.0-4]]+ in the system update partition) have this flag set, this flag also enables using new CTR method as well.<br />
|}<br />
<br />
== Card Info Header ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! OFFSET<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x200<br />
| 4<br />
| Writable Address In Media Units (For 'On-Chip' Savedata)<br />
|-<br />
| 0x204<br />
| 4<br />
| Card Info Bitmask<br />
|-<br />
| 0x208<br />
| 0xDF8<br />
| Reserved1<br />
|-<br />
| 0x1000<br />
| 8<br />
| Media ID (same as first NCCH partitionId)<br />
|-<br />
| 0x1008<br />
| 8<br />
| Reserved2<br />
|-<br />
| 0x1010<br />
| 0x30<br />
| Initial Data<br />
|-<br />
| 0x1040<br />
| 0xC0<br />
| Reserved<br />
|-<br />
| 0x1100<br />
| 0x100<br />
| Copy of first NCCH header (excluding RSA signature)<br />
|}<br />
<br />
== Development Card Info Header Extension ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! OFFSET<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x1200<br />
| 0x200<br />
| CardDeviceReserved1<br />
|-<br />
| 0x1400<br />
| 0x10<br />
| TitleKey<br />
|-<br />
| 0x1410<br />
| 0xF0<br />
| CardDeviceReserved2<br />
|}<br />
<br />
== Tools ==<br />
<br />
[https://github.com/3dshax/ctr/tree/master/ctrtool ctrtool] - (CMD)(Windows/Linux) Parsing NCSD files<br />
<br />
[[3DSExplorer]] - (GUI)(Windows Only) Parsing NCSD files</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=3DS_Development_Unit_Software&diff=86443DS Development Unit Software2014-02-18T16:30:54Z<p>3dsguy: </p>
<hr />
<div>The following is a description of the functions what is possible with the applications unique to 3DS Development Units.<br />
<br />
Descriptions Derived from SDK 2.3.4 except where notified otherwise. For information on 3DS Development Hardware see [http://gbatemp.net/topic/327858-3ds-development-hardware/]<br />
[[File:CTR_HMN_DEV.png|300px|thumb|right|Beautifully clear picture of the Dev Apps + Home Menu. Click to view in great quality. - Xcution]]<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
== Dev Menu == <br />
[[File:Devmenuicon.png]]<br />
<br />
[[File:Devmenscnsht.jpg|250px|thumb|right|Dev Menu Screenshots]]<br />
[[File:Old_Dev_Menu.png|200px|thumb|left|Old Dev Menu Screenshot]]<br />
This application on the top screen displays the firmware and revision of the Dev Menu, the free space available on the [[Flash Filesystem#TWL partition|TWL(DSi) NAND partition]] and [[SD Filesystem|SD card]] if present. It also provides information on the current file or device selected, as well as navigation instructions for the bottom screen.The bottom screen has three different windows, which are:<br />
<br />
*Programs- From this window, applications can be loaded from the [[Flash Filesystem|NAND]], the [[SD Filesystem|SD card]] and the slot 1 card (only a select scope of applications, see below for Dev Menu revisions and their corresponding scope of applications) . This is shown in the format of "Unique Id' '[[Serials#Product Code|Product Code]]'". Installed titles can be deleted from this menu.<br />
<br />
*Import- From this window, titles compiled in the format of a .[[CIA]] file, can be installed from the SD card. In later revisions this was renamed to ''SDMC''.<br />
<br />
*HIO- A tab available in later revisions of the Dev Menu. Used for installing CIAs stored on the host PC, this is supported by hio services, and hio daemon on the host PC.<br />
<br />
*ExtData- From this window, the 3DS's [[Extdata|ExtData]](this includes all ExtData) can be deleted<br />
<br />
(Note that retail 3ds games are not recognised by Developer 3DSs and the Dev Menu prints "Unknown Card" in the 'Programs' window and shows no details on top screen)<br />
<br />
(Also note that if a 3ds executable cannot be launched from the Dev Menu due to restrictive flags in the executable, such as restrictive memory, the product ID will be coloured red as opposed to black)<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! SDK Version<br />
! Titles Accessible<br />
|-<br />
| 0.9.2 - 0.13.2<br />
| Applications(NAND), System Applications , TWL Titles<br />
|- <br />
| 0.14.0 - 1.1.0<br />
| Dev NAND Applications, System Applications , TWL Titles<br />
|- <br />
| 1.2.0 - 2.0.0<br />
| Dev NAND Applications, DSiWare<br />
|-<br />
| 2.1.0 - 2.4.0<br />
| Applications(SD), Dev NAND Applications, DSiWare<br />
|-<br />
| 3.0.0 - 3.1.0<br />
| Applications(SD), Dev NAND Applications, Demos, DSiWare<br />
|-<br />
| 3.2.0<br />
| Applications(SD), Dev NAND Applications, Demos, DSiWare, WebBrowser<br />
|-<br />
| 3.3.0 - Recent<br />
| Applications(SD), Dev NAND Applications, Demos, DSiWare, WebBrowser, TwlNandFiler <br />
|}<br />
<br />
== Config == <br />
[[File:Configicon.png]]<br />
<br />
[[File:3DS_dev_configmenu.JPG|250px|thumb|right|Config Menu Screenshot]]<br />
This application is a configuration menu for the 3DS, which has the following options:<br />
<br />
*Reset Settings - Resets all settings to default.<br />
<br />
*Hid Setting - (human interface device) Calibrates Touch-Pad and Analog stick.<br />
<br />
*Rtc Setting - (real time clock) Sets system time.<br />
<br />
*Lcd Setting - Sets display settings as found in the home menu as well as Flicker settings.<br />
<br />
*User Info Setting - Allows username change and "NG NAME FLAG" to be set to true or false.<br />
<br />
:In later versions of Config, "User Info Setting" also has :<br />
::*CountryId - Changes 3DS between installed countries.<br />
::*RegionId - Changes between the location in the selected country.<br />
<br />
*Other Setting(branches off into other settings) - <br />
:*Sound Mode - mono/stereo/surround<br />
<br />
:*System Mode - Changes Memory Allowance.<br />
::*Prod - 64MB Memory mode ([[Home Menu]] can usually only run in this mode and ''most'' retail-looking units cannot switch out of this mode)<br />
::*Dev1 - 96MB Memory mode<br />
::*Dev2 - 80MB Memory mode<br />
::*Dev3 - 72MB Memory mode<br />
::*Dev4 - 32MB Memory mode<br />
::All CTR Debuggers/Prototype units can change memory allowance. For Developer Test Units, the ability to change Memory Allowance, appears to be dependent on an option when buying the Test Unit. (similar to having a choice to purchase IS_Nitro's Wireless/USG options when buying an IS_Nitro from Nintendo)<br />
::On some Test Units, it's possible to run the [[Home Menu]] outside of Prod. However, software with limited memory (such as the web browser) cannot be launched from the home menu if the home menu is outside of Prod.<br />
<br />
:*Exception handler - Selects whether to enable or disable the application's handling of exceptions that arise in the non-debug environment - enable/disable <br />
<br />
:*Break Stop - (enable/disable) - Selects whether to enable or disable stopping the application when a break is encountered in the non-debug environment. If the application is not made to stop, it quits on a break.<br />
<br />
:*Menu - (Home Menu/Test Menu) This function edits the [[Config_Savegame|configuration]] field containing the menu TID for dev units, allowing the user to choose between the [[Home Menu]] or the [[3DS Development Unit GUI#Test Menu|Test Menu]], as the menu loaded by the [[NS]] module.<br />
<br />
:*Language - same options found in the Language section of [[System Settings]] but also has an "invalid" option<br />
<br />
:*Dlp Force Child Import - (enable/disable) - normally the 3ds caches downloaded "Download Play (Dlp)" applications on the nand and only re-downloads, overwriting the cached copy if the version application being requested to downloaded is higher than what is currently present on the nand. Enabling this option forces the 3ds to download and overwrite the cached copy on the nand, regardless of the version of the application being downloaded. This is of course for testing purposes.<br />
<br />
:*Debug Mode - (enable/disable) - Toggles Debug environment?<br />
<br />
:In later versions of Config, "Other Setting" also has :<br />
::*FS Latency Emulation - Filesystem Latency, in milliseconds (0ms-2550ms). Selection is in increments of 10. (ie 0ms->10ms->20ms...)<br />
::*Coppacs Setting - Unknown (stuck on 'not restricted')<br />
<br />
*Test Setting - Test calibration of touch pad and joystick<br />
<br />
*Eula Setting - Allows user to change "Agree Version" namely:"ff.ff" the two symbol sets are interchangeable with combination variations from aa to 99 (default is 00.00 where the Eula is not accepted yet).<br />
<br />
*Stereo Camera Cal for Check - Camera test (?) as options to "write strange data(excess Z-rot) and "reset to factory default".<br />
<br />
*Gyro / Accel Cal for Check - Allows Gyro and Accelerometer to be calibrated.<br />
<br />
*Ctr Info Setting - Changes settings to that found on the ctrsetting.txt on an SD .<br />
<br />
== Downloadplay Client ==<br />
[[File:Dlpcliscnsht.jpg|250px|thumb|right|Downloadplay Client Screenshots]]<br />
[[File:Dlpcliicon.png]]<br />
<br />
<br />
Even though a Developer 3DS has a "Download Play" application visually identical to the retail 3DS [[Download Play|application]], the "Downloadplay Client" application can be installed as an alternative to the regular Download Play application. (Note: a Developer 3DS' and Retail 3DS' cannot receive download play 'children' from each-other.) This Developer application is a stripped down version of 'Download Play' which has the following options and limitations:<br />
<br />
*It can only download 3ds download play titles<br />
<br />
*Scraps the GUI found in the normal Download Play application(see screenshot)<br />
<br />
*Can select from a maximum of 16 Download play 'servers'<br />
<br />
This application is clearly used for easy testing of download play 'child' apps, without the hassle of constantly re-navigating the normal Download Play interface<br />
<br />
<br />
<br />
<br />
<br />
== Network Settings ==<br />
[[File:Netsetscnsht.jpg|250px|thumb|right|Network Settings Screenshots]]<br />
[[File:Netseticon.png]]<br />
<br />
This Developer application allows the users to directly modify the following from any of the three possible network setting 'slots'<br />
<br />
*Security Mode :(the wireless encryption the network is using) OPEN/WEP 40bit/WEP 104bit/128bit/WPA TKIP/WPA2 TKIP/WPA AES/WPA2 AES<br />
<br />
*SSID :(self-explanitory) maximum 32 characters<br />
<br />
*KEY :(the key for the encrytion is here in plain text) the maximum length depends on encryption type<br />
<br />
*AutoDNS :(whether the 3DS obtains the DNS automatically or not) |True-3DS obtains the DNS automatically|False-3DS uses the DNS server address provided by the user(it is possible to edit this here)|<br />
<br />
At the bottom of the setting options there are two choices:<br />
<br />
*Write Setting & Connect Test To AP - Applies the settings above and performs a connection test(note any settings made in system settings for this connection, which are not present in the above settings will be nullified, for example any proxy server settings)<br />
<br />
*Remove Setting - removes all settings for this 'slot'<br />
<br />
<br />
<br />
<br />
== SaveDataFiler ==<br />
[[File:Saveflscnsht.jpg|250px|thumb|right|SaveDataFiler Screenshots]]<br />
[[File:Saveflicon.png]]<br />
<br />
<br />
<br />
This 3DS Developer application allows save files and extdata to be exported and imported from an SD Card. The window has three tabs:<br />
<br />
*User - This is where saves for 3DS applications and saves on 3DS Game Cards(not DS Game Cards) can be exported to the SD Card. Saves cannot be deleted here.<br />
<br />
*ExtData - This is where application extdata can be deleted or exported to the SD Card for later use<br />
<br />
*SD - This is where extdata and application saves on the SD Card can be imported to the 3DS or 3DS Game Card. Also extdata and application saves can be deleted from the SD Card<br />
<br />
<br />
User save data is exported to sdmc:/filer/UserSaveData/YYYYMMDD(Hour)(Minute)(Second)<br />
<br />
<br />
It creates a folder in that path and 3 files. The 2 files exported to the above path are <uniqueID>.dat and <uniqueID>_.dat while a folder named /<uniqueID>/ in that path contains <ExHeader Name>.dat<br />
<br />
== CTR MenuSelector ==<br />
[[File:MenuSelector.png|120px|thumb|right|Menu Selector Screenshot]]<br />
[[File:Menuselectoricon.jpg]]<br />
<br />
This application when loaded can change the current 'Active Menu'(being used at the moment) by editing the menu TID [[Config_Savegame|configuration]] field, allowing the user to choose between the [[Home Menu]] or the [[3DS Development Unit GUI#Test Menu|Test Menu]], as the menu loaded by the [[NS]] module. <br />
With the release of SDK 1.1.0, this application was superseded by the introduction of the "Menu" choice in the [[3DS Development Unit Software#Config|Config Menu]] and consequently removed as a standard application.<br />
<br />
== CecLotcheckTool ==<br />
[[File:Ceclotscnsht.jpg|250px|thumb|right|CecLotcheckTool Screenshot]]<br />
[[File:Cecloticon.png]]<br />
<br />
This application is used to manage CECs (Chance Encounter Communications, AKA StreetPass hits) for any of the twelve possible applications used on the 3DS, if there are any. The application has twelve possible slots which can be filled by BOXes . The BOXes are individual applications which are permitted by the user to use CECs, such as StreetPass Mii Plaza or Nintendo 3DS Sound. And as such, the boxes in this application correspond to the applications in 'StreetPass Management', in 'System Settings' (StreetPass Management is accessible from retail 3DSs). The functions of this application:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
*<Y> BOX Options - this opens up a sub menu with the following options(when hovering over Nintendo 3DS Sounds BOX - the only one I can test the app with):<br />
<br />
*Box Info - Gives the Out-Box parameters [[File:Boxinf.jpg|250px|]]<br />
<br />
<br />
<br />
<br />
*Message Info (OUT-BOX) - Gives the Message Parameters For the current BOX [[File:Mesinf.jpg|250px|]]<br />
<br />
<br />
<br />
<br />
*Dummy Message Settings - Not quite sure what the options do here [[File:Dummesinf.jpg|250px|]]<br />
<br />
<br />
<br />
<br />
*<A> Create Dummy BOXes - Creates dummy BOXes to fill any unused slots. (does not overwrite any present slots)<br />
<br />
*<X> Delete BOXes - Deletes all of the BOXes from the slots.<br />
<br />
*<START> CEC Filter Reset - I can only guess that it erases data collected by CEC enabled apps.<br />
<br />
<br />
<br />
== BossLotCheckTool ==<br />
[[File:Bosslcscnsht.png|100px|thumb|right|BossLotCheckTool Screenshot]]<br />
[[File:Bosslcicon.png]]<br />
<br />
This application is used to manage BOSS (SpotPass) tasks/data for 3DS titles which utilise BOSS communications. 'Pokedex' is an application which utilizes BOSS comunications. This application also displays the 3DS's friend code, although this code is not to be confused with the 3DS's Friend Card code found in 'Friends List'. The user can browse by unique ID the 3DS titles(excluding system titles) registered to use BOSS. For each title you can view details about the downloaded 'NsData' which accompanies BOSS downloads, view the BOSS task lists (implies applications can perform more than one BOSS task). You can also view various details about each BOSS task, including:<br />
<br />
TaskStatus : DONE?<br />
TaskExecCount : How many times the BOSS task has been executed<br />
TaskExecInterval : Period of time (in seconds) in the task is to be executed, in intervals<br />
TaskPriority : Is a number value <br />
URL : The URL to the BOSS content<br />
AP Info : NONE?<br />
TaskResultCode : Success or not<br />
HTTP_StatusCode : Self explanatory <br />
DataSize : Size of Content (in bytes)<br />
Last_Modified : Last time the BOSS content (on server) was modified<br />
StartTime : when the BOSS task was registered<br />
OptOut : Whether the user can/has opted out of BOSS communication for this task<br />
<br />
It also possible to manually execute the BOSS task from here<br />
<br />
== Stereo Camera Calibrator ==<br />
[[File:Stecamscnsht.png|100px|thumb|right|Stereo Camera Calibrator Screenshot]]<br />
[[File:Stecamicon.png]]<br />
<br />
The Stereo Camera Calibrator (SCC), in a nutshell, allows the user to adjust the configuration of the outer cameras in relation to each other. It can be configured automatically by positioning the 3DS a set distance away from a special chart. It can also be configured manually, by setting the rotation of each camera image and the size of the right eye camera. The 3D effect can be perceived by superimposing the right eye camera image translucently with the left eye camera image or by viewing the 3D image directly by use of the parallax barrier in the 3DS Screen. <br />
<br />
<br />
<br />
== Model Viewer ==<br />
[[File:ModelViewer.png|100px|thumb|right|3DS Model Viewer Screenshot]]<br />
[[File:ModelViewericon.png]]<br />
<br />
As the name suggests this application allows the user to view models. It is supposed to be used with a CTR-Debugger, assumingly so models can be entered in the memory of the program. But the program can be used on Test Units, but the model is restricted to three coloured lines depicting the 3 dimensions (x,y,z). The model can be viewed from any angle or scale, the perspective is controlled by the circle pad and directional buttons. And of course the application utilises the 3D effect<br />
<br />
<br />
<br />
<br />
== Friend Testing Partner ==<br />
[[File:Ftestpscnsht.png|250px|thumb|right|Friend Testing Partner Screenshot]]<br />
[[File:Ftestpicon.png]]<br />
<br />
The Friend Testing Partner application is used to test/monitor the 3DS's Friend List function. It allows the user to test various functions of the 3DS's out-going Friend Card, by giving the following options:<br />
*Master Control - (RUN/STOP) (STOP is the default setting) when ‘STOP’ is selected the 3DS Friend Card uses the user’s settings/data. When ‘RUN’ is selected the 3DS Friend Card uses the dummy settings/data chosen to test from the settings bellow.<br />
<br />
*Login/Logout - (ON/OFF) (ON is the default setting) What effect this has on the Friend Card is not known<br />
<br />
*Playing Title - (ON/OFF) (ON is the default setting) When ‘ON’ is selected the currently used title is ignored and a dummy applications are cycled through as the ‘Playing Title’ approximately every ten seconds in its place. The dummy applications used are the applications found in Firmware version 1.0.0-0 of a retail 3DS including the ‘Nintendo Zone viewer’ app. When ‘OFF’ is selected the currently used title (which is the Friend Testing Partner app) is used as the ‘Playing Title’<br />
<br />
*Mode Description - (ON/OFF) (ON is the default setting) When ‘ON’ is selected the Software in Use(Playing Title) is accompanied by the Date and Time found on that user’s 3DS. The Mode Description is refreshed every ten or so seconds. When ‘OFF’ is selected the date and time on the user’s 3DS is not displayed.<br />
<br />
*Message - (ON/OFF) (ON is the default setting) When ‘ON’ is selected the message made by the user is replaced(not overwritten as it reverts back to the user’s choice when this is ‘OFF’) by the current date and time in the format “YYYYMMDD HHMMSS”, this is refreshed every ten or so seconds.<br />
<br />
*Mii - (ON/OFF) (ON is the default setting) When 'ON' the currently used Mii is replaced with one of 4 dummy Miis and cycles them through every ten seconds with a new dummy mii. This effect can only be seen from another 3DS not the host<br />
<br />
*Favorite Title (ON/OFF) (ON is the default setting) When 'ON' is selected, the user’s favorite title is replaced with a dummy, which is replaced every 10 or so seconds. <br />
Also this application allows the user to monitor the whether the 3DS is online or not and whether the 3DS’s Friend Presence is online or offline. Every time a dummy setting is refreshed it is displayed on the top screen with a time stamp.<br />
<br />
<br />
<br />
== Game Coin Setter ==<br />
[[File:Coinstscnsht.png|100px|thumb|right|Game Coin Setter Screenshot]]<br />
[[File:Coinsticon.png]] <br />
<br />
This application is used to set the Play Coin count on the 3DS. Obviously this was created so a developer can test parts of their game in which the player can exchange earned play coins for in-game content or similar. It has a very simple interface showing the current play coin count and the adjustable option, the target coin count. These are the controls with explanation of each:<br />
<br />
*LEFT/RIGHT - using the D-pad only to adjust the 'Target Count' to a number between 0-300.<br />
<br />
*A - Sets the 'Current Count' (amount of play coins the system has) to the user selected 'Target Count' (the user specified amount of play coins)<br />
<br />
*L+R+X - "Preclude today's Increment" not sure how this affects the Play Coin count.<br />
<br />
<br />
<br />
== TWL Development Tools ==<br />
<br />
These are DSi/DS mode development tools repackaged into a [[CIA]], for installing to the TWL NAND.<br />
<br />
=== NINTENDO DS - WMtest ===<br />
[[File:Wmtestscnsht.jpg|300px|thumb|right|WMtest Screenshot]]<br />
[[File:Wmtesttool.png]]<br />
<br />
This application is a TWL(DSi) application compiled for use on the 3DS. It is an wireless test tool with its uses explained below:<br />
<br />
*Scan Test - Scans Wireless channels 1-13(can be focused on one specific channel) for broadcasting stations. It can detect two types of broadcasting stations:<br />
<br />
Wifi Access Points - Giving the Mac Address, Broadcasting Channel, 'c', and the SSID<br />
<br />
DS Stations such as DS Download stations and Pokemon distributors - Giving the Mac Address, Brodcasting Channel, TGID and GGID<br />
<br />
*ScanEx Test - and has two Scan Types. Passive which lets you individually scan channels 1-13 (only one at at time) and the DS distribution channels (1,7,13 all at once). And Active which scans all 13 channels at once. when it finds a channel it prints on the bottom screen next to 'Found' 'bssDescCount='<br />
<br />
*MeasureChannel Test - not quite sure what this does but it for a given channel it gives a ratio(in percentage form), which it finds in its allocated test time ranging from 10ms to 1000ms. And for every interval of time which is specified, it tests and gives a ratio.<br />
<br />
*Noise Mode - Seeks wireless channels in which to make wireless noise (This is not made very clear on the app). You can specify the:<br />
<br />
Channel where the scanner will seek to make noise<br />
<br />
Noise Rate, ranging from 0% to 100%<br />
<br />
Frequency, ranging from 10ms to 50ms<br />
<br />
Seek Mode, ranging from 1000ms to 1500ms<br />
<br />
When the settings are chosen the top screen has two counters which display 'Noise ON count' and 'Noise OFF count' the counters are affected by the noise rate. Starting at 0% the 'Noise ON count' does not change but as the Noise rate gets closer to 100% the count moves and gets faster as Noise rate reaches 100%. For 'Noise OFF count' it is the exact opposite to the ' Noise ON count' in regards to counting.<br />
<br />
<br />
----<br />
[[Category:3DS Development Unit Related Pages]]</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=3DS_Development_Unit_Software&diff=86433DS Development Unit Software2014-02-18T15:30:44Z<p>3dsguy: /* Dev Menu */</p>
<hr />
<div>The following is a description of the functions what is possible with the applications unique to 3DS Development Units.<br />
<br />
Descriptions Derived from SDK 2.3.4 except where notified otherwise. For information on 3DS Development Hardware see [http://gbatemp.net/topic/327858-3ds-development-hardware/]<br />
[[File:CTR_HMN_DEV.png|300px|thumb|right|Beautifully clear picture of the Dev Apps + Home Menu. Click to view in great quality. - Xcution]]<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
== Dev Menu == <br />
[[File:Devmenuicon.png]]<br />
<br />
[[File:Devmenscnsht.jpg|250px|thumb|right|Dev Menu Screenshots]]<br />
[[File:Old_Dev_Menu.png|200px|thumb|left|Old Dev Menu Screenshot]]<br />
This application on the top screen displays the firmware and revision of the Dev Menu, the free space available on the [[Flash Filesystem#TWL partition|TWL(DSi) NAND partition]] and [[SD Filesystem|SD card]] if present. It also provides information on the current file or device selected, as well as navigation instructions for the bottom screen.The bottom screen has three different windows, which are:<br />
<br />
*Programs- From this window, applications can be loaded from the [[Flash Filesystem|NAND]], the [[SD Filesystem|SD card]] and the slot 1 card (only a select scope of applications, see below for Dev Menu revisions and their corresponding scope of applications) . This is shown in the format of "Unique Id' '[[Serials#Product Code|Product Code]]'". Installed titles can be deleted from this menu.<br />
<br />
*Import- From this window, titles compiled in the format of a .[[CIA]] file, can be installed from the SD card. In later revisions this was renamed to ''SDMC''.<br />
<br />
*HIO- A tab available in later revisions of the Dev Menu. Used for installing CIAs stored on the host PC, this is supported by hio services, and hio daemon on the host PC.<br />
<br />
*ExtData- From this window, the 3DS's [[Extdata|ExtData]](this includes all ExtData) can be deleted<br />
<br />
(Note that retail 3ds games are not recognised by Developer 3DSs and the Dev Menu prints "Unknown Card" in the 'Programs' window and shows no details on top screen)<br />
<br />
(Also note that if a 3ds executable cannot be launched from the Dev Menu due to restrictive flags in the executable, such as restrictive memory, the product ID will be coloured red as opposed to black)<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! SDK Version<br />
! Titles Accessible<br />
|-<br />
| 0.9.2 - 0.13.2<br />
| Applications(NAND), System Applications , TWL Titles<br />
|- <br />
| 0.14.0 - 1.1.0<br />
| Dev NAND Applications, System Applications , TWL Titles<br />
|- <br />
| 1.2.0 or 2.0.0<br />
| Dev NAND Applications, DSiWare<br />
|-<br />
| 2.1.0 - 2.4.0<br />
| Applications(SD), Dev NAND Applications, DSiWare<br />
|-<br />
| 3.0.0 - 3.1.0<br />
| Applications(SD), Dev NAND Applications, Demos, DSiWare<br />
|-<br />
| 3.2.0<br />
| Applications(SD), Dev NAND Applications, Demos, DSiWare, WebBrowser<br />
|-<br />
| 3.3.0 - Recent<br />
| Applications(SD), Dev NAND Applications, Demos, DSiWare, WebBrowser, TwlNandFiler <br />
|}<br />
<br />
== Config == <br />
[[File:Configicon.png]]<br />
<br />
[[File:3DS_dev_configmenu.JPG|250px|thumb|right|Config Menu Screenshot]]<br />
This application is a configuration menu for the 3DS, which has the following options:<br />
<br />
*Reset Settings - Resets all settings to default.<br />
<br />
*Hid Setting - (human interface device) Calibrates Touch-Pad and Analog stick.<br />
<br />
*Rtc Setting - (real time clock) Sets system time.<br />
<br />
*Lcd Setting - Sets display settings as found in the home menu as well as Flicker settings.<br />
<br />
*User Info Setting - Allows username change and "NG NAME FLAG" to be set to true or false.<br />
<br />
:In later versions of Config, "User Info Setting" also has :<br />
::*CountryId - Changes 3DS between installed countries.<br />
::*RegionId - Changes between the location in the selected country.<br />
<br />
*Other Setting(branches off into other settings) - <br />
:*Sound Mode - mono/stereo/surround<br />
<br />
:*System Mode - Changes Memory Allowance.<br />
::*Prod - 64MB Memory mode ([[Home Menu]] can usually only run in this mode and ''most'' retail-looking units cannot switch out of this mode)<br />
::*Dev1 - 96MB Memory mode<br />
::*Dev2 - 80MB Memory mode<br />
::*Dev3 - 72MB Memory mode<br />
::*Dev4 - 32MB Memory mode<br />
::All CTR Debuggers/Prototype units can change memory allowance. For Developer Test Units, the ability to change Memory Allowance, appears to be dependent on an option when buying the Test Unit. (similar to having a choice to purchase IS_Nitro's Wireless/USG options when buying an IS_Nitro from Nintendo)<br />
::On some Test Units, it's possible to run the [[Home Menu]] outside of Prod. However, software with limited memory (such as the web browser) cannot be launched from the home menu if the home menu is outside of Prod.<br />
<br />
:*Exception handler - Selects whether to enable or disable the application's handling of exceptions that arise in the non-debug environment - enable/disable <br />
<br />
:*Break Stop - (enable/disable) - Selects whether to enable or disable stopping the application when a break is encountered in the non-debug environment. If the application is not made to stop, it quits on a break.<br />
<br />
:*Menu - (Home Menu/Test Menu) This function edits the [[Config_Savegame|configuration]] field containing the menu TID for dev units, allowing the user to choose between the [[Home Menu]] or the [[3DS Development Unit GUI#Test Menu|Test Menu]], as the menu loaded by the [[NS]] module.<br />
<br />
:*Language - same options found in the Language section of [[System Settings]] but also has an "invalid" option<br />
<br />
:*Dlp Force Child Import - (enable/disable) - normally the 3ds caches downloaded "Download Play (Dlp)" applications on the nand and only re-downloads, overwriting the cached copy if the version application being requested to downloaded is higher than what is currently present on the nand. Enabling this option forces the 3ds to download and overwrite the cached copy on the nand, regardless of the version of the application being downloaded. This is of course for testing purposes.<br />
<br />
:*Debug Mode - (enable/disable) - Toggles Debug environment?<br />
<br />
:In later versions of Config, "Other Setting" also has :<br />
::*FS Latency Emulation - Filesystem Latency, in milliseconds (0ms-2550ms). Selection is in increments of 10. (ie 0ms->10ms->20ms...)<br />
::*Coppacs Setting - Unknown (stuck on 'not restricted')<br />
<br />
*Test Setting - Test calibration of touch pad and joystick<br />
<br />
*Eula Setting - Allows user to change "Agree Version" namely:"ff.ff" the two symbol sets are interchangeable with combination variations from aa to 99 (default is 00.00 where the Eula is not accepted yet).<br />
<br />
*Stereo Camera Cal for Check - Camera test (?) as options to "write strange data(excess Z-rot) and "reset to factory default".<br />
<br />
*Gyro / Accel Cal for Check - Allows Gyro and Accelerometer to be calibrated.<br />
<br />
*Ctr Info Setting - Changes settings to that found on the ctrsetting.txt on an SD .<br />
<br />
== Downloadplay Client ==<br />
[[File:Dlpcliscnsht.jpg|250px|thumb|right|Downloadplay Client Screenshots]]<br />
[[File:Dlpcliicon.png]]<br />
<br />
<br />
Even though a Developer 3DS has a "Download Play" application visually identical to the retail 3DS [[Download Play|application]], the "Downloadplay Client" application can be installed as an alternative to the regular Download Play application. (Note: a Developer 3DS' and Retail 3DS' cannot receive download play 'children' from each-other.) This Developer application is a stripped down version of 'Download Play' which has the following options and limitations:<br />
<br />
*It can only download 3ds download play titles<br />
<br />
*Scraps the GUI found in the normal Download Play application(see screenshot)<br />
<br />
*Can select from a maximum of 16 Download play 'servers'<br />
<br />
This application is clearly used for easy testing of download play 'child' apps, without the hassle of constantly re-navigating the normal Download Play interface<br />
<br />
<br />
<br />
<br />
<br />
== Network Settings ==<br />
[[File:Netsetscnsht.jpg|250px|thumb|right|Network Settings Screenshots]]<br />
[[File:Netseticon.png]]<br />
<br />
This Developer application allows the users to directly modify the following from any of the three possible network setting 'slots'<br />
<br />
*Security Mode :(the wireless encryption the network is using) OPEN/WEP 40bit/WEP 104bit/128bit/WPA TKIP/WPA2 TKIP/WPA AES/WPA2 AES<br />
<br />
*SSID :(self-explanitory) maximum 32 characters<br />
<br />
*KEY :(the key for the encrytion is here in plain text) the maximum length depends on encryption type<br />
<br />
*AutoDNS :(whether the 3DS obtains the DNS automatically or not) |True-3DS obtains the DNS automatically|False-3DS uses the DNS server address provided by the user(it is possible to edit this here)|<br />
<br />
At the bottom of the setting options there are two choices:<br />
<br />
*Write Setting & Connect Test To AP - Applies the settings above and performs a connection test(note any settings made in system settings for this connection, which are not present in the above settings will be nullified, for example any proxy server settings)<br />
<br />
*Remove Setting - removes all settings for this 'slot'<br />
<br />
<br />
<br />
<br />
== SaveDataFiler ==<br />
[[File:Saveflscnsht.jpg|250px|thumb|right|SaveDataFiler Screenshots]]<br />
[[File:Saveflicon.png]]<br />
<br />
<br />
<br />
This 3DS Developer application allows save files and extdata to be exported and imported from an SD Card. The window has three tabs:<br />
<br />
*User - This is where saves for 3DS applications and saves on 3DS Game Cards(not DS Game Cards) can be exported to the SD Card. Saves cannot be deleted here.<br />
<br />
*ExtData - This is where application extdata can be deleted or exported to the SD Card for later use<br />
<br />
*SD - This is where extdata and application saves on the SD Card can be imported to the 3DS or 3DS Game Card. Also extdata and application saves can be deleted from the SD Card<br />
<br />
<br />
User save data is exported to sdmc:/filer/UserSaveData/YYYYMMDD(Hour)(Minute)(Second)<br />
<br />
<br />
It creates a folder in that path and 3 files. The 2 files exported to the above path are <uniqueID>.dat and <uniqueID>_.dat while a folder named /<uniqueID>/ in that path contains <ExHeader Name>.dat<br />
<br />
== CTR MenuSelector ==<br />
[[File:MenuSelector.png|120px|thumb|right|Menu Selector Screenshot]]<br />
[[File:Menuselectoricon.jpg]]<br />
<br />
This application when loaded can change the current 'Active Menu'(being used at the moment) by editing the menu TID [[Config_Savegame|configuration]] field, allowing the user to choose between the [[Home Menu]] or the [[3DS Development Unit GUI#Test Menu|Test Menu]], as the menu loaded by the [[NS]] module. <br />
With the release of SDK 1.1.0, this application was superseded by the introduction of the "Menu" choice in the [[3DS Development Unit Software#Config|Config Menu]] and consequently removed as a standard application.<br />
<br />
== CecLotcheckTool ==<br />
[[File:Ceclotscnsht.jpg|250px|thumb|right|CecLotcheckTool Screenshot]]<br />
[[File:Cecloticon.png]]<br />
<br />
This application is used to manage CECs (Chance Encounter Communications, AKA StreetPass hits) for any of the twelve possible applications used on the 3DS, if there are any. The application has twelve possible slots which can be filled by BOXes . The BOXes are individual applications which are permitted by the user to use CECs, such as StreetPass Mii Plaza or Nintendo 3DS Sound. And as such, the boxes in this application correspond to the applications in 'StreetPass Management', in 'System Settings' (StreetPass Management is accessible from retail 3DSs). The functions of this application:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
*<Y> BOX Options - this opens up a sub menu with the following options(when hovering over Nintendo 3DS Sounds BOX - the only one I can test the app with):<br />
<br />
*Box Info - Gives the Out-Box parameters [[File:Boxinf.jpg|250px|]]<br />
<br />
<br />
<br />
<br />
*Message Info (OUT-BOX) - Gives the Message Parameters For the current BOX [[File:Mesinf.jpg|250px|]]<br />
<br />
<br />
<br />
<br />
*Dummy Message Settings - Not quite sure what the options do here [[File:Dummesinf.jpg|250px|]]<br />
<br />
<br />
<br />
<br />
*<A> Create Dummy BOXes - Creates dummy BOXes to fill any unused slots. (does not overwrite any present slots)<br />
<br />
*<X> Delete BOXes - Deletes all of the BOXes from the slots.<br />
<br />
*<START> CEC Filter Reset - I can only guess that it erases data collected by CEC enabled apps.<br />
<br />
<br />
<br />
== BossLotCheckTool ==<br />
[[File:Bosslcscnsht.png|100px|thumb|right|BossLotCheckTool Screenshot]]<br />
[[File:Bosslcicon.png]]<br />
<br />
This application is used to manage BOSS (SpotPass) tasks/data for 3DS titles which utilise BOSS communications. 'Pokedex' is an application which utilizes BOSS comunications. This application also displays the 3DS's friend code, although this code is not to be confused with the 3DS's Friend Card code found in 'Friends List'. The user can browse by unique ID the 3DS titles(excluding system titles) registered to use BOSS. For each title you can view details about the downloaded 'NsData' which accompanies BOSS downloads, view the BOSS task lists (implies applications can perform more than one BOSS task). You can also view various details about each BOSS task, including:<br />
<br />
TaskStatus : DONE?<br />
TaskExecCount : How many times the BOSS task has been executed<br />
TaskExecInterval : Period of time (in seconds) in the task is to be executed, in intervals<br />
TaskPriority : Is a number value <br />
URL : The URL to the BOSS content<br />
AP Info : NONE?<br />
TaskResultCode : Success or not<br />
HTTP_StatusCode : Self explanatory <br />
DataSize : Size of Content (in bytes)<br />
Last_Modified : Last time the BOSS content (on server) was modified<br />
StartTime : when the BOSS task was registered<br />
OptOut : Whether the user can/has opted out of BOSS communication for this task<br />
<br />
It also possible to manually execute the BOSS task from here<br />
<br />
== Stereo Camera Calibrator ==<br />
[[File:Stecamscnsht.png|100px|thumb|right|Stereo Camera Calibrator Screenshot]]<br />
[[File:Stecamicon.png]]<br />
<br />
The Stereo Camera Calibrator (SCC), in a nutshell, allows the user to adjust the configuration of the outer cameras in relation to each other. It can be configured automatically by positioning the 3DS a set distance away from a special chart. It can also be configured manually, by setting the rotation of each camera image and the size of the right eye camera. The 3D effect can be perceived by superimposing the right eye camera image translucently with the left eye camera image or by viewing the 3D image directly by use of the parallax barrier in the 3DS Screen. <br />
<br />
<br />
<br />
== Model Viewer ==<br />
[[File:ModelViewer.png|100px|thumb|right|3DS Model Viewer Screenshot]]<br />
[[File:ModelViewericon.png]]<br />
<br />
As the name suggests this application allows the user to view models. It is supposed to be used with a CTR-Debugger, assumingly so models can be entered in the memory of the program. But the program can be used on Test Units, but the model is restricted to three coloured lines depicting the 3 dimensions (x,y,z). The model can be viewed from any angle or scale, the perspective is controlled by the circle pad and directional buttons. And of course the application utilises the 3D effect<br />
<br />
<br />
<br />
<br />
== Friend Testing Partner ==<br />
[[File:Ftestpscnsht.png|250px|thumb|right|Friend Testing Partner Screenshot]]<br />
[[File:Ftestpicon.png]]<br />
<br />
The Friend Testing Partner application is used to test/monitor the 3DS's Friend List function. It allows the user to test various functions of the 3DS's out-going Friend Card, by giving the following options:<br />
*Master Control - (RUN/STOP) (STOP is the default setting) when ‘STOP’ is selected the 3DS Friend Card uses the user’s settings/data. When ‘RUN’ is selected the 3DS Friend Card uses the dummy settings/data chosen to test from the settings bellow.<br />
<br />
*Login/Logout - (ON/OFF) (ON is the default setting) What effect this has on the Friend Card is not known<br />
<br />
*Playing Title - (ON/OFF) (ON is the default setting) When ‘ON’ is selected the currently used title is ignored and a dummy applications are cycled through as the ‘Playing Title’ approximately every ten seconds in its place. The dummy applications used are the applications found in Firmware version 1.0.0-0 of a retail 3DS including the ‘Nintendo Zone viewer’ app. When ‘OFF’ is selected the currently used title (which is the Friend Testing Partner app) is used as the ‘Playing Title’<br />
<br />
*Mode Description - (ON/OFF) (ON is the default setting) When ‘ON’ is selected the Software in Use(Playing Title) is accompanied by the Date and Time found on that user’s 3DS. The Mode Description is refreshed every ten or so seconds. When ‘OFF’ is selected the date and time on the user’s 3DS is not displayed.<br />
<br />
*Message - (ON/OFF) (ON is the default setting) When ‘ON’ is selected the message made by the user is replaced(not overwritten as it reverts back to the user’s choice when this is ‘OFF’) by the current date and time in the format “YYYYMMDD HHMMSS”, this is refreshed every ten or so seconds.<br />
<br />
*Mii - (ON/OFF) (ON is the default setting) When 'ON' the currently used Mii is replaced with one of 4 dummy Miis and cycles them through every ten seconds with a new dummy mii. This effect can only be seen from another 3DS not the host<br />
<br />
*Favorite Title (ON/OFF) (ON is the default setting) When 'ON' is selected, the user’s favorite title is replaced with a dummy, which is replaced every 10 or so seconds. <br />
Also this application allows the user to monitor the whether the 3DS is online or not and whether the 3DS’s Friend Presence is online or offline. Every time a dummy setting is refreshed it is displayed on the top screen with a time stamp.<br />
<br />
<br />
<br />
== Game Coin Setter ==<br />
[[File:Coinstscnsht.png|100px|thumb|right|Game Coin Setter Screenshot]]<br />
[[File:Coinsticon.png]] <br />
<br />
This application is used to set the Play Coin count on the 3DS. Obviously this was created so a developer can test parts of their game in which the player can exchange earned play coins for in-game content or similar. It has a very simple interface showing the current play coin count and the adjustable option, the target coin count. These are the controls with explanation of each:<br />
<br />
*LEFT/RIGHT - using the D-pad only to adjust the 'Target Count' to a number between 0-300.<br />
<br />
*A - Sets the 'Current Count' (amount of play coins the system has) to the user selected 'Target Count' (the user specified amount of play coins)<br />
<br />
*L+R+X - "Preclude today's Increment" not sure how this affects the Play Coin count.<br />
<br />
<br />
<br />
== TWL Development Tools ==<br />
<br />
These are DSi/DS mode development tools repackaged into a [[CIA]], for installing to the TWL NAND.<br />
<br />
=== NINTENDO DS - WMtest ===<br />
[[File:Wmtestscnsht.jpg|300px|thumb|right|WMtest Screenshot]]<br />
[[File:Wmtesttool.png]]<br />
<br />
This application is a TWL(DSi) application compiled for use on the 3DS. It is an wireless test tool with its uses explained below:<br />
<br />
*Scan Test - Scans Wireless channels 1-13(can be focused on one specific channel) for broadcasting stations. It can detect two types of broadcasting stations:<br />
<br />
Wifi Access Points - Giving the Mac Address, Broadcasting Channel, 'c', and the SSID<br />
<br />
DS Stations such as DS Download stations and Pokemon distributors - Giving the Mac Address, Brodcasting Channel, TGID and GGID<br />
<br />
*ScanEx Test - and has two Scan Types. Passive which lets you individually scan channels 1-13 (only one at at time) and the DS distribution channels (1,7,13 all at once). And Active which scans all 13 channels at once. when it finds a channel it prints on the bottom screen next to 'Found' 'bssDescCount='<br />
<br />
*MeasureChannel Test - not quite sure what this does but it for a given channel it gives a ratio(in percentage form), which it finds in its allocated test time ranging from 10ms to 1000ms. And for every interval of time which is specified, it tests and gives a ratio.<br />
<br />
*Noise Mode - Seeks wireless channels in which to make wireless noise (This is not made very clear on the app). You can specify the:<br />
<br />
Channel where the scanner will seek to make noise<br />
<br />
Noise Rate, ranging from 0% to 100%<br />
<br />
Frequency, ranging from 10ms to 50ms<br />
<br />
Seek Mode, ranging from 1000ms to 1500ms<br />
<br />
When the settings are chosen the top screen has two counters which display 'Noise ON count' and 'Noise OFF count' the counters are affected by the noise rate. Starting at 0% the 'Noise ON count' does not change but as the Noise rate gets closer to 100% the count moves and gets faster as Noise rate reaches 100%. For 'Noise OFF count' it is the exact opposite to the ' Noise ON count' in regards to counting.<br />
<br />
<br />
----<br />
[[Category:3DS Development Unit Related Pages]]</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=3DS_Development_Unit_Software&diff=86423DS Development Unit Software2014-02-18T13:50:06Z<p>3dsguy: /* CTR MenuSelector */</p>
<hr />
<div>The following is a description of the functions what is possible with the applications unique to 3DS Development Units.<br />
<br />
Descriptions Derived from SDK 2.3.4 except where notified otherwise. For information on 3DS Development Hardware see [http://gbatemp.net/topic/327858-3ds-development-hardware/]<br />
[[File:CTR_HMN_DEV.png|300px|thumb|right|Beautifully clear picture of the Dev Apps + Home Menu. Click to view in great quality. - Xcution]]<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
== Dev Menu == <br />
[[File:Devmenuicon.png]]<br />
<br />
[[File:Devmenscnsht.jpg|250px|thumb|right|Dev Menu Screenshots]]<br />
[[File:Old_Dev_Menu.png|200px|thumb|left|Old Dev Menu Screenshot]]<br />
This application on the top screen displays the firmware and revision of the Dev Menu, the free space available on the [[Flash Filesystem#TWL partition|TWL(DSi) NAND partition]] and [[SD Filesystem|SD card]] if present. It also provides information on the current file or device selected, as well as navigation instructions for the bottom screen.The bottom screen has three different windows, which are:<br />
<br />
*Programs- From this window, applications can be loaded from the [[Flash Filesystem|NAND]], the [[SD Filesystem|SD card]] and the slot 1 card (only a select scope of applications, see below for Dev Menu revisions and their corresponding scope of applications) . This is shown in the format of "Unique Id' '[[Serials#Product Code|Product Code]]'". Installed titles can be deleted from this menu.<br />
<br />
*Import- From this window, titles compiled in the format of a .[[CIA]] file, can be installed from the SD card. In later revisions this was renamed to ''SDMC''.<br />
<br />
*HIO- A tab available in later revisions of the Dev Menu. Prints 'Not found DEVMENU_ROOT'. This 'DEVMENU_ROOT' is not supposed to be on the 3DS' SDMC. (presumably a folder has to be on the NAND or loaded from a CTR Debugger's SDMC slot?)<br />
<br />
*ExtData- From this window, the 3DS's [[Extdata|ExtData]](this includes all ExtData) can be deleted<br />
<br />
(Note that retail 3ds games are not recognised by Developer 3DSs and the Dev Menu prints "Unknown Card" in the 'Programs' window and shows no details on top screen)<br />
<br />
(Also note that if a 3ds executable cannot be launched from the Dev Menu due to restrictive flags in the executable, such as restrictive memory, the product ID will be coloured red as opposed to black)<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Dev Menu Revision<br />
! Title Types Accessible<br />
|-<br />
| ?- 32640 - 33437<br />
| 0000(NAND Only),0010,8004,8005,8011<br />
|- <br />
| 35887<br />
| 0000(NAND Only),8004<br />
|-<br />
| 37785 - 40909 -?<br />
| 0000(NAND and SDMC),8004<br />
|-<br />
| ?- 47586 -?<br />
| 0000(NAND and SDMC),0002, 8004<br />
|}<br />
<br />
== Config == <br />
[[File:Configicon.png]]<br />
<br />
[[File:3DS_dev_configmenu.JPG|250px|thumb|right|Config Menu Screenshot]]<br />
This application is a configuration menu for the 3DS, which has the following options:<br />
<br />
*Reset Settings - Resets all settings to default.<br />
<br />
*Hid Setting - (human interface device) Calibrates Touch-Pad and Analog stick.<br />
<br />
*Rtc Setting - (real time clock) Sets system time.<br />
<br />
*Lcd Setting - Sets display settings as found in the home menu as well as Flicker settings.<br />
<br />
*User Info Setting - Allows username change and "NG NAME FLAG" to be set to true or false.<br />
<br />
:In later versions of Config, "User Info Setting" also has :<br />
::*CountryId - Changes 3DS between installed countries.<br />
::*RegionId - Changes between the location in the selected country.<br />
<br />
*Other Setting(branches off into other settings) - <br />
:*Sound Mode - mono/stereo/surround<br />
<br />
:*System Mode - Changes Memory Allowance.<br />
::*Prod - 64MB Memory mode ([[Home Menu]] can usually only run in this mode and ''most'' retail-looking units cannot switch out of this mode)<br />
::*Dev1 - 96MB Memory mode<br />
::*Dev2 - 80MB Memory mode<br />
::*Dev3 - 72MB Memory mode<br />
::*Dev4 - 32MB Memory mode<br />
::All CTR Debuggers/Prototype units can change memory allowance. For Developer Test Units, the ability to change Memory Allowance, appears to be dependent on an option when buying the Test Unit. (similar to having a choice to purchase IS_Nitro's Wireless/USG options when buying an IS_Nitro from Nintendo)<br />
::On some Test Units, it's possible to run the [[Home Menu]] outside of Prod. However, software with limited memory (such as the web browser) cannot be launched from the home menu if the home menu is outside of Prod.<br />
<br />
:*Exception handler - Selects whether to enable or disable the application's handling of exceptions that arise in the non-debug environment - enable/disable <br />
<br />
:*Break Stop - (enable/disable) - Selects whether to enable or disable stopping the application when a break is encountered in the non-debug environment. If the application is not made to stop, it quits on a break.<br />
<br />
:*Menu - (Home Menu/Test Menu) This function edits the [[Config_Savegame|configuration]] field containing the menu TID for dev units, allowing the user to choose between the [[Home Menu]] or the [[3DS Development Unit GUI#Test Menu|Test Menu]], as the menu loaded by the [[NS]] module.<br />
<br />
:*Language - same options found in the Language section of [[System Settings]] but also has an "invalid" option<br />
<br />
:*Dlp Force Child Import - (enable/disable) - normally the 3ds caches downloaded "Download Play (Dlp)" applications on the nand and only re-downloads, overwriting the cached copy if the version application being requested to downloaded is higher than what is currently present on the nand. Enabling this option forces the 3ds to download and overwrite the cached copy on the nand, regardless of the version of the application being downloaded. This is of course for testing purposes.<br />
<br />
:*Debug Mode - (enable/disable) - Toggles Debug environment?<br />
<br />
:In later versions of Config, "Other Setting" also has :<br />
::*FS Latency Emulation - Filesystem Latency, in milliseconds (0ms-2550ms). Selection is in increments of 10. (ie 0ms->10ms->20ms...)<br />
::*Coppacs Setting - Unknown (stuck on 'not restricted')<br />
<br />
*Test Setting - Test calibration of touch pad and joystick<br />
<br />
*Eula Setting - Allows user to change "Agree Version" namely:"ff.ff" the two symbol sets are interchangeable with combination variations from aa to 99 (default is 00.00 where the Eula is not accepted yet).<br />
<br />
*Stereo Camera Cal for Check - Camera test (?) as options to "write strange data(excess Z-rot) and "reset to factory default".<br />
<br />
*Gyro / Accel Cal for Check - Allows Gyro and Accelerometer to be calibrated.<br />
<br />
*Ctr Info Setting - Changes settings to that found on the ctrsetting.txt on an SD .<br />
<br />
== Downloadplay Client ==<br />
[[File:Dlpcliscnsht.jpg|250px|thumb|right|Downloadplay Client Screenshots]]<br />
[[File:Dlpcliicon.png]]<br />
<br />
<br />
Even though a Developer 3DS has a "Download Play" application visually identical to the retail 3DS [[Download Play|application]], the "Downloadplay Client" application can be installed as an alternative to the regular Download Play application. (Note: a Developer 3DS' and Retail 3DS' cannot receive download play 'children' from each-other.) This Developer application is a stripped down version of 'Download Play' which has the following options and limitations:<br />
<br />
*It can only download 3ds download play titles<br />
<br />
*Scraps the GUI found in the normal Download Play application(see screenshot)<br />
<br />
*Can select from a maximum of 16 Download play 'servers'<br />
<br />
This application is clearly used for easy testing of download play 'child' apps, without the hassle of constantly re-navigating the normal Download Play interface<br />
<br />
<br />
<br />
<br />
<br />
== Network Settings ==<br />
[[File:Netsetscnsht.jpg|250px|thumb|right|Network Settings Screenshots]]<br />
[[File:Netseticon.png]]<br />
<br />
This Developer application allows the users to directly modify the following from any of the three possible network setting 'slots'<br />
<br />
*Security Mode :(the wireless encryption the network is using) OPEN/WEP 40bit/WEP 104bit/128bit/WPA TKIP/WPA2 TKIP/WPA AES/WPA2 AES<br />
<br />
*SSID :(self-explanitory) maximum 32 characters<br />
<br />
*KEY :(the key for the encrytion is here in plain text) the maximum length depends on encryption type<br />
<br />
*AutoDNS :(whether the 3DS obtains the DNS automatically or not) |True-3DS obtains the DNS automatically|False-3DS uses the DNS server address provided by the user(it is possible to edit this here)|<br />
<br />
At the bottom of the setting options there are two choices:<br />
<br />
*Write Setting & Connect Test To AP - Applies the settings above and performs a connection test(note any settings made in system settings for this connection, which are not present in the above settings will be nullified, for example any proxy server settings)<br />
<br />
*Remove Setting - removes all settings for this 'slot'<br />
<br />
<br />
<br />
<br />
== SaveDataFiler ==<br />
[[File:Saveflscnsht.jpg|250px|thumb|right|SaveDataFiler Screenshots]]<br />
[[File:Saveflicon.png]]<br />
<br />
<br />
<br />
This 3DS Developer application allows save files and extdata to be exported and imported from an SD Card. The window has three tabs:<br />
<br />
*User - This is where saves for 3DS applications and saves on 3DS Game Cards(not DS Game Cards) can be exported to the SD Card. Saves cannot be deleted here.<br />
<br />
*ExtData - This is where application extdata can be deleted or exported to the SD Card for later use<br />
<br />
*SD - This is where extdata and application saves on the SD Card can be imported to the 3DS or 3DS Game Card. Also extdata and application saves can be deleted from the SD Card<br />
<br />
<br />
User save data is exported to sdmc:/filer/UserSaveData/YYYYMMDD(Hour)(Minute)(Second)<br />
<br />
<br />
It creates a folder in that path and 3 files. The 2 files exported to the above path are <uniqueID>.dat and <uniqueID>_.dat while a folder named /<uniqueID>/ in that path contains <ExHeader Name>.dat<br />
<br />
== CTR MenuSelector ==<br />
[[File:MenuSelector.png|120px|thumb|right|Menu Selector Screenshot]]<br />
[[File:Menuselectoricon.jpg]]<br />
<br />
This application when loaded can change the current 'Active Menu'(being used at the moment) by editing the menu TID [[Config_Savegame|configuration]] field, allowing the user to choose between the [[Home Menu]] or the [[3DS Development Unit GUI#Test Menu|Test Menu]], as the menu loaded by the [[NS]] module. <br />
With the release of SDK 1.1.0, this application was superseded by the introduction of the "Menu" choice in the [[3DS Development Unit Software#Config|Config Menu]] and consequently removed as a standard application.<br />
<br />
== CecLotcheckTool ==<br />
[[File:Ceclotscnsht.jpg|250px|thumb|right|CecLotcheckTool Screenshot]]<br />
[[File:Cecloticon.png]]<br />
<br />
This application is used to manage CECs (Chance Encounter Communications, AKA StreetPass hits) for any of the twelve possible applications used on the 3DS, if there are any. The application has twelve possible slots which can be filled by BOXes . The BOXes are individual applications which are permitted by the user to use CECs, such as StreetPass Mii Plaza or Nintendo 3DS Sound. And as such, the boxes in this application correspond to the applications in 'StreetPass Management', in 'System Settings' (StreetPass Management is accessible from retail 3DSs). The functions of this application:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
*<Y> BOX Options - this opens up a sub menu with the following options(when hovering over Nintendo 3DS Sounds BOX - the only one I can test the app with):<br />
<br />
*Box Info - Gives the Out-Box parameters [[File:Boxinf.jpg|250px|]]<br />
<br />
<br />
<br />
<br />
*Message Info (OUT-BOX) - Gives the Message Parameters For the current BOX [[File:Mesinf.jpg|250px|]]<br />
<br />
<br />
<br />
<br />
*Dummy Message Settings - Not quite sure what the options do here [[File:Dummesinf.jpg|250px|]]<br />
<br />
<br />
<br />
<br />
*<A> Create Dummy BOXes - Creates dummy BOXes to fill any unused slots. (does not overwrite any present slots)<br />
<br />
*<X> Delete BOXes - Deletes all of the BOXes from the slots.<br />
<br />
*<START> CEC Filter Reset - I can only guess that it erases data collected by CEC enabled apps.<br />
<br />
<br />
<br />
== BossLotCheckTool ==<br />
[[File:Bosslcscnsht.png|100px|thumb|right|BossLotCheckTool Screenshot]]<br />
[[File:Bosslcicon.png]]<br />
<br />
This application is used to manage BOSS (SpotPass) tasks/data for 3DS titles which utilise BOSS communications. 'Pokedex' is an application which utilizes BOSS comunications. This application also displays the 3DS's friend code, although this code is not to be confused with the 3DS's Friend Card code found in 'Friends List'. The user can browse by unique ID the 3DS titles(excluding system titles) registered to use BOSS. For each title you can view details about the downloaded 'NsData' which accompanies BOSS downloads, view the BOSS task lists (implies applications can perform more than one BOSS task). You can also view various details about each BOSS task, including:<br />
<br />
TaskStatus : DONE?<br />
TaskExecCount : How many times the BOSS task has been executed<br />
TaskExecInterval : Period of time (in seconds) in the task is to be executed, in intervals<br />
TaskPriority : Is a number value <br />
URL : The URL to the BOSS content<br />
AP Info : NONE?<br />
TaskResultCode : Success or not<br />
HTTP_StatusCode : Self explanatory <br />
DataSize : Size of Content (in bytes)<br />
Last_Modified : Last time the BOSS content (on server) was modified<br />
StartTime : when the BOSS task was registered<br />
OptOut : Whether the user can/has opted out of BOSS communication for this task<br />
<br />
It also possible to manually execute the BOSS task from here<br />
<br />
== Stereo Camera Calibrator ==<br />
[[File:Stecamscnsht.png|100px|thumb|right|Stereo Camera Calibrator Screenshot]]<br />
[[File:Stecamicon.png]]<br />
<br />
The Stereo Camera Calibrator (SCC), in a nutshell, allows the user to adjust the configuration of the outer cameras in relation to each other. It can be configured automatically by positioning the 3DS a set distance away from a special chart. It can also be configured manually, by setting the rotation of each camera image and the size of the right eye camera. The 3D effect can be perceived by superimposing the right eye camera image translucently with the left eye camera image or by viewing the 3D image directly by use of the parallax barrier in the 3DS Screen. <br />
<br />
<br />
<br />
== Model Viewer ==<br />
[[File:ModelViewer.png|100px|thumb|right|3DS Model Viewer Screenshot]]<br />
[[File:ModelViewericon.png]]<br />
<br />
As the name suggests this application allows the user to view models. It is supposed to be used with a CTR-Debugger, assumingly so models can be entered in the memory of the program. But the program can be used on Test Units, but the model is restricted to three coloured lines depicting the 3 dimensions (x,y,z). The model can be viewed from any angle or scale, the perspective is controlled by the circle pad and directional buttons. And of course the application utilises the 3D effect<br />
<br />
<br />
<br />
<br />
== Friend Testing Partner ==<br />
[[File:Ftestpscnsht.png|250px|thumb|right|Friend Testing Partner Screenshot]]<br />
[[File:Ftestpicon.png]]<br />
<br />
The Friend Testing Partner application is used to test/monitor the 3DS's Friend List function. It allows the user to test various functions of the 3DS's out-going Friend Card, by giving the following options:<br />
*Master Control - (RUN/STOP) (STOP is the default setting) when ‘STOP’ is selected the 3DS Friend Card uses the user’s settings/data. When ‘RUN’ is selected the 3DS Friend Card uses the dummy settings/data chosen to test from the settings bellow.<br />
<br />
*Login/Logout - (ON/OFF) (ON is the default setting) What effect this has on the Friend Card is not known<br />
<br />
*Playing Title - (ON/OFF) (ON is the default setting) When ‘ON’ is selected the currently used title is ignored and a dummy applications are cycled through as the ‘Playing Title’ approximately every ten seconds in its place. The dummy applications used are the applications found in Firmware version 1.0.0-0 of a retail 3DS including the ‘Nintendo Zone viewer’ app. When ‘OFF’ is selected the currently used title (which is the Friend Testing Partner app) is used as the ‘Playing Title’<br />
<br />
*Mode Description - (ON/OFF) (ON is the default setting) When ‘ON’ is selected the Software in Use(Playing Title) is accompanied by the Date and Time found on that user’s 3DS. The Mode Description is refreshed every ten or so seconds. When ‘OFF’ is selected the date and time on the user’s 3DS is not displayed.<br />
<br />
*Message - (ON/OFF) (ON is the default setting) When ‘ON’ is selected the message made by the user is replaced(not overwritten as it reverts back to the user’s choice when this is ‘OFF’) by the current date and time in the format “YYYYMMDD HHMMSS”, this is refreshed every ten or so seconds.<br />
<br />
*Mii - (ON/OFF) (ON is the default setting) When 'ON' the currently used Mii is replaced with one of 4 dummy Miis and cycles them through every ten seconds with a new dummy mii. This effect can only be seen from another 3DS not the host<br />
<br />
*Favorite Title (ON/OFF) (ON is the default setting) When 'ON' is selected, the user’s favorite title is replaced with a dummy, which is replaced every 10 or so seconds. <br />
Also this application allows the user to monitor the whether the 3DS is online or not and whether the 3DS’s Friend Presence is online or offline. Every time a dummy setting is refreshed it is displayed on the top screen with a time stamp.<br />
<br />
<br />
<br />
== Game Coin Setter ==<br />
[[File:Coinstscnsht.png|100px|thumb|right|Game Coin Setter Screenshot]]<br />
[[File:Coinsticon.png]] <br />
<br />
This application is used to set the Play Coin count on the 3DS. Obviously this was created so a developer can test parts of their game in which the player can exchange earned play coins for in-game content or similar. It has a very simple interface showing the current play coin count and the adjustable option, the target coin count. These are the controls with explanation of each:<br />
<br />
*LEFT/RIGHT - using the D-pad only to adjust the 'Target Count' to a number between 0-300.<br />
<br />
*A - Sets the 'Current Count' (amount of play coins the system has) to the user selected 'Target Count' (the user specified amount of play coins)<br />
<br />
*L+R+X - "Preclude today's Increment" not sure how this affects the Play Coin count.<br />
<br />
<br />
<br />
== TWL Development Tools ==<br />
<br />
These are DSi/DS mode development tools repackaged into a [[CIA]], for installing to the TWL NAND.<br />
<br />
=== NINTENDO DS - WMtest ===<br />
[[File:Wmtestscnsht.jpg|300px|thumb|right|WMtest Screenshot]]<br />
[[File:Wmtesttool.png]]<br />
<br />
This application is a TWL(DSi) application compiled for use on the 3DS. It is an wireless test tool with its uses explained below:<br />
<br />
*Scan Test - Scans Wireless channels 1-13(can be focused on one specific channel) for broadcasting stations. It can detect two types of broadcasting stations:<br />
<br />
Wifi Access Points - Giving the Mac Address, Broadcasting Channel, 'c', and the SSID<br />
<br />
DS Stations such as DS Download stations and Pokemon distributors - Giving the Mac Address, Brodcasting Channel, TGID and GGID<br />
<br />
*ScanEx Test - and has two Scan Types. Passive which lets you individually scan channels 1-13 (only one at at time) and the DS distribution channels (1,7,13 all at once). And Active which scans all 13 channels at once. when it finds a channel it prints on the bottom screen next to 'Found' 'bssDescCount='<br />
<br />
*MeasureChannel Test - not quite sure what this does but it for a given channel it gives a ratio(in percentage form), which it finds in its allocated test time ranging from 10ms to 1000ms. And for every interval of time which is specified, it tests and gives a ratio.<br />
<br />
*Noise Mode - Seeks wireless channels in which to make wireless noise (This is not made very clear on the app). You can specify the:<br />
<br />
Channel where the scanner will seek to make noise<br />
<br />
Noise Rate, ranging from 0% to 100%<br />
<br />
Frequency, ranging from 10ms to 50ms<br />
<br />
Seek Mode, ranging from 1000ms to 1500ms<br />
<br />
When the settings are chosen the top screen has two counters which display 'Noise ON count' and 'Noise OFF count' the counters are affected by the noise rate. Starting at 0% the 'Noise ON count' does not change but as the Noise rate gets closer to 100% the count moves and gets faster as Noise rate reaches 100%. For 'Noise OFF count' it is the exact opposite to the ' Noise ON count' in regards to counting.<br />
<br />
<br />
----<br />
[[Category:3DS Development Unit Related Pages]]</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Ticket&diff=8617Ticket2014-02-13T05:16:26Z<p>3dsguy: </p>
<hr />
<div>[[Category:File formats]]<br />
Tickets are a format used to store an encrypted titlekey (using 128-Bit AES-CBC). This format seems to be identical to DSi/Wii tickets. <br />
<br />
== Structure ==<br />
<br />
All of the data in the file is represented in Big Endian.<br />
<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x000||Y||Signature Data<br />
|-<br />
| Y||0x210||Ticket Data<br />
|}<br />
<br />
=== Signature Data ===<br />
The total size of this section is referred to as "Y" in the overall TMD structure. The signature is of the header of the TMD.<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x0||0x4||Signature Type<br />
|-<br />
| 0x4 ||X||Signature<br />
|-<br />
| 0x4 + X|| ||Padding Aligning the signature data to 0x40 bytes<br />
|}<br />
<br />
==== Signature Type ====<br />
{{Signature Types}}<br />
<br />
The hash for the signature is calculated over the Ticket Data.<br />
<br />
=== Ticket Data ===<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x0||0x40||Issuer<br />
|-<br />
| 0x40||0x3C||ECDH data for console-unique eShop tickets.<br />
|-<br />
| 0x7C||0x3||Unknown, first u8 is 0x01.<br />
|-<br />
| 0x7F||0x10||Encrypted TitleKey<br />
|-<br />
| 0x8F||0x1||Unknown<br />
|-<br />
| 0x90||0x8||TicketID<br />
|-<br />
| 0x98||0x4||Ticket consoleID<br />
|-<br />
| 0x9C||0x8||TitleID<br />
|-<br />
| 0xA4||0x2||Unknown<br />
|-<br />
| 0xA6||0x2||Ticket title version, this generally the same as the title version stored in the [[TMD|Title Metadata]].<br />
|-<br />
| 0xA8||0x8||Unused<br />
|-<br />
| 0xB0||0x1||Unused<br />
|-<br />
| 0xB1||0x1||Ticket common [[AES|keyY]] index, usually 0x1 for retail system titles.<br />
|-<br />
| 0xB2||0x2F||Unused<br />
|-<br />
| 0xE1||0x1||Unknown<br />
|-<br />
| 0xE2||0x82||Unused<br />
|-<br />
| 0x164||0xAC||Content Index Setup (Complex)<br />
|}<br />
<br />
The titlekey is decrypted by using the [[AES]] engine with the ticket common-key keyslot where the keyY is one of 6 keyYs loaded via the keyY index stored in the ticket. AES-CBC mode is used where the IV is the big-endian titleID. Note that on a retail unit index0 is a retail keyY, while on a dev-unit index0 is the dev common-key which is a normal-key.(On retail for these keyYs, the hardware key-scrambler is used)<br />
<br />
== Certificate Chain ==<br />
Tickets retrieved from CDN/SOAP have a [[Certificates|certificate]] chain appended at the end of the file. There are two certificates in this chain:<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! CERTIFICATE<br />
! SIGNATURE TYPE<br />
! RETAIL CERT NAME<br />
! DEBUG CERT NAME<br />
! DESCRIPTION<br />
|-<br />
| Ticket<br />
| RSA-2048<br />
| XS0000000c<br />
| XS00000009<br />
| Used to verify the Ticket signature<br />
|-<br />
| CA<br />
| RSA-4096<br />
| CA00000003<br />
| CA00000004<br />
| Used to verify the Ticket Certificate<br />
|}<br />
<br />
The CA certificate is issued by 'Root', the public key for which is stored in NATIVE_FIRM.<br />
<br />
== Some facts==<br />
* '''CommonETicket''' (for short, '''cetk''') is the name given to tickets for titles which are not available on the [[EShop|eShop]], like [[Title list#CTR System Titles|system titles]]. As the name suggests, they are not unique tickets, the same ticket is common to each 3ds which has installed that title. This is in contrast to tickets for eShop content, which are generated prior to initial download, and are unique to 3ds it was generated for.<br />
<br />
* '''CETK''' can be fetched through HTTP using the link to default update server, using the title's [[TMD]] URL where "cetk" is used instead of "tmd" for the URL. The 3DS NIM module retrieves system tickets via SOAP request ''GetCommonETicket''.</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Ticket&diff=8616Ticket2014-02-13T03:32:20Z<p>3dsguy: </p>
<hr />
<div>[[Category:File formats]]<br />
Tickets are a format used to store an encrypted titlekey (using 128-Bit AES-CBC). This format seems to be identical to DSi/Wii tickets. <br />
<br />
== Structure ==<br />
<br />
All of the data in the file is represented in Big Endian.<br />
<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x000||Y||Signature Data<br />
|-<br />
| Y||0x210||Ticket Data<br />
|}<br />
<br />
=== Signature Data ===<br />
The total size of this section is referred to as "Y" in the overall TMD structure. The signature is of the header of the TMD.<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x0||0x4||Signature Type<br />
|-<br />
| 0x4 ||X||Signature<br />
|-<br />
| 0x4 + X|| ||Padding Aligning the signature data to 0x40 bytes<br />
|}<br />
<br />
==== Signature Type ====<br />
{{Signature Types}}<br />
<br />
The hash for the signature is calculated over the Ticket Data.<br />
<br />
=== Ticket Data ===<br />
{| class="wikitable"<br />
| align="center" style="background:#f0f0f0;"|'''Offset'''<br />
| align="center" style="background:#f0f0f0;"|'''Size'''<br />
| align="center" style="background:#f0f0f0;"|'''Description'''<br />
|-<br />
| 0x0||0x40||Issuer<br />
|-<br />
| 0x40||0x3C||ECDH data for console-unique eShop tickets.<br />
|-<br />
| 0x7C||0x3||Unknown, first u8 is 0x01.<br />
|-<br />
| 0x7F||0x10||Encrypted TitleKey<br />
|-<br />
| 0x8F||0x1||Unknown<br />
|-<br />
| 0x90||0x8||TicketID<br />
|-<br />
| 0x98||0x4||Ticket consoleID<br />
|-<br />
| 0x9C||0x8||TitleID<br />
|-<br />
| 0xA4||0x2||Unknown<br />
|-<br />
| 0xA6||0x2||Ticket title version, this generally the same as the title version stored in the [[TMD|Title Metadata]].<br />
|-<br />
| 0xA8||0x8||Unused<br />
|-<br />
| 0xB0||0x1||Unused<br />
|-<br />
| 0xB1||0x1||Ticket common [[AES|keyY]] index, usually 0x1 for retail system titles.<br />
|-<br />
| 0xB2||0x2F||Unused<br />
|-<br />
| 0xE1||0x1||Unknown<br />
|-<br />
| 0xE2||0x82||Unused<br />
|-<br />
| 0x164||0xAC||Content Index Setup (Complex)<br />
|}<br />
<br />
The titlekey is decrypted by using the [[AES]] engine with the ticket common-key keyslot where the keyY is one of 6 keyYs loaded via the keyY index stored in the ticket. AES-CBC mode is used where the IV is the big-endian titleID. Note that on a retail unit index0 is a retail keyY, while on a dev-unit index0 is the dev common-key which is a normal-key.(On retail for these keyYs, the hardware key-scrambler is used)<br />
<br />
== Certificate Chain ==<br />
Tickets retrieved from CDN/SOAP have a [[Certificates|certificate]] chain appended at the end of the file. There are two certificates in this chain:<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! CERTIFICATE<br />
! SIGNATURE TYPE<br />
! RETAIL CERT NAME<br />
! DEBUG CERT NAME<br />
! DESCRIPTION<br />
|-<br />
| Ticket<br />
| RSA-2048<br />
| XS0000000c<br />
| XS00000009<br />
| Used to verify the Ticket signature<br />
|-<br />
| CA<br />
| RSA-4096<br />
| CA00000003<br />
| CA00000004<br />
| Used to verify the Ticket Certificate<br />
|}<br />
<br />
The CA certificate is issued by 'Root', the public key for which is stored in NATIVE_FIRM.<br />
<br />
== Some facts==<br />
* '''CommonETicket''' (for short, '''cetk''') is the name given to tickets for titles which available on the [[EShop|eShop]], like [[Title list#CTR System Titles|system titles]].<br />
<br />
* '''CETK''' can be fetched through HTTP using the link to default update server, using the title's [[TMD]] URL where "cetk" is used instead of "tmd" for the URL. The 3DS NIM module retrieves system tickets via SOAP request ''GetCommonETicket''.</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Anti_Savegame_Restore&diff=8399Anti Savegame Restore2014-01-15T20:00:12Z<p>3dsguy: </p>
<hr />
<div>=Summary=<br />
Anti Savegame Restore (internally referred to as ''Save Data Rollback Prevention'') is a feature originally implemented in [[Filesystem_services|FS]] module with [[4.0.0-7]], which prevents the user from restoring previous versions of a savegame image. This feature is not used for gamecard games. When an old version of the save is detected, the application will display an error regarding old savegame version, then delete+recreate the save(similar to when the savegame is corrupted).<br />
<br />
=Implementation=<br />
When creating the SD savedata, the application generates a random u64 value, then stores it in an arbitary savefile in the savegame FS. The application then uses the anti-savegame-restore [[Filesystem_services|FS]] commands to verify the stored u64(with the u64 loaded by FS module), and to update the u64 used by FS module. The u64 used by FS module is stored in a NAND savegame.<br />
<br />
Each time the application writes to the savegame, the u64 value stored in the savefile should be updated(and the command for updating the NAND u64 value should be used as well). Usually applications update this value by incrementing it, however generating a new random-number or other methods of updating it can be used as well.<br />
<br />
=Applications using this feature=<br />
* Animal Crossing: New Leaf<br />
* Pokemon X & Y<br />
<br />
It's currently unknown whether there's any eShop-only titles that use this.</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=CBMD&diff=8374CBMD2014-01-08T07:20:42Z<p>3dsguy: Except CBMD are generated separately of CWAV.</p>
<hr />
<div>[[Category:File formats]]<br />
'''CBMD - CTR Banner Model Data'''<br />
<br />
This page describes the format used for banners' models. These are stored in [[NCCH#CXI|CXI]] ExeFS:/banner and optionally in [[extdata]] exbanner.<br />
CBMD is a container file for CGFX blocks. This is used for banners of titles you see in the home menu. BNR used for the app banners in the CXI/exbanner is the same as CBMD with CWAV at the end.<br />
<br />
== CBMD Header ==<br />
{| class="wikitable"<br />
|-<br />
! Offset<br />
! Length<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x4<br />
| Magic "CBMD"<br />
|-<br />
| 0x4<br />
| 0x4<br />
| Zero<br />
|-<br />
| 0x8<br />
| 0x4<br />
| Offset for common CGFX<br />
|-<br />
| 0xc<br />
| 0x34<br />
| Optional offsets for region/language specific CGFX<br />
|-<br />
| 0x40<br />
| 0x44<br />
| Padding?<br />
|-<br />
| 0x84<br />
| 0x4<br />
| CBMD Size<br />
|}<br />
<br />
The common CGFX is used if the CGFX offset for the system region/language is zero. Those optional offsets can be used in extdata exbanner, but separate CBMD banner files for each region/language can be used as well.<br />
<br />
=== Indexes for CGFX offset array ===<br />
{| class="wikitable"<br />
|-<br />
! Index<br />
! Description<br />
|-<br />
| 0<br />
| EUR-English<br />
|-<br />
| 1<br />
| EUR-French<br />
|-<br />
| 2<br />
| EUR-German<br />
|-<br />
| 3<br />
| EUR-Italian<br />
|-<br />
| 4<br />
| EUR-Spanish<br />
|-<br />
| 5<br />
| EUR-Dutch<br />
|-<br />
| 6<br />
| EUR-Portuguese<br />
|-<br />
| 7<br />
| EUR-Russian<br />
|-<br />
| 8<br />
| JPN-Japanese<br />
|-<br />
| 9<br />
| USA-English<br />
|-<br />
| 10<br />
| USA-French<br />
|-<br />
| 11<br />
| USA-Spanish<br />
|-<br />
| 12<br />
| USA-Portuguese<br />
|}<br />
<br />
== CGFX ==<br />
<br />
CGFX are compressed using LZ11. For CXI banner CGFX, the decompressed size must be no larger than 0x80000.<br />
<br />
Graphics containers. Contains: 3D Models, Shaders, Objects, Materials, Textures, etc.</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Title_list/eShop_Titles&diff=8371Title list/eShop Titles2014-01-06T06:50:46Z<p>3dsguy: </p>
<hr />
<div>[[Title list|Go Back to Title list]]<br />
<br />
== Overview==<br />
This titleID-High (00040000) is also used for gamecard applications. The [[NCCH#CXI|CXI]] for retail applications available via gamecard and eShop are exactly the same, except the exheader differs. For SD applications exheader_systeminfoflags.flag [[NCCH#NCCH_Specs|bit1]] is set, for gamecard applications this bit is clear. The ExeFS and RomFS are exactly the same for the gamecard/eShop versions. The eShop version of the CXI has additional padding.<br />
<br />
When mounting the gamecard, the NATIVE_FIRM code compares the gamecard programID with the application programIDs for each region of Ridge Racer. When the gamecard programID matches the Ridge Racer programID, this code will set a flag, however it's unknown what this flag is used for. This is probably used for the Ridge Racer fix implemented with [[2.1.0-3]].<br />
<br />
== List ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Region<br />
! Description<br />
! Versions<br />
|-<br />
| 00032600<br />
| ALL<br />
| Pokédex 3D<br />
| v0, v16<br />
|-<br />
| 0004AA00<br />
| USA<br />
| [[Nintendo Video]]<br />
| v0<br />
|-<br />
| 0004AB00<br />
| EUR<br />
| [[Nintendo Video]]<br />
| v0, v3172<br />
|-<br />
| 00051600<br />
| JPN<br />
| [[Swapnote]]<br />
| v0, v1024<br />
|-<br />
| 00051700<br />
| USA<br />
| [[Swapnote]]<br />
| v0, v1024<br />
|-<br />
| 00051800<br />
| EUR<br />
| [[Swapnote|Nintendo Letter Box]]<br />
| v0, v1024<br />
|-<br />
| 00057700<br />
| USA<br />
| Netflix <br />
| v0, v32<br />
|-<br />
| 0005AD00<br />
| JPN<br />
| Kid Icarus Uprising E3 Video <br />
| v0<br />
|-<br />
| 0005AE00<br />
| USA<br />
| Kid Icarus Uprising E3 Video <br />
| v0<br />
|-<br />
| 0005AF00<br />
| JPN<br />
| Paper Mario E3 Video<br />
| v0<br />
|-<br />
| 0005B000<br />
| USA<br />
| Paper Mario E3 Video<br />
| v0<br />
|-<br />
| 0005B100<br />
| JPN<br />
| Mario Kart E3 Video <br />
| v0<br />
|-<br />
| 0005B200<br />
| USA<br />
| Mario Kart E3 Video <br />
| v0<br />
|-<br />
| 0005B300<br />
| JPN<br />
| Animal Crossing E3 Video <br />
| v0<br />
|-<br />
| 0005B400<br />
| USA<br />
| Animal Crossing E3 Video <br />
| v0<br />
|-<br />
| 0005B500<br />
| JPN<br />
| Luigi's Mansion 2 E3 Video <br />
| v0<br />
|-<br />
| 0005B600<br />
| USA<br />
| Luigi's Mansion 2 E3 Video <br />
| v0<br />
|-<br />
| 0005B700<br />
| JPN<br />
| Zelda Ocarina of Time E3 Video<br />
| v0<br />
|-<br />
| 0005B800<br />
| USA<br />
| Zelda Ocarina of Time E3 Video<br />
| v0<br />
|-<br />
| 0005B900<br />
| JPN<br />
| Super Mario E3 Video <br />
| v0<br />
|-<br />
| 0005BA00<br />
| USA<br />
| Super Mario E3 Video <br />
| v0<br />
|-<br />
| 0005BB00<br />
| JPN<br />
| MGS Snake Eater 3D E3 Video <br />
| v0<br />
|-<br />
| 0005BC00<br />
| USA<br />
| MGS Snake Eater 3D E3 Video <br />
| v32<br />
|-<br />
| 0005BD00<br />
| JPN<br />
| Biohazard Revelations E3 Video <br />
| v16<br />
|-<br />
| 0005BE00<br />
| USA<br />
| Resident Evil Revelations E3 Video <br />
| v32<br />
|-<br />
| 0005BF00<br />
| JPN<br />
| Starfox 64 3D E3 Video<br />
| v0<br />
|-<br />
| 0005EA00<br />
| EUR<br />
| Green Lantern 3D Trailer Video <br />
| v0, v16<br />
|-<br />
| 0005F000<br />
| USA<br />
| Green Lantern 3D Trailer Video <br />
| v0, v16<br />
|-<br />
| 00062400<br />
| EUR<br />
| Kid Icarus Uprising E3 Video <br />
| v0<br />
|-<br />
| 00062700<br />
| EUR<br />
| Paper Mario E3 Video <br />
| v0<br />
|-<br />
| 00062A00<br />
| EUR<br />
| Mario Kart E3 Video<br />
| v0<br />
|-<br />
| 00062D00<br />
| EUR<br />
| Animal Crossing E3 Video <br />
| v0<br />
|-<br />
| 00063000<br />
| EUR<br />
| Luigi's Mansion 2 E3 Video<br />
| v0<br />
|-<br />
| 00063300<br />
| EUR<br />
| Zelda Ocarina of Time E3 Video <br />
| v0<br />
|-<br />
| 00063600<br />
| EUR<br />
| Super Mario E3 Video <br />
| v0<br />
|-<br />
| 00063900<br />
| EUR<br />
| MGS Snake Eater 3D E3 Video <br />
| v0<br />
|-<br />
| 00063C00<br />
| EUR<br />
| Resident Evil Revelations E3 Video <br />
| v0<br />
|-<br />
| 0006E400<br />
| JPN<br />
| Super Mario Bros. <br />
| v0, v1024<br />
|-<br />
| 0006E500<br />
| USA<br />
| Super Mario Bros. <br />
| v0, v1024<br />
|-<br />
| 0006E600<br />
| EUR<br />
| Super Mario Bros. <br />
| v0, v1024<br />
|-<br />
| 0006ED00<br />
| JPN<br />
| Metroid <br />
| v0, v1040<br />
|-<br />
| 0006EE00<br />
| USA<br />
| Metroid <br />
| v0, v1024<br />
|-<br />
| 0006EF00<br />
| EUR<br />
| Metroid <br />
| v0, v1024<br />
|-<br />
| 0006F000<br />
| JPN<br />
| The Legend of Zelda <br />
| v0, v1040<br />
|-<br />
| 0006F100<br />
| USA<br />
| The Legend of Zelda <br />
| v0, v1024<br />
|-<br />
| 0006F200<br />
| EUR<br />
| The Legend of Zelda <br />
| v0, v1024<br />
|-<br />
| 0006F600<br />
| JPN<br />
| Wrecking Crew <br />
| v0, v1024<br />
|-<br />
| 0006F700<br />
| USA<br />
| Wrecking Crew <br />
| v0, v1024<br />
|-<br />
| 0006F800<br />
| EUR<br />
| Wrecking Crew <br />
| v0, 16<br />
|-<br />
| 0006F900<br />
| JPN<br />
| NES Open Tournament Golf<br />
| v0, v1024<br />
|-<br />
| 0006FA00<br />
| USA<br />
| NES Open Tournament Golf<br />
| v0, v1024<br />
|-<br />
| 0006FB00<br />
| EUR<br />
| NES Open Tournament Golf<br />
| v0, v1024<br />
|-<br />
| 0006FF00<br />
| JPN<br />
| Donkey Kong Jr. <br />
| v0, v1024<br />
|-<br />
| 00070000<br />
| USA<br />
| Donkey Kong Jr. <br />
| v0, v1024<br />
|-<br />
| 00070100<br />
| EUR<br />
| Donkey Kong Jr. <br />
| v0, v1024<br />
|-<br />
| 00070200<br />
| JPN<br />
| Balloon Fight <br />
| v0, v1024<br />
|-<br />
| 00070300<br />
| USA<br />
| Balloon Fight <br />
| v0, v16<br />
|-<br />
| 00070400<br />
| EUR<br />
| Balloon Fight <br />
| v0, v16<br />
|-<br />
| 00070500<br />
| JPN<br />
| Ice Climber<br />
| v0, v2048<br />
|-<br />
| 00070600<br />
| USA<br />
| Ice Climber<br />
| v0, v1024<br />
|-<br />
| 00070700<br />
| EUR<br />
| Ice Climber<br />
| v0, v32<br />
|-<br />
| 00070800<br />
| JPN<br />
| Zelda II The Adventure of Link <br />
| v0, v1024<br />
|-<br />
| 00070900<br />
| USA<br />
| Zelda II The Adventure of Link <br />
| v0, v1024<br />
|-<br />
| 00070A00<br />
| EUR<br />
| Zelda II The Adventure of Link <br />
| v0, v1024<br />
|-<br />
| 00071100<br />
| JPN<br />
| Yoshi<br />
| v0, v1024<br />
|-<br />
| 00071200<br />
| USA<br />
| Yoshi<br />
| v0, v1024<br />
|-<br />
| 00071300<br />
| EUR<br />
| Yoshi<br />
| v0, v32<br />
|-<br />
| 00072400<br />
| EUR<br />
| Ambassador Certificate <br />
| v0, v16<br />
|-<br />
| 00072500<br />
| USA<br />
| Ambassador Certificate <br />
| v0, v16<br />
|-<br />
| 00074800<br />
| JPN<br />
| F-Zero: Maximum Velocity <br />
| v0, v16<br />
|-<br />
| 00074900<br />
| USA<br />
| F-Zero: Maximum Velocity <br />
| v0, v16<br />
|-<br />
| 00074A00<br />
| EUR<br />
| F-Zero: Maximum Velocity <br />
| v0, v16<br />
|-<br />
| 00074B00<br />
| JPN<br />
| Mario Kart Super Circuit<br />
| v0, v16<br />
|-<br />
| 00074C00<br />
| USA<br />
| Mario Kart Super Circuit<br />
| v0, v16<br />
|-<br />
| 00074D00<br />
| EUR<br />
| Mario Kart Super Circuit<br />
| v0, v32<br />
|-<br />
| 00074E00<br />
| JPN<br />
| Wario Land 4<br />
| v0, v16<br />
|-<br />
| 00074F00<br />
| USA<br />
| Wario Land 4<br />
| v0, v16<br />
|-<br />
| 00075000<br />
| EUR<br />
| Wario Land 4<br />
| v0, v16<br />
|-<br />
| 00075200<br />
| JPN<br />
| Yoshi's Island: Super Mario Advance 3<br />
| v0, v32<br />
|-<br />
| 00075300<br />
| USA<br />
| Yoshi's Island: Super Mario Advance 3<br />
| v0, v16<br />
|-<br />
| 00075400<br />
| EUR<br />
| Yoshi's Island: Super Mario Advance 3<br />
| v0, v16<br />
|-<br />
| 00075500<br />
| JPN<br />
| Metroid Fusion<br />
| v0, v32<br />
|-<br />
| 00075600<br />
| USA<br />
| Metroid Fusion<br />
| v0, v16<br />
|-<br />
| 00075700<br />
| EUR<br />
| Metroid Fusion<br />
| v0, v16<br />
|-<br />
| 00075800<br />
| JPN<br />
| WarioWare Inc: Mega Microgame<br />
| v0, v16<br />
|-<br />
| 00075900<br />
| USA<br />
| WarioWare Inc: Mega Microgame<br />
| v0, v16<br />
|-<br />
| 00075A00<br />
| EUR<br />
| WarioWare Inc: Mega Microgame<br />
| v0, v16<br />
|-<br />
| 00075B00<br />
| JPN<br />
| Kirby & The Amazing Mirror<br />
| v0, v16<br />
|-<br />
| 00075C00<br />
| USA<br />
| Kirby & The Amazing Mirror<br />
| v0, v16<br />
|-<br />
| 00075D00<br />
| EUR<br />
| Kirby & The Amazing Mirror<br />
| v0, v16<br />
|-<br />
| 00076600<br />
| JPN<br />
| Mario vs Donkey Kong<br />
| v0, v16<br />
|-<br />
| 00076700<br />
| USA<br />
| Mario vs Donkey Kong<br />
| v0, v16<br />
|-<br />
| 00076800<br />
| EUR<br />
| Mario vs Donkey Kong<br />
| v0, v16<br />
|-<br />
| 00076900<br />
| JPN<br />
| Fire Emblem: The Sacred Stones<br />
| v0, v16<br />
|-<br />
| 00076A00<br />
| USA<br />
| Fire Emblem: The Sacred Stones<br />
| v0, v16<br />
|-<br />
| 00076B00<br />
| EUR<br />
| Fire Emblem: The Sacred Stones<br />
| v0, v16<br />
|-<br />
| 00076C00<br />
| JPN<br />
| The Legend of Zelda: The Minish Cap<br />
| v0, v16<br />
|-<br />
| 00076D00<br />
| USA<br />
| The Legend of Zelda: The Minish Cap<br />
| v0, v16<br />
|-<br />
| 00076E00<br />
| EUR<br />
| The Legend of Zelda: The Minish Cap<br />
| v0, v16<br />
|-<br />
| 00079C00<br />
| USA<br />
| Preview Video: Animal Crossing <br />
| v0<br />
|-<br />
| 0007AB00<br />
| EUR<br />
| Eurosport (looks/acts like Nintendo Video) <br />
| v0, v16<br />
|-<br />
| 00080F00<br />
| EUR<br />
| Mario & Sonic - London 2012 Virtual Card Album<br />
| v0<br />
|-<br />
| 000ACF00<br />
| EUR<br />
| Preview Video: Paper Mario: Sticker Star <br />
| v0, v16<br />
|-<br />
| 000AD000<br />
| EUR<br />
| Preview Video: Luigi Mansion: Dark Moon<br />
| v0, v16<br />
|-<br />
| 000AD100<br />
| EUR<br />
| Preview Video: New Super Mario Bros. 2<br />
| v0, v16<br />
|-<br />
| 000AE100<br />
| ALL<br />
| Pokemon Dream Radar<br />
| v0, v16<br />
|-<br />
| 000C7300<br />
| ALL<br />
| [[Save Data Transfer Tool]]<br />
| v0<br />
|-<br />
| 000CCD00<br />
| ALL<br />
| Youtube<br />
| <br />
|}</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Category:File_formats&diff=8366Category:File formats2014-01-01T18:10:07Z<p>3dsguy: </p>
<hr />
<div>The following is a list of known file formats used by the 3DS.<br />
<br />
== [[NCCH]] ==<br />
<br />
<br />
.[[NCCH#CXI|CXI]] - CTR 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.<br />
<br />
.[[NCCH#CFA|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).<br />
<br />
.[[SD Filesystem#title|APP]] - The per-console encrypted form of a NCCH file, used with installed titles, like eShop and CDN downloads.<br />
<br />
.CAA - A CXI which uses a raw ELF for the [[ExeFS]] .code section. Also has no plain region.<br />
<br />
== [[NCSD]] ==<br />
<br />
<br />
.[[NCSD|CCI]] - CTR 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.<br />
<br />
.[[NCSD|CSU]] - CTR System Update - Format varies slightly with revisions.<br />
<br />
== Descriptor File Formats ==<br />
<br />
<br />
.BSF - Descriptive data used when outputting ICN/BNR files. The .XBSF format used by CiTRUS is based on the concept of .BSF.<br />
<br />
.RSF - Descriptive data used when outputting a CCI/CXI file. Specifies options such as: title, save type, and so on. <br />
<br />
.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). The signed NCCH RSA-2048 key pair is taken from this file.<br />
<br />
== [[ExeFS]] Related File Formats ==<br />
<br />
<br />
.AXF - Pre-assembled ARM code. Before being linked into the [[ExeFS]] '.code' format. These are ARM specific ELF files. The Plain Region found in the CXI is also obtain from this file.<br />
<br />
.BNR - Simply contains a .[[CBMD]] and a .[[BCWAV]]. The .[[CBMD]] has added padding, to make sure the .[[BCWAV]] is aligned to 0x10 bytes. It contains nothing else.(The .[[CBMD]] file's header is edited to reflect it's new size)<br />
<br />
.[[SMDH|ICN]] - Contains icons, names and flags for an application<br />
<br />
== [[RomFS]] Related File Formats ==<br />
<br />
.[[ARC]] - Archive. A container of files, all compressed with LZ-10.<br />
<br />
.[[ARC|BCMA]] - CTR Manual (an ARC file).<br />
<br />
== [[Title Data Structure|Title Installation Related File Formats]] ==<br />
<br />
.[[CIA]] - CTR Importable Archive - This format allows the installation titles to the 3DS. CIA files can contain [[NCCH]] files for installation to either the [[SD Filesystem|SDMC]] or CTR NAND. CIA files can also contain .SRL files (format for DS(i) executable images) for installation to the TWL NAND of the 3DS. Anything distributed over Download Play (including card software) are created with this format as well.<br />
<br />
.[[TMD]] - Title Meta Data - The format is used with installed/installable titles. Notably they are found in .[[CIA]] files (plain text), on the [[SD Filesystem#title|SD card]] (encrypted), NAND (encrypted) and on Nintendo's CDN (plain text).<br />
<br />
.[[Title Data Structure|CMD]] - Content Meta Data - The format is used to index installed .app files for installed titles. It is encrypted with a console unique [[AES|keyslot]].<br />
<br />
.[[Title Data Structure|CTX]] - When beginning eShop app downloads, this file is created. Later this file is written with actual data. When the download is completed, the file is deleted from SD card.(This might then be moved to NAND) This is encrypted with a per-console key. It contains a signed cert followed by unknown data. It is only 1.50kbyte. Here is an example.[http://dl.dropbox.com/u/37418652/00000000.ctx]<br />
<br />
== Audio File Formats ==<br />
<br />
.[[BCWAV|(B)CWAV]] - CTR waveform file format<br />
<br />
.CSAR - CTR adaptation of BRSAR.<br />
<br />
== Graphics File Formats ==<br />
<br />
.[[CBMD]] - CTR Basic Model Data - Archive file before being made into a CTR banner for games or other applications.<br />
<br />
.CTPK - CTR Texture PacKage<br />
<br />
.CMDL - CTR MoDeL data<br />
<br />
.CTEX - CTR TEXture data<br />
<br />
.CSKA / .CSKLA - CTR SKeLetal Animation data<br />
<br />
.CMATA - CTR MATerial Animation data<br />
<br />
.CMDLA - CTR MoDeL Animation data<br />
<br />
.CLGT - CTR LiGhT data<br />
<br />
.CPTL - CTR ParTicLe data<br />
<br />
.CLTS - CTR LookupableSetdata<br />
<br />
.CENV - CTR ENVironment data<br />
<br />
.CCAM - CTR CAMera data<br />
<br />
.CMAT - CTR MATerial<br />
<br />
== Other File Formats ==<br />
<br />
.NSA - Archive used by several of the communication protocols in the 3DS.<br />
<br />
.[[CRO0|CRO]] - This is a CTR "DLL".<br />
<br />
.[[CRO0|CRS]] - This contains symbols for CRO "DLLs".<br />
<br />
.[[CRR0|CRR]] - This contains data for verifying CRO files.<br />
<br />
.[[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<br />
<br />
.CGRP - CTR GRouP - Used to package several formats like (CWAR, CWAV, CWSD, CBNK, CSEQ, ect...) sort of like the Wii's MRG format. (they aren't the same structures but both package together several formats)<br />
<br />
== Filesystem ==<br />
<br />
The 3DS filesystem requires absolute paths. It can handle either short (8.3) and long (255 char maximum) file names.</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=EShop_Demos&diff=8365EShop Demos2013-12-31T12:55:30Z<p>3dsguy: </p>
<hr />
<div>[[Title list|Go Back to Title list]]<br />
<br />
== Overview ==<br />
These titles have limited uses. For a given Unique ID, there can be a maximum of 254 separate demos. Each demo is indexed by the Title ID Variation. The legal demo index range: 0x1 - 0xff.<br />
<br />
== List ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Region<br />
! Description<br />
! Versions<br />
|-<br />
| 00030B01<br />
| JPN<br />
| Nintendogs & Cats: Golden Retreiver Demo <br />
| v0<br />
|-<br />
| 00030C01<br />
| EUR<br />
| Nintendogs & Cats: Golden Retreiver Demo <br />
| v0<br />
|-<br />
| 00030D01<br />
| USA<br />
| Nintendogs & Cats: Golden Retreiver Demo <br />
| v0<br />
|-<br />
| 00032001<br />
| ?<br />
| ?<br />
| v16<br />
|-<br />
| 00032101<br />
| ?<br />
| ?<br />
| v80<br />
|-<br />
| 00036F01<br />
| ?<br />
| ?<br />
| v16<br />
|-<br />
| 00037101<br />
| USA<br />
| CRUSH3D Demo <br />
| v0<br />
|-<br />
| 00038A01<br />
| EUR<br />
| DOA Dimensions Demo<br />
| v0<br />
|-<br />
| 00039B01<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00040401<br />
| EUR<br />
| CRUSH3D Demo<br />
| v0<br />
|-<br />
| 00043701<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00047E01<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00048001<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00048101<br />
| JPN<br />
| Monster Hunter Tri G Demo<br />
| v0<br />
|-<br />
| 0004EE01<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00053B01<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00054801<br />
| USA<br />
| Mario & Sonic at the London 2012 Olympic Games Demo<br />
| v0<br />
|-<br />
| 00054901<br />
| EUR<br />
| Mario & Sonic at the London 2012 Olympic Games Demo<br />
| v0<br />
|-<br />
| 00056601<br />
| ?<br />
| ?<br />
| v16<br />
|-<br />
| 00056A01<br />
| ?<br />
| ?<br />
| v32<br />
|-<br />
| 00057601<br />
| ?<br />
| ?<br />
| v16<br />
|-<br />
| 0005A201<br />
| USA<br />
| LEGO Batman 2 DC Super Heroes Demo<br />
| v0<br />
|-<br />
| 0005A401<br />
| EUR<br />
| LEGO Batman 2 DC Super Heroes Demo<br />
| v0<br />
|-<br />
| 0005A501<br />
| EUR<br />
| RAYMAN ORIGINS Demo <br />
| v0<br />
|-<br />
| 0005DE01<br />
| ?<br />
| ?<br />
| v16<br />
|-<br />
| 0005E301<br />
| ?<br />
| ?<br />
| v16<br />
|-<br />
| 0005E901<br />
| ?<br />
| ?<br />
| v16<br />
|-<br />
| 0005ED01<br />
| EUR<br />
| Cooking Mama 4 Demo<br />
| v0<br />
|-<br />
| 0005EE01<br />
| EUR<br />
| Resident Evil Revelations Demo<br />
| v0<br />
|-<br />
| 00060201<br />
| USA<br />
| Resident Evil Revelations Demo<br />
| v0<br />
|-<br />
| 00060F01<br />
| EUR <br />
| Pyramids Demo<br />
| v0<br />
|-<br />
| 00064701<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00065701<br />
| ?<br />
| ?<br />
| v32<br />
|-<br />
| 00065A01<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00067601<br />
| USA<br />
| Rhythm Thief Demo<br />
| v0<br />
|-<br />
| 00068201<br />
| USA<br />
| Pyramids Demo<br />
| v0<br />
|-<br />
| 0006DA01<br />
| EUR<br />
| Rhythm Thief Demo <br />
| v0<br />
|-<br />
| 00071F01<br />
| ?<br />
| ?<br />
| v32<br />
|-<br />
| 00072A01<br />
| ?<br />
| ?<br />
| v32<br />
|-<br />
| 00074001<br />
| EUR<br />
| Heroes of Ruin Demo<br />
| v0<br />
|-<br />
| 00074701<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00075101<br />
| USA<br />
| Heroes of Ruin Demo<br />
| v0<br />
|-<br />
| 00077E01<br />
| ?<br />
| ?<br />
| v16<br />
|-<br />
| 00078101<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00078201<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 0007A001<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00080101<br />
| ?<br />
| ?<br />
| v16<br />
|-<br />
| 00081E01<br />
| USA<br />
| Metal Gear Solid Snake Eater 3D Demo<br />
| v0<br />
|-<br />
| 00082401<br />
| EUR<br />
| Metal Gear Solid Snake Eater 3D Demo <br />
| v0<br />
|-<br />
| 00086101<br />
| EUR<br />
| Farming Simulator 2012 3D Demo<br />
| v0<br />
|-<br />
| 00086601<br />
| USA<br />
| Mutant Mudds 3d Demo<br />
| v0<br />
|-<br />
| 00088901<br />
| USA<br />
| The Amazing Spider-Man<br />
| v0<br />
|-<br />
| 0008C601<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 0008D301<br />
| USA<br />
| Kingdom Hearts 3D Dream Drop Distance Demo<br />
| v0<br />
|-<br />
| 00090B01<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00090D01<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00090F01<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00091601<br />
| EUR<br />
| THEATRHYTHM Final Fantasy Demo<br />
| v0<br />
|-<br />
| 00092B01<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00095101<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00095501<br />
| EUR<br />
| Kingdom Hearts 3D Dream Drop Distance Demo<br />
| v0<br />
|-<br />
| 00095B01<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 0009D201<br />
| USA<br />
| Order up!! Demo<br />
| v0<br />
|-<br />
| 000A4D01<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 000A5401<br />
| EUR<br />
| Mutant Mudds Demo<br />
| v0<br />
|-<br />
| 000AC801<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 000ADE01<br />
| ?<br />
| ?<br />
| v0<br />
|}</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Title_list&diff=8364Title list2013-12-31T12:53:05Z<p>3dsguy: </p>
<hr />
<div>The Nintendo 3DS utilizes a similar title-based organization as seen in the Wii and DSi platforms. The update server is located [http://nus.cdn.c.shop.nintendowifi.net/ccs/download/ here]. When using SSL, the update/shop servers must be accessed via SSLv3.<br />
<br />
The organization of Title IDs has not been documented fully yet. Region info isn't stored in title IDs however there does appear to be evidence that the regions are sequential, similar to how Wii System Menu Updates are ordered: JPN USA EUR KOR and CHN (introduced with the DSi). 3DS has one additional region: TWN.<br />
<br />
Note: The terms 'Title ID', 'Partition ID' and 'Media ID' are interchangeable.<br />
<br />
The 3DS retrieves system [[CommonETicket|tickets]] with SOAP request GetSystemCommonETicket, instead of directly downloading the cetk with HTTPS. The cetk is still accessible via HTTP, however 3DS doesn't use direct HTTP for this.<br />
<br />
<br />
'''TitleID Structure''': 0xCCCCABCDLLLLLLRR<br />
<br />
* CCCC defines the console '''Platform''' (4=3DS, 3=DSi, 1=[http://wiibrew.org/wiki/Title_database Wii])<br />
* ABCD defines the '''Content Category''' of the title, Demo, DLPChild, etc.<br />
* LLLLLL For CTR titles, this is the title's '''Unique ID'''. For TWL converted titles this is in two sections grouped as SSLLLL. SS is the old title identification used by the DSi and is made redundant by 'ABCD'. LLLL is the TWL title's 'Unique ID'. There are restrictions on the Unique ID, see below for more info.<br />
* RR This is the Title ID '''Variation''', and has various uses.<br />
<br />
<br />
'''Content Categories''':<br />
<br />
This u16 is a collection bit mask flag. Each Category is a group of one or more bit masks.<br />
<br />
Specific Bitmask Flags:<br />
{| class="wikitable" border="1"<br />
|-<br />
! Category<br />
! Bitmask<br />
|-<br />
| Normal<br />
| 0x0<br />
|-<br />
| DlpChild<br />
| 0x1<br />
|-<br />
| Demo<br />
| 0x2<br />
|-<br />
| Contents<br />
| 0x3<br />
|-<br />
| AddOnContents<br />
| 0x4<br />
|-<br />
| Patch<br />
| 0x6<br />
|-<br />
| CannotExecution<br />
| 0x8<br />
|-<br />
| System<br />
| 0x10<br />
|-<br />
| RequireBatchUpdate<br />
| 0x20<br />
|-<br />
| NotRequireUserApproval<br />
| 0x40<br />
|-<br />
| NotRequireRightForMount<br />
| 0x80<br />
|-<br />
| CanSkipConvertJumpId<br />
| 0x100<br />
|-<br />
| TWL<br />
| 0x8000<br />
|}<br />
<br />
* TWL Category bit mask are carried over from original TWL category bitmasks (ignoring bit mask 0x8000), so TWL system titles have the bitmask of 0x8001.<br />
<br />
* System titles (TWL and CTR) are eligible to be updated during a System Update.<br />
<br />
* Bit Mask 0x4000 appears to be reserved, as it renders the ''TWL'' and ''System'' bit masks useless.<br />
<br />
'''Unique ID Restrictions''':<br />
<br />
For the CTR titles, there appears to be is a correlation between Unique IDs (UID) and 3DS 'title types'. For developer titles this is known(shown below), and retail titles *appear* to follow suite. It is unknown if this correlation is enforced on retail units, or if it is just for organisation purposes. <br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! TITLE TYPE<br />
! UNIQUE ID RANGE<br />
|-<br />
| System<br />
| 0x0 - 0x2FF<br />
|- <br />
| Application<br />
| 0x300 - 0xF7FFF<br />
|- <br />
| Evaluation<br />
| 0xF8000 -0xFFFFF<br />
|- <br />
| Prototype*<br />
| 0xFF000 - 0xFF3FF<br />
|}<br />
<nowiki>*</nowiki>On the home menu, titles with UIDs within the 'Prototype' range, appear on the home menu after install without the gift fanfare.<br />
<br />
'''TitleID Variation''':<br />
<br />
This u8 allows enumeration of titles from the same category and unique ID. Common uses are explained below:<br />
<br />
* CTR System Titles: The 3DS has two copies of most modules/applets/archives for usage with either the NATIVE_FIRM or SAFE_MODE_FIRM. This is allowed for, by changing the title ID variation of the title to match the core version set by the FIRM it is designed to be used with:<br />
{| class="wikitable" border="1"<br />
|-<br />
! RR<br />
! MEANING<br />
|- <br />
| 02<br />
| System Title (Core version 0x2)<br />
|-<br />
| 03<br />
| SAFE_MODE System Title (Core version 0x3)<br />
|}<br />
Normally on retail SAFE_MODE ARM11 [[NCCH#CXI|CXI]] titles can't be launched, since the [[Configuration_Memory|system]] core version doesn't match the CXI exheader core version.<br />
<br />
* Only most non-Normal Applications are known to utilise Title ID variation, this is explained in their respective sections on this page.<br />
<br />
* [[3DS Development Unit Software|Dev Menu]] installs CTR Applications with a TitleID variation of 0x02 to the CTR NAND.<br />
<br />
* Title ID variation is ignored for TWL titles, this value is carried over from the original TWL title ID and is used for region lock:<br />
<br />
=== Versions ===<br />
<br />
v## = 0xHHHH = 0bBBBBBBBB...<br />
<br />
* The version major,minor and micro can be extracted from the version number by converting the 16 bit number to binary<br />
* 6 bits : Major<br />
* 6 bits : Minor<br />
* 4 bits : Micro ('Build' in some contexts)<br />
* i.e. v2069 (Taken from 000400DB00017302) = 0b000010 000001 0101 means that the title version is v2.1.5. For reasons unknown, the CVer build, stored in the RomFS of the title, has always been zero (at time of writing), regardless of the CVer build in the TMD. So when predicting the firmware version, this should be taken into account.<br />
<br />
NOTE: This Title list is a condensed version, only the System Titles lists are full lists. For a full list of titles on Nintendo's CDN, see [http://mtheall.com/~mtheall/tmdlist.php here]. The reports/title-lists from [http://yls8.mtheall.com/reports.php here] are automatically obtained from the system update SOAP.<br />
<br />
== CTR System Titles ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! System Category<br />
! Bit Mask(s)<br />
! Category Bit Mask<br />
|-<br />
| Application (SYSTEM_APPLICATION)<br />
| Normal<nowiki>|</nowiki>System<br />
| 0x0010<br />
|-<br />
| System Data Archives (SYSTEM_CONTENT)<br />
| Contents<nowiki>|</nowiki>CannotExecution<nowiki>|</nowiki>System<br />
| 0x001B<br />
|-<br />
| Shared Data Archives (SHARED_CONTENT)<br />
| Contents<nowiki>|</nowiki>CannotExecution<nowiki>|</nowiki>System<nowiki>|</nowiki>NotRequireRightForMount<br />
| 0x009B<br />
|-<br />
| System Data Archives (AUTO_UPDATE_CONTENT)<br />
| Contents<nowiki>|</nowiki>CannotExecution<nowiki>|</nowiki>System<nowiki>|</nowiki>NotRequireUserApproval<nowiki>|</nowiki>NotRequireRightForMount<br />
| 0x00DB<br />
|-<br />
| Applet (APPLET)<br />
| Normal<nowiki>|</nowiki>System<nowiki>|</nowiki>RequireBatchUpdate<br />
| 0x0030<br />
|-<br />
| Module (BASE)<br />
| Normal<nowiki>|</nowiki>System<nowiki>|</nowiki>RequireBatchUpdate<nowiki>|</nowiki>CanSkipConvertJumpId<br />
| 0x0130<br />
|-<br />
| Firmware (FIRMWARE)<br />
| Normal<nowiki>|</nowiki>CannotExecution<nowiki>|</nowiki>System<nowiki>|</nowiki>RequireBatchUpdate<nowiki>|</nowiki>CanSkipConvertJumpId<br />
| 0x0138<br />
|}<br />
<br />
=== 00040010 - System Applications ===<br />
The versions for CHN, KOR, and TWN are separate from the other regions.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! JPN TIDLow<br />
! USA TIDLow<br />
! EUR TIDLow<br />
! CHN TIDLow<br />
! KOR TIDLow<br />
! TWN TIDLow<br />
! Description<br />
! JPN Versions<br />
! EUR Versions<br />
! USA Versions<br />
! CHN Versions<br />
! KOR Versions<br />
! TWN Versions<br />
! Status<br />
|-<br />
| 00020000<br />
| 00021000<br />
| 00022000<br />
| 00026000<br />
| 00027000<br />
| 00028000<br />
| [[System Settings]] (mset)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1027]], [[3.0.0-5|v2060]], [[4.0.0-7|v3074]], [[5.0.0-11|v4097]], [[6.0.0-11|v5127]], [[7.0.0-13|v6157]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1027]], [[3.0.0-5|v2061]], [[4.0.0-7|v3075]], [[5.0.0-11|v4097]], [[6.0.0-11|v5127]], [[7.0.0-13|v6157]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1027]], [[3.0.0-5|v2062]], [[4.0.0-7|v3078]], [[5.0.0-11|v4098]], [[6.0.0-11|v5128]], [[7.0.0-13|v6157]]<br />
| [[4.0.0-7|v8]], v1024, [[5.0.0-11|v2049]], [[7.0.0-13|v3075]]<br />
| [[4.0.0-7|v1026]], [[5.0.0-11|v2049]], [[7.0.0-13|v4098]]<br />
| [[4.1.0-8|v8]], [[4.2.0-9|v1024]], [[5.0.0-11|v2050]], [[7.0.0-13|v3074]]<br />
| Active<br />
|-<br />
| 00020100<br />
| 00021100<br />
| 00022100<br />
| 00026100<br />
| 00027100<br />
| 00028100<br />
| [[Download Play]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1026]], [[4.0.0-7|v2051]]<br />
| Same as JPN<br />
| Same as JPN<br />
| [[4.0.0-7|v4]]<br />
| [[4.0.0-7|v1027]]<br />
| [[4.1.0-8|v4]]<br />
| Active<br />
|-<br />
| 00020200<br />
| 00021200<br />
| 00022200<br />
| 00026200<br />
| 00027200<br />
| 00028200<br />
| [[Activity Log]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[3.0.0-5|v2051]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[3.0.0-5|v2054]], [[7.0.0-13|v2064]]<br />
| Same as EUR<br />
| [[4.0.0-7|v3]]<br />
| [[4.0.0-7|v2]], [[7.0.0-13|v16]]<br />
| [[4.1.0-8|v2]]<br />
| Active<br />
|-<br />
| 00020300<br />
| 00021300<br />
| 00022300<br />
| 00026300<br />
| 00027300<br />
| 00028300<br />
| [[Health and Safety Information]]<br />
| [[1.0.0-0|v0]], [[4.0.0-7|v1024]], [[6.0.0-11|v2050]]<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[4.0.0-7|v2050]], [[6.0.0-11|v3077]]<br />
| [[1.0.0-0|v0]], [[4.0.0-7|v1026]], [[6.1.0-12U|v2051]]<br />
| [[4.0.0-7|v5]]<br />
| [[4.0.0-7|v2]]<br />
| [[4.1.0-8|v5]]<br />
| Active<br />
|-<br />
| 00020400<br />
| 00021400<br />
| 00022400<br />
| 00026400<br />
| 00027400<br />
| 00028400<br />
| [[Nintendo 3DS Camera]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v16]], [[3.0.0-5|v1038]], [[4.0.0-7|v2048]], [[6.0.0-11|v3073]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v16]], [[3.0.0-5|v1039]], [[4.0.0-7|v2048]], [[6.0.0-11|v3073]], [[7.0.0-13|v3088]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v16]], [[3.0.0-5|v1039]], [[4.0.0-7|v2048]], [[6.1.0-12U|v3074]], [[7.0.0-13|v3088]]<br />
| [[4.0.0-7|v3]]<br />
| [[4.0.0-7|v2]], [[7.0.0-13|v1040]]<br />
| [[4.1.0-8|v3]]<br />
| Active<br />
|-<br />
| 00020500<br />
| 00021500<br />
| 00022500<br />
| 00026500<br />
| 00027500<br />
| 00028500<br />
| [[Nintendo 3DS Sound]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1027]], [[3.0.0-5|v2049]], [[4.0.0-7|v3072]], [[7.0.0-13|v3089]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1027]], [[3.0.0-5|v2049]], [[4.0.0-7|v3072]], [[7.0.0-13|v3088]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1027]], [[3.0.0-5|v2049]], [[4.0.0-7|v3072]], [[7.0.0-13|v3088]]<br />
| [[4.0.0-7|v2]]<br />
| [[4.0.0-7|v2]], [[7.0.0-13|v16]]<br />
| [[4.1.0-8|v3]]<br />
| Active<br />
|-<br />
| 00020700<br />
| 00021700<br />
| 00022700<br />
| 00026700<br />
| 00027700<br />
| 00028700<br />
| [[Mii Maker]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[7.0.0-13|v2055]]<br />
| Same as JPN<br />
| Same as JPN<br />
| [[4.0.0-7|v1]]<br />
| [[4.0.0-7|v1]], [[7.0.0-13|v16]]<br />
| [[4.1.0-8|v2]]<br />
| Active<br />
|-<br />
| 00020800<br />
| 00021800<br />
| 00022800<br />
| 00026800<br />
| 00027800<br />
| 00028800<br />
| [[StreetPass Mii Plaza]]<br />
| [[1.0.0-0|v0]], v1027, [[2.1.0-4|v2048]], [[3.0.0-5|v3087]], [[3.0.0-6|v4096]], [[6.0.0-11|v5121]]<br />
| [[1.0.0-0|v0]], v1027, [[2.1.0-4|v2048]], [[3.0.0-5|v3087]], [[3.0.0-6|v4096]], [[6.0.0-11|v5122]]<br />
| [[1.0.0-0|v0]], v1027, [[2.1.0-4|v2048]], [[3.0.0-5|v3087]], [[3.0.0-6|v4096]], [[6.1.0-12U|v5124]], [[7.0.0-13|v5136]]<br />
| [[4.0.0-7|v0]], [[4.4.0-10|v4096]]<br />
| [[4.0.0-7|v1]], [[4.4.0-10|v4096]], [[7.0.0-13|v5120]]<br />
| [[4.1.0-8|v1]], [[4.4.0-10|v4096]]<br />
| Active<br />
|-<br />
| 00020900<br />
| 00021900<br />
| 00022900<br />
| N/A<br />
| 00027900<br />
| 00028900<br />
| [[eShop]] (tiger)<br />
| [[2.0.0-2|v4]], [[2.1.0-3|v1026]], [[3.0.0-5|v2057]], [[4.0.0-7|v3081]], [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7169]], [[7.0.0-13|v8206]], [[7.1.0-14|v9231]]<br />
| [[2.0.0-2|v4]], [[2.1.0-3|v1026]], [[3.0.0-5|v2058]], [[4.0.0-7|v3081]], [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7171]], [[7.0.0-13|v8206]], [[7.1.0-14|v9231]]<br />
| [[2.0.0-2|v4]], [[2.1.0-3|v1026]], [[3.0.0-5|v2058]], [[4.0.0-7|v3081]], [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7170]], [[7.0.0-13|v8206]], [[7.1.0-14|v9231]]<br />
| N/A<br />
| [[4.0.0-7|v3082]], [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7169]], [[7.0.0-13|v8205]], [[7.1.0-14|v9231]]<br />
| [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7170]], [[7.0.0-13|v8205]], [[7.1.0-14|v9231]]<br />
| Active<br />
|-<br />
| 00020A00<br />
| 00021A00<br />
| 00022A00<br />
| N/A<br />
| 00027A00<br />
| 00028A00<br />
| [[System Transfer]] (CARDBOAR)<br />
| [[2.0.0-2|v4]], [[3.0.0-5|v1035]], [[4.0.0-7|v2050]], [[5.0.0-11|v3074]], [[7.0.0-13|v4109]]<br />
| [[2.0.0-2|v4]], [[3.0.0-5|v1035]], [[4.0.0-7|v2050]], [[5.0.0-11|v3073]], [[7.0.0-13|v4109]]<br />
| [[2.0.0-2|v4]], [[3.0.0-5|v1035]], [[4.0.0-7|v2051]], [[5.0.0-11|v3073]], [[7.0.0-13|v4109]]<br />
| N/A<br />
| [[4.0.0-7|v2]], [[5.0.0-11|v1025]], [[7.0.0-13|v2061]]<br />
| [[4.1.0-8|v2]], [[5.0.0-11|v1025]], [[7.0.0-13|v2061]]<br />
| Active<br />
|-<br />
| 00020B00<br />
| 00021B00<br />
| 00022B00<br />
| N/A<br />
| N/A<br />
| N/A<br />
| [[Nintendo Zone]]<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1034]]<br />
| Same as JPN<br />
| Same as JPN<br />
| N/A<br />
| N/A<br />
| N/A<br />
| Active<br />
|-<br />
| 00020D00<br />
| 00021D00<br />
| 00022D00<br />
| 00026D00<br />
| 00027D00<br />
| 00028D00<br />
| [[Face Raiders]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1028]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1028]], [[7.0.0-13|v1040]]<br />
| Same as EUR<br />
| [[4.0.0-7|v0]]<br />
| [[4.0.0-7|v0]]<br />
| [[4.1.0-8|v2]]<br />
| Active<br />
|-<br />
| 00020E00<br />
| 00021E00<br />
| 00022E00<br />
| 00026E00<br />
| 00027E00<br />
| 00028E00<br />
| [[AR Games]] (AR_ACT)<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1026]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1026]], [[7.0.0-13|v1040]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1027]], [[7.0.0-13|v1040]]<br />
| [[4.0.0-7|v0]]<br />
| [[4.0.0-7|v0]], [[7.0.0-13|v16]]<br />
| [[4.1.0-8|v1]]<br />
| Active<br />
|-<br />
| 00020F00<br />
| 00021F00<br />
| 00022F00<br />
| 00026F00<br />
| 00027F00<br />
| 00028F00<br />
| SAFE_MODE [[System Settings#System Updater|System Updater]] (mset)<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[6.0.0-11|v2049]]<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[6.0.0-11|v2050]]<br />
| Same as JPN<br />
| [[4.0.0-7|v1]], [[6.0.0-11|v1026]]<br />
| [[4.0.0-7|v1]]<br />
| [[4.1.0-8|v1]]<br />
| Active<br />
|-<br />
| 00023000<br />
| 00024000<br />
| 00025000<br />
| N/A<br />
| N/A<br />
| N/A<br />
| Promotional video<br />
| [[1.1.0-1|v0]], [[2.0.0-2|v2048]]<br />
| Same as JPN<br />
| Same as JPN<br />
| N/A<br />
| N/A<br />
| N/A<br />
| Stubbed<br />
|-<br />
| 0002BF00<br />
| 0002C000<br />
| 0002C100<br />
| N/A<br />
| N/A<br />
| N/A<br />
| act (Most likely Nintendo Network ID Settings)<br />
| [[7.0.0-13|v14]]<br />
| Same as JPN<br />
| Same as JPN<br />
| N/A<br />
| N/A<br />
| N/A<br />
| Active<br />
|}<br />
<br />
The "act" application seems to use a web browser with webkit?<br />
<br />
=== 0004001B - [[NCCH#CFA|System Data Archives]] ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Description<br />
! Versions<br />
|-<br />
| 00010002<br />
| [[ClCertA]]<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00010702<br />
| [[NS CFA]]<br />
| [[3.0.0-5|v0]], [[6.0.0-11|v1028]], [[6.3.0-12|v2048]], [[7.0.0-13|v3073]]<br />
|-<br />
| 00010802<br />
| This CFA only contains a 1-byte "dummy.txt" in the RomFS, which contains '0'.<br />
| [[6.3.0-12|v0]]<br />
|-<br />
| 00018002<br />
| Same contents as 00010802.<br />
| [[7.0.0-13|v14]]<br />
|-<br />
| 00018102<br />
| This contains local web-browser data(html/js, gfx, etc) for the Miiverse Offline-mode.<br />
| [[7.0.0-13|v11]]<br />
|-<br />
| 00018202<br />
| This contains the webkit/OSS [[CRO0|CROs]] used with the Miiverse applet and the "act" application.<br />
| [[7.0.0-13|v7]]<br />
|}<br />
<br />
=== 00040030 - Applets===<br />
{| class="wikitable" border="1"<br />
|-<br />
! JPN TitleIDLow<br />
! USA TitleIDLow<br />
! EUR TitleIDLow<br />
! Description<br />
! Versions<br />
|-<br />
| 00008102<br />
| 00008102<br />
| 00008102<br />
| [[NS#Alternate menu|Alternate menu]]<br />
| N/A<br />
|-<br />
| 00008202<br />
| 00008F02<br />
| 00009802<br />
| [[Home Menu|SYSMENU]] (menu)<br />
| v0, v1029, v2049, [[2.2.0-X|v3075]], v4111, v5131, [[4.2.0-9|v6146]], [[5.0.0-11|v7172]], [[6.0.0-11|v8198]], [[7.0.0-13|v9230]]<br />
|-<br />
| 00008402<br />
| 00009002<br />
| 00009902<br />
| Camera applet used by Home-menu (CtrApp)<br />
| v0, v1036<br />
|-<br />
| 00008502<br />
| 00009102<br />
| 00009A02<br />
| Not available on CDN<br />
| ?<br />
|-<br />
| 00008602<br />
| 00009202<br />
| 00009B02<br />
| Instruction Manual, application for displaying instruction manuals<br />
| v0, v1026, v2048, v3072, [[5.0.0-11|v4097]]<br />
|-<br />
| 00008702<br />
| 00009302<br />
| 00009C02<br />
| Game Notes (Cherry)<br />
| v0, v1026, v2049, [[5.0.0-11|v3073]]<br />
|-<br />
| 00008802<br />
| 00009402<br />
| 00009D02<br />
| [[Internet Browser]] (spider)<br />
| [[2.0.0-2|v6]], [[2.1.0-4|v1024]], [[4.0.0-7|v2050]], [[5.0.0-11|v3075]], [[7.0.0-13|v3088]]<br />
|-<br />
| 00008A02<br />
| 00008A02<br />
| 00008A02<br />
| [[ErrDisp]]<br />
| v0, v1025, [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5121]]<br />
|-<br />
| 00008A03<br />
| 00008A03<br />
| 00008A03<br />
| SAFE_MODE [[ErrDisp]]<br />
| v0<br />
|-<br />
| 00008D02<br />
| 00009602<br />
| 00009F02<br />
| Friend List (friend)<br />
| v0, v1026, [[2.2.0-X|v2051]], v3082, v4099, [[7.0.0-13|v5120]] (EUR v6, v1024, v3082, v4099, [[7.0.0-13|v5120]])<br />
|-<br />
| 00008E02<br />
| 00009702<br />
| 0000A002<br />
| Notifications (newslist)<br />
| v0, v1029, v2054, v3075 (EUR v6, v1024, v2054, v3075)<br />
|-<br />
| 0000C002<br />
| 0000C802<br />
| 0000D002<br />
| Software Keyboard (swkbd)<br />
| v0, v1026, v2053, [[7.0.0-13|v3072]]<br />
|-<br />
| 0000C003<br />
| 0000C803<br />
| 0000D003<br />
| Software Keyboard (swkbd)<br />
| v0<br />
|-<br />
| 0000C102<br />
| 0000C902<br />
| 0000D102<br />
| appletEd<br />
| v0, v1026<br />
|-<br />
| 0000C302<br />
| 0000CB02<br />
| N/A<br />
| PNOTE_AP<br />
| v0, v1024<br />
|-<br />
| 0000C402<br />
| 0000CC02<br />
| N/A<br />
| SNOTE_AP<br />
| v0, v3<br />
|-<br />
| 0000C502<br />
| 0000C502<br />
| 0000C502<br />
| error<br />
| v0, v1026, v2053, v3074<br />
|-<br />
| 0000C503<br />
| 0000C503<br />
| 0000C503<br />
| error<br />
| v0<br />
|-<br />
| 0000CD02<br />
| 0000CD02<br />
| 0000CD02<br />
| extrapad<br />
| v1, v1026<br />
|-<br />
| 0000C602<br />
| 0000CE02<br />
| 0000D602<br />
| mint (eShop related?)<br />
| v5, v1028, [[4.2.0-9|v2050]], [[5.0.0-11|v3072]], [[7.0.0-13|v4109]]<br />
|-<br />
| ?<br />
| ?<br />
| 0000D302<br />
| ?<br />
| v0, v1024<br />
|-<br />
| ?<br />
| ?<br />
| 0000D402<br />
| ?<br />
| v3<br />
|-<br />
| 0000BC02<br />
| 0000BD02<br />
| 0000BE02<br />
| olv (Miiverse applet)<br />
| [[7.0.0-13|v14]]<br />
|-<br />
| 0000F602<br />
| 0000F602<br />
| 0000F602<br />
| memolib<br />
| [[7.0.0-13|v5]]<br />
|}<br />
<br />
Most of these processes are applets. There can only be one application here(Home Menu, Internet Browser, Friend-List, etc) with programID-high 00040030 running at a time. When directly launching one of these 00040030 applications with Home Menu, the Home Menu process will terminate once the process is launched. When returning to Home Menu from that launched process, the Home Menu process is launched again.<br />
<br />
The Miiverse applet seems to use a web browser with webkit.<br />
<br />
=== 0004009B - [[NCCH#CFA|System Data Archives]] (Shared Archives) ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! JPN TitleIDLow<br />
! USA TitleIDLow<br />
! EUR TitleIDLow<br />
! Description<br />
! Versions<br />
|-<br />
| 00010202<br />
| 00010202<br />
| 00010202<br />
| ?<br />
| v0<br />
|-<br />
| 00010302<br />
| 00010302<br />
| 00010302<br />
| ?<br />
| v0, v2052<br />
|-<br />
| 00010402<br />
| 00010402<br />
| 00010402<br />
| Mounted as "area:"<br />
| v0, v1024, v2050, v3072, [[7.0.0-13|v4098]]<br />
|-<br />
| 00010502<br />
| 00010502<br />
| 00010502<br />
| ?<br />
| v0, v1024, v2048<br />
|-<br />
| 00010602<br />
| 00010602<br />
| 00010602<br />
| ?<br />
| v2<br />
|-<br />
| 00011902<br />
| ?<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| 00011402<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| 00011602<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| 00011D02<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| 00011E02<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011202<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011302<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011502<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011702<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011802<br />
| ?<br />
| v0<br />
|-<br />
| 00011902<br />
| ?<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011B02<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011C02<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011D02<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00012102<br />
| ?<br />
| v0, v1026, v2051, v3074<br />
|-<br />
| 00012202<br />
| 00012302<br />
| 00012102<br />
| ?<br />
| v1026, v2053, v3073, [[4.2.0-9|v4096]], [[5.0.0-11|v5120]], [[7.0.0-13|v6149]]<br />
|-<br />
| 00013202<br />
| 00013302<br />
| 00013102<br />
| Mounted as "eula:"<br />
| v0, v1024, v2049 USA: v1024, v2051, [[7.0.0-13|v3074]]<br />
|-<br />
| 00014002<br />
| 00014002<br />
| 00014002<br />
| JPN/EUR/USA System Font ("font:")<br />
| v0<br />
|-<br />
| 00014102<br />
| 00014102<br />
| 00014102<br />
| CHN System Font ("font:")<br />
| v0, v1024<br />
|-<br />
| 00014202<br />
| 00014202<br />
| 00014202<br />
| KOR System Font ("font:")<br />
| v0, v1024<br />
|-<br />
| 00014302<br />
| 00014302<br />
| 00014302<br />
| TWN System Font ("font:")<br />
| v0, v1024<br />
|-<br />
| 00015202<br />
| 00015302<br />
| 00015102<br />
| Mounted as "rate:"<br />
| v0 (EUR: v0, v1024)<br />
|-<br />
| ?<br />
| 00016302<br />
| ?<br />
| ?<br />
| v80<br />
|-<br />
| ?<br />
| 00017302<br />
| ?<br />
| ?<br />
| v3088<br />
|}<br />
<br />
=== 000400DB - [[NCCH#CFA|System Data Archives]] ===<br />
These [[NVer]] titleIDs can be found @ offset 0x320 in every [[CCI]]. The title version is likely used to determine whether a system update is needed, it's unknown whether this is involved with region-locking at all.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! EUR TitleIDLow<br />
! JPN TitleIDLow<br />
! USA TitleIDLow<br />
! CHN TitleIDLow<br />
! KOR TitleIDLow<br />
! TWN TitleIDLow<br />
! Description<br />
! USA/EUR/JPN Versions<br />
! CHN Versions<br />
! TWN Versions<br />
! KOR Versions<br />
|-<br />
| 00010302<br />
| 00010302<br />
| 00010302<br />
| 00010302<br />
| 00010302<br />
| 00010302<br />
| NGWord bad word list<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1024]], [[3.0.0-5|v2052]], [[4.0.0-7|v3072]], [[4.3.0-10|v4096]], [[5.0.0-11|v5120]]<br />
| Same as USA<br />
| Same as USA<br />
| Same as USA<br />
|-<br />
| 00010502<br />
| 00010502<br />
| 00010502<br />
| 00010502<br />
| 00010502<br />
| 00010502<br />
| [[Nintendo Zone]] hotspot list<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1024]], [[3.0.0-5|v2048]], [[4.0.0-7|v3073]], [[4.3.0-10|v4096]], [[4.4.0-10|v5120]], [[4.5.0-10|v6144]], [[5.0.0-11|v7169]], [[6.0.0-11|v8192]], [[6.2.0-12|v9216]], [[7.0.0-13|v10242]]<br />
| Same as USA<br />
| Same as USA<br />
| Same as USA<br />
|-<br />
| 00016102<br />
| 00016202<br />
| 00016302<br />
| 00016402<br />
| 00016502<br />
| 00016602<br />
| [[NVer]]<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v16]], [[2.0.0-2|v32]], [[2.1.0-3|v48]], [[2.1.0-4|v64]], [[3.0.0-5|v80]], [[3.0.0-6|v96]], [[4.0.0-7|v112]], [[4.1.0-8|v128]], [[4.2.0-9|v144]], [[4.3.0-10|v160]], [[5.0.0-11|v176]], non-USA=[[6.0.0-11|v192]]/USA=[[6.1.0-12U|v192]], [[7.0.0-13|v208]], [[7.1.0-14|v224]]<br />
| [[4.0.0-7|v113]], [[4.2.0-9|v128]], [[5.0.0-11|v129]]<br />
| [[4.1.0-8|v114]], [[4.2.0-9|v133]], [[4.3.0-10|v134]], [[5.0.0-11|v136]], [[7.0.0-13|v144]], [[7.1.0-14|v160]]<br />
| [[4.0.0-7|v113]], [[4.1.0-8|v114]], [[4.2.0-9|v133]], [[4.3.0-10|v134]], [[5.0.0-11|v136]], [[7.0.0-13|v160]], [[7.1.0-14|v176]]<br />
|-<br />
| 00017102<br />
| 00017202<br />
| 00017302<br />
| 00017402<br />
| 00017502<br />
| 00017602<br />
| [[CVer]]<br />
| [[1.0.0-0|v1024]], [[1.1.0-1|v1045]], [[2.0.0-2|v2049]], [[2.1.0-3|v2069]], [[3.0.0-5|v3088]], [[4.0.0-7|v4098]], [[4.1.0-8|v4113]], [[4.2.0-9|v4130]], [[4.3.0-10|v4145]], [[4.4.0-10|v4163]], [[4.5.0-10|v4176]], [[5.0.0-11|v5120]], [[5.1.0-11|v5136]], [[6.0.0-11|v6146]], [[6.1.0-11|v6160]], [[6.2.0-12|v6178]], [[6.3.0-12|v6192]], [[7.0.0-13|v7175]], [[7.1.0-14|v7187]]<br />
| Same as USA<br />
| Same as USA<br />
| Same as USA<br />
|}<br />
<br />
=== 00040130 - System [[Services API|Modules]] ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Description<br />
! Versions<br />
|-<br />
| 00001002<br />
| sm (Stored in [[FIRM|NATIVE_FIRM]])<br />
| N/A<br />
|-<br />
| 00001102<br />
| [[Filesystem services|fs]] (Stored in [[FIRM|NATIVE_FIRM]])<br />
| N/A<br />
|-<br />
| 00001202<br />
| [[Process Manager Services|pm]] (Stored in [[FIRM|NATIVE_FIRM]])<br />
| N/A<br />
|-<br />
| 00001302<br />
| loader (Stored in [[FIRM|NATIVE_FIRM]])<br />
| N/A<br />
|-<br />
| 00001402<br />
| pxi (Stored in [[FIRM|NATIVE_FIRM]])<br />
| N/A<br />
|-<br />
| 00001502<br />
| [[Application Manager Services|AM]] ( Application Manager )<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[3.0.0-5|v2053]], [[4.0.0-7|v3072]], [[5.0.0-11|v4098]], [[6.0.0-11|v5120]]<br />
|-<br />
| 00001503<br />
| AM<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001602<br />
| Camera<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[3.0.0-5|v2048]], [[4.0.0-7|v3074]], [[5.0.0-11|v4098]], [[6.0.0-11|v5120]], [[7.1.0-14|v6146]]<br />
|-<br />
| 00001702<br />
| [[Config Services|Config]] (cfg)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1024]], [[3.0.0-5|v2049]], [[4.0.0-7|v4096]], [[5.0.0-11|v5122]], [[6.0.0-11|v6145]], [[6.1.0-11|v7168]], [[7.0.0-13|v8196]]<br />
|-<br />
| 00001703<br />
| Config (cfg)<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001802<br />
| Codec<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[5.0.0-11|v4098]], [[7.0.0-13|v5120]]<br />
|-<br />
| 00001803<br />
| Codec<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001A02<br />
| DSP<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[4.0.0-7|v2048]], [[5.0.0-11|v3074]], [[6.0.0-11|v4096]]<br />
|-<br />
| 00001A03<br />
| DSP<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001B02<br />
| GPIO<br />
| [[1.0.0-0|v0]], [[5.0.0-11|v1025]]<br />
|-<br />
| 00001B03<br />
| GPIO<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001C02<br />
| GSP<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v1040]], [[2.0.0-2|v2049]], [[3.0.0-5|v3075]], [[4.0.0-7|v5120]], [[5.0.0-11|v6145]], [[6.0.0-11|v7168]]<br />
|-<br />
| 00001C03<br />
| GSP<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001D02<br />
| HID (Human Interface Devices) <br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5121]]<br />
|-<br />
| 00001D03<br />
| HID<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001E02<br />
| i2c<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[5.0.0-11|v2049]]<br />
|- <br />
| 00001E03<br />
| i2c<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001F02<br />
| MCU<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.1.0-3|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4102]], [[5.0.0-11|v5122]], [[6.0.0-11|v6145]], [[7.0.0-13|v7168]]<br />
|-<br />
| 00001F03<br />
| MCU<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002002<br />
| Microphone (mic)<br />
| [[1.0.0-0|v0]], [[5.0.0-11|v1025]]<br />
|-<br />
| 00002102<br />
| PDN<br />
| [[1.0.0-0|v0]], [[5.0.0-11|v1025]]<br />
|-<br />
| 00002103<br />
| PDN<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002202<br />
| PTM (Play time, pedometer, and battery manager)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3075]], [[4.0.0-7|v5120]], [[5.0.0-11|v6146]], [[6.0.0-11|v7168]], [[7.0.0-13|v8192]]<br />
|-<br />
| 00002203<br />
| PTM<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002302<br />
| spi<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[5.0.0-11|v2049]]<br />
|-<br />
| 00002303<br />
| spi<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002402<br />
| Network manager (AC)<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v1024]], [[2.0.0-2|v2052]], [[2.1.0-3|v3072]], [[3.0.0-5|v4101]], [[5.0.0-11|v5122]], [[7.0.0-13|v6145]]<br />
|-<br />
| 00002403<br />
| AC<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002602<br />
| Cecd (StreetPass)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3073]], [[4.0.0-7|v4097]], [[5.0.0-11|v5122]], [[6.0.0-11|v6144]], [[6.2.0-12|v7170]], [[7.0.0-13|v8193]]<br />
|-<br />
| 00002702<br />
| CSND<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[4.0.0-7|v2048]], [[5.0.0-11|v3073]]<br />
|-<br />
| 00002703<br />
| CSND<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002802<br />
| dlp ([[Download Play]])<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3078]], [[5.0.0-11|v4099]]<br />
|-<br />
| 00002902<br />
| http<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.1.0-3|v2049]], [[2.2.0-X|v3072]], [[3.0.0-5|v4099]], [[4.0.0-7|v5122]], [[5.0.0-11|v6145]], [[7.0.0-13|v7171]], [[7.1.0-14|v8192]]<br />
|-<br />
| 00002903<br />
| http<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002A02<br />
| MP<br />
| [[1.0.0-0|v0]], [[5.0.0-11|v1025]]<br />
|-<br />
| 00002A03<br />
| MP<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002B02<br />
| NDM<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[3.0.0-5|v2049]], [[4.0.0-7|v3072]], [[5.0.0-11|v4098]]<br />
|-<br />
| 00002C02<br />
| [[NIM Services|NIM]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1028]], [[3.0.0-5|v2055]], [[4.0.0-7|v3074]], [[5.0.0-11|v4100]], [[6.0.0-11|v5120]], [[7.0.0-13|v6148]]<br />
|-<br />
| 00002C03<br />
| NIM<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002D02<br />
| NWM ( Low-level wifi manager )<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v1024]], [[2.0.0-2|v2052]], [[2.2.0-X|v3072]], [[3.0.0-5|v4101]], [[4.0.0-7|v5120]], [[5.0.0-11|v6148]], [[6.0.0-11|v7169]]<br />
|-<br />
| 00002D03<br />
| NWM<br />
| [[1.0.0-0|v0]], [[6.0.0-11|v5120]]<br />
|-<br />
| 00002E02<br />
| Sockets<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v1024]], [[2.0.0-2|v2053]], [[3.0.0-5|v3075]], [[4.0.0-7|v4096]], [[5.0.0-11|v5121]]<br />
|-<br />
| 00002E03<br />
| Sockets<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002F02<br />
| SSL<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1024]], [[2.1.0-3|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5122]]<br />
|-<br />
| 00002F03<br />
| SSL<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00003102<br />
| [[Process Services|PS]] ( Process Manager )<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[5.0.0-11|v2049]], [[6.0.0-11|v3072]]<br />
|-<br />
| 00003103<br />
| PS<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00003202<br />
| FriendsList (friends)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1028]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5122]], [[7.0.0-13|v6145]]<br />
|-<br />
| 00003203<br />
| FriendsList (friends)<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00003302<br />
| IR (Infrared)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5121]]<br />
|-<br />
| 00003303<br />
| IR<br />
| [[1.0.0-0|v0]]<br />
|- <br />
| 00003402<br />
| BOSS (SpotPass)<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v1024]], [[2.0.0-2|v2053]], [[2.2.0-X|v3073]], [[3.0.0-5|v4101]], [[4.0.0-7|v5122]], [[5.0.0-11|v6146]], [[6.0.0-11|v7169]], [[6.2.0-12|v8193]], [[7.0.0-13|v9222]]<br />
|-<br />
| 00003502<br />
| News (Notifications)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1028]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[5.0.0-11|v4097]]<br />
|-<br />
| 00003702<br />
| [[RO_Services|RO]]<br />
| [[2.0.0-2|v0]], [[4.0.0-7|v1024]], [[5.0.0-11|v2049]]<br />
|-<br />
| 00003802<br />
| act (handles Nintendo Network '''a'''c'''c'''oun'''t'''s)<br />
| [[7.0.0-13|v1029]], [[7.1.0-14|v2050]]<br />
|-<br />
| 00008002<br />
| [[NS]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1028]], [[2.2.0-X|v2048]], [[3.0.0-5|v3077]], [[4.0.0-7|v5121]], [[5.0.0-11|v6148]], [[5.1.0-11|v7168]], [[6.0.0-11|v8193]], [[6.1.0-11|v9216]], [[7.0.0-13|v10248]]<br />
|-<br />
| 00008003<br />
| NS<br />
| [[1.0.0-0|v0]]<br />
|}<br />
<br />
Once Home Menu finishes loading, all of the above system modules are running, except for MP and RO which are automatically [[Process_Manager_Services|loaded]] when a process requires them. When [[Process_Manager_Services|PM]] module terminates processes, it will check whether the processes listed as dependencies for this process are listed as dependencies for other processes. Any processes which are no longer listed in any processes dependencies lists are then terminated.<br />
<br />
=== 00040138 - [[FIRM|System Firmware]] ===<br />
NATIVE_FIRM and SAFE_MODE_FIRM for the initial versions are exactly the same, besides [[Configuration_Memory|core-version]] fields. SAFE_MODE_FIRM is used for running SAFE_MODE titles, on retail SAFE_MODE_FIRM seems to be only used for running the [[System_Settings#System_Updater|System Updater]] application. When a GBA VC title is launched, AGB_FIRM is launched to handle running this title. GBA VC savegames stored under SD card /title/<TID>/data use a custom format, this is handled by AGB_FIRM.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Description<br />
! Versions<br />
|-<br />
| 00000002<br />
| NATIVE_FIRM (Native Firmware)<br />
| [[1.0.0-0|v432]], [[1.1.0-1|v1472]], [[2.0.0-2|v2516]], [[2.1.0-3|v3553]], [[2.2.0-X|v4595]], [[3.0.0-5|v5647]], [[4.0.0-7|v6677]], [[4.1.0-8|v7712]], [[5.0.0-11|v8758]], [[5.1.0-11|v9792]], [[6.0.0-11|v10833]], [[6.1.0-11|v11872]], [[7.0.0-13|v12916]]<br />
|-<br />
| 00000003<br />
| SAFE_MODE_FIRM <br />
| [[1.0.0-0|v432]], [[3.0.0-5|v5632]]<br />
|-<br />
| 00000102 <br />
| TWL_FIRM ( DSi Firmware )<br />
| [[1.0.0-0|v432]], [[2.0.0-2|v1489]], [[3.0.0-5|v2565]], [[4.0.0-7|v4625]], [[4.4.0-10|v5681]], [[4.5.0-10|v6704]], [[6.0.0-11|v7762]], [[6.2.0-12|v8817]]<br />
|- <br />
| 00000202<br />
| AGB_FIRM ( GBA Firmware )<br />
| [[3.0.0-5|v519]], [[4.0.0-7|v2576]], [[6.0.0-11|v3665]]<br />
|}<br />
<br />
== TWL System Titles ==<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Content Category<br />
! Bit Mask(s)<br />
! Category Bit Mask<br />
|-<br />
| System Application<br />
| TWL<nowiki>|</nowiki>0x1<nowiki>|</nowiki>0x4<br />
| 0x8005<br />
|-<br />
| System Archive<br />
| TWL<nowiki>|</nowiki>0x1<nowiki>|</nowiki>0x2<nowiki>|</nowiki>0x4<nowiki>|</nowiki>0x8<br />
| 0x800F<br />
|}<br />
Bitmask 0x1 for TWL titles determines whether the title will be updated during a System Update.<br />
<br />
=== 00048005 - System Applications===<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Region<br />
! Description<br />
! Versions<br />
! Information<br />
|-<br />
| 42383841(B88A)<br />
| ALL<br />
| [[DS Internet]]<br />
| v0, [[2.1.0-4|v1025]], [[3.0.0-5|v2048]]<br />
| [[DS Internet]] is the DSi-mode application launched by [[System Settings]] for setting TWL wifi configuration. <br />
|-<br />
| 484E4441(HNDA)<br />
| ALL<br />
| [[Download Play]]<br />
| v1024<br />
| This [[Download Play]] application is the DS-mode Download Play client, launched by the 3DS-mode Download Play application.<br />
|-<br />
| 484E4443(HNDC)<br />
| CHN<br />
| [[Download Play]]<br />
| v1024<br />
| See Above Description.<br />
|-<br />
| 484E444B(HNDK)<br />
| KOR<br />
| [[Download Play]]<br />
| v1024<br />
| See Above Description.<br />
|}<br />
<br />
=== 0004800F - System Data Archives===<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Description<br />
! Versions<br />
|-<br />
| 484E4841(HNHA)<br />
| [[Nintendo DS Cart Whitelist]]<br />
| v0, [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[4.2.0-9|v5120]], [[4.3.0-10|v6145]], [[4.4.0-10|v7168]], [[4.5.0-10|v8192]], [[5.0.0-11|v9216]], [[6.0.0-11|v10240]], [[7.0.0-13|v11264]]<br />
|-<br />
| 484E4C41(HNLA)<br />
| [[Version Data]]<br />
| v0<br />
|}<br />
<br />
New system updates only block DS flash-cards when the above whitelist was updated, or when TWL_FIRM was updated. The whitelist contains the data used for detecting flash-cards, this is used by TWL_FIRM.<br />
<br />
== Application Titles ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Content Category<br />
! Bit Mask(s)<br />
! Category Bit Mask<br />
|-<br />
| [[Title list/eShop Titles|Application]] (eShop Title)<br />
| Normal<br />
| 0x0000<br />
|-<br />
| DLP Child<br />
| DlpChild<br />
| 0x0001<br />
|-<br />
| [[EShop Demos|Demo]]<br />
| Demo<br />
| 0x0002<br />
|-<br />
| [[Title list/Patches|Patch]]<br />
| CannotExecution<nowiki>|</nowiki>Patch<br />
| 0x000E<br />
|-<br />
| [[Title list/DLC|Add-on Content]] (DLC)<br />
| NotRequireRightForMount<nowiki>|</nowiki>CannotExecution<nowiki>|</nowiki>AddOnContents<br />
| 0x008C<br />
|}<br />
<br />
=== 00040001 - [[Download Play]] Titles ===<br />
This titleID-high/programID-high is used for the titles sent over [[Download Play]]. Only one 00040001 Download Play title is installed to NAND /title at a time. There can be a maximum of 255 Download Play child titles per Unique ID, indexed by Title ID Variation. The legal index range: 0x0 - 0xff.<br />
<br />
== TWL Application Titles ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Content Category<br />
! Bit Mask(s)<br />
! Category Bit Mask<br />
|-<br />
| Application (DSiWare)<br />
| TWL<nowiki>|</nowiki>0x4<br />
| 0x8004<br />
|}<br />
<br />
=== 00048004 - DSiWare ===<br />
Although these have a titleID high separate from DSi and a titleID is stored in the SRLs, the content of these SRLs are identical to DSi.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Region<br />
! Description<br />
! Versions<br />
|-<br />
| 4B4B5456(KKTV)<br />
| EUR<br />
| Cut the Rope<br />
| v0, v64<br />
|-<br />
| 4B4E5256(KNRV)<br />
| EUR<br />
| A Little Bit of... Brain Training™: Maths Edition <br />
| v0<br />
|-<br />
| 4B5A4C56(KZLV)<br />
| EUR<br />
| Plants vs. Zombies™<br />
| v0<br />
|-<br />
| 4B454256(KEBV)<br />
| EUR<br />
| ELECTROPLANKTON (Hanenbow)<br />
| v0<br />
|-<br />
| 4B513956(KQ9V)<br />
| EUR<br />
| Zelda: Four Swords Anniversary Edition<br />
| v0, v16<br />
|-<br />
| 4B574256(KWBV)<br />
| EUR<br />
| Mario Calculator <br />
| v0<br />
|-<br />
| 4B574656(KWFV)<br />
| EUR<br />
| Mario Clock <br />
| v0<br />
|}</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=EShop_Demos&diff=8363EShop Demos2013-12-31T09:19:59Z<p>3dsguy: Created page with "Go Back to Title list == Overview == These titles have limited uses. For a given Unique ID, there can be a maximum of 254 separate demos. Each demo is indexed by ..."</p>
<hr />
<div>[[Title list|Go Back to Title list]]<br />
<br />
== Overview ==<br />
These titles have limited uses. For a given Unique ID, there can be a maximum of 254 separate demos. Each demo is indexed by the Title ID Variation. The legal demo index range: 0x1 - 0xff.<br />
<br />
== List ==<br />
tba</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Title_list/DLC&diff=8362Title list/DLC2013-12-31T09:07:58Z<p>3dsguy: </p>
<hr />
<div>[[Title list|Go Back to Title list]]<br />
<br />
== Overview ==<br />
These are titles which provide downloadable content to a specific title. The reason why these titles can only be purchased in game, is because all DLC content is under one titleID, downloading via the eShop would download all DLC content. And because all DLC content is under one title ID, they are viewed as one title in system settings, and individual DLC can only be deleted from within the game which uses the DLC.<br />
<br />
== List ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Region<br />
! Description<br />
! Versions<br />
|-<br />
| 00022800<br />
| EUR<br />
| StreetPass Mii Plaza [DLC]<br />
| v5<br />
|-<br />
| 00068300<br />
| ?<br />
| ?<br />
| v0, v256<br />
|-<br />
| 00072000<br />
| ?<br />
| ?<br />
| v0, v128<br />
|-<br />
| 00072A00<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00078200<br />
| ?<br />
| ?<br />
| v0, v64<br />
|-<br />
| 0007AD00<br />
| JPN<br />
| New SUPER MARIO BROS. 2 [DLC]<br />
| v16, v48<br />
|-<br />
| 0007AE00<br />
| USA<br />
| New SUPER MARIO BROS. 2 [DLC]<br />
| v16, v48<br />
|-<br />
| 0007AF00<br />
| EUR<br />
| New SUPER MARIO BROS. 2 [DLC]<br />
| v0, v48<br />
|-<br />
| 00084F00<br />
| ?<br />
| ?<br />
| v0, v80<br />
|-<br />
| 0008CC00<br />
| ?<br />
| ?<br />
| v0, v16<br />
|-<br />
| 00090E00<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00091600<br />
| ?<br />
| ?<br />
| v0, v16<br />
|-<br />
| 00095100<br />
| ?<br />
| ?<br />
| v0, v16<br />
|-<br />
| 00095700<br />
| ?<br />
| ?<br />
| v0, v96<br />
|-<br />
| 00095800<br />
| ?<br />
| ?<br />
| v0, v32, v48<br />
|-<br />
| 0009AB00<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 0009AC00<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 0009AD00<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 0009AE00<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 000A4D00<br />
| ?<br />
| ?<br />
| v0<br />
|}</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Title_list/Patches&diff=8361Title list/Patches2013-12-31T09:06:51Z<p>3dsguy: </p>
<hr />
<div>[[Title list|Go Back to Title list]]<br />
<br />
== Overview ==<br />
These are the same as the application's main [[NCCH#CXI|CXI]], except the ExeFS/RomFS only contains files which were updated. When loading NCCH data the system will load from the update-data title by default, and if the data doesn't exist in the update-data title the system will fall-back to using the data stored in the original application CXI. The programID stored in the NCCH header matches the NCCH titleID, however the programID stored in the exheader is set to the original application programID instead.<br />
<br />
== List ==<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Region<br />
! Description<br />
! Versions<br />
|-<br />
| 00022800<br />
| EUR<br />
| StreetPass Mii Plaza [Update Data]<br />
| v3 (v6160)<br />
|-<br />
| 00030600<br />
| JPN<br />
| Mario Kart 7 [Update Data]<br />
| v1.1 (v1040)<br />
|-<br />
| 00030700<br />
| EUR<br />
| Mario Kart 7 [Update Data]<br />
| v1.1 (v1040)<br />
|-<br />
| 00030800<br />
| USA<br />
| Mario Kart 7 [Update Data]<br />
| v1.1 (v1040)<br />
|-<br />
| 00032100<br />
| ?<br />
| ?<br />
| v1024, v2048<br />
|-<br />
| 0004EE00<br />
| ?<br />
| ?<br />
| v1024<br />
|-<br />
| 00072A00<br />
| ?<br />
| ?<br />
| v1040<br />
|-<br />
| 00078500<br />
| ?<br />
| ?<br />
| v1024, v3072<br />
|-<br />
| 0007A000<br />
| ?<br />
| ?<br />
| v1024<br />
|}</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Title_list/Patches&diff=8360Title list/Patches2013-12-31T08:52:11Z<p>3dsguy: Created page with "Go Back to Title list {| class="wikitable" border="1" |- ! TitleID Low ! Region ! Description ! Versions |- | 00022800 | EUR | StreetPass Mii Plaza [Update Da..."</p>
<hr />
<div>[[Title list|Go Back to Title list]]<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Region<br />
! Description<br />
! Versions<br />
|-<br />
| 00022800<br />
| EUR<br />
| StreetPass Mii Plaza [Update Data]<br />
| v3 (v6160)<br />
|-<br />
| 00030600<br />
| JPN<br />
| Mario Kart 7 [Update Data]<br />
| v1.1 (v1040)<br />
|-<br />
| 00030700<br />
| EUR<br />
| Mario Kart 7 [Update Data]<br />
| v1.1 (v1040)<br />
|-<br />
| 00030800<br />
| USA<br />
| Mario Kart 7 [Update Data]<br />
| v1.1 (v1040)<br />
|-<br />
| 00032100<br />
| ?<br />
| ?<br />
| v1024, v2048<br />
|-<br />
| 0004EE00<br />
| ?<br />
| ?<br />
| v1024<br />
|-<br />
| 00072A00<br />
| ?<br />
| ?<br />
| v1040<br />
|-<br />
| 00078500<br />
| ?<br />
| ?<br />
| v1024, v3072<br />
|-<br />
| 0007A000<br />
| ?<br />
| ?<br />
| v1024<br />
|}</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Title_list/DLC&diff=8359Title list/DLC2013-12-31T08:52:08Z<p>3dsguy: Created page with "Go Back to Title list {| class="wikitable" border="1" |- ! TitleID Low ! Region ! Description ! Versions |- | 00022800 | EUR | StreetPass Mii Plaza [DLC] | v5..."</p>
<hr />
<div>[[Title list|Go Back to Title list]]<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Region<br />
! Description<br />
! Versions<br />
|-<br />
| 00022800<br />
| EUR<br />
| StreetPass Mii Plaza [DLC]<br />
| v5<br />
|-<br />
| 00068300<br />
| ?<br />
| ?<br />
| v0, v256<br />
|-<br />
| 00072000<br />
| ?<br />
| ?<br />
| v0, v128<br />
|-<br />
| 00072A00<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00078200<br />
| ?<br />
| ?<br />
| v0, v64<br />
|-<br />
| 0007AD00<br />
| JPN<br />
| New SUPER MARIO BROS. 2 [DLC]<br />
| v16, v48<br />
|-<br />
| 0007AE00<br />
| USA<br />
| New SUPER MARIO BROS. 2 [DLC]<br />
| v16, v48<br />
|-<br />
| 0007AF00<br />
| EUR<br />
| New SUPER MARIO BROS. 2 [DLC]<br />
| v0, v48<br />
|-<br />
| 00084F00<br />
| ?<br />
| ?<br />
| v0, v80<br />
|-<br />
| 0008CC00<br />
| ?<br />
| ?<br />
| v0, v16<br />
|-<br />
| 00090E00<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00091600<br />
| ?<br />
| ?<br />
| v0, v16<br />
|-<br />
| 00095100<br />
| ?<br />
| ?<br />
| v0, v16<br />
|-<br />
| 00095700<br />
| ?<br />
| ?<br />
| v0, v96<br />
|-<br />
| 00095800<br />
| ?<br />
| ?<br />
| v0, v32, v48<br />
|-<br />
| 0009AB00<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 0009AC00<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 0009AD00<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 0009AE00<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 000A4D00<br />
| ?<br />
| ?<br />
| v0<br />
|}</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Home_Menu&diff=8341Home Menu2013-12-26T04:59:17Z<p>3dsguy: </p>
<hr />
<div>The '''Home Menu''' is the heart of the Nintendo 3DS. From there one can start games, applications, and access various processes including the friends list. It is launched by [[NS]], and is always running in the background in 3DS-mode except when other programID-high 00040030 applications like Internet Browser, Friend-List, etc are running. Home Menu is still running while [[System Settings]] is running, however the System Settings application does not allow directly returning to home-menu. The system will normally re-launch Home Menu when the Home Menu process crashes/terminates. When this re-launch occurs while Home Menu is active, Home Menu displays an error message which says to manually reboot the system.<br />
<br />
== System Versions ==<br />
Nintendo devised a system, whereby updates would be delivered via two channels: <br />
*Card Updates (CUP) - The Nintendo 3DS is updated with data from an [[System Update CFA|update partition]] on retail gamecard title. <br />
*Network Updates (NUP) - The Nintendo 3DS is updated by downloading data from Nintendo's [[Title list|CDN]].<br />
<br />
CUPs will only deliver updates to core features, such as the Home Menu, [[Nintendo 3DS Camera]] etc. CUPs will not deliver updates to Network features, such as [[System Transfer]], [[Internet Browser]], [[StreetPass Mii Plaza]] or [[EShop|eShop]]. <br />
<br />
NUPs can deliver updates to core features as well as (updated) Network Features.<br />
<br />
As a result of deciding to make a distinction between what content could be updated and how, Nintendo split the system version displayed by [[System Settings]] into two parts: [[CVer]] (Console Version) and [[NVer]] (Network Update Version). Represented as: <br />
<CVer Major>.<CVer Minor>.<CVer Micro>-<NUP Version><NUP Region><br />
<br />
The Console Version represents the version of the collectively installed core features. And the NUP Version represents the version of the collectively installed network features.<br />
<br />
So if a 3DS' System Firmware read '''2.1.0-2U''', it would indicate a console version of '''2.1.0''' and a NUP version of '''2U'''. <br />
<br />
NOTES:<br />
* CUPs can only update core content, so [[NVer]] is never updated with CUPs.<br />
* NUPs will not update [[NVer]] if network features are not updated. (Best seen with the USA vs JPN/EUR 6.0.0 NUP)<br />
<br />
<br />
CUPs are implemented by adding a [[System Update CFA]] to retail NCSD gamecard images. Nintendo generally creates CUPs after NUPs are released.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Version <br />
! Title version<br />
! Release date <br />
! Changelog <br />
! CUP Released<br />
! CDN Availability<br />
! CDN Post Date<br />
|-<br />
| [[1.0.0-0|1.0.0-0]]<br />
| 0<br />
| February 26, 2011<br />
| Shipped with 3DS on launch<br />
| Yes<br />
| Available<br />
| February 18, 2011<br />
|-<br />
| [[1.1.0-1|1.1.0-1]] <br />
| 0 <br />
| February ?, 2011<br />
| General bug fixes<br />
Added 3D Video title to menu. ("For a Limited Time Only")<br />
| Yes<br />
| Available<br />
| March 1, 2011<br />
|-<br />
| [[2.0.0-2|2.0.0-2]]<br />
| 1029<br />
| June 6/7, 2011<br />
| [[eShop]] added, web browser available, [[System Transfer]] added. Full DSiWare data management available. [[Automatic_System_Update_Download|Automatic]] downloading for system updates added.<br />
| No<br />
| Available<br />
| June 6, 2011<br />
|-<br />
| [[2.1.0-3|2.1.0-3]]<br />
| 2049<br />
| June 15, 2011<br />
| Fixes the Ridge Racer freeze.<br />
| Yes<br />
| Available<br />
| June 15, 2011<br />
|-<br />
| [[2.1.0-4|2.1.0-4]]<br />
| 2049<br />
| July 25, 2011<br />
| System stability improvements and other adjustments.<br />
| No<br />
| Available<br />
| July 25, 2011<br />
|-<br />
| [[2.2.0|2.2.0]]<br />
| ?<br />
| November 6, 2011<br />
| CUP Only Release. Improved the arrangement of [[Friend List]]. Update from some game cards such as Super Mario 3D Land.<br />
| Yes<br />
| Unavailable<br />
| ?<br />
|-<br />
| [[3.0.0-5|3.0.0-5]]<br />
| 4111<br />
| December 7, 2011<br />
| Added 3D video recording to the camera title, updated Mii Streetpass Plaza, [[System Transfer]] between 3DS systems available, improved eShop, home menu QR code scanning with QR codes containing URLs. [[Nintendo Zone]] is now always accessible, 3D video streaming support was added to NZone. This added support for running GBA VC titles via AGB_FIRM as well, support for GBA VC titles was also added to NATIVE_FIRM.<br />
| Yes<br />
| Available<br />
| December 7, 2011<br />
|-<br />
| [[3.0.0-6|3.0.0-6]]<br />
| 4111<br />
| December 21, 2011<br />
| Only StreetPass Mii Plaza and the [[NVer]] title were updated. From Nintendo's release notes: "System stability improvements and other adjustments".<br />
| No<br />
| Available<br />
| December 21, 2011<br />
|-<br />
| [[4.0.0-7|4.0.0-7]]<br />
| 5131<br />
| April 24, 2012<br />
| Add folders to Home Menu, game patching added, buy more expensive games than 1000 yen in JPN. System titles for CHN, TWN, and KOR became available.<br />
| Yes<br />
| Available<br />
| April 24, 2012<br />
|-<br />
| [[4.1.0-8|4.1.0-8]]<br />
| 5131<br />
| May 14, 2012<br />
| From changelog: "improvements to overall system stability and other minor adjustments". Once updated to [[4.1.0-8]], the parental-controls PIN is no longer required for future system updates.<br />
| Yes<br />
| Available<br />
| May 14, 2012<br />
|-<br />
| [[4.2.0-9|4.2.0-9]]<br />
| 6146<br />
| June 26, 2012<br />
| Improved eShop safety for entering credit-card info, and behind the scenes improvements. Stored CC info will be deleted by this updated eShop, and can be re-entered again.<br />
| Yes<br />
| Available<br />
| June 26, 2012<br />
|-<br />
| [[4.3.0-10|4.3.0-10]]<br />
| 6146<br />
| July 24, 2012<br />
| Updated eShop, bad word list and NZone hotspot list updated.<br />
| Yes<br />
| Available<br />
| July 24, 2012<br />
|-<br />
| [[4.4.0-10|4.4.0-10]]<br />
| 6146<br />
| September 19, 2012<br />
| NZone hotspot list updated and TWL_FIRM updated for blocking flash cards.<br />
| Yes<br />
| Available<br />
| September 19, 2012<br />
|-<br />
| [[4.4.0-10|4.4.0-10C]]<br />
| 6146<br />
| October 17, 2012<br />
| China-only, the *only* updated title was [[System Settings]]. This title was updated to a version already available in TWN/KOR.<br />
| ?<br />
| Available<br />
| October 17, 2012<br />
|-<br />
| [[4.5.0-10|4.5.0-10]]<br />
| 6146<br />
| December 4, 2012<br />
| Flash-card block via updated TWL_FIRM and whitelist. NZone hotspot list updated as well.<br />
| Yes<br />
| Available<br />
| December 4, 2012<br />
|-<br />
| [[5.0.0-11|5.0.0-11]]<br />
| 7172<br />
| March 25, 2013<br />
| Many system titles including NATIVE_FIRM were updated, multiple vulnerabilities were fixed as well.<br />
| No<br />
| Available<br />
| March 25, 2013<br />
|-<br />
| [[5.1.0-11|5.1.0-11]]<br />
| 7172<br />
| April 4, 2013<br />
| NATIVE_FIRM and NS were updated. According to the official change-log: "Resolves an issue that may prevent access to the System Settings or other features."<br />
| Yes<br />
| Available<br />
| April 4, 2013<br />
|-<br />
| [[6.0.0-11|6.0.0-12 (-11U)]]<br />
| 8198<br />
| June 17, 2013<br />
| Official change-log: "Users can now back up save data for downloadable versions of Nintendo 3DS software and most Virtual Console games". For EUR/JPN, the [[StreetPass Mii Plaza]] application and the [[Nintendo 3DS Camera]] application were updated. Other titles for all regions were updated as well.<br />
| No<br />
| Available<br />
| June 17, 2013<br />
|-<br />
| [[6.1.0-11|6.1.0-12 (-11U)]]<br />
| 8198<br />
| June 27, 2013<br />
| Official change-log: "Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience."<br />
| Yes<br />
| Available<br />
| June 27, 2013<br />
|-<br />
| [[6.1.0-12U]]<br />
| 8198<br />
| July 11, 2013<br />
| This USA-only updated added the updated network features applications which were first released in JPN/EUR with the [[6.0.0-11|6.0.0-12 NUP]] update.<br />
| No<br />
| Available<br />
| July 11, 2013<br />
|-<br />
| [[6.2.0-12]]<br />
| 8198<br />
| August 6, 2013<br />
| This update added support for the StreetPass relay feature, updated TWL_FIRM, and updated the Nintendo Zone hotspots list.<br />
| Yes<br />
| Available<br />
| August 6, 2013<br />
|-<br />
| [[6.3.0-12]]<br />
| 8198<br />
| September 13, 2013<br />
| See [[6.3.0-12|this]].<br />
| Not observed yet<br />
| Available<br />
| September 13, 2013<br />
|-<br />
| [[7.0.0-13]]<br />
| 9230<br />
| December 9, 2013<br />
| See [[7.0.0-13|this]].<br />
| Not observed yet<br />
| Available<br />
| December 9, 2013<br />
|-<br />
| [[7.1.0-14]]<br />
| ?<br />
| December 19, 2013<br />
| See [[7.0.0-14|this]].<br />
| Not observed yet<br />
| Available<br />
| December 19, 2013<br />
|}<br />
<br />
[[Category:Nintendo Software]]<br />
<br />
== Auto-Boot Function ==<br />
When the Home Menu is initially loaded by [[NS]], it checks the gamecard ExeFS:/[[SMDH|icon]] for the auto-boot flag. If the auto-boot flag is set, it will load the application on the cartridge and the home menu will not remain running in the background, or at least not in an operational state. Using software cues to return to the home menu, or sleep menu while in this state, causes a shutdown.<br />
<br />
Notable features of demo titles:<br />
*Auto-boot demos generally disable the functionality of the home button.<br />
*The ''New Super Mario Bros 2'' demo, retained the functionality of the home button, and had an timer which triggered the demo to quit after a period of inactivity.<br />
<br />
Auto-boot cartridges, can bypass some of the functions of the Home Menu. Auto Booted software:<br />
* Doesn't show usage history in the [[Activity Log]]<br />
* Bypasses Parental controls<br />
* Bypasses Forced Game Card Updates<br />
* Bypasses Initial 3DS Setup<br />
* The console does not have a friends list presence.<br />
* Is still subject to region lock(see below).<br />
<br />
Region lock is still active, so the home menu will refuse to launch demos with incorrect region lock will not load, displaying "An Error has Occurred". However, game card update partition checks are not done, which allows launching demos that have region free encoding, but have an alternate(or even invalid) region update partition.<br />
<br />
<br />
<br />
The following auto-boot paths can be used by Home Menu, checked in the same order listed below(the above gamecard auto-boot is checked before this):<br />
{| class="wikitable"<br />
! Key-combo / requirements for this path<br />
! Description<br />
|-<br />
| R, L, and X<br />
| This launches [[System Settings]] for touchscreen calibration.<br />
|-<br />
| R, L, and Y<br />
| This launches [[System Settings]] for circlepad calibration.<br />
|}<br />
<br />
The following is only checked when the low u16 from [[Config_Savegame|config]] block 0x00110000 is value zero(normally this is non-zero). Thus, the below is only handled when a system setup is required.<br />
{| class="wikitable"<br />
! Key-combo / requirements for this path<br />
! Description<br />
|-<br />
| R, X, Y, A, and B, a 3DS gamecard must be inserted as well.<br />
| This launches the gamecard application. Note that pressing the HOME button in the gamecard application launched this way will only result in the system shutting down.<br />
|-<br />
| This is used when the above path isn't used.<br />
| This launches System Settings for the system setup.<br />
|}<br />
<br />
== Region Lockout ==<br />
<br />
One of the Home Menu's functions, is to regulate region lockout. The region lockout data for any given title is held in the [[SMDH#BNR Region|ICN data]]. There are 6 regions of which have their own region lockout, Japan, USA, Europe(including Nintendo Australia), China, Taiwan and Korea. There is also a value which makes a title exempt from region lockout, and consequently accessible from any region of 3DS.<br />
<br />
=== Effects of Region Lockout ===<br />
Every 3DS title regardless of location (NAND/SD Card/Game Card) is subject to region lockout scrutiny by the Home Menu. And the home menu treats 'out-of-region' titles by simply refusing to show them on the home menu. No messages are shown on the home menu to notify the user, the title is simply ignored. However out-of-region SD Card titles, will appear and quickly disappear, while all the SD Titles are being processed. In cases where access to the home menu GUI is not needed to launch the title (like in the case of kiosk demos), the home menu states an error has occurred, and launching of the title is stopped.<br />
<br />
=== Game Card Updates ===<br />
Either intentionally a region lock mechanism or not, the function which checks the game card update partition returns an error when it is detected the update is for a region other than the 3DS's region (Most likely triggered by the absence of the correct CVer title). And errors returned from checking the update partition, will result in the home menu displaying "This Game Card cannnot be used", when the user attempts to launch the title.<br />
<br />
== Home-menu [[SpotPass]] usage ==<br />
<br />
Home-menu uses two domains with HTTPS for SpotPass. SpotPass stores this content in Home-menu's NAND shared extdata.<br />
<br />
* The system notifications are downloaded from: https://a248.e.akamai.net/f/248/103046/10m/npdl.c.app.nintendowifi.net/p01/nsa/<regionID>/<filename>/<langcode>/<filename> Where langcode is the two-character language codes from [[Config_Savegame|config]], and regionID is from the below table. <filename> is bashoX/sysmsgX where X is 0-3.<br />
* https://pls.c.shop.nintendowifi.net/pl/upload This URL is used for uploading data from the home menu NAND shared extdata, it's unknown what this is used for. This data is uploaded every 24 hours.<br />
* https://npul.c.app.nintendowifi.net/p01/recv/<regionID>/<filename> This is used for uploading unknown data from extdata. <filename> can be "phu", "tiu", "splu", or "sendmgn".<br />
<br />
{| class="wikitable"<br />
|-<br />
! Region<br />
! ID<br />
|-<br />
| JPN<br />
| gWr4JXxb2mKTG3lq<br />
|-<br />
| NA<br />
| uuI82221UKkqmtbp<br />
|-<br />
| EUR / Others<br />
| UrXSeurnxhPrq7AS<br />
|}<br />
<br />
The SpotPass content payload for notifications begin with a header, followed by an [[SMDH|icon]] and the UTF-16 text, and various metadata.<br />
<br />
== Automatic System Update Download ==<br />
See [[Automatic System Update Download]].<br />
<br />
== Home Menu Error Messages ==<br />
{| class="wikitable"<br />
|-<br />
! Dialog Text<br />
! Description<br />
|-<br />
| "An error has occured. Please save your data ... then restart the system"<br />
| This dialog is displayed when a system process(including Home Menu) crashes/terminates. This dialog is also displayed for system errors as well.<br />
|}<br />
<br />
== SD ExtData ==<br />
The SD ExtData [[Extdata#Filesystem|File System]] for Home Menu is as follows:<br />
<br />
root<br />
├── icon<br />
├── boss<br />
└── user<br />
├── SaveData.dat<br />
├── Cache.dat<br />
└── CacheD.dat<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! File<br />
! Details<br />
! Size<br />
! FW Introduced<br />
! Plaintext<br />
|-<br />
| icon<br />
| Stubbed. Always image 00000002.<br />
| 0x4 Bytes<br />
| n/a<br />
| <br />
|-<br />
| SaveData.dat<br />
| Always image 00000003.<br />
| 0x2cb0 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/SaveData.dat Download]<br />
|-<br />
| Cache.dat<br />
| Indexes and records details for the cached icon data. Always image 00000004.<br />
| 0x1688 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/Cache.dat Download]<br />
|-<br />
| CacheD.dat<br />
| Cached icon data for Home Menu. Always image 00000005.<br />
| 0x4cfe00 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/CacheD.dat Download]<br />
|}<br />
<br />
=== Cache.dat & CacheD.dat ===<br />
These two files work in tandem to allow the home menu to cache icon data for applications which are presented on the Home Menu. The size of both files suggests a maximum cache size of 360 icons. Cache.dat stores details about the cache icon data, and CacheD.dat stores the icon data. The icon cache stores icon data for *all* applications shown on the Home Menu, this includes DSi NAND Titles, and DS(i) cartridges. The format of cached DS(i) icon data is not understood, but they are the same size as 3DS icon data (0x36c0).<br />
<br />
In Cache.dat the first 8 bytes are reserved, then follows each icon slots's entry in the format:<br />
{| class="wikitable" border="1"<br />
|-<br />
! OFFSET<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x0<br />
| 8<br />
| Title ID in Little Endian<br />
|-<br />
| 0x8<br />
| 4<br />
| Unknown<br />
|-<br />
| 0xc<br />
| 4<br />
| Unknown<br />
|}<br />
<br />
All unused entries have the Title IDs filled with "0xff".<br />
<br />
In CacheD.dat, the icon data is concatenated together, with the first icon at offset 0x0.<br />
<br />
== See Also ==<br />
* http://www.nintendo.com/consumer/systems/3ds/en_na/menu_update.jsp<br />
* http://www.nintendo.co.jp/netinfo/3ds/JPN/ja.html</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Home_Menu&diff=8306Home Menu2013-12-17T03:19:01Z<p>3dsguy: </p>
<hr />
<div>The '''Home Menu''' is the heart of the Nintendo 3DS. From there one can start games, applications, and access various processes including the friends list. It is launched by [[NS]], and is always running in the background in 3DS-mode except when other programID-high 00040030 applications like Internet Browser, Friend-List, etc are running. Home Menu is still running while [[System Settings]] is running, however the System Settings application does not allow directly returning to home-menu. The system will normally re-launch Home Menu when the Home Menu process crashes/terminates. When this re-launch occurs while Home Menu is active, Home Menu displays an error message which says to manually reboot the system.<br />
<br />
== System Versions ==<br />
Nintendo devised a system, whereby updates would be delivered via two channels: <br />
*Card Updates (CUP) - The Nintendo 3DS is updated with data from an [[System Update CFA|update partition]] on retail gamecard title. <br />
*Network Updates (NUP) - The Nintendo 3DS is updated by downloading data from Nintendo's [[Title list|CDN]].<br />
<br />
CUPs will only deliver updates to core features, such as the Home Menu, [[Nintendo 3DS Camera]] etc. CUPs will not deliver updates to Network features, such as [[System Transfer]], [[Internet Browser]], [[StreetPass Mii Plaza]] or [[EShop|eShop]]. <br />
<br />
NUPs can deliver updates to core features as well as (updated) Network Features.<br />
<br />
As a result of deciding to make a distinction between what content could be updated and how, Nintendo split the system version displayed by [[System Settings]] into two parts: [[CVer]] (Console Version) and [[NVer]] (Network Update Version). Represented as: <br />
<CVer Major>.<CVer Minor>.<CVer Micro>-<NUP Version><NUP Region><br />
<br />
The Console Version represents the version of the collectively installed core features. And the NUP Version represents the version of the collectively installed network features.<br />
<br />
So if a 3DS' System Firmware read '''2.1.0-2U''', it would indicate a console version of '''2.1.0''' and a NUP version of '''2U'''. <br />
<br />
NOTES:<br />
* CUPs can only update core content, so [[NVer]] is never updated with CUPs.<br />
* NUPs will not update [[NVer]] if network features are not updated. (Best seen with the USA vs JPN/EUR 6.0.0 NUP)<br />
<br />
<br />
CUPs are implemented by adding a [[System Update CFA]] to retail NCSD gamecard images. Nintendo generally creates CUPs after NUPs are released.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Version <br />
! Title version<br />
! Release date <br />
! Changelog <br />
! CUP Released<br />
! CDN Availability<br />
! CDN Post Date<br />
|-<br />
| [[1.0.0-0|1.0.0-0]]<br />
| 0<br />
| February 26, 2011<br />
| Shipped with 3DS on launch<br />
| Yes<br />
| Available<br />
| February 18, 2011<br />
|-<br />
| [[1.1.0-1|1.1.0-1]] <br />
| 0 <br />
| February ?, 2011<br />
| General bug fixes<br />
Added 3D Video title to menu. ("For a Limited Time Only")<br />
| Yes<br />
| Available<br />
| March 1, 2011<br />
|-<br />
| [[2.0.0-2|2.0.0-2]]<br />
| 1029<br />
| June 6/7, 2011<br />
| [[eShop]] added, web browser available, [[System Transfer]] added. Full DSiWare data management available. [[Automatic_System_Update_Download|Automatic]] downloading for system updates added.<br />
| No<br />
| Available<br />
| June 6, 2011<br />
|-<br />
| [[2.1.0-3|2.1.0-3]]<br />
| 2049<br />
| June 15, 2011<br />
| Fixes the Ridge Racer freeze.<br />
| Yes<br />
| Available<br />
| June 15, 2011<br />
|-<br />
| [[2.1.0-4|2.1.0-4]]<br />
| 2049<br />
| July 25, 2011<br />
| System stability improvements and other adjustments.<br />
| No<br />
| Available<br />
| July 25, 2011<br />
|-<br />
| [[2.2.0|2.2.0]]<br />
| ?<br />
| November 6, 2011<br />
| CUP Only Release. Improved the arrangement of [[Friend List]]. Update from some game cards such as Super Mario 3D Land.<br />
| Yes<br />
| Unavailable<br />
| ?<br />
|-<br />
| [[3.0.0-5|3.0.0-5]]<br />
| 4111<br />
| December 7, 2011<br />
| Added 3D video recording to the camera title, updated Mii Streetpass Plaza, [[System Transfer]] between 3DS systems available, improved eShop, home menu QR code scanning with QR codes containing URLs. [[Nintendo Zone]] is now always accessible, 3D video streaming support was added to NZone. This added support for running GBA VC titles via AGB_FIRM as well, support for GBA VC titles was also added to NATIVE_FIRM.<br />
| Yes<br />
| Available<br />
| December 7, 2011<br />
|-<br />
| [[3.0.0-6|3.0.0-6]]<br />
| 4111<br />
| December 21, 2011<br />
| Only StreetPass Mii Plaza and the [[NVer]] title were updated. From Nintendo's release notes: "System stability improvements and other adjustments".<br />
| No<br />
| Available<br />
| December 21, 2011<br />
|-<br />
| [[4.0.0-7|4.0.0-7]]<br />
| 5131<br />
| April 24, 2012<br />
| Add folders to Home Menu, game patching added, buy more expensive games than 1000 yen in JPN. System titles for CHN, TWN, and KOR became available.<br />
| Yes<br />
| Available<br />
| April 24, 2012<br />
|-<br />
| [[4.1.0-8|4.1.0-8]]<br />
| 5131<br />
| May 14, 2012<br />
| From changelog: "improvements to overall system stability and other minor adjustments". Once updated to [[4.1.0-8]], the parental-controls PIN is no longer required for future system updates.<br />
| Yes<br />
| Available<br />
| May 14, 2012<br />
|-<br />
| [[4.2.0-9|4.2.0-9]]<br />
| 6146<br />
| June 26, 2012<br />
| Improved eShop safety for entering credit-card info, and behind the scenes improvements. Stored CC info will be deleted by this updated eShop, and can be re-entered again.<br />
| Yes<br />
| Available<br />
| June 26, 2012<br />
|-<br />
| [[4.3.0-10|4.3.0-10]]<br />
| 6146<br />
| July 24, 2012<br />
| Updated eShop, bad word list and NZone hotspot list updated.<br />
| Yes<br />
| Available<br />
| July 24, 2012<br />
|-<br />
| [[4.4.0-10|4.4.0-10]]<br />
| 6146<br />
| September 19, 2012<br />
| NZone hotspot list updated and TWL_FIRM updated for blocking flash cards.<br />
| Yes<br />
| Available<br />
| September 19, 2012<br />
|-<br />
| [[4.4.0-10|4.4.0-10]]<br />
| 6146<br />
| October 17, 2012<br />
| China-only, the *only* updated title was [[System Settings]]. This title was updated to a version already available in TWN/KOR.<br />
| ?<br />
| Available<br />
| October 17, 2012<br />
|-<br />
| [[4.5.0-10|4.5.0-10]]<br />
| 6146<br />
| December 4, 2012<br />
| Flash-card block via updated TWL_FIRM and whitelist. NZone hotspot list updated as well.<br />
| Yes<br />
| Available<br />
| December 4, 2012<br />
|-<br />
| [[5.0.0-11|5.0.0-11]]<br />
| 7172<br />
| March 25, 2013<br />
| Many system titles including NATIVE_FIRM were updated, multiple vulnerabilities were fixed as well.<br />
| No<br />
| Available<br />
| March 25, 2013<br />
|-<br />
| [[5.1.0-11|5.1.0-11]]<br />
| 7172<br />
| April 4, 2013<br />
| NATIVE_FIRM and NS were updated. According to the official change-log: "Resolves an issue that may prevent access to the System Settings or other features."<br />
| Yes<br />
| Available<br />
| April 4, 2013<br />
|-<br />
| [[6.0.0-11|6.0.0-12 (-11U)]]<br />
| 8198<br />
| June 17, 2013<br />
| Official change-log: "Users can now back up save data for downloadable versions of Nintendo 3DS software and most Virtual Console games". For EUR/JPN, the [[StreetPass Mii Plaza]] application and the [[Nintendo 3DS Camera]] application were updated. Other titles for all regions were updated as well.<br />
| No<br />
| Available<br />
| June 17, 2013<br />
|-<br />
| [[6.1.0-11|6.1.0-12 (-11U)]]<br />
| 8198<br />
| June 27, 2013<br />
| Official change-log: "Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience."<br />
| Yes<br />
| Available<br />
| June 27, 2013<br />
|-<br />
| [[6.1.0-12U]]<br />
| 8198<br />
| July 11, 2013<br />
| This USA-only updated added the updated network features applications which were first released in JPN/EUR with the [[6.0.0-11|6.0.0-12 NUP]] update.<br />
| No<br />
| Available<br />
| July 11, 2013<br />
|-<br />
| [[6.2.0-12]]<br />
| 8198<br />
| August 6, 2013<br />
| This update added support for the StreetPass relay feature, updated TWL_FIRM, and updated the Nintendo Zone hotspots list.<br />
| Yes<br />
| Available<br />
| August 6, 2013<br />
|-<br />
| [[6.3.0-12]]<br />
| 8198<br />
| September 13, 2013<br />
| See [[6.3.0-12|this]].<br />
| Not observed yet<br />
| Available<br />
| September 13, 2013<br />
|-<br />
| [[7.0.0-13]]<br />
| 9230<br />
| December 9, 2013<br />
| See [[7.0.0-13|this]].<br />
| Not observed yet<br />
| Available<br />
| December 9, 2013<br />
|}<br />
<br />
[[Category:Nintendo Software]]<br />
<br />
== Auto-Boot Function ==<br />
When the Home Menu is initially loaded by [[NS]], it checks the gamecard ExeFS:/[[SMDH|icon]] for the auto-boot flag. If the auto-boot flag is set, it will load the application on the cartridge and the home menu will not remain running in the background, or at least not in an operational state. Using software cues to return to the home menu, or sleep menu while in this state, causes a shutdown.<br />
<br />
Notable features of demo titles:<br />
*Auto-boot demos generally disable the functionality of the home button.<br />
*The ''New Super Mario Bros 2'' demo, retained the functionality of the home button, and had an timer which triggered the demo to quit after a period of inactivity.<br />
<br />
Auto-boot cartridges, can bypass some of the functions of the Home Menu. Auto Booted software:<br />
* Doesn't show usage history in the [[Activity Log]]<br />
* Bypasses Parental controls<br />
* Bypasses Forced Game Card Updates<br />
* Bypasses Initial 3DS Setup<br />
* The console does not have a friends list presence.<br />
* Is still subject to region lock(see below).<br />
<br />
Region lock is still active, so the home menu will refuse to launch demos with incorrect region lock will not load, displaying "An Error has Occurred". However, game card update partition checks are not done, which allows launching demos that have region free encoding, but have an alternate(or even invalid) region update partition.<br />
<br />
<br />
<br />
The following auto-boot paths can be used by Home Menu, checked in the same order listed below(the above gamecard auto-boot is checked before this):<br />
{| class="wikitable"<br />
! Key-combo / requirements for this path<br />
! Description<br />
|-<br />
| R, L, and X<br />
| This launches [[System Settings]] for touchscreen calibration.<br />
|-<br />
| R, L, and Y<br />
| This launches [[System Settings]] for circlepad calibration.<br />
|}<br />
<br />
The following is only checked when the low u16 from [[Config_Savegame|config]] block 0x00110000 is value zero(normally this is non-zero).<br />
{| class="wikitable"<br />
! Key-combo / requirements for this path<br />
! Description<br />
|-<br />
| R, X, Y, A, and B, a 3DS gamecard must be inserted as well.<br />
| This launches the gamecard application.<br />
|-<br />
| This is used when the above path isn't used.<br />
| This launches System Settings(unknown what this is used for).<br />
|}<br />
<br />
== Region Lockout ==<br />
<br />
One of the Home Menu's functions, is to regulate region lockout. The region lockout data for any given title is held in the [[SMDH#BNR Region|ICN data]]. There are 6 regions of which have their own region lockout, Japan, USA, Europe(including Nintendo Australia), China, Taiwan and Korea. There is also a value which makes a title exempt from region lockout, and consequently accessible from any region of 3DS.<br />
<br />
=== Effects of Region Lockout ===<br />
Every 3DS title regardless of location (NAND/SD Card/Game Card) is subject to region lockout scrutiny by the Home Menu. And the home menu treats 'out-of-region' titles by simply refusing to show them on the home menu. No messages are shown on the home menu to notify the user, the title is simply ignored. However out-of-region SD Card titles, will appear and quickly disappear, while all the SD Titles are being processed. In cases where access to the home menu GUI is not needed to launch the title (like in the case of kiosk demos), the home menu states an error has occurred, and launching of the title is stopped.<br />
<br />
=== Game Card Updates ===<br />
Either intentionally a region lock mechanism or not, the function which checks the game card update partition returns an error when it is detected the update is for a region other than the 3DS's region (Most likely triggered by the absence of the correct CVer title). And errors returned from checking the update partition, will result in the home menu displaying "This Game Card cannnot be used", when the user attempts to launch the title.<br />
<br />
== Home-menu [[SpotPass]] usage ==<br />
<br />
Home-menu uses two domains with HTTPS for SpotPass. SpotPass stores this content in Home-menu's NAND shared extdata.<br />
<br />
* The system notifications are downloaded from: https://a248.e.akamai.net/f/248/103046/10m/npdl.c.app.nintendowifi.net/p01/nsa/<regionID>/<filename>/<langcode>/<filename> Where langcode is the two-character language codes from [[Config_Savegame|config]], and regionID is from the below table. <filename> is bashoX/sysmsgX where X is 0-3.<br />
* https://pls.c.shop.nintendowifi.net/pl/upload This URL is used for uploading data from the home menu NAND shared extdata, it's unknown what this is used for. This data is uploaded every 24 hours.<br />
* https://npul.c.app.nintendowifi.net/p01/recv/<regionID>/<filename> This is used for uploading unknown data from extdata. <filename> can be "phu", "tiu", "splu", or "sendmgn".<br />
<br />
{| class="wikitable"<br />
|-<br />
! Region<br />
! ID<br />
|-<br />
| JPN<br />
| gWr4JXxb2mKTG3lq<br />
|-<br />
| NA<br />
| uuI82221UKkqmtbp<br />
|-<br />
| EUR / Others<br />
| UrXSeurnxhPrq7AS<br />
|}<br />
<br />
The SpotPass content payload for notifications begin with a header, followed by an [[SMDH|icon]] and the UTF-16 text, and various metadata.<br />
<br />
== Automatic System Update Download ==<br />
See [[Automatic System Update Download]].<br />
<br />
== Home Menu Error Messages ==<br />
{| class="wikitable"<br />
|-<br />
! Dialog Text<br />
! Description<br />
|-<br />
| "An error has occured. Please save your data ... then restart the system"<br />
| This dialog is displayed when a system process(including Home Menu) crashes/terminates. This dialog is also displayed for system errors as well.<br />
|}<br />
<br />
== SD ExtData ==<br />
The SD ExtData [[Extdata#Filesystem|File System]] for Home Menu is as follows:<br />
<br />
root<br />
├── icon<br />
├── boss<br />
└── user<br />
├── SaveData.dat<br />
├── Cache.dat<br />
└── CacheD.dat<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! File<br />
! Details<br />
! Size<br />
! FW Introduced<br />
! Plaintext<br />
|-<br />
| icon<br />
| Stubbed. Always image 00000002.<br />
| 0x4 Bytes<br />
| n/a<br />
| <br />
|-<br />
| SaveData.dat<br />
| Always image 00000003.<br />
| 0x2cb0 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/SaveData.dat Download]<br />
|-<br />
| Cache.dat<br />
| Indexes and records details for the cached icon data. Always image 00000004.<br />
| 0x1688 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/Cache.dat Download]<br />
|-<br />
| CacheD.dat<br />
| Cached icon data for Home Menu. Always image 00000005.<br />
| 0x4cfe00 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/CacheD.dat Download]<br />
|}<br />
<br />
=== Cache.dat & CacheD.dat ===<br />
These two files work in tandem to allow the home menu to cache icon data for applications which are presented on the Home Menu. The size of both files suggests a maximum cache size of 360 icons. Cache.dat stores details about the cache icon data, and CacheD.dat stores the icon data. The icon cache stores icon data for *all* applications shown on the Home Menu, this includes DSi NAND Titles, and DS(i) cartridges. The format of cached DS(i) icon data is not understood, but they are the same size as 3DS icon data (0x36c0).<br />
<br />
In Cache.dat the first 8 bytes are reserved, then follows each icon slots's entry in the format:<br />
{| class="wikitable" border="1"<br />
|-<br />
! OFFSET<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x0<br />
| 8<br />
| Title ID in Little Endian<br />
|-<br />
| 0x8<br />
| 4<br />
| Unknown<br />
|-<br />
| 0xc<br />
| 4<br />
| Unknown<br />
|}<br />
<br />
All unused entries have the Title IDs filled with "0xff".<br />
<br />
In CacheD.dat, the icon data is concatenated together, with the first icon at offset 0x0.<br />
<br />
== See Also ==<br />
* http://www.nintendo.com/consumer/systems/3ds/en_na/menu_update.jsp<br />
* http://www.nintendo.co.jp/netinfo/3ds/JPN/ja.html</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Home_Menu&diff=8304Home Menu2013-12-11T14:08:38Z<p>3dsguy: /* Auto-Boot Function */</p>
<hr />
<div>The '''Home Menu''' is the heart of the Nintendo 3DS. From there one can start games, applications, and access various processes including the friends list. It is launched by [[NS]], and is always running in the background in 3DS-mode except when other programID-high 00040030 applications like Internet Browser, Friend-List, etc are running. Home Menu is still running while [[System Settings]] is running, however the System Settings application does not allow directly returning to home-menu. The system will normally re-launch Home Menu when the Home Menu process crashes/terminates. When this re-launch occurs while Home Menu is active, Home Menu displays an error message which says to manually reboot the system.<br />
<br />
== System Versions ==<br />
Nintendo devised a system, whereby updates would be delivered via two channels: <br />
*Card Updates (CUP) - The Nintendo 3DS is updated with data from an [[System Update CFA|update partition]] on retail gamecard title. <br />
*Network Updates (NUP) - The Nintendo 3DS is updated by downloading data from Nintendo's [[Title list|CDN]].<br />
<br />
CUPs will only deliver updates to core features, such as the Home Menu, [[Nintendo 3DS Camera]] etc. CUPs will not deliver updates to Network features, such as [[System Transfer]], [[Internet Browser]], [[StreetPass Mii Plaza]] or [[EShop|eShop]]. <br />
<br />
NUPs can deliver updates to core features as well as (updated) Network Features.<br />
<br />
As a result of deciding to make a distinction between what content could be updated and how, Nintendo split the system version displayed by [[System Settings]] into two parts: [[CVer]] (Console Version) and [[NVer]] (Network Update Version). Represented as: <br />
<CVer Major>.<CVer Minor>.<CVer Micro>-<NUP Version><NUP Region><br />
<br />
The Console Version represents the version of the collectively installed core features. And the NUP Version represents the version of the collectively installed network features.<br />
<br />
So if a 3DS' System Firmware read '''2.1.0-2U''', it would indicate a console version of '''2.1.0''' and a NUP version of '''2U'''. <br />
<br />
NOTES:<br />
* CUPs can only update core content, so [[NVer]] is never updated with CUPs.<br />
* NUPs will not update [[NVer]] if network features are not updated. (Best seen with the USA vs JPN/EUR 6.0.0 NUP)<br />
<br />
<br />
CUPs are implemented by adding a [[System Update CFA]] to retail NCSD gamecard images. Nintendo generally creates CUPs after NUPs are released.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Version <br />
! Title version<br />
! Release date <br />
! Changelog <br />
! CUP Released<br />
! CDN Availability<br />
! CDN Post Date<br />
|-<br />
| [[1.0.0-0|1.0.0-0]]<br />
| 0<br />
| February 26, 2011<br />
| Shipped with 3DS on launch<br />
| Yes<br />
| Available<br />
| February 18, 2011<br />
|-<br />
| [[1.1.0-1|1.1.0-1]] <br />
| 0 <br />
| February ?, 2011<br />
| General bug fixes<br />
Added 3D Video title to menu. ("For a Limited Time Only")<br />
| Yes<br />
| Available<br />
| March 1, 2011<br />
|-<br />
| [[2.0.0-2|2.0.0-2]]<br />
| 1029<br />
| June 6/7, 2011<br />
| [[eShop]] added, web browser available, [[System Transfer]] added. Full DSiWare data management available. [[Automatic_System_Update_Download|Automatic]] downloading for system updates added.<br />
| No<br />
| Available<br />
| June 6, 2011<br />
|-<br />
| [[2.1.0-3|2.1.0-3]]<br />
| 2049<br />
| June 15, 2011<br />
| Fixes the Ridge Racer freeze.<br />
| Yes<br />
| Available<br />
| June 15, 2011<br />
|-<br />
| [[2.1.0-4|2.1.0-4]]<br />
| 2049<br />
| July 25, 2011<br />
| System stability improvements and other adjustments.<br />
| No<br />
| Available<br />
| July 25, 2011<br />
|-<br />
| [[2.2.0|2.2.0]]<br />
| ?<br />
| November 6, 2011<br />
| CUP Only Release. Improved the arrangement of [[Friend List]]. Update from some game cards such as Super Mario 3D Land.<br />
| Yes<br />
| Unavailable<br />
| ?<br />
|-<br />
| [[3.0.0-5|3.0.0-5]]<br />
| 4111<br />
| December 7, 2011<br />
| Added 3D video recording to the camera title, updated Mii Streetpass Plaza, [[System Transfer]] between 3DS systems available, improved eShop, home menu QR code scanning with QR codes containing URLs. [[Nintendo Zone]] is now always accessible, 3D video streaming support was added to NZone. This added support for running GBA VC titles via AGB_FIRM as well, support for GBA VC titles was also added to NATIVE_FIRM.<br />
| Yes<br />
| Available<br />
| December 7, 2011<br />
|-<br />
| [[3.0.0-6|3.0.0-6]]<br />
| 4111<br />
| December 21, 2011<br />
| Only StreetPass Mii Plaza and the [[NVer]] title were updated. From Nintendo's release notes: "System stability improvements and other adjustments".<br />
| No<br />
| Available<br />
| December 21, 2011<br />
|-<br />
| [[4.0.0-7|4.0.0-7]]<br />
| 5131<br />
| April 24, 2012<br />
| Add folders to Home Menu, game patching added, buy more expensive games than 1000 yen in JPN. System titles for CHN, TWN, and KOR became available.<br />
| Yes<br />
| Available<br />
| April 24, 2012<br />
|-<br />
| [[4.1.0-8|4.1.0-8]]<br />
| 5131<br />
| May 14, 2012<br />
| From changelog: "improvements to overall system stability and other minor adjustments". Once updated to [[4.1.0-8]], the parental-controls PIN is no longer required for future system updates.<br />
| Yes<br />
| Available<br />
| May 14, 2012<br />
|-<br />
| [[4.2.0-9|4.2.0-9]]<br />
| 6146<br />
| June 26, 2012<br />
| Improved eShop safety for entering credit-card info, and behind the scenes improvements. Stored CC info will be deleted by this updated eShop, and can be re-entered again.<br />
| Yes<br />
| Available<br />
| June 26, 2012<br />
|-<br />
| [[4.3.0-10|4.3.0-10]]<br />
| 6146<br />
| July 24, 2012<br />
| Updated eShop, bad word list and NZone hotspot list updated.<br />
| Yes<br />
| Available<br />
| July 24, 2012<br />
|-<br />
| [[4.4.0-10|4.4.0-10]]<br />
| 6146<br />
| September 19, 2012<br />
| NZone hotspot list updated and TWL_FIRM updated for blocking flash cards.<br />
| Yes<br />
| Available<br />
| September 19, 2012<br />
|-<br />
| [[4.4.0-10|4.4.0-10]]<br />
| 6146<br />
| October 17, 2012<br />
| China-only, the *only* updated title was [[System Settings]]. This title was updated to a version already available in TWN/KOR.<br />
| ?<br />
| Available<br />
| October 17, 2012<br />
|-<br />
| [[4.5.0-10|4.5.0-10]]<br />
| 6146<br />
| December 4, 2012<br />
| Flash-card block via updated TWL_FIRM and whitelist. NZone hotspot list updated as well.<br />
| Yes<br />
| Available<br />
| December 4, 2012<br />
|-<br />
| [[5.0.0-11|5.0.0-11]]<br />
| 7172<br />
| March 25, 2013<br />
| Many system titles including NATIVE_FIRM were updated, multiple vulnerabilities were fixed as well.<br />
| No<br />
| Available<br />
| March 25, 2013<br />
|-<br />
| [[5.1.0-11|5.1.0-11]]<br />
| 7172<br />
| April 4, 2013<br />
| NATIVE_FIRM and NS were updated. According to the official change-log: "Resolves an issue that may prevent access to the System Settings or other features."<br />
| Yes<br />
| Available<br />
| April 4, 2013<br />
|-<br />
| [[6.0.0-11|6.0.0-11]]<br />
| 8198<br />
| June 17, 2013<br />
| Official change-log: "Users can now back up save data for downloadable versions of Nintendo 3DS software and most Virtual Console games". For EUR/JPN, the [[StreetPass Mii Plaza]] application and the [[Nintendo 3DS Camera]] application were updated. Other titles for all regions were updated as well.<br />
| No<br />
| Available<br />
| June 17, 2013<br />
|-<br />
| [[6.1.0-11|6.1.0-11]]<br />
| 8198<br />
| June 27, 2013<br />
| Official change-log: "Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience."<br />
| Yes<br />
| Available<br />
| June 27, 2013<br />
|-<br />
| [[6.1.0-12U]]<br />
| 8198<br />
| July 11, 2013<br />
| This USA-only update added the updated applications which were first released with the non-USA [[6.0.0-11]] update.<br />
| No<br />
| Available<br />
| July 11, 2013<br />
|-<br />
| [[6.2.0-12]]<br />
| 8198<br />
| August 6, 2013<br />
| This update added support for the StreetPass relay feature, updated TWL_FIRM, and updated the Nintendo Zone hotspots list.<br />
| Yes<br />
| Available<br />
| August 6, 2013<br />
|-<br />
| [[6.3.0-12]]<br />
| 8198<br />
| September 13, 2013<br />
| See [[6.3.0-12|this]].<br />
| Not observed yet<br />
| Available<br />
| September 13, 2013<br />
|-<br />
| [[7.0.0-13]]<br />
| 9230<br />
| December 9, 2013<br />
| See [[7.0.0-13|this]].<br />
| Not observed yet<br />
| Available<br />
| December 9, 2013<br />
|}<br />
<br />
[[Category:Nintendo Software]]<br />
<br />
== Auto-Boot Function ==<br />
When the Home Menu is initially loaded by [[NS]], it checks the gamecard ExeFS:/[[SMDH|icon]] for the auto-boot flag. If the auto-boot flag is set, it will load the application on the cartridge and the home menu will not remain running in the background, or at least not in an operational state. Using software cues to return to the home menu, or sleep menu while in this state, causes a shutdown.<br />
<br />
Notable features of demo titles:<br />
*Auto-boot demos generally disable the functionality of the home button.<br />
*The ''New Super Mario Bros 2'' demo, retained the functionality of the home button, and had an timer which triggered the demo to quit after a period of inactivity.<br />
<br />
Auto-boot cartridges, can bypass some of the functions of the Home Menu. Auto Booted software:<br />
* Doesn't show usage history in the [[Activity Log]]<br />
* Bypasses Parental controls<br />
* Bypasses Forced Game Card Updates<br />
* Bypasses Initial 3DS Setup<br />
* The console does not have a friends list presence.<br />
* Is still subject to region lock(see below).<br />
<br />
Region lock is still active, so the home menu will refuse to launch demos with incorrect region lock will not load, displaying "An Error has Occurred". However, game card update partition checks are not done, which allows launching demos that have region free encoding, but have an alternate(or even invalid) region update partition.<br />
<br />
<br />
<br />
The following auto-boot paths can be used by Home Menu, checked in the same order listed below(the above gamecard auto-boot is checked before this):<br />
{| class="wikitable"<br />
! Key-combo / requirements for this path<br />
! Description<br />
|-<br />
| R, L, and X<br />
| This launches [[System Settings]] for touchscreen calibration.<br />
|-<br />
| R, L, and Y<br />
| This launches [[System Settings]] for circlepad calibration.<br />
|}<br />
<br />
The following is only checked when the low u16 from [[Config_Savegame|config]] block 0x00110000 is value zero(normally this is non-zero).<br />
{| class="wikitable"<br />
! Key-combo / requirements for this path<br />
! Description<br />
|-<br />
| R, X, Y, A, and B, a 3DS gamecard must be inserted as well.<br />
| This launches the gamecard application.<br />
|-<br />
| This is used when the above path isn't used.<br />
| This launches System Settings(unknown what this is used for).<br />
|}<br />
<br />
== Region Lockout ==<br />
<br />
One of the Home Menu's functions, is to regulate region lockout. The region lockout data for any given title is held in the [[SMDH#BNR Region|ICN data]]. There are 6 regions of which have their own region lockout, Japan, USA, Europe(including Nintendo Australia), China, Taiwan and Korea. There is also a value which makes a title exempt from region lockout, and consequently accessible from any region of 3DS.<br />
<br />
=== Effects of Region Lockout ===<br />
Every 3DS title regardless of location (NAND/SD Card/Game Card) is subject to region lockout scrutiny by the Home Menu. And the home menu treats 'out-of-region' titles by simply refusing to show them on the home menu. No messages are shown on the home menu to notify the user, the title is simply ignored. However out-of-region SD Card titles, will appear and quickly disappear, while all the SD Titles are being processed. In cases where access to the home menu GUI is not needed to launch the title (like in the case of kiosk demos), the home menu states an error has occurred, and launching of the title is stopped.<br />
<br />
=== Game Card Updates ===<br />
Either intentionally a region lock mechanism or not, the function which checks the game card update partition returns an error when it is detected the update is for a region other than the 3DS's region (Most likely triggered by the absence of the correct CVer title). And errors returned from checking the update partition, will result in the home menu displaying "This Game Card cannnot be used", when the user attempts to launch the title.<br />
<br />
== Home-menu [[SpotPass]] usage ==<br />
<br />
Home-menu uses two domains with HTTPS for SpotPass. SpotPass stores this content in Home-menu's NAND shared extdata.<br />
<br />
* The system notifications are downloaded from: https://a248.e.akamai.net/f/248/103046/10m/npdl.c.app.nintendowifi.net/p01/nsa/<regionID>/<filename>/<langcode>/<filename> Where langcode is the two-character language codes from [[Config_Savegame|config]], and regionID is from the below table. <filename> is bashoX/sysmsgX where X is 0-3.<br />
* https://pls.c.shop.nintendowifi.net/pl/upload This URL is used for uploading data from the home menu NAND shared extdata, it's unknown what this is used for. This data is uploaded every 24 hours.<br />
* https://npul.c.app.nintendowifi.net/p01/recv/<regionID>/<filename> This is used for uploading unknown data from extdata. <filename> can be "phu", "tiu", "splu", or "sendmgn".<br />
<br />
{| class="wikitable"<br />
|-<br />
! Region<br />
! ID<br />
|-<br />
| JPN<br />
| gWr4JXxb2mKTG3lq<br />
|-<br />
| NA<br />
| uuI82221UKkqmtbp<br />
|-<br />
| EUR / Others<br />
| UrXSeurnxhPrq7AS<br />
|}<br />
<br />
The SpotPass content payload for notifications begin with a header, followed by an [[SMDH|icon]] and the UTF-16 text, and various metadata.<br />
<br />
== Automatic System Update Download ==<br />
See [[Automatic System Update Download]].<br />
<br />
== Home Menu Error Messages ==<br />
{| class="wikitable"<br />
|-<br />
! Dialog Text<br />
! Description<br />
|-<br />
| "An error has occured. Please save your data ... then restart the system"<br />
| This dialog is displayed when a system process(including Home Menu) crashes/terminates. This dialog is also displayed for system errors as well.<br />
|}<br />
<br />
== SD ExtData ==<br />
The SD ExtData [[Extdata#Filesystem|File System]] for Home Menu is as follows:<br />
<br />
root<br />
├── icon<br />
├── boss<br />
└── user<br />
├── SaveData.dat<br />
├── Cache.dat<br />
└── CacheD.dat<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! File<br />
! Details<br />
! Size<br />
! FW Introduced<br />
! Plaintext<br />
|-<br />
| icon<br />
| Stubbed. Always image 00000002.<br />
| 0x4 Bytes<br />
| n/a<br />
| <br />
|-<br />
| SaveData.dat<br />
| Always image 00000003.<br />
| 0x2cb0 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/SaveData.dat Download]<br />
|-<br />
| Cache.dat<br />
| Indexes and records details for the cached icon data. Always image 00000004.<br />
| 0x1688 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/Cache.dat Download]<br />
|-<br />
| CacheD.dat<br />
| Cached icon data for Home Menu. Always image 00000005.<br />
| 0x4cfe00 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/CacheD.dat Download]<br />
|}<br />
<br />
=== Cache.dat & CacheD.dat ===<br />
These two files work in tandem to allow the home menu to cache icon data for applications which are presented on the Home Menu. The size of both files suggests a maximum cache size of 360 icons. Cache.dat stores details about the cache icon data, and CacheD.dat stores the icon data. The icon cache stores icon data for *all* applications shown on the Home Menu, this includes DSi NAND Titles, and DS(i) cartridges. The format of cached DS(i) icon data is not understood, but they are the same size as 3DS icon data (0x36c0).<br />
<br />
In Cache.dat the first 8 bytes are reserved, then follows each icon slots's entry in the format:<br />
{| class="wikitable" border="1"<br />
|-<br />
! OFFSET<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x0<br />
| 8<br />
| Title ID in Little Endian<br />
|-<br />
| 0x8<br />
| 4<br />
| Unknown<br />
|-<br />
| 0xc<br />
| 4<br />
| Unknown<br />
|}<br />
<br />
All unused entries have the Title IDs filled with "0xff".<br />
<br />
In CacheD.dat, the icon data is concatenated together, with the first icon at offset 0x0.<br />
<br />
== See Also ==<br />
* http://www.nintendo.com/consumer/systems/3ds/en_na/menu_update.jsp<br />
* http://www.nintendo.co.jp/netinfo/3ds/JPN/ja.html</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Home_Menu&diff=8301Home Menu2013-12-10T08:20:38Z<p>3dsguy: /* System Versions */</p>
<hr />
<div>The '''Home Menu''' is the heart of the Nintendo 3DS. From there one can start games, applications, and access various processes including the friends list. It is launched by [[NS]], and is always running in the background in 3DS-mode except when other programID-high 00040030 applications like Internet Browser, Friend-List, etc are running. Home Menu is still running while [[System Settings]] is running, however the System Settings application does not allow directly returning to home-menu. The system will normally re-launch Home Menu when the Home Menu process crashes/terminates. When this re-launch occurs while Home Menu is active, Home Menu displays an error message which says to manually reboot the system.<br />
<br />
== System Versions ==<br />
Nintendo devised a system, whereby updates would be delivered via two channels: <br />
*Card Updates (CUP) - The Nintendo 3DS is updated with data from an [[System Update CFA|update partition]] on retail gamecard title. <br />
*Network Updates (NUP) - The Nintendo 3DS is updated by downloading data from Nintendo's [[Title list|CDN]].<br />
<br />
CUPs will only deliver updates to core features, such as the Home Menu, [[Nintendo 3DS Camera]] etc. CUPs will not deliver updates to Network features, such as [[System Transfer]], [[Internet Browser]], [[StreetPass Mii Plaza]] or [[EShop|eShop]]. <br />
<br />
NUPs can deliver updates to core features as well as (updated) Network Features.<br />
<br />
As a result of deciding to make a distinction between what content could be updated and how, Nintendo split the system version displayed by [[System Settings]] into two parts: [[CVer]] (Console Version) and [[NVer]] (Network Update Version). Represented as: <br />
<CVer Major>.<CVer Minor>.<CVer Micro>-<NUP Version><NUP Region><br />
<br />
The Console Version represents the version of the collectively installed core features. And the NUP Version represents the version of the collectively installed network features.<br />
<br />
So if a 3DS' System Firmware read '''2.1.0-2U''', it would indicate a console version of '''2.1.0''' and a NUP version of '''2U'''. <br />
<br />
NOTES:<br />
* CUPs can only update core content, so [[NVer]] is never updated with CUPs.<br />
* NUPs will not update [[NVer]] if network features are not updated. (Best seen with the USA vs JPN/EUR 6.0.0 NUP)<br />
<br />
<br />
CUPs are implemented by adding a [[System Update CFA]] to retail NCSD gamecard images. Nintendo generally creates CUPs after NUPs are released.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Version <br />
! Title version<br />
! Release date <br />
! Changelog <br />
! CUP Released<br />
! CDN Availability<br />
! CDN Post Date<br />
|-<br />
| [[1.0.0-0|1.0.0-0]]<br />
| 0<br />
| February 26, 2011<br />
| Shipped with 3DS on launch<br />
| Yes<br />
| Available<br />
| February 18, 2011<br />
|-<br />
| [[1.1.0-1|1.1.0-1]] <br />
| 0 <br />
| February ?, 2011<br />
| General bug fixes<br />
Added 3D Video title to menu. ("For a Limited Time Only")<br />
| Yes<br />
| Available<br />
| March 1, 2011<br />
|-<br />
| [[2.0.0-2|2.0.0-2]]<br />
| 1029<br />
| June 6/7, 2011<br />
| [[eShop]] added, web browser available, [[System Transfer]] added. Full DSiWare data management available. [[Automatic_System_Update_Download|Automatic]] downloading for system updates added.<br />
| No<br />
| Available<br />
| June 6, 2011<br />
|-<br />
| [[2.1.0-3|2.1.0-3]]<br />
| 2049<br />
| June 15, 2011<br />
| Fixes the Ridge Racer freeze.<br />
| Yes<br />
| Available<br />
| June 15, 2011<br />
|-<br />
| [[2.1.0-4|2.1.0-4]]<br />
| 2049<br />
| July 25, 2011<br />
| System stability improvements and other adjustments.<br />
| No<br />
| Available<br />
| July 25, 2011<br />
|-<br />
| [[2.2.0|2.2.0]]<br />
| ?<br />
| November 6, 2011<br />
| CUP Only Release. Improved the arrangement of [[Friend List]]. Update from some game cards such as Super Mario 3D Land.<br />
| Yes<br />
| Unavailable<br />
| ?<br />
|-<br />
| [[3.0.0-5|3.0.0-5]]<br />
| 4111<br />
| December 7, 2011<br />
| Added 3D video recording to the camera title, updated Mii Streetpass Plaza, [[System Transfer]] between 3DS systems available, improved eShop, home menu QR code scanning with QR codes containing URLs. [[Nintendo Zone]] is now always accessible, 3D video streaming support was added to NZone. This added support for running GBA VC titles via AGB_FIRM as well, support for GBA VC titles was also added to NATIVE_FIRM.<br />
| Yes<br />
| Available<br />
| December 7, 2011<br />
|-<br />
| [[3.0.0-6|3.0.0-6]]<br />
| 4111<br />
| December 21, 2011<br />
| Only StreetPass Mii Plaza and the [[NVer]] title were updated. From Nintendo's release notes: "System stability improvements and other adjustments".<br />
| No<br />
| Available<br />
| December 21, 2011<br />
|-<br />
| [[4.0.0-7|4.0.0-7]]<br />
| 5131<br />
| April 24, 2012<br />
| Add folders to Home Menu, game patching added, buy more expensive games than 1000 yen in JPN. System titles for CHN, TWN, and KOR became available.<br />
| Yes<br />
| Available<br />
| April 24, 2012<br />
|-<br />
| [[4.1.0-8|4.1.0-8]]<br />
| 5131<br />
| May 14, 2012<br />
| From changelog: "improvements to overall system stability and other minor adjustments". Once updated to [[4.1.0-8]], the parental-controls PIN is no longer required for future system updates.<br />
| Yes<br />
| Available<br />
| May 14, 2012<br />
|-<br />
| [[4.2.0-9|4.2.0-9]]<br />
| 6146<br />
| June 26, 2012<br />
| Improved eShop safety for entering credit-card info, and behind the scenes improvements. Stored CC info will be deleted by this updated eShop, and can be re-entered again.<br />
| Yes<br />
| Available<br />
| June 26, 2012<br />
|-<br />
| [[4.3.0-10|4.3.0-10]]<br />
| 6146<br />
| July 24, 2012<br />
| Updated eShop, bad word list and NZone hotspot list updated.<br />
| Yes<br />
| Available<br />
| July 24, 2012<br />
|-<br />
| [[4.4.0-10|4.4.0-10]]<br />
| 6146<br />
| September 19, 2012<br />
| NZone hotspot list updated and TWL_FIRM updated for blocking flash cards.<br />
| Yes<br />
| Available<br />
| September 19, 2012<br />
|-<br />
| [[4.4.0-10|4.4.0-10]]<br />
| 6146<br />
| October 17, 2012<br />
| China-only, the *only* updated title was [[System Settings]]. This title was updated to a version already available in TWN/KOR.<br />
| ?<br />
| Available<br />
| October 17, 2012<br />
|-<br />
| [[4.5.0-10|4.5.0-10]]<br />
| 6146<br />
| December 4, 2012<br />
| Flash-card block via updated TWL_FIRM and whitelist. NZone hotspot list updated as well.<br />
| Yes<br />
| Available<br />
| December 4, 2012<br />
|-<br />
| [[5.0.0-11|5.0.0-11]]<br />
| 7172<br />
| March 25, 2013<br />
| Many system titles including NATIVE_FIRM were updated, multiple vulnerabilities were fixed as well.<br />
| No<br />
| Available<br />
| March 25, 2013<br />
|-<br />
| [[5.1.0-11|5.1.0-11]]<br />
| 7172<br />
| April 4, 2013<br />
| NATIVE_FIRM and NS were updated. According to the official change-log: "Resolves an issue that may prevent access to the System Settings or other features."<br />
| Yes<br />
| Available<br />
| April 4, 2013<br />
|-<br />
| [[6.0.0-11|6.0.0-11]]<br />
| 8198<br />
| June 17, 2013<br />
| Official change-log: "Users can now back up save data for downloadable versions of Nintendo 3DS software and most Virtual Console games". For EUR/JPN, the [[StreetPass Mii Plaza]] application and the [[Nintendo 3DS Camera]] application were updated. Other titles for all regions were updated as well.<br />
| No<br />
| Available<br />
| June 17, 2013<br />
|-<br />
| [[6.1.0-11|6.1.0-11]]<br />
| 8198<br />
| June 27, 2013<br />
| Official change-log: "Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience."<br />
| Yes<br />
| Available<br />
| June 27, 2013<br />
|-<br />
| [[6.1.0-12U]]<br />
| 8198<br />
| July 11, 2013<br />
| This USA-only update added the updated applications which were first released with the non-USA [[6.0.0-11]] update.<br />
| No<br />
| Available<br />
| July 11, 2013<br />
|-<br />
| [[6.2.0-12]]<br />
| 8198<br />
| August 6, 2013<br />
| This update added support for the StreetPass relay feature, updated TWL_FIRM, and updated the Nintendo Zone hotspots list.<br />
| Yes<br />
| Available<br />
| August 6, 2013<br />
|-<br />
| [[6.3.0-12]]<br />
| 8198<br />
| September 13, 2013<br />
| See [[6.3.0-12|this]].<br />
| Not observed yet<br />
| Available<br />
| September 13, 2013<br />
|-<br />
| [[7.0.0-13]]<br />
| 9230<br />
| December 9, 2013<br />
| See [[7.0.0-13|this]].<br />
| Not observed yet<br />
| Available<br />
| December 9, 2013<br />
|}<br />
<br />
[[Category:Nintendo Software]]<br />
<br />
== Auto-Boot Function ==<br />
When the Home Menu is initially loaded by [[NS]], it checks the gamecard ExeFS:/[[SMDH|icon]] for the auto-boot flag. If the auto-boot flag is set, it will load the application on the cartridge and the home menu will not remain running in the background, or at least not in an operational state. Using software cues to return to the home menu, or sleep menu while in this state, causes a shutdown.<br />
<br />
Notable features of demo titles:<br />
*Auto-boot demos generally disable the functionality of the home button.<br />
*The ''New Super Mario Bros 2'' demo, retained the functionality of the home button, and had an timer which triggered the demo to quit after a period of inactivity.<br />
<br />
Auto-boot cartridges, can bypass some of the functions of the Home Menu. Auto Booted software:<br />
* Doesn't show usage history in the [[Activity Log]]<br />
* Bypasses Parental controls<br />
* Bypasses Forced Game Card Updates<br />
* Bypasses Initial 3DS Setup<br />
* The console does not have a friends list presence.<br />
* Is still subject to region lock(see below).<br />
<br />
Region lock is still active, so the home menu will refuse to launch demos with incorrect region lock will not load, displaying "An Error has Occurred". However, game card update partition checks do not appear to be done, which may allow launching demos that have region free encoding, but have an alternate region update partition.<br />
<br />
<br />
<br />
The following auto-boot paths can be used by Home Menu, checked in the same order listed below(the above gamecard auto-boot is checked before this):<br />
{| class="wikitable"<br />
! Key-combo / requirements for this path<br />
! Description<br />
|-<br />
| R, L, and X<br />
| This launches [[System Settings]] for touchscreen calibration.<br />
|-<br />
| R, L, and Y<br />
| This launches [[System Settings]] for circlepad calibration.<br />
|}<br />
<br />
The following is only checked when the low u16 from [[Config_Savegame|config]] block 0x00110000 is value zero(normally this is non-zero).<br />
{| class="wikitable"<br />
! Key-combo / requirements for this path<br />
! Description<br />
|-<br />
| R, X, Y, A, and B, a 3DS gamecard must be inserted as well.<br />
| This launches the gamecard application.<br />
|-<br />
| This is used when the above path isn't used.<br />
| This launches System Settings(unknown what this is used for).<br />
|}<br />
<br />
== Region Lockout ==<br />
<br />
One of the Home Menu's functions, is to regulate region lockout. The region lockout data for any given title is held in the [[SMDH#BNR Region|ICN data]]. There are 6 regions of which have their own region lockout, Japan, USA, Europe(including Nintendo Australia), China, Taiwan and Korea. There is also a value which makes a title exempt from region lockout, and consequently accessible from any region of 3DS.<br />
<br />
=== Effects of Region Lockout ===<br />
Every 3DS title regardless of location (NAND/SD Card/Game Card) is subject to region lockout scrutiny by the Home Menu. And the home menu treats 'out-of-region' titles by simply refusing to show them on the home menu. No messages are shown on the home menu to notify the user, the title is simply ignored. However out-of-region SD Card titles, will appear and quickly disappear, while all the SD Titles are being processed. In cases where access to the home menu GUI is not needed to launch the title (like in the case of kiosk demos), the home menu states an error has occurred, and launching of the title is stopped.<br />
<br />
=== Game Card Updates ===<br />
Either intentionally a region lock mechanism or not, the function which checks the game card update partition returns an error when it is detected the update is for a region other than the 3DS's region (Most likely triggered by the absence of the correct CVer title). And errors returned from checking the update partition, will result in the home menu displaying "This Game Card cannnot be used", when the user attempts to launch the title.<br />
<br />
== Home-menu [[SpotPass]] usage ==<br />
<br />
Home-menu uses two domains with HTTPS for SpotPass. SpotPass stores this content in Home-menu's NAND shared extdata.<br />
<br />
* The system notifications are downloaded from: https://a248.e.akamai.net/f/248/103046/10m/npdl.c.app.nintendowifi.net/p01/nsa/<regionID>/<filename>/<langcode>/<filename> Where langcode is the two-character language codes from [[Config_Savegame|config]], and regionID is from the below table. <filename> is bashoX/sysmsgX where X is 0-3.<br />
* https://pls.c.shop.nintendowifi.net/pl/upload This URL is used for uploading data from the home menu NAND shared extdata, it's unknown what this is used for. This data is uploaded every 24 hours.<br />
* https://npul.c.app.nintendowifi.net/p01/recv/<regionID>/<filename> This is used for uploading unknown data from extdata. <filename> can be "phu", "tiu", "splu", or "sendmgn".<br />
<br />
{| class="wikitable"<br />
|-<br />
! Region<br />
! ID<br />
|-<br />
| JPN<br />
| gWr4JXxb2mKTG3lq<br />
|-<br />
| NA<br />
| uuI82221UKkqmtbp<br />
|-<br />
| EUR / Others<br />
| UrXSeurnxhPrq7AS<br />
|}<br />
<br />
The SpotPass content payload for notifications begin with a header, followed by an [[SMDH|icon]] and the UTF-16 text, and various metadata.<br />
<br />
== Automatic System Update Download ==<br />
See [[Automatic System Update Download]].<br />
<br />
== Home Menu Error Messages ==<br />
{| class="wikitable"<br />
|-<br />
! Dialog Text<br />
! Description<br />
|-<br />
| "An error has occured. Please save your data ... then restart the system"<br />
| This dialog is displayed when a system process(including Home Menu) crashes/terminates. This dialog is also displayed for system errors as well.<br />
|}<br />
<br />
== SD ExtData ==<br />
The SD ExtData [[Extdata#Filesystem|File System]] for Home Menu is as follows:<br />
<br />
root<br />
├── icon<br />
├── boss<br />
└── user<br />
├── SaveData.dat<br />
├── Cache.dat<br />
└── CacheD.dat<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! File<br />
! Details<br />
! Size<br />
! FW Introduced<br />
! Plaintext<br />
|-<br />
| icon<br />
| Stubbed. Always image 00000002.<br />
| 0x4 Bytes<br />
| n/a<br />
| <br />
|-<br />
| SaveData.dat<br />
| Always image 00000003.<br />
| 0x2cb0 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/SaveData.dat Download]<br />
|-<br />
| Cache.dat<br />
| Indexes and records details for the cached icon data. Always image 00000004.<br />
| 0x1688 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/Cache.dat Download]<br />
|-<br />
| CacheD.dat<br />
| Cached icon data for Home Menu. Always image 00000005.<br />
| 0x4cfe00 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/CacheD.dat Download]<br />
|}<br />
<br />
=== Cache.dat & CacheD.dat ===<br />
These two files work in tandem to allow the home menu to cache icon data for applications which are presented on the Home Menu. The size of both files suggests a maximum cache size of 360 icons. Cache.dat stores details about the cache icon data, and CacheD.dat stores the icon data. The icon cache stores icon data for *all* applications shown on the Home Menu, this includes DSi NAND Titles, and DS(i) cartridges. The format of cached DS(i) icon data is not understood, but they are the same size as 3DS icon data (0x36c0).<br />
<br />
In Cache.dat the first 8 bytes are reserved, then follows each icon slots's entry in the format:<br />
{| class="wikitable" border="1"<br />
|-<br />
! OFFSET<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x0<br />
| 8<br />
| Title ID in Little Endian<br />
|-<br />
| 0x8<br />
| 4<br />
| Unknown<br />
|-<br />
| 0xc<br />
| 4<br />
| Unknown<br />
|}<br />
<br />
All unused entries have the Title IDs filled with "0xff".<br />
<br />
In CacheD.dat, the icon data is concatenated together, with the first icon at offset 0x0.<br />
<br />
== See Also ==<br />
* http://www.nintendo.com/consumer/systems/3ds/en_na/menu_update.jsp<br />
* http://www.nintendo.co.jp/netinfo/3ds/JPN/ja.html</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Title_list&diff=8300Title list2013-12-10T07:36:43Z<p>3dsguy: </p>
<hr />
<div>The Nintendo 3DS utilizes a similar title-based organization as seen in the Wii and DSi platforms. The update server is located [http://nus.cdn.c.shop.nintendowifi.net/ccs/download/ here]. When using SSL, the update/shop servers must be accessed via SSLv3.<br />
<br />
The organization of Title IDs has not been documented fully yet. Region info isn't stored in title IDs however there does appear to be evidence that the regions are sequential, similar to how Wii System Menu Updates are ordered: JPN USA EUR KOR and CHN (introduced with the DSi). 3DS has one additional region: TWN.<br />
<br />
Note: The terms 'Title ID', 'Partition ID' and 'Media ID' are interchangeable.<br />
<br />
The 3DS retrieves system [[CommonETicket|tickets]] with SOAP request GetSystemCommonETicket, instead of directly downloading the cetk with HTTPS. The cetk is still accessible via HTTP, however 3DS doesn't use direct HTTP for this.<br />
<br />
<br />
'''TitleID Structure''': 0xCCCCABCDLLLLLLRR<br />
<br />
* CCCC defines the console '''Platform''' (4=3DS, 3=DSi, 1=[http://wiibrew.org/wiki/Title_database Wii])<br />
* ABCD defines the '''Content Category''' of the title, Demo, DLPChild, etc.<br />
* LLLLLL For CTR titles, this is the title's '''Unique ID'''. For TWL converted titles this is in two sections grouped as SSLLLL. SS is the old title identification used by the DSi and is made redundant by 'ABCD'. LLLL is the TWL title's 'Unique ID'. There are restrictions on the Unique ID, see below for more info.<br />
* RR This is the Title ID '''Variation''', and has various uses.<br />
<br />
<br />
'''Content Categories''':<br />
<br />
This u16 is a bit mask. Each Category is a group of one or more bit masks.<br />
<br />
Major categories in order of recognition:<br />
{| class="wikitable" border="1"<br />
|-<br />
! Category<br />
! Bitmask(s)<br />
|-<br />
| TWL Converted System Titles<br />
| 0x8000<nowiki>|</nowiki>0x1 (Excluding 0x4000)<br />
|-<br />
| TWL Converted DSiWare Titles<br />
| 0x8000 (Excluding 0x4000)<br />
|-<br />
| CTR System Titles<br />
| 0x0010 (Excluding 0x4000)<br />
|-<br />
| CTR Applications<br />
| 0x0000<br />
|}<br />
<br />
Specific Categories are made more specific by adding more bit masks.<br />
<br />
* System titles (TWL and CTR) are eligible to be updated during a System Update.<br />
<br />
'''Unique ID Restrictions''':<br />
<br />
For the CTR titles, there appears to be is a correlation between Unique IDs (UID) and 3DS 'title types'. For developer titles this is known(shown below), and retail titles *appear* to follow suite. It is unknown if this correlation is enforced on retail units, or if it is just for organisation purposes. <br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! TITLE TYPE<br />
! UNIQUE ID RANGE<br />
|-<br />
| System<br />
| 0x0 - 0x2FF<br />
|- <br />
| Application<br />
| 0x300 - 0xF7FFF<br />
|- <br />
| Evaluation<br />
| 0xF8000 -0xFFFFF<br />
|- <br />
| Prototype*<br />
| 0xFF000 - 0xFF3FF<br />
|}<br />
<nowiki>*</nowiki>On the home menu, titles with UIDs within the 'Prototype' range, appear on the home menu after install without the gift fanfare.<br />
<br />
'''TitleID Variation''':<br />
<br />
This u8 allows enumeration of titles from the same category and unique ID. Common uses are explained below:<br />
<br />
* CTR System Titles: The 3DS has two copies of most modules/applets/archives for usage with either the NATIVE_FIRM or SAFE_MODE_FIRM. This is allowed for, by changing the title ID variation of the title to match the core version set by the FIRM it is designed to be used with:<br />
{| class="wikitable" border="1"<br />
|-<br />
! RR<br />
! MEANING<br />
|- <br />
| 02<br />
| System Title (Core version 0x2)<br />
|-<br />
| 03<br />
| SAFE_MODE System Title (Core version 0x3)<br />
|}<br />
Normally on retail SAFE_MODE ARM11 [[NCCH#CXI|CXI]] titles can't be launched, since the [[Configuration_Memory|system]] core version doesn't match the CXI exheader core version.<br />
<br />
* Only 'Demo' and 'DlpChild' are the only non-System titles are known to utilise Title ID variation, this is explained in their respective sections on this page.<br />
<br />
* [[3DS Development Unit Software|Dev Menu]] installs CTR Applications with a TitleID variation of 0x02 to the CTR NAND.<br />
<br />
* Title ID variation is ignored for TWL titles, this value is carried over from the original TWL title ID and is used for region lock:<br />
<br />
=== Versions ===<br />
<br />
v## = 0xHHHH = 0bBBBBBBBB...<br />
<br />
* The version major,minor and micro can be extracted from the version number by converting the 16 bit number to binary<br />
* 6 bits : Major<br />
* 6 bits : Minor<br />
* 4 bits : Micro ('Build' in some contexts)<br />
* i.e. v2069 (Taken from 000400DB00017302) = 0b000010 000001 0101 means that the title version is v2.1.5. For reasons unknown, the CVer build, stored in the RomFS of the title, has always been zero (at time of writing), regardless of the CVer build in the TMD. So when predicting the firmware version, this should be taken into account.<br />
<br />
NOTE: This Title list is a condensed version, only the System Titles lists are full lists. For a full list of titles on Nintendo's CDN, see [http://mtheall.com/~mtheall/tmdlist.php here]. The reports/title-lists from [http://yls8.mtheall.com/reports.php here] are automatically obtained from the system update SOAP.<br />
<br />
== CTR System Titles ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Content Category<br />
! Bit Mask<br />
! Category Base Bit Mask<br />
! Final Bit Mask<br />
|-<br />
| Application<br />
| None<br />
| 0x0010<br />
| 0x0010<br />
|-<br />
| System Data Archives<br />
| 0x8<nowiki>|</nowiki>0x2 (0xB)<br />
| 0x0010<br />
| 0x001B<br />
|-<br />
| Shared System Data Archives<br />
| 0x80<nowiki>|</nowiki>0x8<nowiki>|</nowiki>0x2 (0x8B)<br />
| 0x0010<br />
| 0x009B<br />
|-<br />
| System Data Archives<br />
| 0x80<nowiki>|</nowiki>0x40<nowiki>|</nowiki>0x8<nowiki>|</nowiki>0x2 (0xCB)<br />
| 0x0010<br />
| 0x00DB<br />
|-<br />
| Applet<br />
| 0x20<br />
| 0x0010<br />
| 0x0030<br />
|-<br />
| Module<br />
| 0x100<nowiki>|</nowiki>0x20 (0x120)<br />
| 0x0010<br />
| 0x0130<br />
|-<br />
| Firmware<br />
| 0x100<nowiki>|</nowiki>0x20<nowiki>|</nowiki>0x8 (0x128)<br />
| 0x0010<br />
| 0x0138<br />
|}<br />
<br />
=== 00040010 - System Applications ===<br />
The versions for CHN, KOR, and TWN are separate from the other regions.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! JPN TIDLow<br />
! USA TIDLow<br />
! EUR TIDLow<br />
! CHN TIDLow<br />
! KOR TIDLow<br />
! TWN TIDLow<br />
! Description<br />
! JPN Versions<br />
! EUR Versions<br />
! USA Versions<br />
! CHN Versions<br />
! KOR Versions<br />
! TWN Versions<br />
! Status<br />
|-<br />
| 00020000<br />
| 00021000<br />
| 00022000<br />
| 00026000<br />
| 00027000<br />
| 00028000<br />
| [[System Settings]] (mset)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1027]], [[3.0.0-5|v2060]], [[4.0.0-7|v3074]], [[5.0.0-11|v4097]], [[6.0.0-11|v5127]], [[7.0.0-13|v6157]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1027]], [[3.0.0-5|v2061]], [[4.0.0-7|v3075]], [[5.0.0-11|v4097]], [[6.0.0-11|v5127]], [[7.0.0-13|v6157]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1027]], [[3.0.0-5|v2062]], [[4.0.0-7|v3078]], [[5.0.0-11|v4098]], [[6.0.0-11|v5128]], [[7.0.0-13|v6157]]<br />
| [[4.0.0-7|v8]], v1024, [[5.0.0-11|v2049]], [[7.0.0-13|v3075]]<br />
| [[4.0.0-7|v1026]], [[5.0.0-11|v2049]], [[7.0.0-13|v4098]]<br />
| [[4.1.0-8|v8]], [[4.2.0-9|v1024]], [[5.0.0-11|v2050]], [[7.0.0-13|v3074]]<br />
| Active<br />
|-<br />
| 00020100<br />
| 00021100<br />
| 00022100<br />
| 00026100<br />
| 00027100<br />
| 00028100<br />
| [[Download Play]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1026]], [[4.0.0-7|v2051]]<br />
| Same as JPN<br />
| Same as JPN<br />
| [[4.0.0-7|v4]]<br />
| [[4.0.0-7|v1027]]<br />
| [[4.1.0-8|v4]]<br />
| Active<br />
|-<br />
| 00020200<br />
| 00021200<br />
| 00022200<br />
| 00026200<br />
| 00027200<br />
| 00028200<br />
| [[Activity Log]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[3.0.0-5|v2051]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[3.0.0-5|v2054]], [[7.0.0-13|v2064]]<br />
| Same as EUR<br />
| [[4.0.0-7|v3]]<br />
| [[4.0.0-7|v2]], [[7.0.0-13|v16]]<br />
| [[4.1.0-8|v2]]<br />
| Active<br />
|-<br />
| 00020300<br />
| 00021300<br />
| 00022300<br />
| 00026300<br />
| 00027300<br />
| 00028300<br />
| [[Health and Safety Information]]<br />
| [[1.0.0-0|v0]], [[4.0.0-7|v1024]], [[6.0.0-11|v2050]]<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[4.0.0-7|v2050]], [[6.0.0-11|v3077]]<br />
| [[1.0.0-0|v0]], [[4.0.0-7|v1026]], [[6.1.0-12U|v2051]]<br />
| [[4.0.0-7|v5]]<br />
| [[4.0.0-7|v2]]<br />
| [[4.1.0-8|v5]]<br />
| Active<br />
|-<br />
| 00020400<br />
| 00021400<br />
| 00022400<br />
| 00026400<br />
| 00027400<br />
| 00028400<br />
| [[Nintendo 3DS Camera]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v16]], [[3.0.0-5|v1038]], [[4.0.0-7|v2048]], [[6.0.0-11|v3073]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v16]], [[3.0.0-5|v1039]], [[4.0.0-7|v2048]], [[6.0.0-11|v3073]], [[7.0.0-13|v3088]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v16]], [[3.0.0-5|v1039]], [[4.0.0-7|v2048]], [[6.1.0-12U|v3074]], [[7.0.0-13|v3088]]<br />
| [[4.0.0-7|v3]]<br />
| [[4.0.0-7|v2]], [[7.0.0-13|v1040]]<br />
| [[4.1.0-8|v3]]<br />
| Active<br />
|-<br />
| 00020500<br />
| 00021500<br />
| 00022500<br />
| 00026500<br />
| 00027500<br />
| 00028500<br />
| [[Nintendo 3DS Sound]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1027]], [[3.0.0-5|v2049]], [[4.0.0-7|v3072]], [[7.0.0-13|v3089]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1027]], [[3.0.0-5|v2049]], [[4.0.0-7|v3072]], [[7.0.0-13|v3088]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1027]], [[3.0.0-5|v2049]], [[4.0.0-7|v3072]], [[7.0.0-13|v3088]]<br />
| [[4.0.0-7|v2]]<br />
| [[4.0.0-7|v2]], [[7.0.0-13|v16]]<br />
| [[4.1.0-8|v3]]<br />
| Active<br />
|-<br />
| 00020700<br />
| 00021700<br />
| 00022700<br />
| 00026700<br />
| 00027700<br />
| 00028700<br />
| [[Mii Maker]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[7.0.0-13|v2055]]<br />
| Same as JPN<br />
| Same as JPN<br />
| [[4.0.0-7|v1]]<br />
| [[4.0.0-7|v1]], [[7.0.0-13|v16]]<br />
| [[4.1.0-8|v2]]<br />
| Active<br />
|-<br />
| 00020800<br />
| 00021800<br />
| 00022800<br />
| 00026800<br />
| 00027800<br />
| 00028800<br />
| [[StreetPass Mii Plaza]]<br />
| [[1.0.0-0|v0]], v1027, [[2.1.0-4|v2048]], [[3.0.0-5|v3087]], [[3.0.0-6|v4096]], [[6.0.0-11|v5121]]<br />
| [[1.0.0-0|v0]], v1027, [[2.1.0-4|v2048]], [[3.0.0-5|v3087]], [[3.0.0-6|v4096]], [[6.0.0-11|v5122]]<br />
| [[1.0.0-0|v0]], v1027, [[2.1.0-4|v2048]], [[3.0.0-5|v3087]], [[3.0.0-6|v4096]], [[6.1.0-12U|v5124]], [[7.0.0-13|v5136]]<br />
| [[4.0.0-7|v0]], [[4.4.0-10|v4096]]<br />
| [[4.0.0-7|v1]], [[4.4.0-10|v4096]], [[7.0.0-13|v5120]]<br />
| [[4.1.0-8|v1]], [[4.4.0-10|v4096]]<br />
| Active<br />
|-<br />
| 00020900<br />
| 00021900<br />
| 00022900<br />
| N/A<br />
| 00027900<br />
| 00028900<br />
| [[eShop]] (tiger)<br />
| [[2.0.0-2|v4]], [[2.1.0-3|v1026]], [[3.0.0-5|v2057]], [[4.0.0-7|v3081]], [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7169]], [[7.0.0-13|v8206]]<br />
| [[2.0.0-2|v4]], [[2.1.0-3|v1026]], [[3.0.0-5|v2058]], [[4.0.0-7|v3081]], [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7171]], [[7.0.0-13|v8206]]<br />
| [[2.0.0-2|v4]], [[2.1.0-3|v1026]], [[3.0.0-5|v2058]], [[4.0.0-7|v3081]], [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7170]], [[7.0.0-13|v8206]]<br />
| N/A<br />
| [[4.0.0-7|v3082]], [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7169]], [[7.0.0-13|v8205]]<br />
| [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7170]], [[7.0.0-13|v8205]]<br />
| Active<br />
|-<br />
| 00020A00<br />
| 00021A00<br />
| 00022A00<br />
| N/A<br />
| 00027A00<br />
| 00028A00<br />
| [[System Transfer]] (CARDBOAR)<br />
| [[2.0.0-2|v4]], [[3.0.0-5|v1035]], [[4.0.0-7|v2050]], [[5.0.0-11|v3074]], [[7.0.0-13|v4109]]<br />
| [[2.0.0-2|v4]], [[3.0.0-5|v1035]], [[4.0.0-7|v2050]], [[5.0.0-11|v3073]], [[7.0.0-13|v4109]]<br />
| [[2.0.0-2|v4]], [[3.0.0-5|v1035]], [[4.0.0-7|v2051]], [[5.0.0-11|v3073]], [[7.0.0-13|v4109]]<br />
| N/A<br />
| [[4.0.0-7|v2]], [[5.0.0-11|v1025]], [[7.0.0-13|v2061]]<br />
| [[4.1.0-8|v2]], [[5.0.0-11|v1025]], [[7.0.0-13|v2061]]<br />
| Active<br />
|-<br />
| 00020B00<br />
| 00021B00<br />
| 00022B00<br />
| N/A<br />
| N/A<br />
| N/A<br />
| [[Nintendo Zone]]<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1034]]<br />
| Same as JPN<br />
| Same as JPN<br />
| N/A<br />
| N/A<br />
| N/A<br />
| Active<br />
|-<br />
| 00020D00<br />
| 00021D00<br />
| 00022D00<br />
| 00026D00<br />
| 00027D00<br />
| 00028D00<br />
| [[Face Raiders]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1028]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1028]], [[7.0.0-13|v1040]]<br />
| Same as EUR<br />
| [[4.0.0-7|v0]]<br />
| [[4.0.0-7|v0]]<br />
| [[4.1.0-8|v2]]<br />
| Active<br />
|-<br />
| 00020E00<br />
| 00021E00<br />
| 00022E00<br />
| 00026E00<br />
| 00027E00<br />
| 00028E00<br />
| [[AR Games]] (AR_ACT)<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1026]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1026]], [[7.0.0-13|v1040]]<br />
| [[1.0.0-0|v0]], [[2.1.0-4|v1027]], [[7.0.0-13|v1040]]<br />
| [[4.0.0-7|v0]]<br />
| [[4.0.0-7|v0]], [[7.0.0-13|v16]]<br />
| [[4.1.0-8|v1]]<br />
| Active<br />
|-<br />
| 00020F00<br />
| 00021F00<br />
| 00022F00<br />
| 00026F00<br />
| 00027F00<br />
| 00028F00<br />
| SAFE_MODE [[System Settings#System Updater|System Updater]] (mset)<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[6.0.0-11|v2049]]<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[6.0.0-11|v2050]]<br />
| Same as JPN<br />
| [[4.0.0-7|v1]], [[6.0.0-11|v1026]]<br />
| [[4.0.0-7|v1]]<br />
| [[4.1.0-8|v1]]<br />
| Active<br />
|-<br />
| 00023000<br />
| 00024000<br />
| 00025000<br />
| N/A<br />
| N/A<br />
| N/A<br />
| Promotional video<br />
| [[1.1.0-1|v0]], [[2.0.0-2|v2048]]<br />
| Same as JPN<br />
| Same as JPN<br />
| N/A<br />
| N/A<br />
| N/A<br />
| Stubbed<br />
|-<br />
| 0002BF00<br />
| 0002C000<br />
| 0002C100<br />
| N/A<br />
| N/A<br />
| N/A<br />
| Unknown (Most likely Nintendo Network ID Settings)<br />
| [[7.0.0-13|v14]]<br />
| Same as JPN<br />
| Same as JPN<br />
| N/A<br />
| N/A<br />
| N/A<br />
| Active<br />
|}<br />
<br />
=== 0004001B - [[NCCH#CFA|System Data Archives]] ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Description<br />
! Versions<br />
|-<br />
| 00010002<br />
| [[ClCertA]]<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00010702<br />
| [[NS CFA]]<br />
| [[3.0.0-5|v0]], [[6.0.0-11|v1028]], [[6.3.0-12|v2048]], [[7.0.0-13|v3073]]<br />
|-<br />
| 00010802<br />
| This CFA only contains a 1-byte "dummy.txt" in the RomFS, which contains '0'.<br />
| [[6.3.0-12|v0]]<br />
|-<br />
| 00018002<br />
| ?<br />
| [[7.0.0-13|v14]]<br />
|-<br />
| 00018102<br />
| ?<br />
| [[7.0.0-13|v11]]<br />
|-<br />
| 00018202<br />
| ?<br />
| [[7.0.0-13|v7]]<br />
|}<br />
<br />
=== 00040030 - Applets===<br />
{| class="wikitable" border="1"<br />
|-<br />
! JPN TitleIDLow<br />
! USA TitleIDLow<br />
! EUR TitleIDLow<br />
! Description<br />
! Versions<br />
|-<br />
| 00008102<br />
| 00008102<br />
| 00008102<br />
| [[NS#Alternate menu|Alternate menu]]<br />
| N/A<br />
|-<br />
| 00008202<br />
| 00008F02<br />
| 00009802<br />
| [[Home Menu|SYSMENU]] (menu)<br />
| v0, v1029, v2049, [[2.2.0-X|v3075]], v4111, v5131, [[4.2.0-9|v6146]], [[5.0.0-11|v7172]], [[6.0.0-11|v8198]], [[7.0.0-13|v9230]]<br />
|-<br />
| 00008402<br />
| 00009002<br />
| 00009902<br />
| Camera applet used by Home-menu (CtrApp)<br />
| v0, v1036<br />
|-<br />
| 00008502<br />
| 00009102<br />
| 00009A02<br />
| Not available on CDN<br />
| ?<br />
|-<br />
| 00008602<br />
| 00009202<br />
| 00009B02<br />
| Instruction Manual, application for displaying instruction manuals<br />
| v0, v1026, v2048, v3072, [[5.0.0-11|v4097]]<br />
|-<br />
| 00008702<br />
| 00009302<br />
| 00009C02<br />
| Game Notes (Cherry)<br />
| v0, v1026, v2049, [[5.0.0-11|v3073]]<br />
|-<br />
| 00008802<br />
| 00009402<br />
| 00009D02<br />
| [[Internet Browser]] (spider)<br />
| [[2.0.0-2|v6]], [[2.1.0-4|v1024]], [[4.0.0-7|v2050]], [[5.0.0-11|v3075]], [[7.0.0-13|v3088]]<br />
|-<br />
| 00008A02<br />
| 00008A02<br />
| 00008A02<br />
| [[ErrDisp]]<br />
| v0, v1025, [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5121]]<br />
|-<br />
| 00008A03<br />
| 00008A03<br />
| 00008A03<br />
| SAFE_MODE [[ErrDisp]]<br />
| v0<br />
|-<br />
| 00008D02<br />
| 00009602<br />
| 00009F02<br />
| Friend List (friend)<br />
| v0, v1026, [[2.2.0-X|v2051]], v3082, v4099, [[7.0.0-13|v5120]] (EUR v6, v1024, v3082, v4099, [[7.0.0-13|v5120]])<br />
|-<br />
| 00008E02<br />
| 00009702<br />
| 0000A002<br />
| Notifications (newslist)<br />
| v0, v1029, v2054, v3075 (EUR v6, v1024, v2054, v3075)<br />
|-<br />
| 0000C002<br />
| 0000C802<br />
| 0000D002<br />
| Software Keyboard (swkbd)<br />
| v0, v1026, v2053, [[7.0.0-13|v3072]]<br />
|-<br />
| 0000C003<br />
| 0000C803<br />
| 0000D003<br />
| Software Keyboard (swkbd)<br />
| v0<br />
|-<br />
| 0000C102<br />
| 0000C902<br />
| 0000D102<br />
| appletEd<br />
| v0, v1026<br />
|-<br />
| 0000C302<br />
| 0000CB02<br />
| N/A<br />
| PNOTE_AP<br />
| v0, v1024<br />
|-<br />
| 0000C402<br />
| 0000CC02<br />
| N/A<br />
| SNOTE_AP<br />
| v0, v3<br />
|-<br />
| 0000C502<br />
| 0000C502<br />
| 0000C502<br />
| error<br />
| v0, v1026, v2053, v3074<br />
|-<br />
| 0000C503<br />
| 0000C503<br />
| 0000C503<br />
| error<br />
| v0<br />
|-<br />
| 0000CD02<br />
| 0000CD02<br />
| 0000CD02<br />
| extrapad<br />
| v1, v1026<br />
|-<br />
| 0000C602<br />
| 0000CE02<br />
| 0000D602<br />
| mint (eShop related?)<br />
| v5, v1028, [[4.2.0-9|v2050]], [[5.0.0-11|v3072]], [[7.0.0-13|v4109]]<br />
|-<br />
| ?<br />
| ?<br />
| 0000D302<br />
| ?<br />
| v0, v1024<br />
|-<br />
| ?<br />
| ?<br />
| 0000D402<br />
| ?<br />
| v3<br />
|-<br />
| 0000BC02<br />
| 0000BD02<br />
| 0000BE02<br />
| ?<br />
| [[7.0.0-13|v14]]<br />
|-<br />
| 0000F602<br />
| 0000F602<br />
| 0000F602<br />
| ?<br />
| [[7.0.0-13|v5]]<br />
|}<br />
<br />
Most of these processes are applets. There can only be one application here(Home Menu, Internet Browser, Friend-List, etc) with programID-high 00040030 running at a time. When directly launching one of these 00040030 applications with Home Menu, the Home Menu process will terminate once the process is launched. When returning to Home Menu from that launched process, the Home Menu process is launched again.<br />
<br />
=== 0004009B - [[NCCH#CFA|System Data Archives]] (Shared Archives) ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! JPN TitleIDLow<br />
! USA TitleIDLow<br />
! EUR TitleIDLow<br />
! Description<br />
! Versions<br />
|-<br />
| 00010202<br />
| 00010202<br />
| 00010202<br />
| ?<br />
| v0<br />
|-<br />
| 00010302<br />
| 00010302<br />
| 00010302<br />
| ?<br />
| v0, v2052<br />
|-<br />
| 00010402<br />
| 00010402<br />
| 00010402<br />
| Mounted as "area:"<br />
| v0, v1024, v2050, v3072, [[7.0.0-13|v4098]]<br />
|-<br />
| 00010502<br />
| 00010502<br />
| 00010502<br />
| ?<br />
| v0, v1024, v2048<br />
|-<br />
| 00010602<br />
| 00010602<br />
| 00010602<br />
| ?<br />
| v2<br />
|-<br />
| 00011902<br />
| ?<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| 00011402<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| 00011602<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| 00011D02<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| 00011E02<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011202<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011302<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011502<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011702<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011802<br />
| ?<br />
| v0<br />
|-<br />
| 00011902<br />
| ?<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011B02<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011C02<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00011D02<br />
| ?<br />
| v0<br />
|-<br />
| ?<br />
| ?<br />
| 00012102<br />
| ?<br />
| v0, v1026, v2051, v3074<br />
|-<br />
| 00012202<br />
| 00012302<br />
| 00012102<br />
| ?<br />
| v1026, v2053, v3073, [[4.2.0-9|v4096]], [[5.0.0-11|v5120]], [[7.0.0-13|v6149]]<br />
|-<br />
| 00013202<br />
| 00013302<br />
| 00013102<br />
| Mounted as "eula:"<br />
| v0, v1024, v2049 USA: v1024, v2051, [[7.0.0-13|v3074]]<br />
|-<br />
| 00014002<br />
| 00014002<br />
| 00014002<br />
| JPN/EUR/USA System Font ("font:")<br />
| v0<br />
|-<br />
| 00014102<br />
| 00014102<br />
| 00014102<br />
| CHN System Font ("font:")<br />
| v0, v1024<br />
|-<br />
| 00014202<br />
| 00014202<br />
| 00014202<br />
| KOR System Font ("font:")<br />
| v0, v1024<br />
|-<br />
| 00014302<br />
| 00014302<br />
| 00014302<br />
| TWN System Font ("font:")<br />
| v0, v1024<br />
|-<br />
| 00015202<br />
| 00015302<br />
| 00015102<br />
| Mounted as "rate:"<br />
| v0 (EUR: v0, v1024)<br />
|-<br />
| ?<br />
| 00016302<br />
| ?<br />
| ?<br />
| v80<br />
|-<br />
| ?<br />
| 00017302<br />
| ?<br />
| ?<br />
| v3088<br />
|}<br />
<br />
=== 000400DB - [[NCCH#CFA|System Data Archives]] ===<br />
These [[NVer]] titleIDs can be found @ offset 0x320 in every [[CCI]]. The title version is likely used to determine whether a system update is needed, it's unknown whether this is involved with region-locking at all.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! EUR TitleIDLow<br />
! JPN TitleIDLow<br />
! USA TitleIDLow<br />
! CHN TitleIDLow<br />
! KOR TitleIDLow<br />
! TWN TitleIDLow<br />
! Description<br />
! USA/EUR/JPN Versions<br />
! CHN Versions<br />
! TWN Versions<br />
! KOR Versions<br />
|-<br />
| 00010302<br />
| 00010302<br />
| 00010302<br />
| 00010302<br />
| 00010302<br />
| 00010302<br />
| NGWord bad word list<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1024]], [[3.0.0-5|v2052]], [[4.0.0-7|v3072]], [[4.3.0-10|v4096]], [[5.0.0-11|v5120]]<br />
| Same as USA<br />
| Same as USA<br />
| Same as USA<br />
|-<br />
| 00010502<br />
| 00010502<br />
| 00010502<br />
| 00010502<br />
| 00010502<br />
| 00010502<br />
| [[Nintendo Zone]] hotspot list<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1024]], [[3.0.0-5|v2048]], [[4.0.0-7|v3073]], [[4.3.0-10|v4096]], [[4.4.0-10|v5120]], [[4.5.0-10|v6144]], [[5.0.0-11|v7169]], [[6.0.0-11|v8192]], [[6.2.0-12|v9216]], [[7.0.0-13|v10242]]<br />
| Same as USA<br />
| Same as USA<br />
| Same as USA<br />
|-<br />
| 00016102<br />
| 00016202<br />
| 00016302<br />
| 00016402<br />
| 00016502<br />
| 00016602<br />
| [[NVer]]<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v16]], [[2.0.0-2|v32]], [[2.1.0-3|v48]], [[2.1.0-4|v64]], [[3.0.0-5|v80]], [[3.0.0-6|v96]], [[4.0.0-7|v112]], [[4.1.0-8|v128]], [[4.2.0-9|v144]], [[4.3.0-10|v160]], [[5.0.0-11|v176]], non-USA=[[6.0.0-11|v192]]/USA=[[6.1.0-12U|v192]], [[7.0.0-13|v208]]<br />
| [[4.0.0-7|v113]], [[4.2.0-9|v128]], [[5.0.0-11|v129]]<br />
| [[4.1.0-8|v114]], [[4.2.0-9|v133]], [[4.3.0-10|v134]], [[5.0.0-11|v136]], [[7.0.0-13|v144]]<br />
| [[4.0.0-7|v113]], [[4.1.0-8|v114]], [[4.2.0-9|v133]], [[4.3.0-10|v134]], [[5.0.0-11|v136]], [[7.0.0-13|v160]]<br />
|-<br />
| 00017102<br />
| 00017202<br />
| 00017302<br />
| 00017402<br />
| 00017502<br />
| 00017602<br />
| [[CVer]]<br />
| [[1.0.0-0|v1024]], [[1.1.0-1|v1045]], [[2.0.0-2|v2049]], [[2.1.0-3|v2069]], [[3.0.0-5|v3088]], [[4.0.0-7|v4098]], [[4.1.0-8|v4113]], [[4.2.0-9|v4130]], [[4.3.0-10|v4145]], [[4.4.0-10|v4163]], [[4.5.0-10|v4176]], [[5.0.0-11|v5120]], [[5.1.0-11|v5136]], [[6.0.0-11|v6146]], [[6.1.0-11|v6160]], [[6.2.0-12|v6178]], [[6.3.0-12|v6192]], [[7.0.0-13|v7175]]<br />
| Same as USA<br />
| Same as USA<br />
| Same as USA<br />
|}<br />
<br />
=== 00040130 - System [[Services API|Modules]] ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Description<br />
! Versions<br />
|-<br />
| 00001002<br />
| sm (Stored in [[FIRM|NATIVE_FIRM]])<br />
| N/A<br />
|-<br />
| 00001102<br />
| [[Filesystem services|fs]] (Stored in [[FIRM|NATIVE_FIRM]])<br />
| N/A<br />
|-<br />
| 00001202<br />
| [[Process Manager Services|pm]] (Stored in [[FIRM|NATIVE_FIRM]])<br />
| N/A<br />
|-<br />
| 00001302<br />
| loader (Stored in [[FIRM|NATIVE_FIRM]])<br />
| N/A<br />
|-<br />
| 00001402<br />
| pxi (Stored in [[FIRM|NATIVE_FIRM]])<br />
| N/A<br />
|-<br />
| 00001502<br />
| [[Application Manager Services|AM]] ( Application Manager )<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[3.0.0-5|v2053]], [[4.0.0-7|v3072]], [[5.0.0-11|v4098]], [[6.0.0-11|v5120]]<br />
|-<br />
| 00001503<br />
| AM<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001602<br />
| Camera<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[3.0.0-5|v2048]], [[4.0.0-7|v3074]], [[5.0.0-11|v4098]], [[6.0.0-11|v5120]]<br />
|-<br />
| 00001702<br />
| [[Config Services|Config]] (cfg)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1024]], [[3.0.0-5|v2049]], [[4.0.0-7|v4096]], [[5.0.0-11|v5122]], [[6.0.0-11|v6145]], [[6.1.0-11|v7168]], [[7.0.0-13|v8196]]<br />
|-<br />
| 00001703<br />
| Config (cfg)<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001802<br />
| Codec<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[5.0.0-11|v4098]], [[7.0.0-13|v5120]]<br />
|-<br />
| 00001803<br />
| Codec<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001A02<br />
| DSP<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[4.0.0-7|v2048]], [[5.0.0-11|v3074]], [[6.0.0-11|v4096]]<br />
|-<br />
| 00001A03<br />
| DSP<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001B02<br />
| GPIO<br />
| [[1.0.0-0|v0]], [[5.0.0-11|v1025]]<br />
|-<br />
| 00001B03<br />
| GPIO<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001C02<br />
| GSP<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v1040]], [[2.0.0-2|v2049]], [[3.0.0-5|v3075]], [[4.0.0-7|v5120]], [[5.0.0-11|v6145]], [[6.0.0-11|v7168]]<br />
|-<br />
| 00001C03<br />
| GSP<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001D02<br />
| HID (Human Interface Devices) <br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5121]]<br />
|-<br />
| 00001D03<br />
| HID<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001E02<br />
| i2c<br />
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[5.0.0-11|v2049]]<br />
|- <br />
| 00001E03<br />
| i2c<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00001F02<br />
| MCU<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.1.0-3|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4102]], [[5.0.0-11|v5122]], [[6.0.0-11|v6145]], [[7.0.0-13|v7168]]<br />
|-<br />
| 00001F03<br />
| MCU<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002002<br />
| Microphone (mic)<br />
| [[1.0.0-0|v0]], [[5.0.0-11|v1025]]<br />
|-<br />
| 00002102<br />
| PDN<br />
| [[1.0.0-0|v0]], [[5.0.0-11|v1025]]<br />
|-<br />
| 00002103<br />
| PDN<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002202<br />
| PTM (Play time, pedometer, and battery manager)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3075]], [[4.0.0-7|v5120]], [[5.0.0-11|v6146]], [[6.0.0-11|v7168]], [[7.0.0-13|v8192]]<br />
|-<br />
| 00002203<br />
| PTM<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002302<br />
| spi<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[5.0.0-11|v2049]]<br />
|-<br />
| 00002303<br />
| spi<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002402<br />
| Network manager (AC)<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v1024]], [[2.0.0-2|v2052]], [[2.1.0-3|v3072]], [[3.0.0-5|v4101]], [[5.0.0-11|v5122]], [[7.0.0-13|v6145]]<br />
|-<br />
| 00002403<br />
| AC<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002602<br />
| Cecd (StreetPass)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3073]], [[4.0.0-7|v4097]], [[5.0.0-11|v5122]], [[6.0.0-11|v6144]], [[6.2.0-12|v7170]], [[7.0.0-13|v8193]]<br />
|-<br />
| 00002702<br />
| CSND<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[4.0.0-7|v2048]], [[5.0.0-11|v3073]]<br />
|-<br />
| 00002703<br />
| CSND<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002802<br />
| dlp ([[Download Play]])<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3078]], [[5.0.0-11|v4099]]<br />
|-<br />
| 00002902<br />
| http<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.1.0-3|v2049]], [[2.2.0-X|v3072]], [[3.0.0-5|v4099]], [[4.0.0-7|v5122]], [[5.0.0-11|v6145]], [[7.0.0-13|v7171]]<br />
|-<br />
| 00002903<br />
| http<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002A02<br />
| MP<br />
| [[1.0.0-0|v0]], [[5.0.0-11|v1025]]<br />
|-<br />
| 00002A03<br />
| MP<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002B02<br />
| NDM<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[3.0.0-5|v2049]], [[4.0.0-7|v3072]], [[5.0.0-11|v4098]]<br />
|-<br />
| 00002C02<br />
| [[NIM Services|NIM]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1028]], [[3.0.0-5|v2055]], [[4.0.0-7|v3074]], [[5.0.0-11|v4100]], [[6.0.0-11|v5120]], [[7.0.0-13|v6148]]<br />
|-<br />
| 00002C03<br />
| NIM<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002D02<br />
| NWM ( Low-level wifi manager )<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v1024]], [[2.0.0-2|v2052]], [[2.2.0-X|v3072]], [[3.0.0-5|v4101]], [[4.0.0-7|v5120]], [[5.0.0-11|v6148]], [[6.0.0-11|v7169]]<br />
|-<br />
| 00002D03<br />
| NWM<br />
| [[1.0.0-0|v0]], [[6.0.0-11|v5120]]<br />
|-<br />
| 00002E02<br />
| Sockets<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v1024]], [[2.0.0-2|v2053]], [[3.0.0-5|v3075]], [[4.0.0-7|v4096]], [[5.0.0-11|v5121]]<br />
|-<br />
| 00002E03<br />
| Sockets<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00002F02<br />
| SSL<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1024]], [[2.1.0-3|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5122]]<br />
|-<br />
| 00002F03<br />
| SSL<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00003102<br />
| [[Process Services|PS]] ( Process Manager )<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[5.0.0-11|v2049]], [[6.0.0-11|v3072]]<br />
|-<br />
| 00003103<br />
| PS<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00003202<br />
| FriendsList (friends)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1028]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5122]], [[7.0.0-13|v6145]]<br />
|-<br />
| 00003203<br />
| FriendsList (friends)<br />
| [[1.0.0-0|v0]]<br />
|-<br />
| 00003302<br />
| IR (Infrared)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5121]]<br />
|-<br />
| 00003303<br />
| IR<br />
| [[1.0.0-0|v0]]<br />
|- <br />
| 00003402<br />
| BOSS (SpotPass)<br />
| [[1.0.0-0|v0]], [[1.1.0-1|v1024]], [[2.0.0-2|v2053]], [[2.2.0-X|v3073]], [[3.0.0-5|v4101]], [[4.0.0-7|v5122]], [[5.0.0-11|v6146]], [[6.0.0-11|v7169]], [[6.2.0-12|v8193]], [[7.0.0-13|v9222]]<br />
|-<br />
| 00003502<br />
| News (Notifications)<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1028]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[5.0.0-11|v4097]]<br />
|-<br />
| 00003702<br />
| [[RO_Services|RO]]<br />
| [[2.0.0-2|v0]], [[4.0.0-7|v1024]], [[5.0.0-11|v2049]]<br />
|-<br />
| 00003802<br />
| ?<br />
| [[7.0.0-13|v1029]]<br />
|-<br />
| 00008002<br />
| [[NS]]<br />
| [[1.0.0-0|v0]], [[2.0.0-2|v1028]], [[2.2.0-X|v2048]], [[3.0.0-5|v3077]], [[4.0.0-7|v5121]], [[5.0.0-11|v6148]], [[5.1.0-11|v7168]], [[6.0.0-11|v8193]], [[6.1.0-11|v9216]], [[7.0.0-13|v10248]]<br />
|-<br />
| 00008003<br />
| NS<br />
| [[1.0.0-0|v0]]<br />
|}<br />
<br />
Once Home Menu finishes loading, all of the above system modules are running, except for MP and RO which are automatically [[Process_Manager_Services|loaded]] when a process requires them. When [[Process_Manager_Services|PM]] module terminates processes, it will check whether the processes listed as dependencies for this process are listed as dependencies for other processes. Any processes which are no longer listed in any processes dependencies lists are then terminated.<br />
<br />
=== 00040138 - [[FIRM|System Firmware]] ===<br />
NATIVE_FIRM and SAFE_MODE_FIRM for the initial versions are exactly the same, besides [[Configuration_Memory|core-version]] fields. SAFE_MODE_FIRM is used for running SAFE_MODE titles, on retail SAFE_MODE_FIRM seems to be only used for running the [[System_Settings#System_Updater|System Updater]] application. When a GBA VC title is launched, AGB_FIRM is launched to handle running this title. GBA VC savegames stored under SD card /title/<TID>/data use a custom format, this is handled by AGB_FIRM.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Description<br />
! Versions<br />
|-<br />
| 00000002<br />
| NATIVE_FIRM (Native Firmware)<br />
| [[1.0.0-0|v432]], [[1.1.0-1|v1472]], [[2.0.0-2|v2516]], [[2.1.0-3|v3553]], [[2.2.0-X|v4595]], [[3.0.0-5|v5647]], [[4.0.0-7|v6677]], [[4.1.0-8|v7712]], [[5.0.0-11|v8758]], [[5.1.0-11|v9792]], [[6.0.0-11|v10833]], [[6.1.0-11|v11872]], [[7.0.0-13|v12916]]<br />
|-<br />
| 00000003<br />
| SAFE_MODE_FIRM <br />
| [[1.0.0-0|v432]], [[3.0.0-5|v5632]]<br />
|-<br />
| 00000102 <br />
| TWL_FIRM ( DSi Firmware )<br />
| [[1.0.0-0|v432]], [[2.0.0-2|v1489]], [[3.0.0-5|v2565]], [[4.0.0-7|v4625]], [[4.4.0-10|v5681]], [[4.5.0-10|v6704]], [[6.0.0-11|v7762]], [[6.2.0-12|v8817]]<br />
|- <br />
| 00000202<br />
| AGB_FIRM ( GBA Firmware )<br />
| [[3.0.0-5|v519]], [[4.0.0-7|v2576]], [[6.0.0-11|v3665]]<br />
|}<br />
<br />
== TWL System Titles ==<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Content Category<br />
! Additional Bit Mask<br />
! Category Base Bit Mask<br />
! Final Bit Mask<br />
|-<br />
| System Application<br />
| 0x4<br />
| 0x8001<br />
| 0x8005<br />
|-<br />
| System Archive<br />
| 0x8<nowiki>|</nowiki>0x4<nowiki>|</nowiki>0x2<br />
| 0x8001<br />
| 0x800F<br />
|}<br />
Bitmask 0x1 for TWL titles determines whether the title will be updated during a System Update.<br />
<br />
=== 00048005 - System Applications===<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Region<br />
! Description<br />
! Versions<br />
! Information<br />
|-<br />
| 42383841(B88A)<br />
| ALL<br />
| [[DS Internet]]<br />
| v0, [[2.1.0-4|v1025]], [[3.0.0-5|v2048]]<br />
| [[DS Internet]] is the DSi-mode application launched by [[System Settings]] for setting TWL wifi configuration. <br />
|-<br />
| 484E4441(HNDA)<br />
| ALL<br />
| [[Download Play]]<br />
| v1024<br />
| This [[Download Play]] application is the DS-mode Download Play client, launched by the 3DS-mode Download Play application.<br />
|-<br />
| 484E4443(HNDC)<br />
| CHN<br />
| [[Download Play]]<br />
| v1024<br />
| See Above Description.<br />
|-<br />
| 484E444B(HNDK)<br />
| KOR<br />
| [[Download Play]]<br />
| v1024<br />
| See Above Description.<br />
|}<br />
<br />
=== 0004800F - System Data Archives===<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Description<br />
! Versions<br />
|-<br />
| 484E4841(HNHA)<br />
| [[Nintendo DS Cart Whitelist]]<br />
| v0, [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[4.2.0-9|v5120]], [[4.3.0-10|v6145]], [[4.4.0-10|v7168]], [[4.5.0-10|v8192]], [[5.0.0-11|v9216]], [[6.0.0-11|v10240]], [[7.0.0-13|v11264]]<br />
|-<br />
| 484E4C41(HNLA)<br />
| [[Version Data]]<br />
| v0<br />
|}<br />
<br />
New system updates only block DS flash-cards when the above whitelist was updated, or when TWL_FIRM was updated. The whitelist contains the data used for detecting flash-cards, this is used by TWL_FIRM.<br />
<br />
== Application Titles ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Content Category<br />
! Bit Mask<br />
! Category Base Bit Mask<br />
! Final Bit Mask<br />
|-<br />
| Application<br />
| None<br />
| 0x0000<br />
| 0x0000<br />
|-<br />
| DLP Child<br />
| 0x1<br />
| 0x0000<br />
| 0x0001<br />
|-<br />
| Demo<br />
| 0x2<br />
| 0x0000<br />
| 0x0002<br />
|-<br />
| Contents<br />
| 0x2<nowiki>|</nowiki>0x1<br />
| 0x0000<br />
| 0x0003<br />
|-<br />
| Patch<br />
| 0x8<nowiki>|</nowiki>0x4<nowiki>|</nowiki>0x2<br />
| 0x0000<br />
| 0x000E<br />
|-<br />
| Add-on Content (DLC)<br />
| 0x80<nowiki>|</nowiki>0x8<nowiki>|</nowiki>0x4<br />
| 0x0000<br />
| 0x008C<br />
|}<br />
<br />
=== 00040000 - eShop Titles ===<br />
See [[Title list/eShop Titles|eShop Titles]]<br />
<br />
=== 00040001 - [[Download Play]] Titles ===<br />
This titleID-high/programID-high is used for the titles sent over [[Download Play]]. Only one 00040001 Download Play title is installed to NAND /title at a time. There can be a maximum of 254 Download Play child titles per Unique ID, indexed by Title ID Variation. The legal index range: 0x1 - 0xff.<br />
<br />
=== 00040002 - eShop Demos ===<br />
These titles with limited uses. For a given Unique ID, there can be a maximum of 254 separate demos. Each demo is indexed by the Title ID Variation. The legal demo index range: 0x1 - 0xff.<br />
<br />
=== 0004000E - Add-on Content (Patches) ===<br />
These are the same as the application's main [[NCCH#CXI|CXI]], except the ExeFS/RomFS only contains files which were updated. When loading NCCH data the system will load from the update-data title by default, and if the data doesn't exist in the update-data title the system will fall-back to using the data stored in the original application CXI. The programID stored in the NCCH header matches the NCCH titleID, however the programID stored in the exheader is set to the original application programID instead.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Region<br />
! Description<br />
! Versions<br />
|-<br />
| 00022800<br />
| EUR<br />
| StreetPass Mii Plaza [Update Data]<br />
| v3 (v6160)<br />
|-<br />
| 00030600<br />
| JPN<br />
| Mario Kart 7 [Update Data]<br />
| v1.1 (v1040)<br />
|-<br />
| 00030700<br />
| EUR<br />
| Mario Kart 7 [Update Data]<br />
| v1.1 (v1040)<br />
|-<br />
| 00030800<br />
| USA<br />
| Mario Kart 7 [Update Data]<br />
| v1.1 (v1040)<br />
|-<br />
| 00032100<br />
| ?<br />
| ?<br />
| v1024, v2048<br />
|-<br />
| 0004EE00<br />
| ?<br />
| ?<br />
| v1024<br />
|-<br />
| 00072A00<br />
| ?<br />
| ?<br />
| v1040<br />
|-<br />
| 00078500<br />
| ?<br />
| ?<br />
| v1024, v3072<br />
|-<br />
| 0007A000<br />
| ?<br />
| ?<br />
| v1024<br />
|}<br />
<br />
=== 0004008C - Add-on Content (DLC) ===<br />
These are titles which provide downloadable content to a specific title. The reason why these titles can only be purchased in game, is because all DLC content is under one titleID, downloading via the eShop would download all DLC content. And because all DLC content is under one title ID, they are viewed as one title in system settings, and individual DLC can only be deleted from within the game which uses the DLC.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Region<br />
! Description<br />
! Versions<br />
|-<br />
| 00022800<br />
| EUR<br />
| StreetPass Mii Plaza [DLC]<br />
| v5<br />
|-<br />
| 00068300<br />
| ?<br />
| ?<br />
| v0, v256<br />
|-<br />
| 00072000<br />
| ?<br />
| ?<br />
| v0, v128<br />
|-<br />
| 00072A00<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00078200<br />
| ?<br />
| ?<br />
| v0, v64<br />
|-<br />
| 0007AD00<br />
| JPN<br />
| New SUPER MARIO BROS. 2 [DLC]<br />
| v16, v48<br />
|-<br />
| 0007AE00<br />
| USA<br />
| New SUPER MARIO BROS. 2 [DLC]<br />
| v16, v48<br />
|-<br />
| 0007AF00<br />
| EUR<br />
| New SUPER MARIO BROS. 2 [DLC]<br />
| v0, v48<br />
|-<br />
| 00084F00<br />
| ?<br />
| ?<br />
| v0, v80<br />
|-<br />
| 0008CC00<br />
| ?<br />
| ?<br />
| v0, v16<br />
|-<br />
| 00090E00<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 00091600<br />
| ?<br />
| ?<br />
| v0, v16<br />
|-<br />
| 00095100<br />
| ?<br />
| ?<br />
| v0, v16<br />
|-<br />
| 00095700<br />
| ?<br />
| ?<br />
| v0, v96<br />
|-<br />
| 00095800<br />
| ?<br />
| ?<br />
| v0, v32, v48<br />
|-<br />
| 0009AB00<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 0009AC00<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 0009AD00<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 0009AE00<br />
| ?<br />
| ?<br />
| v0<br />
|-<br />
| 000A4D00<br />
| ?<br />
| ?<br />
| v0<br />
|}<br />
<br />
== TWL Application Titles ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Content Category<br />
! Bit Mask<br />
! Category Base Bit Mask<br />
! Final Bit Mask<br />
|-<br />
| Application (DSiWare)<br />
| 0x4<br />
| 0x8000<br />
| 0x8004<br />
|}<br />
<br />
=== 00048004 - DSiWare ===<br />
Although these have a titleID high separate from DSi and a titleID is stored in the SRLs, the content of these SRLs are identical to DSi.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! TitleID Low<br />
! Region<br />
! Description<br />
! Versions<br />
|-<br />
| 4B4B5456(KKTV)<br />
| EUR<br />
| Cut the Rope<br />
| v0, v64<br />
|-<br />
| 4B4E5256(KNRV)<br />
| EUR<br />
| A Little Bit of... Brain Training™: Maths Edition <br />
| v0<br />
|-<br />
| 4B5A4C56(KZLV)<br />
| EUR<br />
| Plants vs. Zombies™<br />
| v0<br />
|-<br />
| 4B454256(KEBV)<br />
| EUR<br />
| ELECTROPLANKTON (Hanenbow)<br />
| v0<br />
|-<br />
| 4B513956(KQ9V)<br />
| EUR<br />
| Zelda: Four Swords Anniversary Edition<br />
| v0, v16<br />
|-<br />
| 4B574256(KWBV)<br />
| EUR<br />
| Mario Calculator <br />
| v0<br />
|-<br />
| 4B574656(KWFV)<br />
| EUR<br />
| Mario Clock <br />
| v0<br />
|}</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Anti_Savegame_Restore&diff=8290Anti Savegame Restore2013-11-22T12:08:02Z<p>3dsguy: </p>
<hr />
<div>=Summary=<br />
Anti Savegame Restore (internally referred to as ''Save Data Rollback Prevention'') is a feature originally implemented in [[Filesystem_services|FS]] module with [[4.0.0-7]], which prevents the user from restoring previous versions of a savegame image. This feature is not used for gamecard games. When an old version of the save is detected, the application will display an error regarding old savegame version, then delete+recreate the save(similar to when the savegame is corrupted).<br />
<br />
=Implementation=<br />
When creating the SD savedata, the application generates a random u64 value, then stores it in an arbitary savefile in the savegame FS. The application then uses the anti-savegame-restore [[Filesystem_services|FS]] commands to verify the stored u64(with the u64 loaded by FS module), and to update the u64 used by FS module. The u64 used by FS module is stored in a NAND savegame.<br />
<br />
Each time the application writes to the savegame, the u64 value stored in the savefile should be updated(and the command for updating the NAND u64 value should be used as well). Usually applications update this value by incrementing it, however generating a new random-number or other methods of updating it can be used as well.<br />
<br />
=Applications using this feature=<br />
* Animal Crossing: New Leaf<br />
* Pokemon X & Y<br />
<br />
It's currently unknown whether there's any eShop-only titles that use this.<br />
<br />
Applications which use this feature have had a Product Code of "CTR-x-Exxx", the "E" may be an internal reference to such games.</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Anti_Savegame_Restore&diff=8289Anti Savegame Restore2013-11-22T12:07:11Z<p>3dsguy: </p>
<hr />
<div>=Summary=<br />
Anti Savegame Restore (internally referred to as ''Savegame Rollback Prevention'') is a feature originally implemented in [[Filesystem_services|FS]] module with [[4.0.0-7]], which prevents the user from restoring previous versions of a savegame image. This feature is not used for gamecard games. When an old version of the save is detected, the application will display an error regarding old savegame version, then delete+recreate the save(similar to when the savegame is corrupted).<br />
<br />
=Implementation=<br />
When creating the SD savedata, the application generates a random u64 value, then stores it in an arbitary savefile in the savegame FS. The application then uses the anti-savegame-restore [[Filesystem_services|FS]] commands to verify the stored u64(with the u64 loaded by FS module), and to update the u64 used by FS module. The u64 used by FS module is stored in a NAND savegame.<br />
<br />
Each time the application writes to the savegame, the u64 value stored in the savefile should be updated(and the command for updating the NAND u64 value should be used as well). Usually applications update this value by incrementing it, however generating a new random-number or other methods of updating it can be used as well.<br />
<br />
=Applications using this feature=<br />
* Animal Crossing: New Leaf<br />
* Pokemon X & Y<br />
<br />
It's currently unknown whether there's any eShop-only titles that use this.<br />
<br />
Applications which use this feature have had a Product Code of "CTR-x-Exxx", the "E" may be an internal reference to such games.</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Home_Menu&diff=8287Home Menu2013-11-16T09:05:40Z<p>3dsguy: </p>
<hr />
<div>The '''Home Menu''' is the heart of the Nintendo 3DS. From there one can start games, applications, and access various processes including the friends list. It is launched by [[NS]], and is always running in the background in 3DS-mode except when other programID-high 00040030 applications like Internet Browser, Friend-List, etc are running. Home Menu is still running while [[System Settings]] is running, however the System Settings application does not allow directly returning to home-menu. The system will normally re-launch Home Menu when the Home Menu process crashes/terminates. When this re-launch occurs while Home Menu is active, Home Menu displays an error message which says to manually reboot the system.<br />
<br />
== System Versions ==<br />
Nintendo devised a system, whereby updates would be delivered via two channels: <br />
*Card Updates (CUP) - The Nintendo 3DS is updated with data from an [[System Update CFA|update partition]] on retail gamecard title. <br />
*Network Updates (NUP) - The Nintendo 3DS is updated by downloading data from Nintendo's [[Title list|CDN]].<br />
<br />
CUPs will only deliver updates to core features, such as the Home Menu, [[Nintendo 3DS Camera]] etc. CUPs will not deliver updates to Network features, such as [[System Transfer]], [[Internet Browser]], [[StreetPass Mii Plaza]] or [[EShop|eShop]]. <br />
<br />
NUPs can deliver updates to core features as well as (updated) Network Features.<br />
<br />
Because Nintendo decided to make a distinction between what content could be updated and how. The system version displayed by [[System Settings]] is made up of two parts: [[CVer]] (Console Version) and [[NVer]] (Network Update Version). Represented as: <br />
<CVer Major>.<CVer Minor>.<CVer Micro>-<NUP Version><NUP Region><br />
<br />
The Console Version represents the version of the collectively installed core features. And the NUP Version represents the version of the collectively installed network features.<br />
<br />
So if a 3DS' System Firmware read '''2.1.0-2U''', it would indicate a console version of '''2.1.0''' and a NUP version of '''2U'''. <br />
<br />
NOTES:<br />
* CUPs can only update core content, so [[NVer]] is never updated with CUPs.<br />
* NUPs will not update [[NVer]] if network features are not updated. (Best seen with the USA vs JPN/EUR 6.0.0 NUP)<br />
<br />
<br />
CUPs are implemented by adding a [[System Update CFA]] to retail NCSD gamecard images. Nintendo generally creates CUPs after NUPs are released.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Version <br />
! Title version<br />
! Release date <br />
! Changelog <br />
! CUP Released<br />
! CDN Availability<br />
! CDN Post Date<br />
|-<br />
| [[1.0.0-0|1.0.0-0]]<br />
| 0<br />
| February 26, 2011<br />
| Shipped with 3DS on launch<br />
| Yes<br />
| Available<br />
| February 18, 2011<br />
|-<br />
| [[1.1.0-1|1.1.0-1]] <br />
| 0 <br />
| February ?, 2011<br />
| General bug fixes<br />
Added 3D Video title to menu. ("For a Limited Time Only")<br />
| Yes<br />
| Available<br />
| March 1, 2011<br />
|-<br />
| [[2.0.0-2|2.0.0-2]]<br />
| 1029<br />
| June 6/7, 2011<br />
| [[eShop]] added, web browser available, [[System Transfer]] added. Full DSiWare data management available. [[Automatic_System_Update_Download|Automatic]] downloading for system updates added.<br />
| No<br />
| Available<br />
| June 6, 2011<br />
|-<br />
| [[2.1.0-3|2.1.0-3]]<br />
| 2049<br />
| June 15, 2011<br />
| Fixes the Ridge Racer freeze.<br />
| Yes<br />
| Available<br />
| June 15, 2011<br />
|-<br />
| [[2.1.0-4|2.1.0-4]]<br />
| 2049<br />
| July 25, 2011<br />
| System stability improvements and other adjustments.<br />
| No<br />
| Available<br />
| July 25, 2011<br />
|-<br />
| [[2.2.0|2.2.0]]<br />
| ?<br />
| November 6, 2011<br />
| CUP Only Release. Improved the arrangement of [[Friend List]]. Update from some game cards such as Super Mario 3D Land.<br />
| Yes<br />
| Unavailable<br />
| ?<br />
|-<br />
| [[3.0.0-5|3.0.0-5]]<br />
| 4111<br />
| December 7, 2011<br />
| Added 3D video recording to the camera title, updated Mii Streetpass Plaza, [[System Transfer]] between 3DS systems available, improved eShop, home menu QR code scanning with QR codes containing URLs. [[Nintendo Zone]] is now always accessible, 3D video streaming support was added to NZone. This added support for running GBA VC titles via AGB_FIRM as well, support for GBA VC titles was also added to NATIVE_FIRM.<br />
| Yes<br />
| Available<br />
| December 7, 2011<br />
|-<br />
| [[3.0.0-6|3.0.0-6]]<br />
| 4111<br />
| December 21, 2011<br />
| Only StreetPass Mii Plaza and the [[NVer]] title were updated. From Nintendo's release notes: "System stability improvements and other adjustments".<br />
| No<br />
| Available<br />
| December 21, 2011<br />
|-<br />
| [[4.0.0-7|4.0.0-7]]<br />
| 5131<br />
| April 24, 2012<br />
| Add folders to Home Menu, game patching added, buy more expensive games than 1000 yen in JPN. System titles for CHN, TWN, and KOR became available.<br />
| Yes<br />
| Available<br />
| April 24, 2012<br />
|-<br />
| [[4.1.0-8|4.1.0-8]]<br />
| 5131<br />
| May 14, 2012<br />
| From changelog: "improvements to overall system stability and other minor adjustments". Once updated to [[4.1.0-8]], the parental-controls PIN is no longer required for future system updates.<br />
| Yes<br />
| Available<br />
| May 14, 2012<br />
|-<br />
| [[4.2.0-9|4.2.0-9]]<br />
| 6146<br />
| June 26, 2012<br />
| Improved eShop safety for entering credit-card info, and behind the scenes improvements. Stored CC info will be deleted by this updated eShop, and can be re-entered again.<br />
| Yes<br />
| Available<br />
| June 26, 2012<br />
|-<br />
| [[4.3.0-10|4.3.0-10]]<br />
| 6146<br />
| July 24, 2012<br />
| Updated eShop, bad word list and NZone hotspot list updated.<br />
| Yes<br />
| Available<br />
| July 24, 2012<br />
|-<br />
| [[4.4.0-10|4.4.0-10]]<br />
| 6146<br />
| September 19, 2012<br />
| NZone hotspot list updated and TWL_FIRM updated for blocking flash cards.<br />
| Yes<br />
| Available<br />
| September 19, 2012<br />
|-<br />
| [[4.4.0-10|4.4.0-10]]<br />
| 6146<br />
| October 17, 2012<br />
| China-only, the *only* updated title was [[System Settings]]. This title was updated to a version already available in TWN/KOR.<br />
| ?<br />
| Available<br />
| October 17, 2012<br />
|-<br />
| [[4.5.0-10|4.5.0-10]]<br />
| 6146<br />
| December 4, 2012<br />
| Flash-card block via updated TWL_FIRM and whitelist. NZone hotspot list updated as well.<br />
| Yes<br />
| Available<br />
| December 4, 2012<br />
|-<br />
| [[5.0.0-11|5.0.0-11]]<br />
| 7172<br />
| March 25, 2013<br />
| Many system titles including NATIVE_FIRM were updated, multiple vulnerabilities were fixed as well.<br />
| No<br />
| Available<br />
| March 25, 2013<br />
|-<br />
| [[5.1.0-11|5.1.0-11]]<br />
| 7172<br />
| April 4, 2013<br />
| NATIVE_FIRM and NS were updated. According to the official change-log: "Resolves an issue that may prevent access to the System Settings or other features."<br />
| Yes<br />
| Available<br />
| April 4, 2013<br />
|-<br />
| [[6.0.0-11|6.0.0-11]]<br />
| 8198<br />
| June 17, 2013<br />
| Official change-log: "Users can now back up save data for downloadable versions of Nintendo 3DS software and most Virtual Console games". For EUR/JPN, the [[StreetPass Mii Plaza]] application and the [[Nintendo 3DS Camera]] application were updated. Other titles for all regions were updated as well.<br />
| No<br />
| Available<br />
| June 17, 2013<br />
|-<br />
| [[6.1.0-11|6.1.0-11]]<br />
| 8198<br />
| June 27, 2013<br />
| Official change-log: "Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience."<br />
| Yes<br />
| Available<br />
| June 27, 2013<br />
|-<br />
| [[6.1.0-12U]]<br />
| 8198<br />
| July 11, 2013<br />
| This USA-only update added the updated applications which were first released with the non-USA [[6.0.0-11]] update.<br />
| No<br />
| Available<br />
| July 11, 2013<br />
|-<br />
| [[6.2.0-12]]<br />
| 8198<br />
| August 6, 2013<br />
| This update added support for the StreetPass relay feature, updated TWL_FIRM, and updated the Nintendo Zone hotspots list.<br />
| Yes<br />
| Available<br />
| August 6, 2013<br />
|-<br />
| [[6.3.0-12]]<br />
| 8198<br />
| September 13, 2013<br />
| See [[6.3.0-12|this]].<br />
| Not observed yet<br />
| Available<br />
| September 13, 2013<br />
|}<br />
<br />
[[Category:Nintendo Software]]<br />
<br />
== Auto-Boot Function ==<br />
When the Home Menu is initially loaded by [[NS]], it checks the gamecard ExeFS:/[[SMDH|icon]] for the auto-boot flag. If the auto-boot flag is set, it will load the application on the cartridge and the home menu will not remain running in the background, or at least not in an operational state. Using software cues to return to the home menu, or sleep menu while in this state, causes a shutdown.<br />
<br />
Notable features of demo titles:<br />
*Auto-boot demos generally disable the functionality of the home button.<br />
*The ''New Super Mario Bros 2'' demo, retained the functionality of the home button, and had an timer which triggered the demo to quit after a period of inactivity.<br />
<br />
Auto-boot cartridges, can bypass some of the functions of the Home Menu. Auto Booted software:<br />
* Doesn't show usage history in the [[Activity Log]]<br />
* Bypasses Parental controls<br />
* Bypasses Forced Game Card Updates<br />
* Bypasses Initial 3DS Setup<br />
* The console does not have a friends list presence.<br />
* Is still subject to region lock(see below).<br />
<br />
Region lock is still active, so the home menu will refuse to launch demos with incorrect region lock will not load, displaying "An Error has Occurred". However, game card update partition checks do not appear to be done, which may allow launching demos that have region free encoding, but have an alternate region update partition.<br />
<br />
<br />
<br />
The following auto-boot paths can be used by Home Menu, checked in the same order listed below(the above gamecard auto-boot is checked before this):<br />
{| class="wikitable"<br />
! Key-combo / requirements for this path<br />
! Description<br />
|-<br />
| R, L, and X<br />
| This launches [[System Settings]] for touchscreen calibration.<br />
|-<br />
| R, L, and Y<br />
| This launches [[System Settings]] for circlepad calibration.<br />
|}<br />
<br />
The following is only checked when the low u16 from [[Config_Savegame|config]] block 0x00110000 is value zero(normally this is non-zero).<br />
{| class="wikitable"<br />
! Key-combo / requirements for this path<br />
! Description<br />
|-<br />
| R, X, Y, A, and B, a 3DS gamecard must be inserted as well.<br />
| This launches the gamecard application.<br />
|-<br />
| This is used when the above path isn't used.<br />
| This launches System Settings(unknown what this is used for).<br />
|}<br />
<br />
== Region Lockout ==<br />
<br />
One of the Home Menu's functions, is to regulate region lockout. The region lockout data for any given title is held in the [[SMDH#BNR Region|ICN data]]. There are 6 regions of which have their own region lockout, Japan, USA, Europe(including Nintendo Australia), China, Taiwan and Korea. There is also a value which makes a title exempt from region lockout, and consequently accessible from any region of 3DS.<br />
<br />
=== Effects of Region Lockout ===<br />
Every 3DS title regardless of location (NAND/SD Card/Game Card) is subject to region lockout scrutiny by the Home Menu. And the home menu treats 'out-of-region' titles by simply refusing to show them on the home menu. No messages are shown on the home menu to notify the user, the title is simply ignored. However out-of-region SD Card titles, will appear and quickly disappear, while all the SD Titles are being processed. In cases where access to the home menu GUI is not needed to launch the title (like in the case of kiosk demos), the home menu states an error has occurred, and launching of the title is stopped.<br />
<br />
=== Game Card Updates ===<br />
Either intentionally a region lock mechanism or not, the function which checks the game card update partition returns an error when it is detected the update is for a region other than the 3DS's region (Most likely triggered by the absence of the correct CVer title). And errors returned from checking the update partition, will result in the home menu displaying "This Game Card cannnot be used", when the user attempts to launch the title.<br />
<br />
== Home-menu [[SpotPass]] usage ==<br />
<br />
Home-menu uses two domains with HTTPS for SpotPass. SpotPass stores this content in Home-menu's NAND shared extdata.<br />
<br />
* The system notifications are downloaded from: https://a248.e.akamai.net/f/248/103046/10m/npdl.c.app.nintendowifi.net/p01/nsa/<regionID>/<filename>/<langcode>/<filename> Where langcode is the two-character language codes from [[Config_Savegame|config]], and regionID is from the below table. <filename> is bashoX/sysmsgX where X is 0-3.<br />
* https://pls.c.shop.nintendowifi.net/pl/upload This URL is used for uploading data from the home menu NAND shared extdata, it's unknown what this is used for. This data is uploaded every 24 hours.<br />
* https://npul.c.app.nintendowifi.net/p01/recv/<regionID>/<filename> This is used for uploading unknown data from extdata. <filename> can be "phu", "tiu", "splu", or "sendmgn".<br />
<br />
{| class="wikitable"<br />
|-<br />
! Region<br />
! ID<br />
|-<br />
| JPN<br />
| gWr4JXxb2mKTG3lq<br />
|-<br />
| NA<br />
| uuI82221UKkqmtbp<br />
|-<br />
| EUR / Others<br />
| UrXSeurnxhPrq7AS<br />
|}<br />
<br />
The SpotPass content payload for notifications begin with a header, followed by an [[SMDH|icon]] and the UTF-16 text, and various metadata.<br />
<br />
== Automatic System Update Download ==<br />
See [[Automatic System Update Download]].<br />
<br />
== Home Menu Error Messages ==<br />
{| class="wikitable"<br />
|-<br />
! Dialog Text<br />
! Description<br />
|-<br />
| "An error has occured. Please save your data ... then restart the system"<br />
| This dialog is displayed when a system process(including Home Menu) crashes/terminates. This dialog is also displayed for system errors as well.<br />
|}<br />
<br />
== SD ExtData ==<br />
The SD ExtData [[Extdata#Filesystem|File System]] for Home Menu is as follows:<br />
<br />
root<br />
├── icon<br />
├── boss<br />
└── user<br />
├── SaveData.dat<br />
├── Cache.dat<br />
└── CacheD.dat<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! File<br />
! Details<br />
! Size<br />
! FW Introduced<br />
! Plaintext<br />
|-<br />
| icon<br />
| Stubbed. Always image 00000002.<br />
| 0x4 Bytes<br />
| n/a<br />
| <br />
|-<br />
| SaveData.dat<br />
| Always image 00000003.<br />
| 0x2cb0 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/SaveData.dat Download]<br />
|-<br />
| Cache.dat<br />
| Indexes and records details for the cached icon data. Always image 00000004.<br />
| 0x1688 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/Cache.dat Download]<br />
|-<br />
| CacheD.dat<br />
| Cached icon data for Home Menu. Always image 00000005.<br />
| 0x4cfe00 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/CacheD.dat Download]<br />
|}<br />
<br />
=== Cache.dat & CacheD.dat ===<br />
These two files work in tandem to allow the home menu to cache icon data for applications which are presented on the Home Menu. The size of both files suggests a maximum cache size of 360 icons. Cache.dat stores details about the cache icon data, and CacheD.dat stores the icon data. The icon cache stores icon data for *all* applications shown on the Home Menu, this includes DSi NAND Titles, and DS(i) cartridges. The format of cached DS(i) icon data is not understood, but they are the same size as 3DS icon data (0x36c0).<br />
<br />
In Cache.dat the first 8 bytes are reserved, then follows each icon slots's entry in the format:<br />
{| class="wikitable" border="1"<br />
|-<br />
! OFFSET<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x0<br />
| 8<br />
| Title ID in Little Endian<br />
|-<br />
| 0x8<br />
| 4<br />
| Unknown<br />
|-<br />
| 0xc<br />
| 4<br />
| Unknown<br />
|}<br />
<br />
All unused entries have the Title IDs filled with "0xff".<br />
<br />
In CacheD.dat, the icon data is concatenated together, with the first icon at offset 0x0.<br />
<br />
== See Also ==<br />
* http://www.nintendo.com/consumer/systems/3ds/en_na/menu_update.jsp<br />
* http://www.nintendo.co.jp/netinfo/3ds/JPN/ja.html</div>3dsguyhttps://www.3dbrew.org/w/index.php?title=Home_Menu&diff=8286Home Menu2013-11-16T05:43:42Z<p>3dsguy: </p>
<hr />
<div>The '''Home Menu''' is the heart of the Nintendo 3DS. From there one can start games, applications, and access various processes including the friends list. It is launched by [[NS]], and is always running in the background in 3DS-mode except when other programID-high 00040030 applications like Internet Browser, Friend-List, etc are running. Home Menu is still running while [[System Settings]] is running, however the System Settings application does not allow directly returning to home-menu. The system will normally re-launch Home Menu when the Home Menu process crashes/terminates. When this re-launch occurs while Home Menu is active, Home Menu displays an error message which says to manually reboot the system.<br />
<br />
== System Versions ==<br />
Nintendo devised a system, whereby updates would be delivered via two channels: <br />
*Card Updates (CUP) - The Nintendo 3DS is updated with data from an [[System Update CFA|update partition]] on retail gamecard title. <br />
*Network Updates (NUP) - The Nintendo 3DS is updated by downloading data from Nintendo's [[Title list|CDN]].<br />
<br />
CUPs will only deliver updates to core features, such as the Home Menu, [[Nintendo 3DS Camera]] etc. CUPs will not deliver updates to Network features, such as [[System Transfer]], [[Internet Browser]], [[StreetPass Mii Plaza]] or [[EShop|eShop]]. <br />
<br />
NUPs can deliver updates to core features as well as (updated) Network Features.<br />
<br />
Because Nintendo decided to make a distinction between what content could be updated and how. The system version displayed by [[System Settings]] is made up of two parts: [[CVer]] (Console Version) and [[NVer]] (Network Update Version). Represented as: <br />
<CVer Major>.<CVer Minor>.<CVer Micro>-<NUP Version><NUP Region><br />
<br />
The Console Version represents the version of the collectively installed core features. And the NUP Version represents the version of the collectively installed network features.<br />
<br />
So if a 3DS' System Firmware read '''2.1.0-2U''', it would indicate a console version of '''2.1.0''' and a NUP version of '''2U'''. <br />
<br />
NOTES:<br />
* CUPs can only update core content, so [[NVer]] is never updated with CUPs.<br />
* NUPs will not update [[NVer]] if network features are not updated. (Best seen with the USA vs JPN/EUR 6.0.0 NUP)<br />
<br />
<br />
CUPs are implemented by adding a [[System Update CFA]] to retail NCSD gamecard images. Nintendo generally creates CUPs after NUPs are released.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Version <br />
! Title version<br />
! Release date <br />
! Changelog <br />
! CUP Released<br />
! CDN Availability<br />
! CDN Post Date<br />
|-<br />
| [[1.0.0-0|1.0.0-0]]<br />
| 0<br />
| February 26, 2011<br />
| Shipped with 3DS on launch<br />
| No<br />
| Available<br />
| February 18, 2011<br />
|-<br />
| [[1.1.0-1|1.1.0-1]] <br />
| 0 <br />
| February ?, 2011<br />
| General bug fixes<br />
Added 3D Video title to menu. ("For a Limited Time Only")<br />
| Yes<br />
| Available<br />
| March 1, 2011<br />
|-<br />
| [[2.0.0-2|2.0.0-2]]<br />
| 1029<br />
| June 6/7, 2011<br />
| [[eShop]] added, web browser available, [[System Transfer]] added. Full DSiWare data management available. [[Automatic_System_Update_Download|Automatic]] downloading for system updates added.<br />
| No<br />
| Available<br />
| June 6, 2011<br />
|-<br />
| [[2.1.0-3|2.1.0-3]]<br />
| 2049<br />
| June 15, 2011<br />
| Fixes the Ridge Racer freeze.<br />
| Yes<br />
| Available<br />
| June 15, 2011<br />
|-<br />
| [[2.1.0-4|2.1.0-4]]<br />
| 2049<br />
| July 25, 2011<br />
| System stability improvements and other adjustments.<br />
| No<br />
| Available<br />
| July 25, 2011<br />
|-<br />
| [[2.2.0|2.2.0]]<br />
| ?<br />
| November 6, 2011<br />
| CUP Only Release. Improved the arrangement of [[Friend List]]. Update from some game cards such as Super Mario 3D Land.<br />
| Yes<br />
| Unavailable<br />
| ?<br />
|-<br />
| [[3.0.0-5|3.0.0-5]]<br />
| 4111<br />
| December 7, 2011<br />
| Added 3D video recording to the camera title, updated Mii Streetpass Plaza, [[System Transfer]] between 3DS systems available, improved eShop, home menu QR code scanning with QR codes containing URLs. [[Nintendo Zone]] is now always accessible, 3D video streaming support was added to NZone. This added support for running GBA VC titles via AGB_FIRM as well, support for GBA VC titles was also added to NATIVE_FIRM.<br />
| Yes<br />
| Available<br />
| December 7, 2011<br />
|-<br />
| [[3.0.0-6|3.0.0-6]]<br />
| 4111<br />
| December 21, 2011<br />
| Only StreetPass Mii Plaza and the [[NVer]] title were updated. From Nintendo's release notes: "System stability improvements and other adjustments".<br />
| No<br />
| Available<br />
| December 21, 2011<br />
|-<br />
| [[4.0.0-7|4.0.0-7]]<br />
| 5131<br />
| April 24, 2012<br />
| Add folders to Home Menu, game patching added, buy more expensive games than 1000 yen in JPN. System titles for CHN, TWN, and KOR became available.<br />
| Yes<br />
| Available<br />
| April 24, 2012<br />
|-<br />
| [[4.1.0-8|4.1.0-8]]<br />
| 5131<br />
| May 14, 2012<br />
| From changelog: "improvements to overall system stability and other minor adjustments". Once updated to [[4.1.0-8]], the parental-controls PIN is no longer required for future system updates.<br />
| Yes<br />
| Available<br />
| May 14, 2012<br />
|-<br />
| [[4.2.0-9|4.2.0-9]]<br />
| 6146<br />
| June 26, 2012<br />
| Improved eShop safety for entering credit-card info, and behind the scenes improvements. Stored CC info will be deleted by this updated eShop, and can be re-entered again.<br />
| Yes<br />
| Available<br />
| June 26, 2012<br />
|-<br />
| [[4.3.0-10|4.3.0-10]]<br />
| 6146<br />
| July 24, 2012<br />
| Updated eShop, bad word list and NZone hotspot list updated.<br />
| Yes<br />
| Available<br />
| July 24, 2012<br />
|-<br />
| [[4.4.0-10|4.4.0-10]]<br />
| 6146<br />
| September 19, 2012<br />
| NZone hotspot list updated and TWL_FIRM updated for blocking flash cards.<br />
| Yes<br />
| Available<br />
| September 19, 2012<br />
|-<br />
| [[4.4.0-10|4.4.0-10]]<br />
| 6146<br />
| October 17, 2012<br />
| China-only, the *only* updated title was [[System Settings]]. This title was updated to a version already available in TWN/KOR.<br />
| ?<br />
| Available<br />
| October 17, 2012<br />
|-<br />
| [[4.5.0-10|4.5.0-10]]<br />
| 6146<br />
| December 4, 2012<br />
| Flash-card block via updated TWL_FIRM and whitelist. NZone hotspot list updated as well.<br />
| Yes<br />
| Available<br />
| December 4, 2012<br />
|-<br />
| [[5.0.0-11|5.0.0-11]]<br />
| 7172<br />
| March 25, 2013<br />
| Many system titles including NATIVE_FIRM were updated, multiple vulnerabilities were fixed as well.<br />
| Yes<br />
| Available<br />
| March 25, 2013<br />
|-<br />
| [[5.1.0-11|5.1.0-11]]<br />
| 7172<br />
| April 4, 2013<br />
| NATIVE_FIRM and NS were updated. According to the official change-log: "Resolves an issue that may prevent access to the System Settings or other features."<br />
| Yes<br />
| Available<br />
| April 4, 2013<br />
|-<br />
| [[6.0.0-11|6.0.0-11]]<br />
| 8198<br />
| June 17, 2013<br />
| Official change-log: "Users can now back up save data for downloadable versions of Nintendo 3DS software and most Virtual Console games". For EUR/JPN, the [[StreetPass Mii Plaza]] application and the [[Nintendo 3DS Camera]] application were updated. Other titles for all regions were updated as well.<br />
| No<br />
| Available<br />
| June 17, 2013<br />
|-<br />
| [[6.1.0-11|6.1.0-11]]<br />
| 8198<br />
| June 27, 2013<br />
| Official change-log: "Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience."<br />
| Yes<br />
| Available<br />
| June 27, 2013<br />
|-<br />
| [[6.1.0-12U]]<br />
| 8198<br />
| July 11, 2013<br />
| This USA-only update added the updated applications which were first released with the non-USA [[6.0.0-11]] update.<br />
| No<br />
| Available<br />
| July 11, 2013<br />
|-<br />
| [[6.2.0-12]]<br />
| 8198<br />
| August 6, 2013<br />
| This update added support for the StreetPass relay feature, updated TWL_FIRM, and updated the Nintendo Zone hotspots list.<br />
| Yes<br />
| Available<br />
| August 6, 2013<br />
|-<br />
| [[6.3.0-12]]<br />
| 8198<br />
| September 13, 2013<br />
| See [[6.3.0-12|this]].<br />
| Not observed yet<br />
| Available<br />
| September 13, 2013<br />
|}<br />
<br />
[[Category:Nintendo Software]]<br />
<br />
== Auto-Boot Function ==<br />
When the Home Menu is initially loaded by [[NS]], it checks the gamecard ExeFS:/[[SMDH|icon]] for the auto-boot flag. If the auto-boot flag is set, it will load the application on the cartridge and the home menu will not remain running in the background, or at least not in an operational state. Using software cues to return to the home menu, or sleep menu while in this state, causes a shutdown.<br />
<br />
Notable features of demo titles:<br />
*Auto-boot demos generally disable the functionality of the home button.<br />
*The ''New Super Mario Bros 2'' demo, retained the functionality of the home button, and had an timer which triggered the demo to quit after a period of inactivity.<br />
<br />
Auto-boot cartridges, can bypass some of the functions of the Home Menu. Auto Booted software:<br />
* Doesn't show usage history in the [[Activity Log]]<br />
* Bypasses Parental controls<br />
* Bypasses Forced Game Card Updates<br />
* Bypasses Initial 3DS Setup<br />
* The console does not have a friends list presence.<br />
* Is still subject to region lock(see below).<br />
<br />
Region lock is still active, so the home menu will refuse to launch demos with incorrect region lock will not load, displaying "An Error has Occurred". However, game card update partition checks do not appear to be done, which may allow launching demos that have region free encoding, but have an alternate region update partition.<br />
<br />
<br />
<br />
The following auto-boot paths can be used by Home Menu, checked in the same order listed below(the above gamecard auto-boot is checked before this):<br />
{| class="wikitable"<br />
! Key-combo / requirements for this path<br />
! Description<br />
|-<br />
| R, L, and X<br />
| This launches [[System Settings]] for touchscreen calibration.<br />
|-<br />
| R, L, and Y<br />
| This launches [[System Settings]] for circlepad calibration.<br />
|}<br />
<br />
The following is only checked when the low u16 from [[Config_Savegame|config]] block 0x00110000 is value zero(normally this is non-zero).<br />
{| class="wikitable"<br />
! Key-combo / requirements for this path<br />
! Description<br />
|-<br />
| R, X, Y, A, and B, a 3DS gamecard must be inserted as well.<br />
| This launches the gamecard application.<br />
|-<br />
| This is used when the above path isn't used.<br />
| This launches System Settings(unknown what this is used for).<br />
|}<br />
<br />
== Region Lockout ==<br />
<br />
One of the Home Menu's functions, is to regulate region lockout. The region lockout data for any given title is held in the [[SMDH#BNR Region|ICN data]]. There are 6 regions of which have their own region lockout, Japan, USA, Europe(including Nintendo Australia), China, Taiwan and Korea. There is also a value which makes a title exempt from region lockout, and consequently accessible from any region of 3DS.<br />
<br />
=== Effects of Region Lockout ===<br />
Every 3DS title regardless of location (NAND/SD Card/Game Card) is subject to region lockout scrutiny by the Home Menu. And the home menu treats 'out-of-region' titles by simply refusing to show them on the home menu. No messages are shown on the home menu to notify the user, the title is simply ignored. However out-of-region SD Card titles, will appear and quickly disappear, while all the SD Titles are being processed. In cases where access to the home menu GUI is not needed to launch the title (like in the case of kiosk demos), the home menu states an error has occurred, and launching of the title is stopped.<br />
<br />
=== Game Card Updates ===<br />
Either intentionally a region lock mechanism or not, the function which checks the game card update partition returns an error when it is detected the update is for a region other than the 3DS's region (Most likely triggered by the absence of the correct CVer title). And errors returned from checking the update partition, will result in the home menu displaying "This Game Card cannnot be used", when the user attempts to launch the title.<br />
<br />
== Home-menu [[SpotPass]] usage ==<br />
<br />
Home-menu uses two domains with HTTPS for SpotPass. SpotPass stores this content in Home-menu's NAND shared extdata.<br />
<br />
* The system notifications are downloaded from: https://a248.e.akamai.net/f/248/103046/10m/npdl.c.app.nintendowifi.net/p01/nsa/<regionID>/<filename>/<langcode>/<filename> Where langcode is the two-character language codes from [[Config_Savegame|config]], and regionID is from the below table. <filename> is bashoX/sysmsgX where X is 0-3.<br />
* https://pls.c.shop.nintendowifi.net/pl/upload This URL is used for uploading data from the home menu NAND shared extdata, it's unknown what this is used for. This data is uploaded every 24 hours.<br />
* https://npul.c.app.nintendowifi.net/p01/recv/<regionID>/<filename> This is used for uploading unknown data from extdata. <filename> can be "phu", "tiu", "splu", or "sendmgn".<br />
<br />
{| class="wikitable"<br />
|-<br />
! Region<br />
! ID<br />
|-<br />
| JPN<br />
| gWr4JXxb2mKTG3lq<br />
|-<br />
| NA<br />
| uuI82221UKkqmtbp<br />
|-<br />
| EUR / Others<br />
| UrXSeurnxhPrq7AS<br />
|}<br />
<br />
The SpotPass content payload for notifications begin with a header, followed by an [[SMDH|icon]] and the UTF-16 text, and various metadata.<br />
<br />
== Automatic System Update Download ==<br />
See [[Automatic System Update Download]].<br />
<br />
== Home Menu Error Messages ==<br />
{| class="wikitable"<br />
|-<br />
! Dialog Text<br />
! Description<br />
|-<br />
| "An error has occured. Please save your data ... then restart the system"<br />
| This dialog is displayed when a system process(including Home Menu) crashes/terminates. This dialog is also displayed for system errors as well.<br />
|}<br />
<br />
== SD ExtData ==<br />
The SD ExtData [[Extdata#Filesystem|File System]] for Home Menu is as follows:<br />
<br />
root<br />
├── icon<br />
├── boss<br />
└── user<br />
├── SaveData.dat<br />
├── Cache.dat<br />
└── CacheD.dat<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! File<br />
! Details<br />
! Size<br />
! FW Introduced<br />
! Plaintext<br />
|-<br />
| icon<br />
| Stubbed. Always image 00000002.<br />
| 0x4 Bytes<br />
| n/a<br />
| <br />
|-<br />
| SaveData.dat<br />
| Always image 00000003.<br />
| 0x2cb0 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/SaveData.dat Download]<br />
|-<br />
| Cache.dat<br />
| Indexes and records details for the cached icon data. Always image 00000004.<br />
| 0x1688 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/Cache.dat Download]<br />
|-<br />
| CacheD.dat<br />
| Cached icon data for Home Menu. Always image 00000005.<br />
| 0x4cfe00 Bytes<br />
| [[1.0.0-0]]<br />
| [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/HomeMenuExtdata/CacheD.dat Download]<br />
|}<br />
<br />
=== Cache.dat & CacheD.dat ===<br />
These two files work in tandem to allow the home menu to cache icon data for applications which are presented on the Home Menu. The size of both files suggests a maximum cache size of 360 icons. Cache.dat stores details about the cache icon data, and CacheD.dat stores the icon data. The icon cache stores icon data for *all* applications shown on the Home Menu, this includes DSi NAND Titles, and DS(i) cartridges. The format of cached DS(i) icon data is not understood, but they are the same size as 3DS icon data (0x36c0).<br />
<br />
In Cache.dat the first 8 bytes are reserved, then follows each icon slots's entry in the format:<br />
{| class="wikitable" border="1"<br />
|-<br />
! OFFSET<br />
! SIZE<br />
! DESCRIPTION<br />
|-<br />
| 0x0<br />
| 8<br />
| Title ID in Little Endian<br />
|-<br />
| 0x8<br />
| 4<br />
| Unknown<br />
|-<br />
| 0xc<br />
| 4<br />
| Unknown<br />
|}<br />
<br />
All unused entries have the Title IDs filled with "0xff".<br />
<br />
In CacheD.dat, the icon data is concatenated together, with the first icon at offset 0x0.<br />
<br />
== See Also ==<br />
* http://www.nintendo.com/consumer/systems/3ds/en_na/menu_update.jsp<br />
* http://www.nintendo.co.jp/netinfo/3ds/JPN/ja.html</div>3dsguy