ProTracker 2

Utility


Persona


BZYK


Steven Pick


The demo songs that were released were copied from Amiga demo called Impact (I was facinated by Amiga music at the time of writing the Protracker for SAM)


1996

protracker.dsk.zip (75.38 KB)
pro tracker - data.dsk (843.71 KB)

Music creation software. Similar to E-Tracker in many ways, but prettier and easier to use. It was capable of handling more patterns, more instruments, and (most importantly) more effects which are applied to notes - such as tremolo and portamento.

It appeared on the market relatively late, several years after E-Tracker had gained a virtual monopoly, and never seemed to become heavily used. It also shipped without a compiler, although ProTracker 2 compiler was written by another programmer a few months later and released on Persona’s Blitz disk magazine.


(Note that the following is written from the perspective of the Sam, so in SimCoupe for F0-F9 read number pad keys 0-9, for SYMBOL read left-control, for CNTRL read right-control or left-alt, for EDIT read right-alt)

Glossary

Music is arranged in patterns of (up to) 64 notes. Patterns can be played in any order, the order is defined by the song list. Each note is played using a sample (actually chip music, but defines the variation of volume and pitch over time) and optionally an ornament (extra effects overlaid on the sample, which alter pitch a whole number of semitones). Each row can also contain an effect, which make various changes to the note, or other control such as song position etc.

The Sam soundchip has six channels, you can choose MODE 3 or 6 to change how many are visible at one time (in mode 6 you can see a note’s ornament or its effect but not both).

There are five bookmark positions, associated with F7, F8, F9, F4, F5 which initially are set to 0, 16, 32, 48, 63 respectively.

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

Keyboard

KeyAction
QAOPMove the pointer
Spaceselect items at the pointer
Cursors left, rightmove the cursor across different note values and tracks
Cursors up, downmove through notes within the pattern
EDITtoggle edit mode
returnplay note at current pattern position
CTRL + returninsert a note at the current track and pattern position, shifting later notes down
deleteclear the note at the current track and pattern position
CTRL + deletedelete the note at the current track and pattern position, shifting later notes up
CAPStoggle displaying ornaments or effects when showing 6 channels
F7, F8, F9, F4, F5move to bookmark
SHIFT + F7, F8, F9, F4, F5start playing from bookmark (pattern)
SYMBOL + F7, F8, F9, F4, F5start playing from bookmark (song)
CNTRL + F7, F8, F9, F4, F5set bookmark to current position
F3, F6Octave up and down
SYMBOL + cursors left, rightprevious/next pattern
SHIFT + cursors left, rightprevious/next song position
CNTRL + cursors left, rightprevious/next sample
CNTRL + cursors up, downprevious/next ornament
CNTRL + numberset editskip
SHIFT + F0Cut track
SHIFT + F1Copy track
SHIFT + F2Paste track
SYMBOL + F0Cut pattern
SYMBOL + F1Copy pattern
SYMBOL + F2Paste pattern
SHIFT + SYMBOL + DDisk operations
SHIFT + SYMBOL + SSample editor
SHIFT + SYMBOL + OOrnament editor
SHIFT + SYMBOL + EEdit menu
SHIFT + SYMBOL + TSetup menu
SHIFT + SYMBOL + z,x,c,v,b,nToggle channel enable

