CNMT: Difference between revisions
EliotZeroTwo (talk | contribs) |
Moosehunter (talk | contribs) Add info on extra data for patches |
||
Line 174: | Line 174: | ||
This is used for SystemUpdate, see here: [[Content_Manager_services#GetUpdateTitleList]]. | This is used for SystemUpdate, see here: [[Content_Manager_services#GetUpdateTitleList]]. | ||
== Extended data == | |||
Patch-type cnmt files include an extended data section. | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 4 | |||
| Number of previous cnmt entries. | |||
|- | |||
| 0x4 | |||
| 4 | |||
| Number of previous delta entries. | |||
|- | |||
| 0x8 | |||
| 4 | |||
| Number of delta info entries. | |||
|- | |||
| 0xC | |||
| 4 | |||
| Number of delta application info entries. | |||
|- | |||
| 0x10 | |||
| 4 | |||
| Number of previous content entries. | |||
|- | |||
| 0x14 | |||
| 4 | |||
| Number of delta content entries. | |||
|- | |||
| 0x18 | |||
| 4 | |||
| Unused? | |||
|- | |||
| 0x1C | |||
| 0x38*X | |||
| Previous cnmt entries | |||
|- | |||
| | |||
| 0x28*X | |||
| Previous delta entries | |||
|- | |||
| | |||
| 0x28*X | |||
| Delta info entries | |||
|- | |||
| | |||
| 0x34*X | |||
| Delta application info entries | |||
|- | |||
| | |||
| 0x18*X | |||
| Previous content entries | |||
|- | |||
| | |||
| 0x38*X | |||
| Delta content entries. (Standard content records) | |||
|- | |||
| | |||
| 4 | |||
| Unknown | |||
|- | |||
| | |||
| 4 | |||
| Unknown | |||
|- | |||
| | |||
| 4 | |||
| Unknown | |||
|- | |||
|} | |||
== Previous cnmt records == | |||
Each entry is 0x38 bytes: | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 8 | |||
| Title ID | |||
|- | |||
| 0x8 | |||
| 4 | |||
| Title version | |||
|- | |||
| 0xC | |||
| 1 | |||
| Type (see [[Content_Manager_services#Title_Types|Title Types]]) | |||
|- | |||
| 0xD | |||
| 3 | |||
| Unused? | |||
|- | |||
| 0x10 | |||
| 32 | |||
| Hash | |||
|- | |||
| 0x30 | |||
| 2 | |||
| Unknown | |||
|- | |||
| 0x32 | |||
| 2 | |||
| Unused? | |||
|- | |||
| 0x34 | |||
| 4 | |||
| Unused? | |||
|- | |||
|} | |||
This contains information on previous metadata files. | |||
== Previous delta records == | |||
Each entry is 0x28 bytes: | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 8 | |||
| Old title ID | |||
|- | |||
| 0x8 | |||
| 8 | |||
| New title ID | |||
|- | |||
| 0x10 | |||
| 4 | |||
| Old title version | |||
|- | |||
| 0x14 | |||
| 4 | |||
| New title version | |||
|- | |||
| 0x18 | |||
| 8 | |||
| Size | |||
|- | |||
| 0x20 | |||
| 8 | |||
| Unused? | |||
|- | |||
|} | |||
This contains information on previous delta patches. | |||
== Delta info records == | |||
Each entry is 0x28 bytes: | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 8 | |||
| Old title ID | |||
|- | |||
| 0x8 | |||
| 8 | |||
| New title ID | |||
|- | |||
| 0x10 | |||
| 4 | |||
| Old title version | |||
|- | |||
| 0x14 | |||
| 4 | |||
| New title version | |||
|- | |||
| 0x18 | |||
| 8 | |||
| Some sort of index? | |||
|- | |||
| 0x20 | |||
| 8 | |||
| Some sort of index? | |||
|- | |||
|} | |||
This contains information on the current delta patch. | |||
== Delta application info records == | |||
Each entry is 0x34 bytes: | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 16 | |||
| Old NcaId | |||
|- | |||
| 0x10 | |||
| 16 | |||
| New NcaId | |||
|- | |||
| 0x20 | |||
| 6 | |||
| Old size | |||
|- | |||
| 0x26 | |||
| 2 | |||
| Upper 2 bytes of the new size | |||
|- | |||
| 0x28 | |||
| 4 | |||
| Lower 4 bytes of the new size | |||
|- | |||
| 0x2C | |||
| 2 | |||
| Unknown | |||
|- | |||
| 0x2E | |||
| 1 | |||
| Type (see [[Content_Manager_services#Title_Types|Title Types]]) | |||
|- | |||
| 0x2F | |||
| 1 | |||
| ? bit0 set = don't install? | |||
|- | |||
| 0x30 | |||
| 4 | |||
| Unused? | |||
|- | |||
|} | |||
This contains information on how to apply deltas to the previous patch. | |||
== Previous content records == | |||
Each entry is 0x18 bytes: | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 16 | |||
| NcaId | |||
|- | |||
| 0x10 | |||
| 6 | |||
| Size | |||
|- | |||
| 0x16 | |||
| 1 | |||
| Type (see [[Content_Manager_services#Title_Types|Title Types]]) | |||
|- | |||
| 0x17 | |||
| 1 | |||
| | |||
|- | |||
|} | |||
This contains information on previous title content from earlier patches. |