Introduction
StarTrekker was an Amiga tracker by Bjørn Wesen (Exolon of Fairlight). Its version
1.0, of 14 July 1990, brought 8 channels to the Amiga module, and with them the
FLT signatures: FLT4 for ordinary 4-channel modules, and
FLT8 for 8-channel ones. Later versions, 1.2 and 1.3, added synthesised
AM and FM sounds. EXO8 is read the same way as FLT8.
The header is the same as a ProTracker module’s, but the 8-channel patterns are not
stored as 8-channel rows. Each one is kept as two ordinary 4-channel patterns, one
after the other: the even-numbered one holds channels 1 to 4, and the next one
channels 5 to 8. The order table names the even pattern of each pair. A reader that
takes FLT8 as 8 channels per row, as for 8CHN, plays nonsense,
and one that takes it as 4 channels plays each pair as two halves one after the
other: this is a separate format. (FLT4 files are laid out like
M.K. ones and are read as ProTracker
modules.)
No file of this format was among the files examined for this site; the explorer’s parser was tested with files built for the test, from OpenMPT’s description of the layout.
A .mod file dropped on any page of this site opens in the explorer,
which shows the header field by field, the samples, the order list and every pattern
pair note by note, as 8 channels, and plays the song.
Structure
A 1,084-byte header, then the stored 4-channel patterns, then the sample data, with nothing between them. All numbers are big-endian.
0Title the song name, padded with zero bytes20 bytes20Sample headers 31 of 30 bytes: name, length, finetune, volume, loop930 bytes950Song length how many positions are played1 byte951Restart a restart position, or a value the player ignores1 byte952Order table the even pattern of the pair for each of 128 positions128 bytes1080SignatureFLT8orEXO84 bytes1084Pattern pairs channels 1 to 4, then channels 5 to 8, each 64 rows × 4 channels × 4 bytes2 × 1,024 bytes each…Sample data signed 8-bit, sample 1 firstvaries
Telling it apart
The explorer’s parser for this format checks two things: the file is at least 1,084
bytes long, and the four bytes at offset 1080 are FLT8
(46 4C 54 38) or EXO8 (45 58 4F 38). A file with
any other bytes there is turned down, and the explorer tries the parsers for the other
module formats.
Everything after the signature is read as it comes. An odd number among the played positions of the order table is reported as a problem, since every entry should name the first pattern of a pair; so are the faults any module can have, such as a volume above 64 or a file cut short.
Variants
- ProTracker module (M.K.) – 31 samples and 4 channels, marked M.K. at offset 1080: the standard Amiga module
- Multichannel module (xCHN, xxCH) – 31 samples and 1 to 32 channels, marked 6CHN, 8CHN, 16CH and so on
- StarTrekker 8-channel module (FLT8) – 8 channels, each pattern stored as two 4-channel patterns
- Soundtracker module (15 samples) – the first modules, 1987 to 1989: 15 samples and no signature
Links
Software
- OpenMPT – free tracker that plays and edits MOD files, StarTrekker’s 8-channel ones included (Windows)
- VLC media player – free player for almost any audio or video file, modules included (Windows, macOS, Linux, mobile)
Developers
- libopenmpt – OpenMPT’s playback library, which reads FLT8 pattern pairs (C, C++)
- libxmp – module player library for MOD, S3M, XM, IT and many more (C)
Reference
- OpenMPT’s MOD loader – how FLT8 pattern pairs and StarTrekker’s effects are read (C++)
- Tracker History Graphing Project – StarTrekker’s releases and their dates