www.intensity.org.uk

ProTracker2 Compiler

Released on issue 4 of Blitz disk magazine, spring 1997.

This program will convert ProTracker 2 modules into a shorter and more convenient form. The files are longer than those produced by the equivalent E-Tracker program, but Sam is able to run them twice as fast or better (despite the music being so much more complicated), which leaves more CPU-time free for BASIC or your other programs. Note that the compiler was written not by BZYK, but rather by a third-party programmer without access to the ProTracker2 source or specifications. Therefore it may be that is some rare cases, the final output does not sound exactly as expected. You are strongly advised to use only the commands as detailed below when writing your music; undocumented commands are not implemented in the compiler!

Usage of Supported ProTracker2 Commands

Notes:

x,y: denotes a single hex digit
nn: denotes a 2-digit hex number

A frame lasts one fiftieth of a second (-0.16%)
There are 256 tone numbers in one octave

Unless otherwise stated:
Commands are effective only on their own channel.
Commands should be repeated on following lines for as long as they are to remain in effect.


0xy
Produce a "false chord" by cycling tone each frame between the given tonic, and notes x and y semitones higher.

1nn
Slide the current tone upwards at a rate of nn tone numbers per frame.

2nn
Slide the current tone downwards at a rate of nn tone numbers per frame.

3nn
Slide the current tone towards a given note at a rate of nn tone numbers per frame.

4xy
Perform a vibrato on the current tone with frquency x amplitude y

5xy
Perform a tremolo on the current volume with frquency x amplitude y

8xy
Use the soundchip's waveform function.
This remains set until specifically disables (with x=y=0). It acts either on the pair of channels B and C, or the pair of chanells E and F.
When this command is enabled, the colume of the output at C is modulated into a waveform with a frequency determined by E. x is set to 0 or 1, to use a 3bit or 4bit waveform respectively. y determines the wave shape (add 1 for the right stereo to mirror the left, but that effect can cause problems for mono amplifiers)
y=6, repeated decay \\\\\\\\
y=A, sawtooth /\/\/\/\
y=E, repeated attack ////////
Sawtooth waveform plays one octave lower than repeated attack or decay.

Bnn
End the current pattern and jump to the start of the pattern at sond position nn. Effective on all channels.

Cxy
Set instrument volume level to x on the left side, y on the right side. 0 is silent, F gives normal volume.

D00
End this pattern and jump to the beginning of the next pattern in the song table. Affects all channels.
** Note that the ProTracker2 editor allows commands of the type Dnn, which jumps to row nn of the next pattern. This will NOT work on the compiler.

E6x
Used to repeat sections of a pettern. Affects all channels.
E60 marks the beginning of a repeated section, E6x repeats that section from beginning to end x times.

ECx
Silences the current note after x frames have elapsed. (x=0: immediate effect)

EDx
Delays the start of a new note by n frames.
Otherwise (if used when not starting a note) the command will silence the channel completely until an EDx command is used with a new note.

EEx
Pauses for x+1 added beats. Affects all channels.

Fnn
Set the tempo to nn frames per beat. Effective until set otherwise.

Intensity HomeIntensity Home
Sam Coupé
Newbie's Guide
MNEMOtech software
My other Sam programs
The Sam DemoBase
Game reviews
Showpics
pyz80
Various Downloads

Music
Dashboard
Wibbles
Photos
Contact Details
Perplex City
LiveJournal
Sam Coupé Web Ring  Previous Site Sam Coupé Web Ring Site List Sam Coupé Web Ring  Previous Site
Intensity Home