In a pattern, a command is stored as a number from 1 to 26: 1 is A, 2 is B and so on, with one info byte. The behaviour below is that of Scream Tracker 3.21, from the MultimediaWiki notes on its play routine. Commands marked ‘later’ were not in Scream Tracker; other programs added them. In the Memory column, % means the effect reuses the channel’s latest non-zero parameter, and * means the effect keeps a memory of its own.
Effect commands
| Letter | Number | Parameter | Memory | Effect |
|---|---|---|---|---|
| A | 1 | xx | Set speed. 0 is ignored. | |
| B | 2 | xx | Jump to order xx. | |
| C | 3 | xy | Break to row x × 10 + y of the next pattern. Rows of 64 and above are ignored. | |
| D | 4 | xy | % | Volume slide; forms below. |
| E | 5 | xx | % | Portamento down: EFx fine, EEx extra fine. |
| F | 6 | xx | % | Portamento up: FFx fine, FEx extra fine. |
| G | 7 | xx | * | Portamento to note. With no note on the row, the target is the last note played in the channel. |
| H | 8 | xy | * | Vibrato: parameters are multiplied by 4. Shares memory with U. |
| I | 9 | xy | % | Tremor: on x + 1 ticks, off y + 1 ticks. |
| J | 10 | xy | % | Arpeggio. Its memory is not fully documented. |
| K | 11 | xy | % | Vibrato and volume slide (H00 + Dxy), but the first tick is skipped, so fine slides do nothing. |
| L | 12 | xy | % | Portamento and volume slide (G00 + Dxy); the same first-tick rule. |
| M | 13 | xx | Set channel volume (later). | |
| N | 14 | xy | Channel volume slide (later). | |
| O | 15 | xx | * | Sample offset. |
| P | 16 | xy | Panning slide with fine forms (later). | |
| Q | 17 | xy | % | Retrigger every y ticks, with volume change x (table below). y = 0 is ignored. |
| R | 18 | xy | % | Tremolo: speed 4x, depth 4y. |
| S | 19 | xy | % | Special commands. |
| T | 20 | xx | Set tempo. Values below 33 are ignored. OpenMPT adds T0x and T1x for tempo slides. | |
| U | 21 | xy | * | Fine vibrato. Shares memory with H. |
| V | 22 | xx | Set global volume, 00 to 40; values above 40 are ignored. | |
| W | 23 | xy | Global volume slide (later). | |
| X | 24 | xx | Set panning, 00 to 80; XA4 enables surround (later). | |
| Y | 25 | xy | Panbrello (later). | |
| Z | 26 | xx | MIDI macro (later). |
Volume slide forms
| Form | Effect |
|---|---|
| D0y | Slide down y on non-zero ticks (and tick 0 if fast slides are on). |
| Dx0 | Slide up x, in the same way. |
| DFy | Fine slide down, on tick 0. |
| DxF | Fine slide up, on tick 0. |
| DFF | Slide up 15 on tick 0. |
| D0F | Slide down 15 every tick. |
| DF0 | Slide up 15 every tick. |
| Dxy, both non-zero | Scream Tracker slides down by y; Impulse Tracker ignores it. |
| D00 | Reuses the last non-zero parameter in the channel. |
Slides change the active volume, not the stored volume.
Retrigger volume changes
| x | Change | x | Change |
|---|---|---|---|
| 0 | None | 8 | No change (documentation uncertain) |
| 1 | −1 | 9 | +1 |
| 2 | −2 | A | +2 |
| 3 | −4 | B | +4 |
| 4 | −8 | C | +8 |
| 5 | −16 | D | +16 |
| 6 | × 2/3 (a lookup table, not exactly two-thirds) | E | × 3/2 |
| 7 | × 1/2 | F | × 2 |
S sub-commands
| Command | Effect |
|---|---|
| S0x | Filter; not implemented in Scream Tracker. S00 reuses the last non-zero S parameter. |
| S1x | Glissando control: S10 off, S11 on. |
| S2x | Set finetune. |
| S3x | Vibrato waveform: bits 0 and 1 give 0 sine, 1 ramp down, 2 square, 3 random. Bit 2 set means do not reset on a new note. |
| S4x | Tremolo waveform, the same values. |
| S5x | Panbrello waveform (later). |
| S6x | Fine pattern delay: adds x ticks (later). |
| S8x | Set panning, 0 to F. Gravis Ultrasound only in Scream Tracker. |
| S9x | Sound control (later). |
| SAx | Old stereo control. On the Sound Blaster, by channel: SA0 and SA2 normal, SA1 and SA3 reversed, SA4 to SA7 centre with a DC offset, SA8 to SAF no effect. Modern players treat it as S8x. OpenMPT reuses SAx as a high offset. |
| SB0, SBx | Pattern loop: SB0 sets the start, SBx loops back x times. The memory is global, not per channel. |
| SCx | Note cut after x ticks. 0 is ignored. Playback freezes rather than going silent, and resumes with E, F, G, H, J, K, L or U. |
| SDx | Delay the note x ticks. With S0x, the note triggers on tick 0 and again at x. |
| SEx | Pattern delay: repeat the row x times. |
| SFx | FunkRepeat; not implemented in Scream Tracker. |
Playback notes
- A note without a sample retriggers the note and keeps the volume.
- A sample without a note resets the volume and changes sample without retriggering. If the C2 speeds differ, the pitch can be off.
- The active volume is at most 63: setting 64 gives 63. AdLib channels allow 64 as a default, and later changes clip to 0 to 63.
- Vibrato and tremolo use a 256-step cycle. V is processed on tick 1, so at speed 1 it does nothing.