NCSD: Difference between revisions

3dsguy (talk | contribs)
Undo revision 3631 by Neimod (talk)
Neimod (talk | contribs)
No edit summary
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).