Music File format (.ttm) (compiled)
Song data ("*_tmu.asm"):
+2 restart (offset from end delimiter) +1 speed +?? order track pattern pointers (8*2 byte pointer) +2 order end delimiter (0x0000) +?? track data +?? sub-track data
- Track data (and sub-track data)
- For the replayer TT pattern data is divided in individual tracks. The track data is optimized.
Range Description Values Remarks 000-095 Notes 0-95 096 Rest 96 097-127 Instrument 1-31 128-143 Volume 1-15 144-175 Effect 0-* Effect number. Each effect event action is followed by a 0,1 or 2 byte value. The effect numbers are different to the numbers used in the tracker pattern data. 191 EoT 191 This marks the end of a track. Once found the next pattern is initialized. 192-255 Wait 1-63 Contains the number track steps to wait till next event action for the current track. Every track step is ended with this even action.
- (* For certain effects like Bxy seperate effect numbers (>15) can be used by the TMU compiler.
Instrument data ("*_tmu_ins.asm"):
+62 instrument pointers (31*2 byte pointer) +?? intrument data
Instrument data in compiled TMU files is different from the normal TMU file format. The format for compiled data is optimized to save space and/or easier/faster processing.
[HEADER] 01 - Waveform ; related waveform (0..31)
00 - Length ; length of the marco (0..63) 02 - Restart ; restart position (loop)[/HEADER] [ROW] 0..<Length-1> +00- [ N | Nd | Nd | T | Ed | Td | Vd | Vd ] +01- [ Vv | Vv | Vv | Vv | Vv | Vv | Vv | Vv ] Signed Volume value* +02- [ Nv | Nv | Nv | Nv | Nv | Nv | Nv | Nv ] Signed Noise value* +03- [ Tv | Tv | Tv | Tv | Tv | Tv | Tv | Tv ] Signed Tone value* +04- [ Tv | Tv | Tv | Tv | Tv | Tv | Tv | Tv ] "" [/ROW] *) These values are optional. They are only present if there is a change in these values.
Nd -> $00 = no noise value, $10 = base noise, $11 = relative noise
Vd -> $00 = no volume value,
$10$01 = base volume, $11 = relative volume
Td -> $0 = no tone value, $1 = relative tone
Ed -> Instrument macro end. The next line contains a jump address to jump to to restart/loop.
Waveform data ("*_tmu_wav.asm"):
+1024 waveforms (32*32 byte data blocks)
- Track steps
Track steps are processes in 'sequential' order by all tracks. Each track has a delay timer which is set by the 'Delay' event action. Once a delay timer reaches zero a new 'track step' is processed. Each track step contains 1 or more even actions. Every Track step is ended with a 'Delay' event action.<s>