Amos Professional Manual  Contents  Index

Memory Bank Structures


Music banks stored on disc
The AMOS Professional music banks are saved to disc "as is", with only a simple header.

dc.b    "AmBk"
dc.w    Number_Of_The_Bank
dc.l    $80000000 + Length_Of_The_Bank

Note that $80000000 indicates a CHIP memory bank.

SAMPLE BANKS
All sample banks are loaded in CHIP Ram.

        dc.b    "Samples"             Start-8 Name of the bank
Start   dc.w    Number_Of_Samples
* First we store a list of pointers to the samples in memory
* These are held as offsets from the start of the bank
        REPT    Number_Of_Samples
           dc.l   Sample_XX-start     XX = number of the sample
        ENDR
* Now we store the samples one after the other
* Repeat for each sample
        REPT      Number_Of_Samples
Sample XX  dc.b   "Namesamp"           Name of the sample in 8 bytes
           dc.w   Sampling_Frequency   In Hertz
           dc.l   Sample_Length        In WORDS (real length/2)
           dcb.b  ... samples ...      The actual sample data
        ENDR

On disc, the sample bank is saved directly in the above format. The disc header is exactly the same as for a CHIP DATA bank.

AMAL BANKS
An AMAL bank can hold two separate types of information. Either a list of AMAL command strings, or a recorded series of Object movements for use with the PLay instruction. The bank is therefore divided into sections, as shown below:

The header 
         dc.b  "AMAL  "        Start-8 Bank name, 8 bytes, Ascii
Start    dc.l  Strings-Start   Offset to the first command string in memory
The movement table
* We start with a list of the movement table used by the PLay command
* (NN= number of the move)
Back    Next
14.E.13