type modrec=record
title:string[28];
channels:byte;
instruments:byte;
maxsamples:byte;
end;
samrec=record
used:boolean;
name:string[28];
length:longint;
c2spd:word;
volume:byte;
loop:record
start:longint;
length:longint;
endi:longint;
end;
{ data:pointer;}
data:longint;
offset:longint;
end;
songrec=record
length:byte;
patterns:byte; {phys patterns}
order:array[1..128] of byte;
pattern:array[0..255] of pointer;
speed:word;
bpm:word;
end;
const st2vib=1;
st2tem=2;
amigaslides=4;
enablefilter=32;
zero_vol_opt=8;
amiga_limits=16;
st300volumeslides=64;
customdata=128;
const finetunes:array[0..15] of word=
(8363,8413,8463,8529,8581,8651,8723,8757,
7895,7941,7985,8046,8107,8169,8232,8280);
type emsrec=record
handle:word;
used:longint;
addr:word;
page:word;
end;
var module:modrec;
samples:array[0..100] of samrec;
totalsamples:longint;
song:songrec;
ems:emsrec;
master:byte;
{$I s3mtable.pas}