© 1985 ASCII CORP. / NIPPON GAKKI CO.
Page 97 of 108
© 2010-2015 Eugeny Brychkov
5.1.1. Global sprite attributes and tables (SM1)
Register R#1 contains two controls for sprites, allowing magnification and quadruple
sprite pattern size.
MSB
7 6 5 4 3 2 1 0
LSB
R#1
0 BL IE0 M1 M2 0 SI MAG Mode
R#1
0: Normal
1: Double
Sprite
magnification
0: 8*8
1:16*16
Sprite size
Sprites are defined by two tables: sprite pattern generator table, which controls the
appearance of the dots within the sprite (being on “1” or off “0”) and sprite attribute table,
which controls positioning, used pattern number and the sprite color.
5.1.2. Sprite attribute table (SM1)
The sprite attribute table is an area in the VRAM that defines display coordinates for
all the possible 32 sprites, their colors, pattern numbers used for display and some other
flags. Each sprite has four bytes of attribute data, making up 128 bytes (80h) of the
memory.
MSB
7 6 5 4 3 2 1 0
LSB
(B) 0
Y-coordinate (0…255)
1 X-coordinate
(0…255)
2
Pattern number (0…255)
3
EC - - -
Color
code
Attribute area
for sprite #0
124 Y-coordinate
(0…255)
125 X-coordinate
(0…255)
126
Pattern number (0…255)
127
EC - - -
Color
code
Attribute area
for sprite #31
Y-coordinate defines the vertical position of the sprite. Note that if Y is equal to 208
(D0h), all lower priority sprites will not be displayed. It is important to know that when
using vertical offset register R#23 to scroll the visible area of the screen, sprite with the Y-