Это компилированные модули Global Tracker, автора проекта – Максим Красса (Doctor Max). Основная идея проекта максимум удобства и производительности при минимуме функций. В результате формат получился близким по возможностям к PT1.
Широкого распространения не получил, так как версия 1.0 содержала существенные ошибки. В последствии они были исправлены в версии 1.1.
Основная масса модулей GTR, которые попадали мне в руки, оказались конверсиями других форматов. Оригинальных модулей в моей коллекции всего два и написаны они в GTR v1.0 (один за авторством Nik-O, другой – Trefi).
Формат GTR можно назвать традиционным.
Смещение | Размер | Обозначение | Описание |
---|---|---|---|
+0 | 1 | Delay | Скорость проигрывания. |
+1 | 3 | ID | Идентификатор "GTR". |
+4 | 1 | Version | Версия в BCD (0x10 – 1.0, 0x11 – 1.1). |
+5 | 2 | Address | Адрес компиляции. |
+7 | 32 | Name | Название песни. |
+39 | 30 | SamPtrs | Указатели на 15 сэмплов. |
+69 | 32 | OrnPtrs | Указатели на 16 орнаментов. |
+101 | 192 | PatPtrs | По три указателя на каналы A, B, C для 32-х паттернов. |
+293 | 1 | NumOfPoss | Длина списка позиций. |
+294 | 1 | LoopPos | Номер позиции для зацикливания. |
+295 | NumOfPoss | Positions | Список позиций в порядке проигрывания (номера паттернов, умноженные на 6, друг за другом). |
? | PatChns | Описатели каналов паттернов (описаны ниже). | |
? | Samples | Сэмплы (описаны ниже). | |
? | Ornaments | Орнаменты (описаны ниже). |
Представляет собой строку байтов, оканчивающуюся 0xFF.
Байт | Описание |
---|---|
0x00..0x5F | Установить ноту. Выйти. |
0x60..$6F | Установить сэмпл (0..14). |
0x70..$7F | Установить орнамент (0..15). Для версий после 1.0: выключить огибающие. |
0x80..$BF | Пропустить указанное количество строк (0..63). Действует однократно. |
Установить тип огибающей (0..15). Установить младший байт периода огибающих в Env. Включить огибающие. | |
0xD0..$DF | Выйти. |
0xE0 | Выключить звук. Для версий после 1.0: выйти. |
0xE1..$EF | Установить громкость (1..15). |
Представляет собой два байта заголовка и список тиков.
Смещение | Описание |
---|---|
+0 | Тик для зацикливания. |
+1 | Количество тиков. |
+2 | Тики сэмпла друг за другом, по 4 байта на тик. Структура тика: +0 Амплитуда. +1 Бит 7: 1, если огибающие разрешены. Бит 6: маска шума. Бит 5: маска тона. Биты 4-0: шум (смешивается с другими каналами логической операцией "ИЛИ"). +2 Двухбайтовое отклонение тона (число со знаком). |
Также представляет собой два байта заголовка и список тиков.
Смещение | Описание |
---|---|
+0 | Тик для зацикливания. |
+1 | Количество тиков. |
+2 | Тики орнамента друг за другом (отклонения тона в полутонах), по 1 байту на тик (число со знаком). |
Global Tracker относится к одному из четырёх трекеров на ZX Spectrum (PSM, STP, SQT и GTR), в которых наиболее рационально сделано регулирование громкости канала: с учётом того, что выходная характеристика ЦАП и AY, и YM близка к логарифмической, из амплитуды сэмпла просто вычитается величина (15-громкость).