Line 1:
Line 1:
−
= INI1 =
+
#REDIRECT [[Package2]]
−
{| class="wikitable" border="1"
−
|-
−
! Offset
−
! Type
−
! Description
−
|-
−
| 0x0
−
| u32
−
| Magic "INI1"
−
|-
−
| 0x4
−
| u32
−
| Size
−
|-
−
| 0x8
−
| u32
−
| NumberProcesses
−
|-
−
| 0xC
−
| u32
−
| Zero
−
|}
−
−
== KIP1 ==
−
Kernel internal process?
−
−
{| class="wikitable" border="1"
−
|-
−
! Offset
−
! Type
−
! Description
−
|-
−
| 0x0
−
| u32
−
| Magic "KIP1"
−
|-
−
| 0x4
−
| char[12]
−
| Name
−
|-
−
| 0x10
−
| u64
−
| TitleId
−
|-
−
| 0x18
−
| u32
−
|
−
|-
−
| 0x1C
−
| u32
−
| Flags / etc. Byte3 bit0-2: compression-enable for each section, when set.
−
|-
−
| 0x20
−
| [[#SectionHeader]][3]
−
| Sections
−
|-
−
| 0x50
−
| char[0x20]
−
| Padding
−
|-
−
| 0x70
−
| u64[0x20]
−
| KernelCaps
−
|}
−
−
=== SectionHeader ===
−
{| class="wikitable" border="1"
−
|-
−
! Offset
−
! Type
−
! Description
−
|-
−
| 0x0
−
| u32
−
| OutOffset
−
|-
−
| 0x4
−
| u32
−
| DecompressedSize
−
|-
−
| 0x8
−
| u32
−
| CompressedSize
−
|-
−
| 0xC
−
| u32
−
|
−
|}
−
−
=== Compression ===
−
The compression used here is BLZ, with a modified footer since 3ds. The footer is now 0xC bytes instead of 0x8, and has the form u32 compressed_data_len; u32 initial_index; u32 additional_len_when_uncompressed;