Product specifications
Essentially a sprite on the MTX can be defined as below:
1. It is a special animation pattern which can be moved one pixel at a time,
either vertically or horizontally dependent on or independently of the pattern
background.
2. It can be coloured in any one of the 15 colours plus transparent available
of the MTX independently of the pattern background.
3. It can display a pre-defined bit pattern shape held in VRAM by setting
only one byte and can re-display other predefined shapes in a cyclic sequence
to create true animated characters.
4. It can be ‘bled in’ off the top, left, bottom and right, of the display screen
from ‘behind’ the border.
5. It can assume any one of several sizes and magnifications (see section
2.2 register 1).
6. Although the sprite X and Y coords, colours, shapes and a small amount of
other information are created in software, all other aspects of sprite
maintenance are performed under hardware.
7. Any sprite can be defined to pass in front of or behind any other sprite, and
therefore, it is possible to create multilevel pattern overlaying.
The sections of VRAM which deal with the control and the definition of sprites are the
sprite attribute table, and the sprite generator table (see section 4.2). Further
additional control for size and magnification of sprites is determined by VDP write-only
register 1 and is discussed in depth in section 2.2 Register 1. Additional useful
information concerning sprites is contained in sections 4 and appendix B.
Sprite Attribute Table
4.2
The sprite attribute table is concerned with the control of sprites. As there are 32
sprite available on the MTX there are 32 control blocks within the sprites attribute
table, each control block consisting of four bytes. This means that the sprite attribute
table is 128 bytes (4 times 32 bytes), long.
The start address of the sprite attribute table is determined by the contents of VDP
write only register 5, which locates the sprite attribute table on a 128 byte boundary
(see section 2.2 register 5).
Each sprite on the MTX is assigned a priority by the hardware of the machine. This
means that out of any two sprites the higher priority sprite will appear to pass in front
of the lower, and the control block of which will occur nearer to the start of the sprite
attribute table.
Sprite 0 being assigned to sprite attribute bytes 0,1,2 and 3, has the highest priority.
Sprite 31 being assigned to sprite attribute bytes 124, 125, 126 and 127 has the
lowest priority.