1 -------------------------------------------------------------------------- 2 XI format description 3 (FastTracker II Extended Instrument) 4 reverse engineered by KB / The Obsessed Maniacs / Reflex 5 -------------------------------------------------------------------------- 6 C = Chars, B = Byte, W = Word, D = Double word 7 8 Pos(h) Len(h) Meaning 9 -------------------------------------------------------------- file header 10 0000 C15 "Extended Instrument: " 11 0015 C16 Instrument name, padded w/ spaces 12 13 002b B01 $1a 14 002c C14 Tracker name, padded w/ spaces 15 0040 W02 Version Number (current $0102) 16 17 -------------------------------------------------------------- inst header 18 0042 B60 Sample number for notes 1..96 19 20 00a2 W30 12 volume envelope points: 21 +0 Time index for Point 1 (ticks since note) 22 +2 Volume for Point 1 (00..40) 23 +4 Time index for Point 2 24 +6 Volume for Point 2 25 [...] 26 00d2 W30 12 panning envelope points 27 (Same structure as volume envelope) 28 29 0102 B01 Number of volume points 30 0103 B01 Number of panning points 31 0104 B01 Volume sustain point 32 0105 B01 Volume loop start point 33 0106 B01 Volume loop end point 34 0107 B01 Panning sustain point 35 0108 B01 Panning loop start point 36 0109 B01 Panning loop end point 37 010a B01 Volume type; b0=on, b1=sustain, b2=loop 38 010b B01 Panning type; b0=on, b1=sustain, b2=loop 39 40 010c B01 Vibrato type 41 010d B01 Vibrato sweep 42 010e B01 Vibrato depth 43 010f B01 Vibrato rate 44 45 0110 W02 Volume fadeout (0..fff) 46 0112 B16 ????? (Zeroes) 47 48 0128 W02 Number of Samples 49 50 ---------------------------------------------------------- sample headers 51 52 012a D04 Sample Length 53 012e D04 Sample loop start 54 0132 D04 Sample loop length 55 0136 B01 Volume 56 0137 B01 Finetune (signed) 57 0138 B01 Sample Type; b0,1=loop: 0=none 1=fwd 2=bidi 58 b4=16bit sample 59 0139 B01 Panning 60 0140 B01 Relative Note (signed, 00=C-4) (call it Transpose) 61 0141 B01 Sample Name Length 62 0142 C16 Sample Name, padded w/ zeroes 63 64 And so on w/ samples 1 to x 65 Length: $28 bytes for each sample 66 67 ------------------------------------------------------------- sample data 68 69 $012a+(number of samples)*$28 : sample data for all samples in delta values 70 (signed) 71