ProtrackerCommands

From Atari Wiki
Revision as of 16:44, 1 January 2013 by Admin (talk | contribs)
Jump to navigation Jump to search

EFFECT COMMANDS

Effect commands on Protracker should be compatible with all other trackers.
0 - None/Arpeggio     8 - * NOT USED *
1 - Portamento Up     9 - SampleOffset
2 - Portamento Down   A - VolumeSlide
3 - TonePortamento    B - PositionJump
4 - Vibrato           C - Set Volume
5 - ToneP + VolSlide  D - PatternBreak
6 - Vibra + VolSlide  E - Misc. Cmds
7 - Tremolo           F - Set Speed


             E - COMMANDS
             ------------

The E command has been altered to contain more commands than one.

E0- Filter On/Off     E8- * NOT USED *
E1- Fineslide Up      E9- Retrig Note
E2- Fineslide Down    EA- FineVol Up
E3- Glissando Control EB- FineVol Down
E4- Vibrato Control   EC- NoteCut
E5- Set Finetune      ED- NoteDelay
E6- Patternloop       EE- PatternDelay
E7- Tremolo Control   EF- Invert Loop


 Cmd 0. Arpeggio [Range:$0-$F/$0-$F]
 -----------------------------------
Usage: $0 + 1st halfnote add
          + 2nd halfnote add
