| INSTRUMENT definition (max 255 instruments) | ||||||||||
| Byte | 8 bits | Meanings | ||||||||
| 0 | HR | G | O | NR | HR=Hardrestart ; G=gate off; NR=n. of ticks before HR; O=order | |||||
| 1 | Attack | Decay | Attack/Decay value to use when hardrestarting a note | |||||||
| 2 | Sustain | Release | Sustain/Release to use when hardrestarting a note | |||||||
| 3 | Control 1 | Control 1 value to use when hardrestarting a note | ||||||||
| 4 | Control 2 | Control 2 value to use when hardrestarting a note | ||||||||
| 5 | Low Attack Decay | Pointer to Attack/Decay table of values | ||||||||
| 6 | High Attack Decay | |||||||||
| 7 | Low Sustain Release | Pointer to Sustain Release table of values | ||||||||
| 8 | High Sustain release | |||||||||
| 9 | Low Wave | Pointer to Wave table of values | ||||||||
| A | High Wave | |||||||||
| B | Low Frequency | Pointer to Frequency table of values | ||||||||
| C | High Frequency | |||||||||
| D | Low Pulse | Pointer to Pulse table of values | ||||||||
| E | High Pulse | |||||||||
| F | Low Filter | Pointer to Filter table of values | ||||||||
| 10 | High Filter | |||||||||
| 11 | Low Filter Res. | Pointer to Filter Resonance table of values | ||||||||
| 12 | High Filter Res. | |||||||||
| 13 | Low Filter Type | Pointer to Filter Type table of values | ||||||||
| 14 | High Filter Type | |||||||||
| 15 | Low Relative note | Pointer to Relative note used in Freq. Table Value | ||||||||
| 16 | High Relative note | |||||||||
| 17 | Low Fixed Freq | Pointer to Fixed Pulse Table used in Freq. Table Value | ||||||||
| 18 | High Fixed Freq | |||||||||
| 19 | Low Relative Freq | Pointer to Relative Pulse Table used in Freq. Table Value | ||||||||
| 1A | High Relative Freq | |||||||||
| 1B | Low Fixed Pulse | Pointer to Fixed Pulse Table used in Pulse Table Value | ||||||||
| 1C | High Fixed Pulse | |||||||||
| 1D | Low Relative Pulse | Pointer to Relative Pulse Table used in Pulse Table Value | ||||||||
| 1E | High Relative Pulse | |||||||||
| 1F | Low Rel. Filter Freq | Pointer to Relative Filter Table used in Filter Table Value | ||||||||
| 20 | High Rel. Filter Freq | |||||||||
| 21 | Low Fixed Filter Freq | Pointer to Fixed Filter Table used in Filter Table Value | ||||||||
| 22 | High Fixed Filter Freq | |||||||||
| 23 | Low Delay | Pointer to Delay table of values | ||||||||
| 24 | High Delay | |||||||||
| 25 | Low Repeat | Pointer to Repeat table of values | ||||||||
| 26 | High Repeat | |||||||||
| TABLE of values definition | ||||||||||
| Byte | 8 bits | Meanings | ||||||||
| 0 | Dimension | Dimension of table (0=empty, max is 126) | ||||||||
| 1 | N. repeat | N. Repeat (number of repeat of sequence) 0=forever | ||||||||
| 2 | Step pos. | Step into table for repeating commands: 0=no repeat | ||||||||
| 3 | Value | Table values: meaning depending by the kind of type | ||||||||
| 4 | delay/repeat | delay/repeat index in tables of delay and repeat | ||||||||
| 5 | Value | |||||||||
| 6 | delay/repeat | |||||||||
| ... | ||||||||||
| Dim*2+1 | Value | Table values: meaning depending by the kind of type | ||||||||
| Dim*2+2 | delay/repeat | delay/repeat index in tables of delay and repeat | ||||||||
| ATTACK/DECAY values in table definition | ||||||||||
| 8 bits | Meanings | |||||||||
| Attack | Decay | Attack/Decay to put into SID (if equals to the current, skip it) | ||||||||
| SUSTAIN/RELEASE values in table definition | ||||||||||
| 8 bits | Meanings | |||||||||
| Sustain | Release | Sustain/Release to put into SID (if equals to the current, skip it) | ||||||||
| WAVE values in table definition | ||||||||||
| 8 bits | Meanings | |||||||||
| Control | Control to put into SID (if 0 skip to put it) | |||||||||
| FREQUENCY values in table definition | ||||||||||
| Byte | 8 bits | Meanings | ||||||||
| 0 | Fixed Loc | Index to shared table with note (like A#5) | ||||||||
| ... | ||||||||||
| 5F | Fixed Loc | |||||||||
| 60 | Relative Loc | 0 | Value to add to tracker note (like NOTE+x) | |||||||
| 61 | Relative Loc | 1 | Value to subtract to tracker note (like NOTE-x) | |||||||
| ... | (relative value of 0 can be used for mantaining tracker note) | |||||||||
| 9E | Relative Loc | 0 | Value to add to tracker note (like NOTE+x) | |||||||
| 9F | Relative Loc | 1 | Value to subtract to tracker note (like NOTE-x) | |||||||
| A0 | Relative | 0 | Index to table with relative value to add to current freq. | |||||||
| A1 | Relative | 1 | Index to table with relative value to subtract to current freq. | |||||||
| ... | (relative value of 0 can be used for mantaining actual value) | |||||||||
| DE | Relative | 0 | Index to table with relative value to add to current freq. | |||||||
| DF | Relative | 1 | Index to table with relative value to subtract to current freq. | |||||||
| E0 | Fixed | Index to table with absolute value to put for frequency | ||||||||
| ... | ||||||||||
| FF | Fixed | Index to table with absolute value to put for frequency | ||||||||
| PULSE values in table definition | ||||||||||
| Byte | 8 bits | Meanings | ||||||||
| 0 | Fixed | Index to table with fixed value (absolute) to put into SID pulse | ||||||||
| ... | ||||||||||
| 5F | Fixed | |||||||||
| 60 | Relative | 0 | Index to table with relative value to add to current SID pulse | |||||||
| 61 | Relative | 1 | Index to table with relative value to subtract to current SID pulse | |||||||
| ... | (relative value of 0 can be used for mantaining actual value) | |||||||||
| FE | Relative | 0 | Index to table with relative value to add to current SID pulse | |||||||
| FF | Relative | 1 | Index to table with relative value to subtract to current SID pulse | |||||||
| FILTER FREQ. values in table definition | ||||||||||
| 8 bits | Meanings | |||||||||
| 0 | Fixed | Index to table with fixed value (absolute) to put into SID filter freq. | ||||||||
| ... | ||||||||||
| 5F | Fixed | |||||||||
| 60 | Relative | 0 | Index to table with relative value to add to current SID filter freq. | |||||||
| 61 | Relative | 1 | Index to table with relative value to subtract to current SID filter freq. | |||||||
| ... | (relative value of 0 can be used for mantaining actual value) | |||||||||
| FE | Relative | 0 | Index to table with relative value to add to current SID filter freq. | |||||||
| FF | Relative | 1 | Index to table with relative value to subtract to current SID filter freq. | |||||||
| FILTER RESONANCE table values | ||||||||||
| Pos. | 8 bits | Meanings | ||||||||
| Res | 0 | 0 | 1 | Resonance to put for filter | ||||||
| Res | 0 | 1 | 0 | Resonance to add to current value for filter | ||||||
| Res | 1 | 0 | 0 | Resonance to sub to current for filter | ||||||
| FILTER TYPE values in table definition | ||||||||||
| 8 bits | Meanings | |||||||||
| Type | Filt | Type and voice activation for filter | ||||||||
| RELATIVE FREQ table values | ||||||||||
| Pos. | 8 bits | Meanings | ||||||||
| x0 | Low Frequency | Freq. Value to add/subtact to current according to sign | ||||||||
| x1 | High Frequency | |||||||||
| FIXED FREQ table values | ||||||||||
| Pos. | 8 bits | Meanings | ||||||||
| x0 | Low Frequency | Freq. Value to put as frequency to use | ||||||||
| x1 | High Frequency | |||||||||
| RELATIVE PULSE table values | ||||||||||
| Pos. | 8 bits | Meanings | ||||||||
| x0 | Low Pulse | Pulse Value to add/subtact to current according to sign | ||||||||
| x1 | High Pulse | |||||||||
| FIXED PULSE table values | ||||||||||
| Pos. | 8 bits | Meanings | ||||||||
| x0 | Low Pulse | Pulse Value to put as pulse to use | ||||||||
| x1 | High Pulse | |||||||||
| FIXED LOC FREQ table values (Hardcored and shared == note definitions) | ||||||||||
| Pos. | 8 bits | Meanings | ||||||||
| x0 | Low Frequency | Freq. Value of note of given index | ||||||||
| x1 | High Frequency | |||||||||
| FIXED FILTER FREQ table values | ||||||||||
| Pos. | 8 bits | Meanings | ||||||||
| x0 | Low FC | Freq. Value for filter at the given index | ||||||||
| x1 | High FC | |||||||||
| RELATIVE FILTER FREQ table values | ||||||||||
| Pos. | 8 bits | Meanings | ||||||||
| x0 | Low FC | Freq. Value for filter to add/subtact to current according to sign | ||||||||
| x1 | High FC | |||||||||
| DELAY table values | ||||||||||
| Pos. | 8 bits | Meanings | ||||||||
| 00..FF | DELAY | number of ticks for delay | ||||||||
| REPEAT table values | ||||||||||
| Pos. | 8 bits | Meanings | ||||||||
| 00..FF | REPEAT | number of repeat for one command | ||||||||
| NOTE: DELAY and REPEAT tables shared the same index position | ||||||||||
| NOTE: a table value for global volume is being evaluate for adding if needed | ||||||||||