Difference between revisions of "INI1"

From Nintendo Switch Brew
Jump to navigation Jump to search
(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 18: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;