Arpeggio is used to simulate chords.
This is done by rapidly changing the pitch between 3(or 2) different notes. It sounds very noisy and grainy on most samples, but ok  on monotone ones.
Example: C-300047  C-major chord:
         (C+E+G  or C+4+7 halfnotes)
         C-300037  C-minor chord:
         (C+D#+G or C+3+7 halfnotes)


 Cmd 1. Portamento up [Speed:$00-$FF]
 ------------------------------------
Usage: $1 + portamento speed
Portamento up will simply slide the sample pitch up. You can NOT slide higher than B-3! (Period 113)
Example: C-300103  1 is the command, 3 is the portamentospeed.
NOTE: The portamento will be called as many times as the speed of the song.  This means that you'll sometimes have trouble sliding accuratly. If you change the speed without changing the sliderates, it will sound bad...


 Cmd 2. Portamento down [Speed:$00-FF]
 -------------------------------------
Usage: $2 + portamento speed
Just like command 1, except that this one slides the pitch down instead. (Adds to the period).
You can NOT slide lower than C-1! (Period 856)
Example: C-300203  2 is the command, 3 is the portamentospeed.


Cmd 3. Tone-portamento [Speed:$00-$FF]
--------------------------------------
Usage: Dest-note + $3 + slidespeed
This command will automatically slide from the old note to the new.
You don't have to worry about which direction to slide, you need only set the slide speed. To keep on sliding, just select the command $3 + 00.
Example: A-200000  First play a note.
         C-300305  C-3 is the note to
              slide to, 3 the command,
              and 5 the speed.


Cmd 4. Vibrato [Rate:$0-$F,Dpth:$0-$F]
--------------------------------------
Usage: $4 + vibratorate + vibratodepth
Example: C-300481  4 is the command, 8 is the speed of the vibrato and 1 is the depth of the vibrato.
To keep on vibrating, just select the command $4 + 00. To change the vibrato, you can alter the rate, depth or both. Use command E4- to change the vibrato-waveform.


Cmd 5. ToneP + Volsl [Spd:$0-$F/$0-$F]
--------------------------------------
Usage: $5 + upspeed + downspeed
This command will continue the current toneportamento and slide the volume at the same time. Stolen from NT2.0.
Example: C-300503  3 is the speed to turn the volume down.
         C-300540  4 is the speed to slide it up.

Cmd 6. Vibra + Volsl [Spd:$0-$F/$0-$F]
--------------------------------------
Usage: $6 + upspeed + downspeed
This command will continue the current vibrato and slide the volume at the same time. Stolen from NT2.0.
Example: C-300605  5 is the speed to turn the volume down.
         C-300640  4 is the speed to slide it up.


Cmd 7. Tremolo [Rate:$0-$F,Dpth:$0-$F]
--------------------------------------
Usage: $7 + tremolorate + tremolodepth
Tremolo vibrates the volume.
Example: C-300794  7 is the command, 9 is the speed of the tremolo and 4 is the depth of the tremolo.
To keep on tremoling, just select the command $7 + 00. To change the tremolo, you can alter the rate, depth or both. Use command E7- to change the tremolo-waveform.


Cmd 9. Set SampleOffset [Offs:$00-$FF]
--------------------------------------
Usage: $9 + Sampleoffset
This command will play from a chosen position in the sample, and not from the beginning. The two numbers equal the two first numbers in the length of the sample. Handy for speech-samples.
Example: C-300923  Play sample from offset $2300.


Cmd A. Volumeslide [Speed:$0-$F/$0-$F]
--------------------------------------
Usage: $A + upspeed + downspeed
Example: C-300A05  5 is the speed to turn the volume down.
         C-300A40  4 is the speed to slide it up.
NOTE: The slide will be called as many times as the speed of the song. The slower the song, the more the volume will be changed on each note.


  Cmd B. Position-jump [Pos:$00-$7F]
  ----------------------------------
Usage: $B + position to continue at
Example: C-300B01  B is the command, 1 is the position to restart the song at.
This command will also perform a pattern-break (see below). You can use this command instead of restart as on noisetracker, but you 
must enter the position in hex!


  Cmd C. Set volume [Volume:$00-$40]
  ----------------------------------
Usage: $C + new volume
Well, this old familiar command will set the current volume to your own selected. The highest volume is $40.
All volumes are represented in hex. (Programmers do it in hex, you know!)
Example: C-300C10  C is the command, 10 is the volume (16 decimal).


     Cmd D. Pattern-break [Pattern-pos:00-63, decimal]
     ----------------------------
Usage: $D + pattern-position
This command just jumps to the next song-position, and continues play from the pattern-position you specify.
Example: C-300D00  Jump to the next song-position and continue play from pattern-position 00.
     Or: C-300D32  Jump to the next song-position and continue play from pattern-position 32 instead.


   Cmd E0. Set filter [Range:$0-$1]
   --------------------------------
Usage: $E0 + filter-status
This command jerks around with the sound-filter on some A500 + A2000.
All other Amiga-users should keep out of playing around with it.
Example: C-300E01  disconnects filter
                (turns power LED off)
         C-300E00  connects filter
                 (turns power LED on)


  Cmd E1. Fineslide up [Range:$0-$F]
  ----------------------------------
Usage: $E1 + value
This command works just like the normal portamento up, except that it only slides up once. It does not continue sliding during the length of the note.
Example: C-300E11  Slide up 1 at the beginning of the note. (Great for creating chorus effects)


 Cmd E2. Fineslide down [Range:$0-$F]
 ------------------------------------
Usage: $E2 + value
This command works just like the normal portamento down, except that it only slides down once. It does not continue sliding during the length of the note.
Example: C-300E26  Slide up 6 at the
              beginning of the note.


 Cmd E3. Glissando Ctrl [Range:$0-$1]
 ------------------------------------
Usage: $E3 + Glissando-Status
Glissando must be used with the tone-portamento command. When glissando is activated, toneportamento will slide a halfnote at a time, instead of a straight slide.
Example: C-300E31  Turn Glissando on.
         C-300E30  Turn Glissando off.


     Cmd E4. Set vibrato waveform [Range:$0-$3]
     ----------------------------
Usage: $E4 + vibrato-waveform
Example: C-300E40  Set sine(default)
              E44  Don't retrig WF
         C-300E41  Set Ramp Down
              E45  Don't retrig WF
         C-300E42  Set Squarewave
              E46  Don't retrig WF
         C-300E43  Set Random
              E47  Don't retrig WF


  Cmd E5. Set finetune [Range:$0-$F]
  ----------------------------------
Usage: $E5 + finetune-value
Example: C-300E51  Set finetune to 1.
Use these tables to figure out the finetune-value.
Finetune: +7 +6 +5 +4 +3 +2 +1  0
   Value:  7  6  5  4  3  2  1  0
Finetune: -1 -2 -3 -4 -5 -6 -7 -8
   Value:  F  E  D  C  B  A  9  8


  Cmd E6. PatternLoop [Loops:$0-$F]
  ----------------------------------
Usage: $E6 + number of loops
This command will loop a part of a pattern.
Example: C-300E60  Set loopstart.
         C-300E63  Jump to loop 3 times before playing on.


     Cmd E7. Set tremolo waveform [Range:$0-$3]
     ----------------------------
Usage: $E7 + tremolo-waveform
Example: C-300E70  Set sine(default)
              E74  Don't retrig WF
         C-300E71  Set Ramp Down
              E75  Don't retrig WF
         C-300E72  Set Squarewave
              E76  Don't retrig WF
         C-300E73  Set Random
              E77  Don't retrig WF


   Cmd E9. Retrig note [Value:$0-$F]
   ---------------------------------
Usage: $E9 + Tick to Retrig note at.
This command will retrig the same note before playing the next. Where to retrig depends on the speed of the song. If you retrig with 1 in speed 6 that note will be trigged 6 times in one note slot. Retrig on hi-hats!
Example: C-300F06  Set speed to 6.
         C-300E93  Retrig at tick 3 out of 6.


  Cmd EA. FineVolsl up [Range:$0-$F]
  ----------------------------------
Usage: $EA + value
This command works just like the normal volume slide up, except that it only slides up once. It does not continue sliding during the length of the note.
Example: C-300EA3  Slide volume up 1 at the beginning of the note.


 Cmd EB. FineVolsl down [Range:$0-$F]
 ------------------------------------
Usage: $EB + value
This command works just like the normal volume slide down, except that it only slides down once. It does not continue sliding during the length of the note.
Example: C-300EB6  Slide volume down 6 at the beginning of the note.


    Cmd EC. Cut note [Value:$0-$F]
    ------------------------------
Usage: $EC + Tick to Cut note at.
This command will cut the note at the selected tick, creating extremely short notes.
Example: C-300F06  Set speed to 6.
         C-300EC3  Cut at tick 3 out of 6.
Note that the note is not really cut, the volume is just turned down.


    Cmd ED. NoteDelay [Value:$0-$F]
    -------------------------------
Usage: $ED + ticks to delay note.
This command will delay the note to the selected tick.
Example: C-300F06  Set speed to 6.
         C-300ED3  Play note at tick 3 out of 6.


  Cmd EE. PatternDelay [Notes:$0-$F]
  ----------------------------------
Usage: $EE + notes to delay pattern.
This command will delay the pattern the selected numbers of notes.
Example: C-300EE8  Delay pattern 8 notes before playing on.
All other effects are still active when the pattern is being delayed.


   Cmd EF. Invert Loop [Speed:$0-$F]
   ---------------------------------
Usage: $EF + Invertspeed
This command will need a short loop ($10,20,40,80 etc. bytes) to work.  It will invert the loop byte by byte.
Sounds better than funkrepeat... 

Example: C-300EF8 Set invspeed to 8. To turn off the inverting, set invspeed to 0, or press ctrl + Z.


   Cmd F. Set speed [Speed:$00-$FF]
   --------------------------------
Usage: $F + speed
This command will set the speed of the song.  


Annotation by Mark Feldman (u914097@student.canberra.edu.au

The 6 and 8 channel mod files differ from the normal mods in two ways:

1) The signature string "M.K." at offset 1080 is either "6CHN" or "8CHN". 2) The pattern data table starting at offset 1084 stores 6 or 8 notes for

  each pattern position position.



Back to Music