Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- MOD File Format - <b>pattern details</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Pattern Details

 (Offset 600 - 15 samples; Offset 1084 - 31 samples)

 This is the section where the actual details of each pattern used in the
 sequence above are defined. The data for pattern zero will come first,
 followed by pattern 1, etc. Each pattern consists of 1K of data - 64 time
 intervals, 4 notes played simultaneously at each time interval, 4 bytes for
 each note, therefore 64 x 4 x 4 = 1024 bytes = 1K.

 Each note has the following format:

 Byte Number    1   2   3   4
 Nibble Number  1 2 3 4 5 6 7 8
                | | | | | | | +-------------+
  +-------------+ | | | | | +-------------+ |
  | +-------------------+ +-------------+ | |
  | |             | | |                 | | |

 Sample          Frequency             Special
 Number                                Effects


 Sample Number
   This is just a byte specifying which sample to use for this note.

 Frequency
   This is a 3 digit number (0-FFFh) representing the frequency. Apparently
   protracker modules only use octaves 1-3, although many editors will allow
   you to use all 10, and most players should be able to play all of them.
   Note, however, that half the notes in the high octaves have the same
   frequency values, so will sound exactly the same. Also note that these
   frequencies are only approximations, so it is possible that different
   editors will use different frequencies to represent these note.

   +-------------------------------------------------------------------+
   | Note  | Oc0 | Oc1 | Oc2 | Oc3 | Oc4 | Oc5 | Oc6 | Oc7 | Oc8 | Oc9 |
   |-------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
   | C     | 6B0 | 358 | 1AC | 0D6 | 06B | 035 | 01B | 00D | 007 | 003 |
   | C#/Db | 650 | 328 | 194 | 0CA | 065 | 032 | 019 | 00D | 006 | 003 |
   | D     | 5F5 | 2FB | 17D | 0BF | 05F | 030 | 018 | 00C | 006 | 003 |
   | D#/Eb | 5A0 | 2D0 | 168 | 0B4 | 05A | 02D | 016 | 00B | 006 | 003 |
   | E     | 54F | 2A7 | 154 | 0AA | 055 | 02A | 015 | 00B | 005 | 003 |
   | F     | 503 | 281 | 141 | 0A0 | 050 | 028 | 014 | 00A | 005 | 003 |
   | F#/Gb | 4BB | 25D | 12F | 097 | 04C | 026 | 013 | 009 | 005 | 002 |
   | G     | 477 | 23B | 11E | 08F | 047 | 024 | 012 | 009 | 004 | 002 |
   | G#/Ab | 436 | 21B | 10E | 087 | 043 | 022 | 011 | 008 | 004 | 002 |
   | A     | 3FA | 1FD | 0FE | 07F | 040 | 020 | 010 | 008 | 004 | 002 |
   | A#/Bb | 3C1 | 1E0 | 0F0 | 078 | 03C | 01E | 00F | 008 | 004 | 002 |
   | B     | 38B | 1C5 | 0E2 | 071 | 039 | 01C | 00E | 007 | 004 | 002 |
   +-------------------------------------------------------------------+

 Special Effects
   This is also a 3 digit number. The first digit specifies what the effect
   is, and the last two are parameter digits that provide extra information
   about the effect.

 +-------------------------------------------------------------------------+
 | No. | Sym | Description                                                 |
 |-----+-----+-------------------------------------------------------------|
 |  0  | ARP | Arpeggiation                                                |
 |     |     | This effect cycles the note through three frequencies: the  |
 |     |     | note's actual frequency, the actual frequency + the number  |
 |     |     | of semitones specified by the first information digit and   |
 |     |     | the actual frequency + the number of semitones specified by |
 |     |     | the second digit.                                           |
 |-----+-----+-------------------------------------------------------------|
 |  1  | PR^ | Portamento Up                                               |
 |     |     | This effect is used to bend the pitch of the note upwards.  |
 |     |     | The information digits specify the speed at which this      |
 |     |     | bending takes place. The higher the value, the faster. To   |
 |     |     | continue this effect, you must continue specifying it along |
 |     |     | with the necessary parameter.                               |
 |-----+-----+-------------------------------------------------------------|
 |  2  | PRv | Portamento Down                                             |
 |     |     | This effect is used to bend the pitch of the note           |
 |     |     | downwards. The information digits specify the speed at      |
 |     |     | which this bending takes place. The higher the value, the   |
 |     |     | faster. To continue this effect, you must continue          |
 |     |     | specifying it along with the necessary parameter.           |
 |-----+-----+-------------------------------------------------------------|
 |  3  | TON | Tone Portamento                                             |
 |     |     | This effect is used to bend the pitch of the note most      |
 |     |     | recently played towards the pitch of the current note. The  |
 |     |     | digits following the effect name specify the speed at which |
 |     |     | this bending takes place. To keep on sliding, just use the  |
 |     |     | this effect by itself (no parameters needed).               |
 |-----+-----+-------------------------------------------------------------|
 |  4  | VIB | Vibrato                                                     |
 |     |     | This causes a vibrato effect. The first information digit   |
 |     |     | specifies the speed of the vibrato; the second digit        |
 |     |     | specifies the depth. The higher the values, the             |
 |     |     | faster/deeper the vibrato. To continue the vibrato, use     |
 |     |     | just the this effect by itself (no parameters needed).      |
 |-----+-----+-------------------------------------------------------------|
 |  5  | t&s | Tone Portamento & Volume Slide                              |
 |     |     | This effect is used to bend the pitch of the note most      |
 |     |     | recently played towards the pitch of the current note while |
 |     |     | sliding the volume up OR down. The first information digit  |
 |     |     | specifies the speed at which the volume will be raised, and |
 |     |     | the second digit specifies the speed at which it will be    |
 |     |     | lowered (you can't do both though). The higher the values,  |
 |     |     | the faster the change in volume.                            |
 |     |     |                                                             |
 |     |     | The details for the portamento, are taken from the most     |
 |     |     | recent Tone Portamento effect. To continue the effect, you  |
 |     |     | must continue specifying it along with the necessary volume |
 |     |     | parameters.                                                 |
 |-----+-----+-------------------------------------------------------------|
 |  6  | v&s | Vibrato + Volume Slide                                      |
 |     |     | This causes a vibrato effect while sliding the volume up OR |
 |     |     | down. The first information digit specifies the speed at    |
 |     |     | which the volume will be raised, and the second digit       |
 |     |     | specifies the speed at which it will be lowered (you can't  |
 |     |     | do both though). The higher the values, the faster the      |
 |     |     | change in volume.                                           |
 |     |     |                                                             |
 |     |     | The details for the vibrato, are taken from the most recent |
 |     |     | Vibrato effect. To continue the effect, you must continue   |
 |     |     | specifying it along with the necessary volume parameters.   |
 |-----+-----+-------------------------------------------------------------|
 |  7  | trm | Tremolo                                                     |
 |     |     | This causes a tremolo effect. The first information digit   |
 |     |     | pecifies the speed of the tremolo; the second digit         |
 |     |     | specifies the depth. To continue the tremolo, you must      |
 |     |     | continue specifying it along with the necessary parameters. |
 |-----+-----+-------------------------------------------------------------|
 |  8  | ?8? | Undefined                                                   |
 |     |     | This effect is currently undefined.                         |
 |-----+-----+-------------------------------------------------------------|
 |  9  | so= | Sample Offset                                               |
 |     |     | This effect is used to play a sample from a particular      |
 |     |     | offset. The two information digits are multiplied by 100    |
 |     |     | (hex) to produce the offset.                                |
 |     |     |                                                             |
 |     |     | Note that this offset (like the sample size) is in words    |
 |     |     | not bytes.                                                  |
 |-----+-----+-------------------------------------------------------------|
 |  A  | VLs | Volume Slide                                                |
 |     |     | This effect causes the volume to slide up OR down. The      |
 |     |     | first information digit specifies the speed at which the    |
 |     |     | volume is raised; the second digit specifies the speed at   |
 |     |     | which the volume is lowered (you can't do both though). The |
 |     |     | higher the values, the faster the change in volume. To      |
 |     |     | continue the effect, you must continue specifying it along  |
 |     |     | with the necessary parameters.                              |
 |-----+-----+-------------------------------------------------------------|
 |  B  | JMP | Jump                                                        |
 |     |     | This effect causes the pattern currently being played to    |
 |     |     | terminate. The module then continues playing from the       |
 |     |     | beginning of the pattern at the position in the sequence    |
 |     |     | specified by the two information digits. The first position |
 |     |     | in the sequence is 00.                                      |
 |-----+-----+-------------------------------------------------------------|
 |  C  | VL= | Set Volume                                                  |
 |     |     | This effect is used to set the volume to the value          |
 |     |     | specified by the two information digits. The volume can     |
 |     |     | range from 0 to 40 (hex).                                   |
 |-----+-----+-------------------------------------------------------------|
 |  D  | BRK | Break                                                       |
 |     |     | This effect causes the pattern currently being played to    |
 |     |     | terminate. The module then continues playing from the       |
 |     |     | beginning of the next pattern in the sequence.              |
 |-----+-----+-------------------------------------------------------------|
 |  E  | E** | E Commands                                                  |
 |     |     | This effect provides a whole set of sub-effects. The first  |
 |     |     | information digit specifies which sub-effect is to be used. |
 |     |     | The second digit is used as a parameter for that            |
 |     |     | sub-effect, if one is required. The sub-effects are         |
 |     |     | explained in detail in the table below.                     |
 |-----+-----+-------------------------------------------------------------|
 |  F  | SD= | Set Speed or Tempo                                          |
 |     |     | This effect is used to set either the speed or the tempo of |
 |     |     | the music. If the information digits specify a number in    |
 |     |     | the range 1 to 1F (hex), then the Set Speed function is     |
 |     |     | invoked. If the number is in the range 20 to FF (hex), then |
 |     |     | the Set Tempo function is invoked. If the number is zero,   |
 |     |     | then it is ignored.                                         |
 |     |     |                                                             |
 |     |     | Generally, you would use the Set Tempo effect to set the    |
 |     |     | overall speed of the module, and the Set Speed effect to    |
 |     |     | make any local changes in speed.                            |
 +-------------------------------------------------------------------------+

 The E Commands
   These are sub-effects of the E** effect. The first digit is always E
   (hex), the second digit specifies which sub-effect to invoke, and the
   third digit is used as a parameter for the sub-effect.

 +-------------------------------------------------------------------------+
 | No. | Description                                                       |
 |-----+-------------------------------------------------------------------|
 |  0  | Set Filter                                                        |
 |     | This effect stuffs around with the sound-filter on some Amigas.   |
 |     | It has no effect on PCs, and should be avoided, since it may      |
 |     | damage certain Amigas.                                            |
 |     |                                                                   |
 |     | A value of 1 disconnects the filter (turns LED off), while a      |
 |     | value of 0 connects it (turns LED on). Most docs I have seen      |
 |     | request that you keep LED off.                                    |
 |-----+-------------------------------------------------------------------|
 |  1  | Fine Slide Up                                                     |
 |     | This effect is used to bend the pitch of the note upwards very    |
 |     | slightly. The parameter specifies the speed at which this bending |
 |     | takes place. The higher the value, the faster. To continue the    |
 |     | effect, you must continue specifying it along with its parameter. |
 |-----+-------------------------------------------------------------------|
 |  2  | Fine Slide Down                                                   |
 |     | This effect is used to bend the pitch of the note downwards very  |
 |     | slightly. The parameter specifies the speed at which this bending |
 |     | takes place. The higher the value, the faster. To continue the    |
 |     | effect, you must continue specifying it along with its parameter. |
 |-----+-------------------------------------------------------------------|
 |  3  | Glissando Control                                                 |
 |     | This effect is used to enable or disable glissando in the Tone    |
 |     | Portamento effect. When it is off (a value of 0), the portamento  |
 |     | effect is smooth. When it is on (a value of 1), you hear the      |
 |     | individual notes in the portamento.                               |
 |-----+-------------------------------------------------------------------|
 |  4  | Vibrato Waveform                                                  |
 |     | This effect specifies the waveform used in the Vibrato effect.    |
 |     | 0 = Sine wave; 1 = Ramp down; 2 = Square wave.                    |
 |-----+-------------------------------------------------------------------|
 |  5  | Fine Tune                                                         |
 |     | This effect is used to fine-tune the current note treating the    |
 |     | parameter as a signed 4-bit number - values from 8 to F are       |
 |     | negative, i.e. F = -1, E = -2, etc. So, for example, a value of A |
 |     | (-6) will make the note sound lower than it really is, and a      |
 |     | value of 6 will make it sound higher.                             |
 |     |                                                                   |
 |     | This effect applies only to the current note - it doesn't last.   |
 |-----+-------------------------------------------------------------------|
 |  6  | Jump to Loop                                                      |
 |     | This effect causes the player to loop within a pattern, the       |
 |     | number of times specified by the parameter. If the parameter has  |
 |     | a value of 0, then the current note is marked as being the start  |
 |     | of the next loop.                                                 |
 |-----+-------------------------------------------------------------------|
 |  7  | Tremolo Waveform                                                  |
 |     | This effect specifies the waveform used in the Tremolo effects.   |
 |     | 0 = Sine wave; 1 = Ramp down; 2 = Square wave.                    |
 |-----+-------------------------------------------------------------------|
 |  8  | Not Used                                                          |
 |     | This effect is currently not used.                                |
 |-----+-------------------------------------------------------------------|
 |  9  | Retrig Note                                                       |
 |     | This effect retrigs from the start of the note by the number of   |
 |     | vblanks specified by the parameter. This produces a stutter-like  |
 |     | effect at the beginning of the sample - the lower the value, the  |
 |     | faster the stutter.                                               |
 |-----+-------------------------------------------------------------------|
 |  A  | Fine Volume Slide Up                                              |
 |     | This effect increases the volume by the amount specified by the   |
 |     | parameter. Note, this is the AMOUNT by which the volume is        |
 |     | increased, not a speed.                                           |
 |-----+-------------------------------------------------------------------|
 |  B  | Fine Volume Slide Down                                            |
 |     | This effect decreases the volume by the amount specified by the   |
 |     | parameter. Note, this is the AMOUNT by which the volume is        |
 |     | decreased, not a speed.                                           |
 |-----+-------------------------------------------------------------------|
 |  C  | Note Cut                                                          |
 |     | This effect cuts the note off after the specified number of       |
 |     | vblanks.                                                          |
 |-----+-------------------------------------------------------------------|
 |  D  | Note Delay                                                        |
 |     | This effect delays the note by the number of vblanks specified by |
 |     | the parameter - i.e. it cause the note to start a fraction late,  |
 |     | not actually slowing down anything.                               |
 |-----+-------------------------------------------------------------------|
 |  E  | Pattern Delay                                                     |
 |     | This effect delays the pattern by the number of notes specified   |
 |     | by the parameter, i.e. the player will pause (having played the   |
 |     | current note), for the number of time intervals specified, before |
 |     | continuing.                                                       |
 |-----+-------------------------------------------------------------------|
 |  F  | Invert Loop                                                       |
 |     | Think this effect plays the sample backwards at the speed         |
 |     | specified by the parameter.                                       |
 +-------------------------------------------------------------------------+

See Also: Pattern Sequence Sample Details

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson