Changes

Jump to navigation Jump to search
9 bytes added ,  15:30, 22 May 2019
Update header and extended header - next is extended data
Line 12: Line 12:  
* "Delta_{lower-case hex titleID}.cnmt"
 
* "Delta_{lower-case hex titleID}.cnmt"
   −
It starts with a header:
+
== Header ==
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 20: Line 20:  
|-
 
|-
 
| 0x0
 
| 0x0
| 8
+
| 0x8
 
| Title ID
 
| Title ID
 
|-
 
|-
 
| 0x8
 
| 0x8
| 4
+
| 0x4
| u32 [[Title_list|title-version]]
+
| [[Title_list|Version]]
 
|-
 
|-
 
| 0xC
 
| 0xC
| 1
+
| 0x1
| Type (see [[NCM_services#Title_Types|Title Types]])
+
| [[NCM_services#Title_Types|Meta Type]]
 
|-
 
|-
 
| 0xD
 
| 0xD
| 1
+
| 0x1
|
+
| Unused
 
|-
 
|-
 
| 0xE
 
| 0xE
| 2
+
| 0x2
| Offset to table relative to the end of this 0x20-byte header.
+
| Extended Header Size
 
|-
 
|-
 
| 0x10
 
| 0x10
| 2
+
| 0x2
| Number of content entries
+
| Content Count
 
|-
 
|-
 
| 0x12
 
| 0x12
| 2
+
| 0x2
| Number of meta entries
+
| Content Meta Count
 
|-
 
|-
 
| 0x14
 
| 0x14
| 12
+
| 0x1
|
+
| Attributes (0=None, 1=IncludesExFatDriver, 2=Rebootless)
 +
|-
 +
| 0x15
 +
| 0x3
 +
| Unused
 +
|-
 +
| 0x18
 +
| 0x4
 +
| Required Download System Version
 +
|-
 +
| 0x1C
 +
| 0x4
 +
| Unused
 
|}
 
|}
   −
With SystemUpdate, the 4-bytes at offset 0xE are zero, with the entry-count field located at offset 0x12 instead(header size is the same).
+
== SystemUpdate Extended Header ==
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset
 +
! Size
 +
! Description
 +
|-
 +
| 0x0
 +
| 0x4
 +
| Extended Header Size
 +
|}
   −
An optional header can follow, depending on the title type.
+
== Application Extended Header ==
 
+
{| class="wikitable" border="1"
At the end of the file following the entries is a 0x20-byte block, presumably a hash.
+
|-
 +
! Offset
 +
! Size
 +
! Description
 +
|-
 +
| 0x0
 +
| 0x8
 +
| Patch ID
 +
|-
 +
| 0x8
 +
| 0x4
 +
| Required System Version
 +
|}
   −
With Patch-format, there's additional data after the end of the entries specified in the header and before the ending hash.
+
== Patch Extended Header ==
 
  −
== Application header ==
   
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 67: Line 99:  
! Description
 
! Description
 
|-
 
|-
| 0x20
+
| 0x0
| 8
+
| 0x8
| Patch Title ID
+
| Application ID
 +
|-
 +
| 0x8
 +
| 0x4
 +
| Required System Version
 +
|-
 +
| 0xC
 +
| 0x4
 +
| Extended Data Size
 
|-
 
|-
| 0x28
+
| 0x10
| 8
+
| 0x8
| Minimum system version
+
| Unused
 
|}
 
|}
   −
== Patch header ==
+
== AddOnContent Extended Header ==
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 83: Line 123:  
! Description
 
! Description
 
|-
 
|-
| 0x20
+
| 0x0
| 8
+
| 0x8
| Original title ID
+
| Application ID
 +
|-
 +
| 0x8
 +
| 0x4
 +
| Required Application Version
 
|-
 
|-
| 0x28
+
| 0xC
| 8
+
| 0x4
| Minimum system version
+
| Unused
 
|}
 
|}
   −
== Add-on content header ==
+
== Delta Extended Header ==
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 99: Line 143:  
! Description
 
! Description
 
|-
 
|-
| 0x20
+
| 0x0
| 8
+
| 0x8
| Application title ID
+
| Application ID
 +
|-
 +
| 0x8
 +
| 0x4
 +
| Extended Data Size
 
|-
 
|-
| 0x28
+
| 0xC
| 8
+
| 0x4
| Minimum application version
+
| Unused
 
|}
 
|}
    
== Content records ==
 
== Content records ==
  −
Each entry is 0x38 bytes:
      
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 119: Line 165:  
|-
 
|-
 
| 0x0
 
| 0x0
| 32
+
| 0x20
 
| Hash
 
| Hash
 
|-
 
|-
 
| 0x20
 
| 0x20
| 16
+
| 0x10
| NcaId [same as first 16-bytes of hash]
+
| Content ID
 
|-
 
|-
 
| 0x30
 
| 0x30
| 6
+
| 0x6
| Size, same as the output from [[NCM_services#GetSizeFromContentId]].
+
| Size
 
|-
 
|-
 
| 0x36
 
| 0x36
| 1
+
| 0x1
| Type (0=Meta, 1=Program, 2=Data, 3=Control, 4=[[Internet_Browser|HtmlDocument]], 5=[[Internet_Browser|LegalInformation]], 6=[[NCA_Format|DeltaFragment]])
+
| Title Type (0=Meta, 1=Program, 2=Data, 3=Control, 4=[[Internet_Browser|HtmlDocument]], 5=[[Internet_Browser|LegalInformation]], 6=[[NCA_Format|DeltaFragment]])
 
|-
 
|-
 
| 0x37
 
| 0x37
| 1
+
| 0x1
|
+
| Id Offset
 
|}
 
|}
    
== Meta records ==
 
== Meta records ==
  −
Each entry is 0x10 bytes:
      
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 150: Line 194:  
|-
 
|-
 
| 0x0
 
| 0x0
| 8
+
| 0x8
 
| Title ID
 
| Title ID
 
|-
 
|-
 
| 0x8
 
| 0x8
| 4
+
| 0x4
| Title version
+
| Version
 
|-
 
|-
 
| 0xC
 
| 0xC
| 1
+
| 0x1
| Type (see [[NCM_services#Title_Types|Title Types]])
+
| [[NCM_services#Title_Types|Meta Type]]
 
|-
 
|-
 
| 0xD
 
| 0xD
| 1
+
| 0x1
| ? bit0 set = don't install?
+
| Attributes (0=None, 1=IncludesExFatDriver, 2=Rebootless)
 
|-
 
|-
 
| 0xE
 
| 0xE
| 2
+
| 0x2
| Unused?
+
| Unused
 
|}
 
|}
  
23

edits

Navigation menu