Fast Tracker 2 Extended Module

From MultimediaWiki
Jump to navigation Jump to search
  • Extension: xm

A 32-channel module format, used by Fast Tracker 2. The .XM extension stands for eXtended Module.

File Format

TODO

Playback notes

TODO

Effects

Effects marked with (*) have 'memory'. This means that if their parameter is 0, they use the last nonzero parameter used for the same effect in this channel.

0xy

Arpeggio.

1xy (*)

Slide up.

2xy (*)

Slide down.

3xy (*)

Slide to note.

4xy (*)

Vibrato.

5xy (*)

Slide to note + volume slide. 300 + Axy.

6xy (*)

Vibrato + volume slide. 400 + Axy.

7xy (*)

Tremolo.

8xy

Set panning position.

9xy

Set sample offset.

Axy (*)

Volume slide.

Bxy

Jump to order.

Cxy

Set volume.

Dxy

Pattern break to row.

Exy - Miscellaneous effects

E0x

Set filter. Not implemented in Fast Tracker 2.

E1x (*)

Fine slide up.

E2x (*)

Fine slide down.

E3x

Set glissando control.

E4x

Set vibrato waveform.

E5x

Set finetune.

E6x

Loop pattern.

E7x

Set tremolo waveform.

E8x

Unused?!

E9x

Retrig note.

This effect retrigs the sample on every x-th tick. It doesn't use the counter, which is used by Rxy. Instead it uses the normal tick counter, which is reset on every row. Thus, it is more similar to the protracker version of the retrig effect, while Rxy is more similar to the Scream Tracker (and Impulse Tracker) version of retrig. Please note that similar does not mean 100% compatible :)

Notes:

  • If the parameter x is 0, this effect retrigs the sample only once - on tick 0.
  • If the parameter x is not 0, this effect retrigs on every x-th tick, except on tick 0.
  • Although this effect does not use the Rxy counter and never increments it, it resets it whenever a retrig occurs, *except* on tick 0.
  • This effect also does not touch the Rxy effect memory.
EAx (*)

Fine volume slide up.

EBx (*)

Fine volume slide down.

ECx

Note cut after x ticks.

EDx

Note delay for x ticks.

EEx

Pattern delay for x rows.

EFx

Funk it! Not implemented in Fast Tracker 2.

Fxy

Set speed.

Gxy

Set global volume.

Hxy (*)

Global volume slide.

Kxy

Key off. Same as note number 97.

Lxy

Set envelope position.

Pxy (*)

Panning slide.

Rxy (*)

Multi retrig note. Retrigger note every y ticks with volume modifier x. If y is 0, use the last nonzero retrig speed value used in a Rxy effect in the channel.

This effect uses a counter, that is increased on each tick. When the counter reaches the retrig value 'y' (or becomes greater, which could happen if the retrig value is decreased), the sample is retriggered, the note volume is modified according to the volume modifier 'x' and the counter is reset back to 0. The counter is reset (without retriggering the sample) also in the following cases:

  • before the start of playing the song
  • 'when a row with an instrument number (doesn't matter if there's a note in the note column) is encountered in the channel
  • after the E9x effect, but only if it wasn't E90 and has retriggered the sample

Values for x:

  • 0: Use the last nonzero volume modifier used in a Rxy effect in the channel. Wrongly documented as: "None"
  • 1: -1
  • 2: -2
  • 3: -4
  • 4: -8
  • 5: -16
  • 6: *2/3
  • 7: *1/2
  • 8: Documentation says "Unused", but actually works as leave the volume unchanged, unlike the 0.
  • 9: +1
  • A: +2
  • B: +4
  • C: +8
  • D: +16
  • E: *3/2
  • F: *2

Txy

Tremor.

X1x (*)

Extra fine slide up.

X2x (*)

Extra fine slide down.