Changes

1,834 bytes removed ,  16:50, 28 July 2012
There is no such thing as NCSD exheader
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).