Amos Professional Manual  Contents  Index

Memory Bank Structures


At the start of the music bank, AMOS Professional stores offsets to the various components of the music.

Header    dc.l    Next_Bank
          dc.l    Length_Of_Bank + 16
          dc.l    Number_Of_The_Bank
          dc.w    Flag
          dc.w    Free_For_Future
          dc.b    "Music "              * 8 Letters
Start:    dc.l    Instruments_Start     * Offset to first instrument
          dc.l    Musics_Start          * Offset to first music 
          dc.l    Patterns_Start        * Offset to first pattern
          dc.l    0                     * Free for future!
* The Instrument part
Instruments:
          dc.w    Number_Of_Instruments
* For each instrument (.inst represents the number of the instrument)
* Repeat
          REPT    Number_Of_Instruments
* Offset to sample attack part
             dc.l    Attack.inst_Instruments
* Offset to instrument loop. If there is no loop, this points to a null sample at the start
             dc.l    Loop.inst Instruments
* Length of the samples, in words (ready to Doke into the circuitry)
             dc.w    Attack_Length.inst
             dc.w    Loop_Length.inst
* Volume level
             dc.w    Volume.inst
             dc.w    Total_length.inst
* Name of the instrument in Ascii
             dc.b    Name_Of_Instrument_In_16_Bytes
          ENDR
* Until Last instrument
* End of instrument definitions
* Now comes the null sample
          dc.w    0,0
* And the sample data for each instrument, one after another
* Repeat for every instrument
          REPT    Number_Of_Instruments
Attack.inst:
             dcb.b    Sample ...   *Sample data for attack
* If a loop is defined:
Loop.inst:
             dcb.b    Sample ...   * Loop sample goes here    
          ENDR
* Until Last Instrument
*
Back    Next
14.E.09