These are compiled modules of Global Tracker, the project author is Maxim Krassa (Doctor Max). The main idea of the project is maximum convenience and performance with a minimum of functions. As a result, the format turned out to be close in capabilities to PT1.
It was not widely recognized, since version 1.0 contained significant errors. They were later fixed in version 1.1.
The bulk of the GTR modules that fell into my hands turned out to be conversions of other formats. There are only two original modules in my collection and they are written in GTR v1.0 (one by Nik-O, the other by Trefi).
The GTR format can be called traditional.
Offset | Size | Designation | Description |
---|---|---|---|
+0 | 1 | Delay | Playback speed. |
+1 | 3 | ID | Identifier "GTR". |
+4 | 1 | Version | Version in BCD (0x10 for 1.0, 0x11 for 1.1). |
+5 | 2 | Address | Compilation address. |
+7 | 32 | Name | The song name. |
+39 | 30 | SamPtrs | Pointers to 15 samples. |
+69 | 32 | OrnPtrs | Pointers to 16 ornaments. |
+101 | 192 | PatPtrs | Three pointers to channels A, B, C per each of 32 patterns. |
+293 | 1 | NumOfPoss | The length of the positions list. |
+294 | 1 | LoopPos | Position number for looping. |
+295 | NumOfPoss | Positions | Positions list in the playing order (pattern numbers multiplied by 6, one after the other). |
? | PatChns | The pattern channel descriptors (described below). | |
? | Samples | Samples (described below). | |
? | Ornaments | Ornaments (described below). |
It is a string of bytes ending with 0xFF.
Байт | Описание |
---|---|
0x00..0x5F | Set the note. Exit. |
0x60..$6F | Set the sample (0..14). |
0x70..$7F | Set the ornament (0..15). For versions after 1.0: disable envelopes. |
0x80..$BF | Skip the specified number of lines (0..63). Valid once. |
Set the envelope type (0..15). Set low byte of the envelope period to Env. Enable envelopes. | |
0xD0..$DF | Exit. |
0xE0 | Turn off the sound. For versions after 1.0: exit. |
0xE1..$EF | Set volume (1..15). |
It consists of two header bytes and a list of ticks.
Offset | Description |
---|---|
+0 | Tick for looping. |
+1 | Number of ticks. |
+2 | Sample ticks one after the other, 4 bytes per tick. Tick structure: +0 Amplitude. +1 Bit 7: 1 to enable envelopes. Bit 6: noise mask. Bit 5: tone mask. Bits 4-0: noise (mixed with other channels by the "OR" logical operation). +2 Two-byte tone deviation (signed number). |
It also represents two header bytes and a list of ticks.
Offset | Description |
---|---|
+0 | Tick for looping. |
+1 | Number of ticks. |
+2 | Ticks of the ornament one after another (tone deviations in semitones), 1 byte per tick (a signed number). |
Global Tracker refers to one of the four trackers on the ZX Spectrum (PSM, STP, SQT and GTR) with the most rational channel volume control: taking into account the fact that the DAC output characteristic for both AY and YM is close to logarithmic, the value (15-volume) is simply subtracted from the sample amplitude.