Changes

31 bytes added ,  09:43, 22 October 2013
no edit summary
Line 10: Line 10:  
'''TitleID Structure''': 0xCCCCABCDLLLLLLRR
 
'''TitleID Structure''': 0xCCCCABCDLLLLLLRR
   −
* CCCC defines the console platform (4=3DS, 3=DSi, 1=[http://wiibrew.org/wiki/Title_database Wii])
+
* CCCC defines the console '''Platform''' (4=3DS, 3=DSi, 1=[http://wiibrew.org/wiki/Title_database Wii])
* ABCD defines the type of the title, see 'Title Type Identification Key'
+
* 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 contains various info depending on title type see 'RR'
+
* RR This is the Title ID '''Variation''', and has various uses.
 +
    +
'''Content Categories''':
   −
'''Title Type Identification Key''':
+
This u16 is a bit mask. Each Category is a group of one or more bit masks.
   −
There are three main title types for the 3DS, 'System', 'Application' and 'TWL'(Converted DSi Titles) 
+
Major categories in order of recognition:
 
  −
For: 0x0004ABCDXXXXXXXX
  −
 
  −
System Titles:  
   
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
DIGIT
+
Category
ACCEPTABLE VALUES
+
Bitmask(s)
|-
  −
|  A
  −
|  0,1,2,3
  −
|-
  −
|  B
  −
|  Any Digit
  −
|-
  −
|  C
  −
|  1,3,5,7,9,B,D,F
  −
|-
  −
|  D
  −
|  Any Digit
  −
|}
  −
This CTR title type (which covers a whole group) is eligible to be updated during a System Update. System Titles can only be installed to the CTR NAND.
  −
 
  −
Application Titles:
  −
{| class="wikitable" border="1"
   
|-
 
|-
! DIGIT
+
| TWL Converted System Titles
! ACCEPTABLE VALUES
+
| 0x8000<nowiki>|</nowiki>0x1
 
|-
 
|-
A
+
TWL Converted DSiWare Titles
0,1,2,3,4,5,6,7,C,D,E,F
+
0x8000
|-
  −
|  B
  −
|  Any Digit
   
|-
 
|-
C
+
CTR System Titles
Any Digit
+
0x0010 (Excluding 0x4000)
 
|-
 
|-
D
+
CTR Applications
Any Digit
+
0x0000
 
|}
 
|}
NOTE: If 'A' and 'C' both fill the 'System' title requirements, this title will register as 'System' Instead of 'Application'. Unlike System, Application subdivides again into more types. Application Titles can be installed to the CTR NAND and SDMC or flashed to a CTR Card.
     −
TWL Titles:
+
Specific Categories are made more specific by adding more bit masks.
{| class="wikitable" border="1"
  −
|-
  −
!  DIGIT
  −
!  ACCEPTABLE VALUES
  −
|-
  −
|  A
  −
|  8,9,A,B
  −
|-
  −
|  B
  −
|  Any Digit
  −
|-
  −
|  C
  −
|  Any Digit
  −
|-
  −
|  D
  −
|  Any Digit
  −
|}
  −
TWL Titles can only be installed to the TWL NAND.
      +
* 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 - 2FF
+
|  0x0 - 0x2FF
 
|-  
 
|-  
 
|  Application
 
|  Application
|  0x300 - F7FFF
+
|  0x300 - 0xF7FFF
 
|-  
 
|-  
 
|  Evaluation
 
|  Evaluation
|  0xF8000 - FFFFF
+
|  0xF8000 -0xFFFFF
 
|-  
 
|-  
 
|  Prototype*
 
|  Prototype*
|  0xFF000 - FF3FF
+
|  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.
   −
'''RR Recognition Key''':
+
'''TitleID Variation''':
 
  −
For: 0x0004XXXXXXXXXXRR
     −
The RR in CTR Titles, just provides extra information, usually about how the title is handled.
+
This u8 allows enumeration of titles from the same category and unique ID. Common uses are explained below:
   −
RR in System Titles:
+
* 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
AFFECT
+
MEANING
|-
  −
|  00
  −
|  System Application
   
|-  
 
|-  
 
|  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.
   −
RR in Application Titles:
+
* 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.
These seem to have selective effect, depending on how these titles are installed
  −
{| class="wikitable" border="1"
  −
|-
  −
!  RR
  −
!  AFFECT
  −
|-
  −
|  00
  −
|  Normal Application - Cartridge and regular eShop titles are such titles.
  −
|-
  −
|  01
  −
|  Found in Demos, Debug Updates and some [[Download Play|DlPlay]] Child [[CXI]]s.
  −
|-
  −
|  02
  −
|  Used by [[3DS Development Unit Software#Dev Menu|DevMenu]] to identify titles to install to the CTR NAND. Has been noticed in some demos.
  −
|}
     −
The RR in TWL titles, is the region code. The region code list has been shortened from the original DSi region list (see [http://dsibrew.org/wiki/Title_list#Region_Codes DSiBrew]) to the below list to fit with the three broad regions of the e-Shop. (i.e. TWL titles downloaded from the Australian e-Shop have a region code of '56' as oppose to the DSi Australian DSiWare region of '55')
+
* [[3DS Development Unit Software|Dev Menu]] installs CTR Applications with a TitleID variation of 0x02 to the CTR NAND.
 
  −
RR in TWL Titles:
  −
{| class="wikitable" border="1"
  −
|-
  −
!  RR
  −
!  TWL APP REGION
  −
|-
  −
|  41
  −
|  No Region (Found in TWL System titles)
  −
|-
  −
|  45
  −
|  America
  −
|-
  −
|  4A
  −
|  Japan
  −
|-
  −
|  56
  −
|  PAL(And other non Japan/USA regions)
  −
|}
      +
* 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 build can be extracted from the version number by converting the 16 bit number to binary
+
* 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 ==
  −
For 0x0004ABCDXXXXXXXX
  −
  −
CTR System Titles:
   
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
DIGIT
+
Content Category
ACCEPTABLE VALUES
+
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
 
|-
 
|-
A
+
Applet
0,1,2,3
+
0x20
|-
+
0x0010
B
+
0x0030
Any Digit
   
|-
 
|-
C
+
Module
1,3,5,7,9,B,D,F,
+
0x100<nowiki>|</nowiki>0x20 (0x120)
 +
|  0x0010
 +
|  0x0130
 
|-
 
|-
D
+
Firmware
Any Digit
+
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 ==
   −
For: 0x0004ABCDXXXXXXXX
  −
  −
TWL System Titles:
   
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
DIGIT
+
Content Category
ACCEPTABLE VALUES
+
Additional Bit Mask
 +
!  Category Base Bit Mask
 +
!  Final Bit Mask
 
|-
 
|-
A
+
System Application
8
+
0x4
|-
+
0x8001
B
+
0x8005
Any Digit
   
|-
 
|-
C
+
System Archive
Any Digit
+
0x8<nowiki>|</nowiki>0x4<nowiki>|</nowiki>0x2
|-
+
0x8001
D
+
0x800F
5(TWL System Application), F(TWL System Applet), (1)1(Development Application), (1)5(TWL System Application), (1)7(TWL System Applet)
   
|}
 
|}
 
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 ==
  −
For: 0x0004ABCDXXXXXXXX
  −
   
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
DIGIT
+
Content Category
ACCEPTABLE VALUES
+
Bit Mask
 +
!  Category Base Bit Mask
 +
!  Final Bit Mask
 +
|-
 +
|  Application
 +
|  None
 +
|  0x0000
 +
|  0x0000
 +
|-
 +
|  DLP Child
 +
|  0x1
 +
|  0x0000
 +
|  0x0001
 +
|-
 +
|  Demo
 +
|  0x2
 +
|  0x0000
 +
|  0x0002
 
|-
 
|-
A
+
Contents
0
+
0x2<nowiki>|</nowiki>0x1
|-
+
0x0000
B
+
0x0003
0
   
|-
 
|-
C
+
Patch
0
+
0x8<nowiki>|</nowiki>0x4<nowiki>|</nowiki>0x2
 +
|  0x0000
 +
|  0x000E
 
|-
 
|-
D
+
|  Add-on Content (DLC)
|  0(Standard App), 1(DLP Child), 2(Demo App), E(Add-on Content), 8C(DLC Content), ...
+
|  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.
   −
=== 00040001 - [[Download Play]] Titles ===
+
=== 00040002 - eShop Demos ===
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.
+
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 (Updates) ===
+
=== 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 ==
  −
For 0x0004ABCDXXXXXXXX
  −
  −
TWL Application Titles:
   
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
DIGIT
+
Content Category
ACCEPTABLE VALUES
+
Bit Mask
|-
+
! Category Base Bit Mask
| A
+
! Final Bit Mask
|  8
  −
|-
  −
|  B
  −
|  0
  −
|-
  −
|  C
  −
| 0
   
|-
 
|-
D
+
Application (DSiWare)
4(DSiWare), ...
+
|  0x4
 +
|  0x8000
 +
0x8004
 
|}
 
|}
  
839

edits