CNMT: Difference between revisions
Update header and extended header - next is extended data |
Update all of Patch Extended Data and add SystemUpdate extended data |
||
Line 25: | Line 25: | ||
| 0x8 | | 0x8 | ||
| 0x4 | | 0x4 | ||
| Version | |||
|- | |- | ||
| 0xC | | 0xC | ||
Line 73: | Line 73: | ||
| 0x0 | | 0x0 | ||
| 0x4 | | 0x4 | ||
| Extended | | Extended Data Size | ||
|} | |} | ||
Line 156: | Line 156: | ||
|} | |} | ||
== Content | == Content Records == | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 185: | Line 185: | ||
|} | |} | ||
== Meta | == Content Meta Records == | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 216: | Line 216: | ||
This is used for SystemUpdate, see here: [[NCM_services#ReadEntryMetaRecords]]. | This is used for SystemUpdate, see here: [[NCM_services#ReadEntryMetaRecords]]. | ||
== Extended | == SystemUpdate Extended Data == | ||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 0x4 | |||
| Version | |||
|- | |||
| 0x4 | |||
| 0x4 | |||
| Variation Count | |||
|- | |||
| 0x8 | |||
| 0x4 | |||
| Firmware Variation | |||
|- | |||
| 0xC | |||
| 0x1C * Variation Count | |||
| Unused | |||
|} | |||
Patch | == Patch Extended Data == | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 227: | Line 250: | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
| | | 0x4 | ||
| | | History Count | ||
|- | |- | ||
| 0x4 | | 0x4 | ||
| | | 0x4 | ||
| | | Delta History Count | ||
|- | |- | ||
| 0x8 | | 0x8 | ||
| | | 0x4 | ||
| | | Delta Count | ||
|- | |- | ||
| 0xC | | 0xC | ||
| | | 0x4 | ||
| | | Fragment Set Count | ||
|- | |- | ||
| 0x10 | | 0x10 | ||
| | | 0x4 | ||
| | | History Content Count | ||
|- | |- | ||
| 0x14 | | 0x14 | ||
| | | 0x4 | ||
| | | Delta Content Count | ||
|- | |- | ||
| 0x18 | | 0x18 | ||
| | | 0x4 | ||
| Unused | | Unused | ||
|- | |- | ||
| 0x1C | | 0x1C | ||
| 0x38* | | 0x38 * History Count | ||
| | | History Headers | ||
|- | |- | ||
| | | | ||
| | | 0x28 * Delta History Count | ||
| | | Delta Histories | ||
|- | |- | ||
| | | | ||
| | | 0x28 * Delta Count | ||
| Delta | | Delta Headers | ||
|- | |- | ||
| | | | ||
| | | 0x34 * Fragment Set Count | ||
| | | Fragment Sets | ||
|- | |- | ||
| | | | ||
| | | 0x18 * History Content Count | ||
| | | History Content Records (Content Records without the Hash entry) | ||
|- | |- | ||
| | | | ||
| | | 0x38 * Delta Content Count | ||
| | | Delta Content Records | ||
|} | |} | ||
== | === History Header === | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 303: | Line 311: | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
| | | 0x8 | ||
| Title ID | | Title ID | ||
|- | |- | ||
| 0x8 | | 0x8 | ||
| | | 0x4 | ||
| | | Version | ||
|- | |- | ||
| 0xC | | 0xC | ||
| | | 0x1 | ||
| | | [[NCM_services#Title_Types|Title Types]] | ||
|- | |- | ||
| 0xD | | 0xD | ||
| | | 0x1 | ||
| Unused | | Attributes | ||
|- | |||
| 0xE | |||
| 0x2 | |||
| Unused | |||
|- | |- | ||
| 0x10 | | 0x10 | ||
| | | 0x20 | ||
| | | Digest | ||
|- | |- | ||
| 0x30 | | 0x30 | ||
| | | 0x2 | ||
| | | Content Info Count | ||
|- | |- | ||
| 0x32 | | 0x32 | ||
| | | 0x6 | ||
| Unused | | Unused | ||
|} | |} | ||
=== Delta History === | |||
== | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 349: | Line 352: | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
| | | 0x8 | ||
| | | Source Title ID | ||
|- | |- | ||
| 0x8 | | 0x8 | ||
| | | 0x8 | ||
| | | Destination Title ID | ||
|- | |- | ||
| 0x10 | | 0x10 | ||
| | | 0x4 | ||
| | | Source Version | ||
|- | |- | ||
| 0x14 | | 0x14 | ||
| | | 0x4 | ||
| | | Destination Version | ||
|- | |- | ||
| 0x18 | | 0x18 | ||
| | | 0x8 | ||
| Size | | Download Size | ||
|- | |- | ||
| 0x20 | | 0x20 | ||
| | | 0x8 | ||
| Unused | | Unused | ||
|} | |} | ||
=== Delta Header === | |||
== Delta | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 387: | Line 385: | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
| | | 0x8 | ||
| | | Source Title ID | ||
|- | |- | ||
| 0x8 | | 0x8 | ||
| 8 | | 8 | ||
| | | Destination Title ID | ||
|- | |- | ||
| 0x10 | | 0x10 | ||
| | | 0x4 | ||
| | | Source Version | ||
|- | |- | ||
| 0x14 | | 0x14 | ||
| | | 0x4 | ||
| | | Destination Version | ||
|- | |- | ||
| 0x18 | | 0x18 | ||
| | | 0x2 | ||
| | | Fragment Set Count | ||
|- | |||
| 0x1A | |||
| 0x6 | |||
| Unused | |||
|- | |- | ||
| 0x20 | | 0x20 | ||
| | | 0x2 | ||
| | | Content Info Count | ||
|- | |- | ||
| 0x22 | |||
| 0x6 | |||
| Unused | |||
|} | |} | ||
=== Fragment Set === | |||
== | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 425: | Line 426: | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
| | | 0x10 | ||
| | | Source Content ID | ||
|- | |- | ||
| 0x10 | | 0x10 | ||
| | | 0x10 | ||
| | | Destination Content ID | ||
|- | |- | ||
| 0x20 | | 0x20 | ||
| | | 0x6 | ||
| | | Source Size | ||
|- | |- | ||
| 0x26 | | 0x26 | ||
| | | 0x6 | ||
| | | Destination Size | ||
|- | |- | ||
| 0x2C | | 0x2C | ||
| | | 0x2 | ||
| | | Fragment Indicator Count | ||
|- | |- | ||
| 0x2E | | 0x2E | ||
| | | 0x1 | ||
| | | [[NCM_services#Title_Types|Title Types]] | ||
|- | |- | ||
| 0x2F | | 0x2F | ||
| | | 0x1 | ||
| | | Update Type (0=ApplyAsDelta, 1=Overwrite, 2=Create) | ||
|- | |- | ||
| 0x30 | | 0x30 | ||
| | | 0x4 | ||
| Unused | | Unused | ||
|} | |} | ||
=== Fragment Indicator === | |||
== | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 475: | Line 467: | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
| | | 0x2 | ||
| Content Info Index | |||
| | |||
|- | |- | ||
| 0x2 | |||
| 0x2 | |||
| Fragment Index | |||
|} | |} | ||