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
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.
Produce a "false chord" by cycling tone each frame between the given tonic, and notes x and y semitones higher.
Slide the current tone upwards at a rate of nn tone numbers per frame.
Slide the current tone downwards at a rate of nn tone numbers per frame.
Slide the current tone towards a given note at a rate of nn tone numbers per frame.
Perform a vibrato on the current tone with frquency x amplitude y
Perform a tremolo on the current volume with frquency x amplitude y
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.
End the current pattern and jump to the start of the pattern at sond position nn. Effective on all channels.
Set instrument volume level to x on the left side, y on the right side. 0 is silent, F gives normal volume.
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.
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.
Silences the current note after x frames have elapsed. (x=0: immediate effect)
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.
Pauses for x+1 added beats. Affects all channels.
Set the tempo to nn frames per beat. Effective until set otherwise.