// Максимальное количество мод-семплов
#define MaxModSamples 31



// Структура мод-семпла (30 bytes)
struct MODSAMPLE
{
 byte Name[22];                      // Имя семпла
 word Length;                        // Длина семпла
 byte FineTune;                      // Значение тонкого тона
 byte Volume;                        // Громкость семпла
 word RepeatOffs;                    // Смещение зацикливания семпла
 word RepeatLength;                  // Длина зацикливания семпла
};



// Структура мод-модуля (1084 bytes)
struct MODMODULE
{
 byte Name[20];                      // Имя песни
 MODSAMPLE ModSample[MaxModSamples]; // Семплы
 byte OrderLength;                   // Длина песни в паттернах (1..128)
 byte ReStart;                 // Номер паттерна, после окончания проигрывания
 byte Order[128];              // Порядок воспроизведения паттернов
 byte Signature[4];            // Сигнатура модуля

 byte NumPatterns;             // Количество паттернов
 word PatternSeg[256];         // Сегмент паттерна
 byte NumSamples;              // Количество семплов (15...31)
 byte NumVoices;               // Количество каналов
 word SampleSeg[MaxModSamples];// Сегменты семплов
 byte OrderPos;                // Положение в списке очередности паттернов
 byte PatternLine;             // Текущая линия в паттерне
 byte Frame;                   // Текущий кадр
 byte Speed;                   // Скорость
 byte BPM;                     // Количество ударов в минуту
 byte MasterVolume;            // Основная громкость
}ModModule;


