IBNK: Difference between revisions
Jump to navigation
Jump to search
(Created page with "IBNK page. Feel free to overwrite with accurate information == IBNK Header == {| class="wikitable" |- ! Offset ! Type ! Description ! Notes |- | 0x00 | String[4] | IBNK (0x49424E4B) | |- | 0x04 | UInt32 | File size minus 0x08 | |- | 0x08 | Byte[3] | ? | |- | 0x0B | UInt8 | '''Bank ID''' | |- | 0x0C | Byte[3] | ? | |- | 0x0F | Byte[1] | ? | |- | 0x10 | Byte[16] | Padding? | |} == INST Section == {| class="wikitable" |- ! Offset ! Type ! Description ! Notes |- |...") |
Super Hackio (talk | contribs) (→IBNK Header: Fully documented header) |
||
Line 3: | Line 3: | ||
== IBNK Header == | == IBNK Header == | ||
{| class="wikitable" | {| class="wikitable" | ||
! Offset !! Type !! Description !! Notes | |||
|- | |- | ||
| 0x00 || String[4] || IBNK (0x49424E4B) || | | |||
|- | |- | ||
| | | 0x04 || UInt32 || File size minus 0x08 || | | ||
| | |||
| | |||
| | |||
|- | |- | ||
| | | 0x08 || Int32 || Bank ID || | | ||
| | |||
| | |||
| | |||
|- | |- | ||
| | | 0x0C || Int32 || Bank Version || 0x00000000 = Bank Version 0<br/>0x00000001 = Bank Version 1<br/>Both are supported in ''Super Mario Galaxy'' & ''Super Mario Galaxy 2'' | ||
| | |||
| | |||
| | |||
|- | |- | ||
| | | 0x10 || Byte[16] || Padding? || All Zeros | | ||
| | |||
| Byte[ | |||
| | |||
| ? | |||
| | |||
| | |||
| | |||
|} | |} | ||
Latest revision as of 16:25, 19 September 2024
IBNK page. Feel free to overwrite with accurate information
IBNK Header
Offset | Type | Description | Notes |
---|---|---|---|
0x00 | String[4] | IBNK (0x49424E4B) | |
0x04 | UInt32 | File size minus 0x08 | |
0x08 | Int32 | Bank ID | |
0x0C | Int32 | Bank Version | 0x00000000 = Bank Version 0 0x00000001 = Bank Version 1 Both are supported in Super Mario Galaxy & Super Mario Galaxy 2 |
0x10 | Byte[16] | Padding? |
INST Section
Offset | Type | Description | Notes |
---|---|---|---|
0x00 | String[4] | INST (0x494E5354) | |
0x04 | UInt32 | Section size minus 0x08 | |
0x08 | UInt32 | Amount N of Inst sections | |
0x0C | Start of first Inst section |
Inst Section
Offset | Type | Description | Notes |
---|---|---|---|
0x00 | String[4] | Inst (0x496E7374) | |
0x04 | UInt32 | ? | |
0x08 | UInt32 | ? | |
0x0C | UInt32 | ? | |
0x10 | UInt32 | Amount N of Keyboard sections | |
0x14 | Start of first Keyboard section | ||
0x14+N*0x18 | Float | Keyboard global volume | |
0x14+N*0x18+0x04 | Float | Keyboard global pitch |
Keyboard section (size 0x18)
Offset | Type | Description | Notes |
---|---|---|---|
0x00 | UInt8 | Highest key of current keyboard | Cannot be higher than 7F. Lowest key of next keyboard (if exists) is this value + 0x01. |
0x01 | Byte[6] | ? | |
0x07 | Byte[1] | ? | |
0x08 | UInt8 | Velocity | |
0x09 | Byte[3] | ? | |
0x0C | UInt16 | Bank ID | |
0x0E | UInt16 | Wave ID | |
0x10 | Float | Volume | |
0x14 | Float | Pitch |
PMAP Section
Offset | Type | Description | Notes |
---|---|---|---|
0x00 | String[4] | PMAP (0x504D4150) | |
0x04 | UInt32 | Section size minus 0x08 | |
0x08 | UInt32 | Amount N of Pmap sections | |
0x0C | Start of first Inst section |
Pmap Section (Size 0x28)
Offset | Type | Description | Notes |
---|---|---|---|
0x00 | String[4] | Pmap (0x506D6170) | |
0x04 | Float | ? | |
0x08 | Float | ? | |
0x0C | Float | ? | |
0x10 | Byte[7] | ? | |
0x17 | Byte[1] | ? | |
0x18 | UInt8 | Velocity | |
0x19 | Byte[3] | ? | |
0x1C | UInt16 | Bank ID | |
0x1E | UInt16 | Wave ID | |
0x20 | Float | ? | |
0x24 | Float | ? |
PERC Section
Offset | Type | Description | Notes |
---|---|---|---|
0x00 | String[4] | PERC (0x50455243) | |
0x04 | UInt32 | Section size minus 0x08 | |
0x08 | UInt32 | Amount N of Perc sections | |
0x0C | Start of first Inst section |
Perc Section
Offset | Type | Description | Notes |
---|---|---|---|
0x00 | String[4] | Perc (0x50657263) | |
0x04 | UInt32 | Amount N of entries | |
0x08 | Start of entries |
Perc entry
Offset | Type | Description | Notes |
---|---|---|---|
0x00 | UInt32 | Offset to Pmap section relative to file beginning. | Many entries can be found holding no offset (0x00000000). |
LIST Section
Offset | Type | Description | Notes |
---|---|---|---|
0x00 | String[4] | LIST (0x4C495354) | |
0x04 | UInt32 | Section size minus 0x08 | |
0x08 | UInt32 | Amount N of entries | |
0x0C | Start of entries |
List entry
Offset | Type | Description | Notes |
---|---|---|---|
0x00 | UInt32 | Offset to Inst or Perc section relative to file beginning. | Many entries can be found holding no offset (0x00000000). The position of an entry in this list defines the Program ID. It starts counting at 0. |