Line 99: |
Line 99: |
| The region-specific NVer title for this NCSD presumably must exist on NAND. The NVer title version may also be used to check whether a system update is required before running the app. | | The region-specific NVer title for this NCSD presumably must exist on NAND. The NVer title version may also be used to check whether a system update is required before running the app. |
| | | |
− | == NCSD "Unknown Section" == | + | == Development Card Info Header == |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 105: |
Line 105: |
| ! SIZE | | ! SIZE |
| ! DESCRIPTION | | ! DESCRIPTION |
| + | |- |
| + | | 0x200 |
| + | | 8 |
| + | | Card Info |
| + | |- |
| + | | 0x208 |
| + | | 0xDF8 |
| + | | Reserved1 |
| |- | | |- |
| | 0x1000 | | | 0x1000 |
| | 8 | | | 8 |
− | | Title ID of main NCCH | + | | Media ID (same as first NCCH partitionId) |
| |- | | |- |
| | 0x1008 | | | 0x1008 |
| | 8 | | | 8 |
− | | Reserved | + | | Reserved2 |
| |- | | |- |
| | 0x1010 | | | 0x1010 |
Line 123: |
Line 131: |
| |- | | |- |
| | 0x1100 | | | 0x1100 |
− | | 4 | + | | 0x100 |
− | | Magic ID, always 'NCCH' | + | | Copy of first NCCH header (excluding RSA signature) |
| |- | | |- |
− | | 0x1104 | + | | 0x1200 |
− | | 4 | + | | 0x200 |
− | | Content size, in media units (1 media unit = 0x200 bytes)
| + | | CardDeviceReserved1 |
− | |-
| |
− | | 0x1108
| |
− | | 8
| |
− | | Partition ID
| |
− | |-
| |
− | | 0x1110
| |
− | | 2
| |
− | | Maker code
| |
− | |-
| |
− | | 0x1112
| |
− | | 2
| |
− | | Version
| |
− | |-
| |
− | | 0x1114
| |
− | | 4
| |
− | | Reserved
| |
− | |-
| |
− | | 0x1118
| |
− | | 8
| |
− | | Program ID
| |
− | |-
| |
− | | 0x1120
| |
− | | 1
| |
− | | Temp flag
| |
− | |-
| |
− | | 0x1121
| |
− | | 0x2F
| |
− | | Reserved | |
| |- | | |- |
− | | 0x1150 | + | | 0x1400 |
| | 0x10 | | | 0x10 |
− | | Product code | + | | TitleKey |
− | |-
| |
− | | 0x1160
| |
− | | 0x20
| |
− | | Extended header hash (SHA-256), over the cleartext ExHeader
| |
− | |-
| |
− | | 0x1180
| |
− | | 4
| |
− | | Extended header size
| |
− | |-
| |
− | | 0x1184
| |
− | | 4
| |
− | | Reserved
| |
− | |-
| |
− | | 0x1188
| |
− | | 8
| |
− | | Flags: byte[5]-byte[7] indicate content type ( system update, application, manual, ... ) size of media unit ( 512*2^byte[6] ) and encryption.
| |
− | |-
| |
− | | 0x1190
| |
− | | 4
| |
− | | Plain region offset, in media units
| |
− | |-
| |
− | | 0x1194
| |
− | | 4
| |
− | | Plain region size, in media units
| |
− | |-
| |
− | | 0x1198
| |
− | | 8
| |
− | | Reserved
| |
− | |-
| |
− | | 0x11A0
| |
− | | 4
| |
− | | ExeFS offset, in media units
| |
− | |-
| |
− | | 0x11A4
| |
− | | 4
| |
− | | ExeFS size, in media units
| |
− | |-
| |
− | | 0x11A8
| |
− | | 4
| |
− | | ExeFS hash region size, in media units
| |
− | |-
| |
− | | 0x11AC
| |
− | | 4
| |
− | | Reserved
| |
− | |-
| |
− | | 0x11B0
| |
− | | 4
| |
− | | RomFS offset, in media units
| |
− | |-
| |
− | | 0x11B4
| |
− | | 4
| |
− | | RomFS size, in media units
| |
− | |-
| |
− | | 0x11B8
| |
− | | 4
| |
− | | RomFS hash region size, in media units
| |
− | |-
| |
− | | 0x11BC
| |
− | | 4
| |
− | | Reserved
| |
| |- | | |- |
− | | 0x11C0 | + | | 0x1410 |
− | | 0x20 | + | | 0xF0 |
− | | ExeFS superblock hash, over the cleartext ExeFS | + | | CardDeviceReserved2 |
− | |-
| |
− | | 0x11E0
| |
− | | 0x20
| |
− | | RomFS superblock hash
| |
− | |-
| |
− | | 0x1200
| |
− | | 0x2E00
| |
− | | Reserved/Unused (Is filled with either 'F's or '0's)
| |
| |} | | |} |
− | From the magic 'NCCH' to the end of the 'RomFS superblock hash' the data is identical to the [[NCCH#NCCH Header|NCCH Header]] of the [[NCCH#CXI|Executable NCCH]] Partition (NCCH 0).
| |