REPT Number_of_patterns * We will now define a separate note list for each voice * This is NOT essential, as the notes are TOTALLY independent of the voice number * So the same note list can be used for ANY of the four voices if required * Voice_0_Note_List.pat: dc.w "" * All the notes for voice 0 go here Voice_1_Note_List.pat: dc.w "" * All the notes for voice 1 go here Voice_2_Note_List.pat: dc.w "" * All the notes for voice 2 go here Voice_3_Note_List.pat: dc.w "" * All the notes for voice 3 go here ENDR * End Repeat
The Patterns
Unlike the Soundtracker system, Patterns are held as a simple list of notes, and they can be
assigned to any of the four voices independently. Providing that the correct offset values are set,
you can play the same pattern through all of the available voices simultaneously.
The AMOS Professional music format is closer to IFF music format than the standard Soundtracker system. Each effect, every instrument and each note is defined by a specific label. Several labels can be inserted in a sequence, and the AMOS Professional music routines will execute them one by one, until it finds the actual note to be played through a loudspeaker.
The labels are stored as two-byte words, using the following system:
+ A normal note: dc.w %0000pppppppppppp * pppppppppppp defines the "period" of the sample * This will be poked directly into the Amiga's sound chips * Please see your technical reference manual for more details
The note will be played immediately, using the current instrument assigned to the voice.
Labels are defined by setting bit 15 of the note to 1. The general format is as follows:
dc.w %11111111 pppppppp * 11111111: the number of the label * pppppppp: a parameter value
Here is a full list of the possible label types:
+ PATTERN_END label 0 dc.w %10000000 00000000 + SET_VOLUME label 3(1 and 2 are presently unused) dc.w %10000011 vvvvvvvv * vvvvvvvv : volume level from 0 to 63