Amos Professional Manual  Contents  Index

Memory Bank Structures


X_Size              This holds the width of the image, divided by 16.
Y_Size              Stores the height of the image in screen lines.
Number_Of_Planes    A value from 1 to 6 which sets the number of colour planes.
X_Hot,Y_Hot         These set the position of the hot spot of the image
Flipping_Flags      This is used by the HREV, VREV and REV functions.

The Bob flip commands were added in AMOS V1.21 and rather than redefine the entire system, Francois Lionet simply grabbed a couple of bits at the top of the HOT SPOT, and used them directly for the new options. The x-coordinate was truncated to 14 bits (signed), so you may now set HOT SPOT values between -4096 and 4096, which is hardly a limitation!

Bit #15 indicates that the image has been flipped from left to right, and bit #14 informs AMOS Professional that the image has been turned upside down.

If the mask has been defined, it only contains one bitplane. Bits with a value of zero are transparent, allowing the background to be seen through them, and bits with a value of 1 are opaque.

Mask_Address:
  dc.l   Size_Of_The_Mask In_Bytes
  dcb.w  X_Size * Y_Size

Object banks and Icon banks stored on disc
An Object or Icon bank is stored very differently on disc, as all information relating to the pointer is discarded.

* When saving a Sprite bank the header starts with:

  dc.b  "AmSp"
* If it is an Icon bank:
  dc.b  "Amlc"
* The rest of the header is common to both Objects and Icons:
  dc.w  Number_Of_Objects
  REPT  Number_Of_Objects
        dc.w  X_Size
        dc.w  Y_Size
        dc.w  Number_Of_Planes
        dc.w  X_Hot_Spot
        dc.w  Y_Hot_Spot
        REPT  Number_Of_Planes
              * The actual image goes here
              dcb.w X_Size * Y_Size
        ENDR
  ENDR
* 32 colour palette holding the image colours
  dcb.w 32
Back    Next
14.E.07