Line 98: |
Line 98: |
| | | |
| 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 ExHeader ==
| |
− | {| class="wikitable" border="1"
| |
− | |-
| |
− | ! OFFSET
| |
− | ! SIZE
| |
− | ! DESCRIPTION
| |
− | |-
| |
− | | 0x1000
| |
− | | 8
| |
− | | Title ID of main NCCH
| |
− | |-
| |
− | | 0x1008
| |
− | | 8
| |
− | | Reserved
| |
− | |-
| |
− | | 0x1010
| |
− | | 0x30
| |
− | | Initial Data
| |
− | |-
| |
− | | 0x1040
| |
− | | 0xC0
| |
− | | Reserved
| |
− | |-
| |
− | | 0x1100
| |
− | | 4
| |
− | | Magic ID, always 'NCCH'
| |
− | |-
| |
− | | 0x1104
| |
− | | 4
| |
− | | Content size, in media units (1 media unit = 0x200 bytes)
| |
− | |-
| |
− | | 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
| |
− | | 0x10
| |
− | | Product code
| |
− | |-
| |
− | | 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
| |
− | | 0x20
| |
− | | ExeFS superblock hash, over the cleartext ExeFS
| |
− | |-
| |
− | | 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).
| |