Title list: Difference between revisions
No edit summary |
|||
Line 10: | Line 10: | ||
'''TitleID Structure''': 0xCCCCABCDLLLLLLRR | '''TitleID Structure''': 0xCCCCABCDLLLLLLRR | ||
* CCCC defines the console | * CCCC defines the console '''Platform''' (4=3DS, 3=DSi, 1=[http://wiibrew.org/wiki/Title_database Wii]) | ||
* ABCD defines the | * ABCD defines the '''Content Category''' of the title, Demo, DLPChild, etc. | ||
* 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. | * 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. | ||
* RR | * RR This is the Title ID '''Variation''', and has various uses. | ||
'''Content Categories''': | |||
This u16 is a bit mask. Each Category is a group of one or more bit masks. | |||
Major categories in order of recognition: | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! | ! Category | ||
! | ! Bitmask(s) | ||
|- | |- | ||
| TWL Converted System Titles | |||
| 0x8000<nowiki>|</nowiki>0x1 | |||
|- | |- | ||
| | | TWL Converted DSiWare Titles | ||
| | | 0x8000 | ||
|- | |- | ||
| | | CTR System Titles | ||
| | | 0x0010 (Excluding 0x4000) | ||
|- | |- | ||
| | | CTR Applications | ||
| | | 0x0000 | ||
|} | |} | ||
Specific Categories are made more specific by adding more bit masks. | |||
* System titles (TWL and CTR) are eligible to be updated during a System Update. | |||
'''Unique ID Restrictions''': | '''Unique ID Restrictions''': | ||
Line 93: | Line 53: | ||
|- | |- | ||
| System | | System | ||
| 0x0 - | | 0x0 - 0x2FF | ||
|- | |- | ||
| Application | | Application | ||
| 0x300 - | | 0x300 - 0xF7FFF | ||
|- | |- | ||
| Evaluation | | Evaluation | ||
| 0xF8000 - | | 0xF8000 -0xFFFFF | ||
|- | |- | ||
| Prototype* | | Prototype* | ||
| 0xFF000 - | | 0xFF000 - 0xFF3FF | ||
|} | |} | ||
<nowiki>*</nowiki>On the home menu, titles with UIDs within the 'Prototype' range, appear on the home menu after install without the gift fanfare. | <nowiki>*</nowiki>On the home menu, titles with UIDs within the 'Prototype' range, appear on the home menu after install without the gift fanfare. | ||
''' | '''TitleID Variation''': | ||
This u8 allows enumeration of titles from the same category and unique ID. Common uses are explained below: | |||
* 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: | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! RR | ! RR | ||
! | ! MEANING | ||
|- | |- | ||
| 02 | | 02 | ||
Line 129: | Line 84: | ||
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. | 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. | ||
* 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. | |||
* [[3DS Development Unit Software|Dev Menu]] installs CTR Applications with a TitleID variation of 0x02 to the CTR NAND. | |||
* 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: | |||
=== Versions === | === Versions === | ||
Line 172: | Line 94: | ||
v## = 0xHHHH = 0bBBBBBBBB... | v## = 0xHHHH = 0bBBBBBBBB... | ||
* The version major,minor and | * The version major,minor and micro can be extracted from the version number by converting the 16 bit number to binary | ||
* 6 bits : Major | * 6 bits : Major | ||
* 6 bits : Minor | * 6 bits : Minor | ||
* 4 bits : Build | * 4 bits : Micro ('Build' in some contexts) | ||
* 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. | * 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. | ||
Line 181: | Line 103: | ||
== CTR System Titles == | == CTR System Titles == | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! | ! Content Category | ||
! | ! Bit Mask | ||
! Category Base Bit Mask | |||
! Final Bit Mask | |||
|- | |||
| Application | |||
| None | |||
| 0x0010 | |||
| 0x0010 | |||
|- | |||
| System Data Archives | |||
| 0x8<nowiki>|</nowiki>0x2 (0xB) | |||
| 0x0010 | |||
| 0x001B | |||
|- | |||
| Shared System Data Archives | |||
| 0x80<nowiki>|</nowiki>0x8<nowiki>|</nowiki>0x2 (0x8B) | |||
| 0x0010 | |||
| 0x009B | |||
|- | |||
| System Data Archives | |||
| 0x80<nowiki>|</nowiki>0x40<nowiki>|</nowiki>0x8<nowiki>|</nowiki>0x2 (0xCB) | |||
| 0x0010 | |||
| 0x00DB | |||
|- | |- | ||
| | | Applet | ||
| | | 0x20 | ||
| 0x0010 | |||
| | | 0x0030 | ||
| | |||
|- | |- | ||
| | | Module | ||
| | | 0x100<nowiki>|</nowiki>0x20 (0x120) | ||
| 0x0010 | |||
| 0x0130 | |||
|- | |- | ||
| | | Firmware | ||
| | | 0x100<nowiki>|</nowiki>0x20<nowiki>|</nowiki>0x8 (0x128) | ||
| 0x0010 | |||
| 0x0138 | |||
|} | |} | ||
Line 469: | Line 412: | ||
|} | |} | ||
=== 00040030 === | === 00040030 - Applets=== | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 613: | Line 556: | ||
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. | 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. | ||
=== 0004009B - [[NCCH#CFA|System Data Archives]] === | === 0004009B - [[NCCH#CFA|System Data Archives]] (Shared Archives) === | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 1,145: | Line 1,088: | ||
== TWL System Titles == | == TWL System Titles == | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! | ! Content Category | ||
! | ! Additional Bit Mask | ||
! Category Base Bit Mask | |||
! Final Bit Mask | |||
|- | |- | ||
| | | System Application | ||
| | | 0x4 | ||
| 0x8001 | |||
| | | 0x8005 | ||
| | |||
|- | |- | ||
| | | System Archive | ||
| | | 0x8<nowiki>|</nowiki>0x4<nowiki>|</nowiki>0x2 | ||
| | | 0x8001 | ||
| | | 0x800F | ||
| | |||
|} | |} | ||
Bitmask 0x1 for TWL titles determines whether the title will be updated during a System Update. | Bitmask 0x1 for TWL titles determines whether the title will be updated during a System Update. | ||
Line 1,220: | Line 1,160: | ||
== Application Titles == | == Application Titles == | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! | ! Content Category | ||
! | ! Bit Mask | ||
! Category Base Bit Mask | |||
! Final Bit Mask | |||
|- | |||
| Application | |||
| None | |||
| 0x0000 | |||
| 0x0000 | |||
|- | |||
| DLP Child | |||
| 0x1 | |||
| 0x0000 | |||
| 0x0001 | |||
|- | |||
| Demo | |||
| 0x2 | |||
| 0x0000 | |||
| 0x0002 | |||
|- | |- | ||
| | | Contents | ||
| | | 0x2<nowiki>|</nowiki>0x1 | ||
| | | 0x0000 | ||
| | | 0x0003 | ||
| | |||
|- | |- | ||
| | | Patch | ||
| | | 0x8<nowiki>|</nowiki>0x4<nowiki>|</nowiki>0x2 | ||
| 0x0000 | |||
| 0x000E | |||
|- | |- | ||
| | | Add-on Content (DLC) | ||
| 0x80<nowiki>|</nowiki>0x8<nowiki>|</nowiki>0x4 | |||
| 0x0000 | |||
| 0x008C | |||
|} | |} | ||
Line 1,244: | Line 1,201: | ||
See [[Title list/eShop Titles|eShop Titles]] | See [[Title list/eShop Titles|eShop Titles]] | ||
=== 00040001 - [[Download Play]] Titles === | |||
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. | |||
=== | === 00040002 - eShop Demos === | ||
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. | |||
=== 0004000E - Add-on Content ( | === 0004000E - Add-on Content (Patches) === | ||
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. | 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. | ||
Line 1,416: | Line 1,375: | ||
== TWL Application Titles == | == TWL Application Titles == | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! | ! Content Category | ||
! | ! Bit Mask | ||
! Category Base Bit Mask | |||
! Final Bit Mask | |||
|- | |- | ||
| | | Application (DSiWare) | ||
| | | 0x4 | ||
| 0x8000 | |||
| 0x8004 | |||
|} | |} | ||