Changes

1,834 bytes added ,  06:31, 28 July 2012
no edit summary
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).
839

edits