A module holds no timeline and no recorded mix. A player builds the sound as it goes: it steps through the positions of the order table, plays each 8-channel pattern’s rows one after another, and on every tick updates the eight channels. StarTrekker’s own replay routine is not described in the sources used for these pages; the rules below are ProTracker’s, with StarTrekker’s differences as OpenMPT reads them, which is how the explorer plays these files.
Timing
Time is counted in ticks, 50 a second, 20 ms each. A row lasts speed
ticks, 6 at the start of every song, changed with
Fxx from 1 to 31; a value above
31 is taken as 31. At speed 6 a row lasts 0.12 s and a pattern of 64 rows 7.68 s.
Playing a pair
For each position the player takes the order entry e, an even number, and plays stored patterns e and e + 1 together: on each row, the four cells of pattern e go to channels 1 to 4 and the four cells of pattern e + 1 to channels 5 to 8. A pattern break or position jump in either half ends the row for all eight channels.
The explorer divides the entry by two to get the 8-channel pattern. An odd entry, a fault of the file, then plays the pair it falls in, and is reported.
What happens on a tick
- On tick 0 of a row, each channel reads its cell. A sample number loads that sample’s volume, finetune and loop; a note looks up its period and restarts the sample, unless the effect is a tone portamento; and the effects that act on tick 0 run.
- On ticks 1 to speed − 1, the effects that act on ticks run: slides, vibrato, tremolo, arpeggio.
- After the last tick the next row starts.
Song flow
Positions are played in order, from 0 to song length − 1, each from the first row of its pair. The next position starts at the end of the pattern, or after a row with a pattern break (Dxy) or a position jump (Bxx). Players stop at the end of the order list, or when a jump would play again what has already been played, or at F00.
Samples and loops
Each channel plays its sample from the start, for its length, or to the end of the loop when the loop start is not 0, and then repeats the loop for as long as the note lasts (see loops). A sample with a loop length of 1 plays once, and then the channel is silent.
Left and right
Each half of a pair is placed as the Amiga places its four channels, left, right, right, left:
| Channel | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| Side | left | right | right | left | left | right | right | left |
In the explorer
The explorer plays these files with ProTracker 2.3D’s replay routine, extended to 8 channels, with StarTrekker’s E commands left out and speeds above 31 taken as 31. It holds each sample byte for its period, as the Amiga does, and places the channels hard left and right in the order above. It plays the song once, at 44.1 kHz, or at a lower rate for a very long song. StarTrekker’s synthesised sounds are not played.