Sidmon2 module structure ------------------------ by Laurent Clevy (lclevy@club-internet.fr) Sidmon & Sidmon2 is (C) 1989/1991 Turtle Byte Offset Len Number Content ------------------------------- 0x0000 W 1 midimode 0x0002 B 1 length 0x0003 B 1 speed 0x0004 W 1 sampleno (*64) 0x0006 L 1 "SIDMON II ..." text length 0x000a L 1 ? length = 4 0x000e L 1 pattern arrangements section length 0x0012 L 1 note transpose section length 0x0016 L 1 instruments transpose section length 0x001a L 1 instruments info section length 0x001e L 1 waveform list length 0x0022 L 1 arpeggio list length 0x0026 L 1 vibrato list length 0x002a L 1 waveforms infos section length 0x002e L 1 patterns pointer section length 0x0032 L 1 packed patterns section length 0x0036 L 1 ? 0x003a B 28 "SIDMON II - THE MIDI VERSION" 0x005a B 1*len used patterns for channel 1 B 1*len used patterns for channel 2 B 1*len used patterns for channel 3 B 1*len used patterns for channel 4 ??? B 1*len note transpose for channel 1 B 1*len note transpose for channel 2 B 1*len note transpose for channel 3 B 1*len note transpose for channel 4 ??? B 1*len instrument transpose for channel 1 B 1*len instrument transpose for channel 2 B 1*len instrument transpose for channel 3 B 1*len instrument transpose for channel 4 ??? B 32*? instruments infos section 1 instrument info = 0x00 B 1 waveform list no 0x01 B 1 waveform list length 0x02 B 1 waveform list speed 0x03 B 1 waveform list delay 0x04 B 1 arpeggio list no 0x05 B 1 arpeggio list length 0x06 B 1 arpeggio list speed 0x07 B 1 arpeggio list delay 0x08 B 1 vibrato list no 0x09 B 1 vibrato list length 0x0a B 1 vibrato list speed 0x0b B 1 vibrato list delay pitchbending pitchbend delay midi instrument no midi velocity midi keyshift midi channel 0x10 B 1 attack volume B 1 attack speed B 1 delay volume B 1 delay speed B 1 sustain time B 1 release volume B 1 release speed ??? B 16*? waveform list ??? B 16 arpeggio list ??? B 16 vibrato list ??? B 64 waveforms infos section 1 waveform info = 0x00 0x04 W 1 waveform length in words W 1 repeat offset 0x08 W 1 repeat length in words 0x0a W 1 waveform negation start offset in words 0x0c W 1 waveform negation length in words 0x0e W 1 waveform negation speed 0x10 W 1 waveform neg. direction (0=none/2=left/3=both) 0x12 W 1 0x14 0x18 W 1 0x20 B ?? waveform name ??? L ?? patterns pointer section (add start of patterns section) ??? B ?? packed patterns section (unpack algorithm is in the playroutine between the "readnote" and "playvoice" labels) ??? B ?? stored waveforms Example : (demosong1) --------- 0x0000 0000 0x0002 18 0x0003 04 0x0004 0140 0x0006 0000001c 00000004 00000064 00000064 00000064 000000c0 00000050 00000010 00000010 00000140 00000020 000002a0 00000c62 0x003a "SIDMON II - THE MIDI VERSION" 0x0056 7b97988e 0x005a 01 02 01 02 01 0201020102010201020102010201020102010204 03 00 00 00 08 09080a0b0c060703040404040f0f0a0b0c040403 00 04 04 00 04 04040404040d0d0d090a0b0c0507040404060706 00 05 06 07 06 070707070707060e050506050f0f050505070607 0x00be 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000c00000000000000 00000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000c000000000000 0x0122 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 0x0186 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff 00 00 00 00 00 000000 000000000000 01 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 ff ff 00 00 00 00 00 000000 00000000 0000 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50 50 00 00 00 00 00 000000 00000000 0000 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 8c ff 00 0a 00 00 00 000000 00000000 0000 04 00 00 00 00 00 00 00 00 05 00 0a 00 00 00 00 78 46 3c 01 00 00 00 000000 00000000 0000 04 00 00 00 00 00 00 00 00 05 00 00 00 00 00 00 97 78 18 5b 00 00 00 000000 00000000 0000 0x246 00000000 00000000 00000000 00000000 01000000 00000000 00000000 00000000 02000000 00000000 00000000 00000000 03000000 00000000 00000000 00000000 04000000 00000000 00000000 00000000 0x296 00 04 07 0c 00 00 00 00 00 00 00 00 00 00 00 00 0x2a6 04 03 05 fb fc fd 00 00 00 00 00 00 00 00 00 00 0x2b6 0000 d828 013d 0000 0001 0000 0001 0000 0000 0001 0000 00000000 00000000 0000 "imploder.bd" 000000 00000000 00000000 00000000 00000000 0000 0000 ebd0 02fe 0000 0001 0000 0001 0000 0000 0001 0000 00000000 00000000 0000 "imploder.sd" 000000 00000000 00000000 00000000 00000000 0000 0000 f5d802a1 00000001 00000001 00000000 00010000 00000000 00000000 0000 "imploder.hh" 000000 00000000 00000000 00000000 00000000 0000 0000 d3a80040 00000040 0021001c 00020003 00010000 00000000 00000000 0000 "pulse.128" 00000000 00000000 00000000 00000000 00000000 0000 0000 5b600010 00000010 00000010 00010002 ffff0000 000d0001 00000000 0000 "melody.32" 00000000 00000000 00000000 00000000 00000000 0000 0x03f6 0000 0001 0042 0083 00b8 00f9 0159 01b9 0219 0220 0233 024e 025b 025e 026a 0277 0x0416 c0 0x0417 2904fe 29fe 35fe 29fe 29fe 29fe 35fe 35fe 29fe 29fe 35fe 29fe 35fe 29fe 35fe 35fe 2cfe 2cfe 38fe 2cfe 2cfe 2cfe 38fe 38fe 2cfe 2cfe 38fe 2cfe 38fe 2cfe 38fe 38fe 0x0458 2a04fe 2afe 36fe 2afe 2afe 2afe 36fe 36fe 2afe 2afe 36fe 2afe 36fe 2afe 36fe 36fe 27fe 27fe 33fe 27fe 27fe 27fe 33fe 33fe 27fe 27fe 33fe 27fe 33fe 33fe 33fe 33fe 4703fc 47fc 47fc 47fc 47fc 47fc 47fc 47fc 47fe 47fe 47fe 47fe 47fe 47fe 47fe 47fe 47fe 47fe 47fe 47fe 47fe 47fe 47ff 47ff 47ff 47ff ... 0x068d 2906fc 29fc 29fa 27fe 29fc 29fc 29fe 29fe 29fe 2cfe 2efc 2efc 2efa 2cfe 2efc 2efc 31fe 31fe 2cfe 2afe 0x06b6 0000 d8f01b05 fc11fd3a d6081510 05ee2022 f507fbfe faebfbeb ... 3b3a3837 36353330 302e2c2b 28272423 221f1e1b 19171615 12100e0d 0c090705 0x0930 00000ace 06000000 02003e7c 56423c32 efc782ad 53848182 8f95b0c3 dde7613b ... f303f7f5 fc01f2ed 03f202e8 0x0f2c 0000fcfc fdfdfdfe fdfefffe ffff00ff ff000000 ... fc090106 0909f11c 05000216 04ee 0x146e 7c7c ... 80808080 80808080 80808080 8080 0x14ee 4b4b ... c403ff03 031b0b03 fbf3e7e3 dbcb 0x150e