INI1: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
Add note on KIP1 compression. |
||
| Line 88: | Line 88: | ||
| | | | ||
|} | |} | ||
=== 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; | |||
Revision as of 19:19, 26 November 2017
INI1
| Offset | Type | Description |
|---|---|---|
| 0x0 | u32 | Magic "INI1" |
| 0x4 | u32 | Size |
| 0x8 | u32 | NumberProcesses |
| 0xC | u32 | Zero |
KIP1
Kernel internal process?
| 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
| 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;