Amos Professional Manual Contents Index
Memory Bank Structures
* The Music part starts here, as a list of patterns to be played in sequence
Music:
dc.w Number_Of_Musics
* ".mus" is the number of the music ...
* Repeat for each piece of music
REPT Number_Of_Musics
dc.l Music.mus_Music * Offset to Pointer list
ENDR
* End repeat
* Repeat for each bit of music
REPT Number_Of_Musics
Music.mus:
dc.w Tempo
dc.w List_patterns_voice_0 - Music.mus * Offset to Voice 0
dc.w List_patterns_voice_1 - Music.mus * Offset to Voice 1
dc.w List_patterns_voice_2 - Music.mus * Offset to Voice 2
dc.w List_patterns_voice_3 - Music.mus * Offset to Voice 3
dc.w 0 *Free for extension
* We now add the list of the pattern numbers to play for each voice
List_patterns_voice_0:
dc.w "" * Patterns for voice 0
List_patterns_voice_1:
dc.w "" * Patterns for voice 1
List_patterns_voice_2:
dc.w "" * Patterns for voice 2
List_patterns_voice_3:
dc.w "" * Patterns for voice 3
ENDR
* End Repeat
* The last bit holds the pattern definition
* ".pat" stands for the number of the pattern
Patterns:
dc.w Number_Of_Patterns
* Repeat for each pattern
REPT Number_Of_Patterns
* Offsets to the note values for each voice
* Each individual pattern can be safely assigned to ANY voice
* Simply set the offsets accordingly
dc.w Voice_0_Note_list.pat - Patterns * Offset to voice 0 notes
dc.w Voice_1_Note_list.pat - Patterns * Offset to voice 1 notes
dc.w Voice_2_Note_list.pat - Patterns * Offset to voice 2 notes
dc.w Voice_3_Note list.pat - Patterns * Offset to voice 3 notes
ENDR
* End Repeat
* And now for the note list, one after the other ...
* Repeat for each pattern