The bottom two rows of keys act as a piano keyboard (Z plays a C, S plays a C# etc). Notes are played using the current sample, ornament, and octave. In edit mode these are placed into the pattern at the current cursor position, and the cursor moves down by ‘editskip’ rows (1 by default).

Operations

The program’s current mode is indicated by the colour of the pointer:

modecursor
NormalGrey
EditBlue
PlayYellow
ConfirmPink

Data values can be increased or decreased by clicking the arrows next to the item:

labeldescription
POSITCurrent song position. (I and D buttons will insert or delete an entry at the current position, shifting later entries as required)
PATTERNPattern number associated with this position in the song list
LENGTHLength of the song list
SAMPLECurrent sample number
LENGTHLength of the current sample
REPEATStart of repeated region in sample
REPLENNumber of repeated region in sample
ORNAMENTCurrent ornament number
LENGTHLength of the current ornament
REPEATStart of repeated region in ornament
REPLENNumber of repeated region in ornament

Sample Editor

Don’t store a sample at entry 0, or there may be unexpected effects (sample ‘0’ has the special meaning of not changing the last used sample. This is important as the gaps between notes generally have 00 as their sample field).

Click in the left or right boxes to select which portion appears in the zoom window. Click in the zoom window to set the volume for each frame. Also in the zoom window, left and right cursors move the visible portion left and right, up and down cursors change the volume at the pointer.

The top row of numbers is the tone mask (0 = silence, 1 = allow the note frequency to play), the second row is the noise mask (0 = silence, 1 = allow white noise to play). Both can be set simultaneously. The mask is always the same for left and right channels.

The bottom row is the pitch of the noise (if noise is playing). 0 is the highest pitch, 1 is lower, 2 more so. 3 causes the pitch to depend on the tone frequency in use by channel 1 (if the noise is playing on channels 1, 2 or 3) or 4 (otherwise). (Any noise being played on channels 1,2 and 3 must be at the same frequency, so if two different tracks contain noise effects it is usual to put one in 1,2 or 3, and the other in 4,5 or 6 so that they don’t interfere with each other).

Tone Editor button switched to the tone editor, where the pitch for the sample can be adjusted in tone-number increments (1/256 of an octave approximately).

key
1toggle offset positive or negative
2increase offset by 100
wdecrease offset by 100
3increase offset by 10
edecrease offset by 10
4increase offset by 1
rdecrease offset by 1
CNTRL + deletedelete an entry shifting others up
CNTRL + returninsert an entry shifting others down

Ornament Editor

Don’t store an ornament at entry 0, for similar reasons as not storing a sample at entry 0.

Ornaments adjust the pitch of a note in semitones.

key
2increase offset by 12
wdecrease offset by 12
3increase offset by 1
edecrease offset by 1

Disk Operations

Don’t forget to save your work!

Click on the songname to change it, if necessary, and then click on ‘Save Module’ to save your whole file.

Edit operations

In panel 1, Click the “Track / Pattern” heading to toggle the filter between A (operation affects all notes), S (affects notes matching the current sample), O (affects notes matching the current ornament) and B (umm… dunno.)

In panel 2, items under the “Record” heading modify the behaviour of the “Record” mode which tends to be so unresponsive that I never use it anyway. Items under the “Samples” heading allow you to copy and/or move samples (“S”) but also ornaments (“O”), tracks (“T”) and patterns (“P”) from one index to another.

Setup menu

Various defaults. None of it seems to be very important.

Note Effects

The effects are based on effects available in MOD files. Only a subset of them are supported by the compiler as I never was able to work out what the others actually did.

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

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.

commanddescription
0xyProduce a “false chord” by cycling tone each frame between the given tonic, and notes x and y semitones higher.
1nnSlide the current tone upwards at a rate of nn tone numbers per frame.
2nnSlide the current tone downwards at a rate of nn tone numbers per frame.
3nnSlide the current tone towards a given note at a rate of nn tone numbers per frame.
4xyPerform a vibrato on the current tone with frquency x amplitude y
5xyPerform a tremolo on the current volume with frquency x amplitude y
8xySetup the soundchip’s waveform function.
BnnEnd the current pattern and jump to the start of the pattern at sond position nn. Effective on all channels.
CxySet instrument volume level to x on the left side, y on the right side. 0 is silent, F gives normal volume.
D00End 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.
E6xUsed 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.
ECxSilences the current note after x frames have elapsed. (x=0: immediate effect)
EDxDelays 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.
EExPauses for x+1 added beats. Affects all channels.
FnnSet the tempo to nn frames per beat. Effective until set otherwise.

The soundchip waveform function requires some extra explanation…

This remains set until specifically disabled (with x=y=0). It acts either on the pair of channels 2 and 3, or the pair of chanels 5 and 6.
When this command is enabled, the volume of the output at channel 3 (or 6) is modulated into a waveform with a frequency determined by channel 2 (or 5). x is set to 0 or 1, to use a 3bit or 4bit waveform respectively (also changes note by one octave). 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.


List of standard ProTracker Effects


protracker release

I wouldn’t mind if you just release the protracker to the public. I believe I still should have the source code somewhere on my old disks, but I haven’t yet tried to even find the disks themselves;-)
I hardly remember I wrote protracker in a Comet assembler.

Jarek (Bzyk) Burczynski

ProTracker

Excellent, thanks.

Jarek - can you email me at

Jarek - can you email me at david at proper bastard dot co dot uk please about this?

Thanks

Just sent you an email

btw. anyone can reach me at: s0246 at poczta dot onet dot pl

disks

To follow up on the source code subject…

I have managed to find my old sam disks and now I have the source code for the Protracker along with an Amiga .MOD to Protracker converter (it only converts notes, effects and the module(song) structure - not the samples)

Also there are some SAM Coupe utilities, demos and games.

Also there is an unfinished Bomb Jack game source code. I think there are some sprites and backgrounds and the code for the bonus part of the game - nothing too fancy, as it was at semi-advanced stage when I stopped.

Now the question is who’d want it? I have converted the original disks to the .dsk format and have them all here, waiting…

Jarek

protracker.dsk.zip format?

What format is this .dsk? What do I need to do in order to use it with SimCoupe? I’ve tried several SAM .dsk utilities and none was able to display the list of files from protracker.dsk .

Extended dsk format

It’s an extended dsk (i.e. a perfect image which includes the protection features of the original floppy disk) which can be read by SimCoupe version 1.0 or later (not yet quite released, but the latest CVS version works) or the Windows/PC disk tools which go with it.

Manual

Is there a manual for Pro Tracker available?

Re: Manual

No, sorry, I don’t think a manual was ever written - or at least, not in English. I do remember DL trying to persuade me to write one, but at the time the “compiler” was the bigger need so I ended up writing that.

It did come with a list of keyboard shortcuts, although I can no longer find a copy of that either. If I get time I’ll see if I can remember what they all are and write it up.

I’m not able to move the cursor at all. How can one get it working in SimCoupe? Enabling mouse interface didn’t do anything, nor using joysticks.

Problem with cursor

How does one move the cursor in SimCoupe? Enabling the mouse interface didn’t do anything, nor using the joysticks.

Re: Problem with cursor

The cursor / pointer in this program is controlled with the keys QAOP (and space to select).

Example tunes

Are there any example tunes available anywhere?

Uploaded the data disk

Uploaded the protracker - data.dsk which came along with it. It contains the tunes:

  • Death=Love
  • Impact001
  • Impact002
  • Impact003
  • Impact004
  • Impact005
  • Impact006
  • PointEcho
  • TestModule

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.