NCSD: Difference between revisions

Neimod (talk | contribs)
There is no such thing as NCSD exheader
3dsguy (talk | contribs)
Undo revision 3631 by Neimod (talk)
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 "Unknown Section" ==
{| 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).