|
|
Line 38: |
Line 38: |
| :''Main article: [[AMOS Music Bank]] | | :''Main article: [[AMOS Music Bank]] |
| | | |
− | This bank has the name "<samp>Music </samp>" and is created with various conversion utilities shipped with AMOS. It is played back with the Music extension. | + | This bank has the name "<samp>Music |
− | | + | |
− | === AMOS AMAL Bank ===
| + | |
− | | + | |
− | This bank has the name "<samp>Amal </samp>". It contains instructions in AMOS Animation Language format.
| + | |
− | | + | |
− | === AMOS Menu Bank ===
| + | |
− | | + | |
− | This bank has the name "<samp>Menu </samp>". It contains pull-down menu definitions.
| + | |
− | | + | |
− | === AMOS Data Bank ===
| + | |
− | | + | |
− | This bank has the name "<samp>Datas </samp>". It is created in AMOS using the <code>Reserve As Data</code> instruction, and has no specific format.
| + | |
− | | + | |
− | === AMOS Work Bank ===
| + | |
− | | + | |
− | This bank has the name "<samp>Work </samp>". It is created in AMOS using the <code>Reserve As Work</code> instruction, and has no specific format. As a Work bank, it is not saved as part of the source code, unlike normal data banks.
| + | |
− | | + | |
− | === AMOS Asm Bank ===
| + | |
− | | + | |
− | This bank has the name "<samp>Asm </samp>". It contains Amiga machine code that was loaded into a bank using the <code>Pload</code> instruction and has no specific format, other than containing MC680x0 binary code.
| + | |
− | | + | |
− | The <code>Pload</code> instruction takes the first code hunk out of an Amiga executable and copies it into the bank, without even applying its relocations, therefore all code needs to use PC-relative addressing. The <code>Call</code> instruction jumps directly to the start of the bank. The registers (A0, A1, D0, D1, ...) can be set in preparation for a call by setting the <code>Areg()</code> and <code>Dreg()</code> arrays. Extra parameters can also be included with the <code>Call</code> instruction, these are made available to the called function via a stack pointed to by the A3 register.
| + | |
− | | + | |
− | === AMOS Picture Bank ===
| + | |
− | :''Main article: [[AMOS Picture Bank]]''
| + | |
− | | + | |
− | This bank has the name "<samp>Pac.Pic.</samp>" and is created with the Compact extension's <code>Pack</code> instruction.
| + | |
− | | + | |
− | === AMOS Samples Bank ===
| + | |
− | | + | |
− | This bank has the name "<samp>Samples </samp>" and is created with the Sample Bank Editor shipped with AMOS. The samples can be played back with the Music extension. The format of the bank data is as follows:
| + | |
− | | + | |
− | {|class="wikitable"
| + | |
− | !Field!!Length
| + | |
− | |-
| + | |
− | |Count of samples
| + | |
− | |2 bytes
| + | |
− | |-
| + | |
− | |32-bit offset to each sample, relative to the <var>count of samples</var> field above
| + | |
− | |<var>count of samples</var> * 4 bytes
| + | |
− | |}
| + | |
− | | + | |
− | The format of each sample is as follows:
| + | |
− | | + | |
− | {|class="wikitable"
| + | |
− | !Field!!Length
| + | |
− | |-
| + | |
− | |Sample name, in ISO-8859-1
| + | |
− | |8 bytes
| + | |
− | |-
| + | |
− | |Sample frequency in Hertz
| + | |
− | |2 bytes
| + | |
− | |-
| + | |
− | |Sample length in bytes
| + | |
− | |4 bytes
| + | |
− | |-
| + | |
− | |Sample data: twos complement 8-bit signed PCM samples
| + | |
− | |varies
| + | |
− | |}
| + | |
− | | + | |
− | == Specifications ==
| + | |
− | * [https://www.exotica.org.uk/wiki/AMOS_file_formats#Regular_memory_bank_format AMOS file formats → Regular memory bank format]
| + | |
− | | + | |
− | == Software ==
| + | |
− | * [https://github.com/dschwen/amosbank amosbank] - Can convert "Samples Bank" to [[WAV]] format (among other things)
| + | |
− | * [https://github.com/kyz/amostools amostools] - can convert Pac.Pic., Sprites and Icons to IFF ILBM, and convert Samples to IFF 8SVX format
| + | |
− | | + | |
− | == Sample files ==
| + | |
− | * [http://cd.textfiles.com/amospd/076-100/APD082/amal.abk amal.abk] (AMAL)
| + | |
− | * [http://cd.textfiles.com/amospd/001-025/APD002/Raw_Samples/Feet_Sample.Abk Feet_Sample.Abk] (Data)
| + | |
− | * [http://cd.textfiles.com/zoom2/graphics/misc/procad/profiles/zoom.abk zoom.abk] (Asm)
| + | |
− | * [http://cd.textfiles.com/amigaformat/aformat-13-199704/-ScreenPlay-/Shareware/Checkers1.1/Sound.abk Sound.abk], [http://cd.textfiles.com/amospd/001-025/APD009/DEMO_SAM.ABK DEMO_SAM.ABK] (Samples)
| + | |
− | * https://telparia.com/fileFormatSamples/audio/amosSamples/
| + | |
− | | + | |
− | [[Category:Amiga]]
| + | |
"AMOS Memory Bank" can mean just "AmBk"-tagged banks, or it can be an umbrella term that also includes AMOS Sprite Bank ("AmSp") and AMOS Icon Bank ("AmIc"). Careful writers may prefer the term "AMOS Bank", instead of "AMOS Memory Bank", when referring to all types of AMOS banks.