Sound FX (one file version .. eg. SONG+SMPS) format Created by Christian Haller & Christian A. Weber (c) LINEL Softwares (1988) Analysed by Asle / ReDoX (asle@warka.com) Source: - Battle Isle game by Blue Byte - Also Exotica Web Page (GREAT SITE !) Note: This format is based on OOOOOOLLD SoundTracker format. So, only 15 smps, Effects remapped, etc. Ok, since there are no nothing of a doc about this format around, I've based most of this description (esp. smp header and fx) upon Buggs's Noiseconverter v1.53. Offset size (byte) Comment ------ ----------- ------- 0 3Ch 15 dwords. Sizes of each samples (real size) 3Ch 4 "SONG" Id 40h 1 (?) -\_ that's the speed ... still trying to 41h 1 (?) -/ understand that ! 42h 12h ?!? (some 00h) *************************************** * the following is repeated 15 times * * with 16 bytes description for 1 smp * ************************************************************* * 50h 16h Sample Name * 66h 2 Loop Start (/2) --+ * 68h 1 Finetune ? | ?!? Why two * 69h 1 Volume (0 - 40h) | times saved * 6Ah 2 Loop Start -----+ * 6Bh 2 Loop Size(/2) * * ************************************************************* Note: I've never seen Loop Start beeing different from 0000h ... so the (/2) is not sure ... . 212h 1 Number of pattern to play 213h 1 ? restart pattern number ? (like stk ..) 214h 80h Pattern order table. Like stk/ptk. Though, some musics a padded up to 7Fh ... . 294h ? pattern data ... Each pattern is stored one after another. (like ptk) pattern 0 : row 0 | voice 1 | voice 2 | voice 3 | voice 4 | row 1 | voice 1 | voice 2 | voice 3 | voice 4 | row 2 ... row 63| voice 1 | voice 2 | voice 3 | voice 4 | pattern 1 : ... the size of each pattern is 1024 (400h) bytes long. Follows the notes descriptions : case 1: Sample number -- /\ | | 0000-0000 0000-0000 0000-0000 0000-0000 | | | | | | | | \/ \ / \/ \ / unused note pitch effect effect value case 2: 0000-0000 0000-0000 0000-0000 0000-0000 | | | | \ / \ / $FFF? ?!?!?!? Noiseconverter puts various things which I try to list here: $FFFE0000 -> C00 (set volume to 00) $FFFD???? -> 000 (remove all this) -no other case encountered yet note pitchs: C-1 to B-1 : 856,808,762,720,678,640,604,570,538,508,480,453 C-2 to B-2 : 428,404,381,360,339,320,302,285,269,254,240,226 C-3 to B-3 : 214,202,190,180,170,160,151,143,135,127,120,113 effect commands: 0: nothing 1: arpeggio (Fx 0 under ptk) 2: ? 3: ? converted to nothing by Noiseconverter 4: ? 5: ? 6: ? converted to nothing by Noiseconverter 7: slide up (Fx 1 under ptk) 8: slide down (Fx 2 under ptk) 9: ? converted to nothing by Noiseconverter NOTE: I've version 1.3 and 1.8 of the tracker (Sound FX) But no doc comes along ... at least nothing is written in any file about how to use the trackers. Too bad, really !. Follow Sample datas stored like Protracker (should I say SoundTracker ?). Nothing is packed..