Format ‐ Bank Table - waffleoRai/zeqer64 GitHub Wiki
Zeqer Bank Table
The bank (or font) table stores metadata for soundbanks/soundfonts in workspace.
Byte Order: Big-Endian
Current Version: 4 (As of 2023/07/31)
File Format
Header
Header Size: 0x10
Offset | Type | Size | Field Name | Description |
---|---|---|---|---|
0x00 | char[8] | 8 | Magic Number | Identifier ("zeqrBNKt") |
0x08 | u16 | 2 | Flags | (Reserved) |
0x0A | s16 | 2 | Version | File version stored as a short. |
0x0C | s32 | 4 | Entry Count | Number of entries in the table. |
Entry Format
Offset | Type | Size | Field Name | Description | Versions |
---|---|---|---|---|---|
0x00 | u32 | 4 | UID | Bank/font instance ID. Should be unique for all banks.* | |
0x04 | u32 | 4 | Flags | Flags for marking usage information (see below) | |
0x08 | u8[16] | 16 | MD5 | MD5 sum of font data at last save (with sample links using UIDs, not offsets) | |
0x18 | s8 | 1 | Instrument Count | Number of standard instrument slots in output font. | |
0x19 | s8 | 1 | Percussion Count | Number of percussion slots in output font. | |
0x1A | s16 | 2 | SFX Count | Number of sound effect slots in output font. | |
0x1C | s8 | 1 | Medium | Medium enum (See specific page for meaning) | |
0x1D | s8 | 1 | Cache Policy | Cache policy enum (See specific page for meaning) | |
0x1E | s8 | 1 | Wave Archive 1 | Index of linked wave archive (samplebank) on ROM. | |
0x1F | s8 | 1 | Wave Archive 2 | Index of secondary linked wave archive (samplebank) on ROM. | |
0x20 | u64 | 8 | Date Created | Timestamp (epoch seconds) for record creation. | |
0x28 | u64 | 8 | Date Modified | Timestamp (epoch seconds) for last modification. | |
0x30 | VLS 2x2 | Var | Name | Name of sample (UTF8). | |
Var | VLS 2x2 | Var | Tag String | Semicolon delimited list of tags stored as single string (UTF8). | 2+ |
Var | VLS 2x2 | Var | Enum Stem | String to be used as basis for macro name in decomp build compatible output (ASCII). | 3+ |
* UIDs of 0x00000000
(0) and 0xFFFFFFFF
(-1 signed) denote an empty UID field.
Flags
Bit | Field | Versions |
---|---|---|
0 | Is Custom | 4+ |
1 | In OoT | 4+ |
2 | In MM | 4+ |