Z Timbre Bank Format
Z supplies Miles Global Timbre Library banks for FM music playback. The repository notes identify SAMPLE.AD and SAMPLE.OPL as identical in the reference installation.
File format
The directory starts at byte zero. Each six-byte record has the following layout:
| Offset | Data type | Name | Description |
|---|---|---|---|
| 0 | UINT8 | patch | Instrument/patch number. |
| 1 | UINT8 | bank | Bank number; 0xff terminates the directory. |
| 2 | UINT32LE | offset | Absolute offset of timbre data. |
A timbre begins with a UINT16LE size, which is included in the copied timbre block. The inspected bank uses 0x0e-byte two-operator timbres. The SBPRO2 driver also has a 0x19-byte four-operator path, which is not exercised by this bank. The remaining payload is driver-specific instrument data; its complete operator-field mapping is not specified here.
Notes
Do not confuse these banks with executable .MDI drivers or XMI event streams.
Source code
From re-z, the open-source browser port:
- src/host/sbpro2.js – installTimbreList, install and operator programming
- docs/re/NOTES.md – reverse-engineering notes and evidence status
Credits
The identification and implementation notes above were contributed by VorticonCmdr. If you find this information helpful in a project you're working on, please give credit where credit is due. (A link back to this wiki would be nice too!)