A cell’s effect type is a number: effects 0 to 9 and A to F are 0 to 15, G is 16, and so on up to Z, 35. Effects marked * in the Memory column remember their last non-zero parameter.
Effect commands
| Effect | Name | Memory | Details |
|---|---|---|---|
| 0xy | Arpeggio | ||
| 1xx | Portamento up | * | |
| 2xx | Portamento down | * | |
| 3xx | Tone portamento | * | |
| 4xy | Vibrato | * | |
| 5xy | Tone portamento and volume slide | * | |
| 6xy | Vibrato and volume slide | * | |
| 7xy | Tremolo | * | |
| 8xx | Set panning | 00 to FF, on tick 0. | |
| 9xx | Sample offset | * | Offset is xx × 256. Ignored if the row has no instrument. |
| Axy | Volume slide | * | A0y down, Ax0 up. |
| Bxx | Position jump | ||
| Cxx | Set volume | 00 to 40. | |
| Dxx | Pattern break | The parameter is decimal-coded. Keep it to 3F or below for FastTracker 2. | |
| E1x | Fine portamento up | * | |
| E2x | Fine portamento down | * | |
| E3x | Glissando control | E30 off, E31 on. | |
| E4x | Vibrato control | Waveform. | |
| E5x | Set finetune | ||
| E60, E6x | Pattern loop | E60 sets the start; E6x loops x times. | |
| E7x | Tremolo control | Waveform. | |
| E8x | Set panning | Listed by OpenMPT. FastTracker 2 does nothing for it, and the XM notes leave it out. | |
| E9x | Retrigger note | Every x ticks. | |
| EAx | Fine volume slide up | * | |
| EBx | Fine volume slide down | * | |
| ECx | Note cut | ||
| EDx | Note delay | OpenMPT notes that FastTracker 2’s version is buggy. | |
| EEx | Pattern delay | ||
| EFx | Set active macro | A ModPlug extension. | |
| Fxx | Set speed or BPM | 01 to 1F set speed; 20 or above set BPM; 0 is ignored. | |
| Gxx | Set global volume | 00 to 40. | |
| Hxy | Global volume slide | * | |
| Kxx | Key off | After xx ticks. | |
| Lxx | Set envelope position | 00 to FF: sets the position to that frame and retriggers the envelopes, not the note or sample. | |
| Pxy | Panning slide | * | P0y left, Px0 right. |
| Rxy | Multi retrigger | * | With a volume change. OpenMPT notes that FastTracker 2’s version is buggy. |
| Txy | Tremor | On x + 1 ticks, off y + 1 ticks. | |
| X1x | Extra fine portamento up | * | Four times finer than E1x. |
| X2x | Extra fine portamento down | * | Four times finer than E2x. |
| X5x, X6x, X9x, XAx | Panbrello waveform, fine pattern delay, sound control, high offset | ModPlug extensions. | |
| Yxy | Panbrello | A ModPlug extension. | |
| Zxx | MIDI macro | A ModPlug extension. | |
| \xx | Smooth MIDI macro | A ModPlug extension. |
rst’s SoundTracker adds filter effects as Qxx and Zxx, with different meanings from the Z above. FastTracker 2 itself ignores all the ModPlug extensions.
Frequency tables
The file’s frequency flag picks one of two systems. The real note runs from 1 to 119 after adding the sample’s relative note. In these formulae, Note is that real note.
| Table | Period | Frequency |
|---|---|---|
| Linear | 7680 − (Note × 64) − (FineTune ÷ 2) | 8363 × 2^((4608 − Period) ÷ 768) |
| Amiga | An interpolated value from a period table, × 16 ÷ 2^(Note DIV 12) | 8363 × 1712 ÷ Period |
The XM notes’ interpolation for the Amiga table is known to be flawed, and the FastTracker 2 clone is the better guide for exact values.
Volume
FinalVol = (FadeOutVol ÷ 65536) × (EnvelopeVol ÷ 64) × (GlobalVol ÷ 64) × (Vol ÷ 64) × Scale
FadeOutVol starts at 65,536 and is reduced after a key off. See volume fadeout.