© 1985 ASCII CORP. / NIPPON GAKKI CO.
Page 73 of 108
© 2010-2015 Eugeny Brychkov
4.4.4. HMMV (High speed move VDP to VRAM)
HMMV command is used to paint in a specific rectangular area in the VRAM or
expansion RAM. When using this command, note the limitation on the X coordinate in
various modes (255 or 511).
Video or expansion RAM
(DX, DY)
NX
→
DIX
VDP
NY
↓
DIY
HMMV execution order
Step 1: Set necessary coordinates in command registers
MSB
7 6 5 4 3 2 1 0
LSB
R#36
DX7 DX6 DX5 DX4 DX3 DX2 DX1 DX0
R#37
0 0 0 0 0 0 0
DX8
DX*:
Destination X
R#38
DY7 DY6 DY5 DY4 DY3 DY2 DY1 DY0
R#39
0 0 0 0 0 0
DY9
DY8
DY: Destination
Y
R#40
NX7 NX6 NX5 NX4 NX3 NX2 NX1 NX0
R#41
0 0 0 0 0 0 0
NX8
NX*: Number of
dots in X-axis
R#42
NY7 NY6 NY5 NY4 NY3 NY2 NY1 NY0
R#43
0 0 0 0 0 0
NY9
NY8
NY: Number of
dots in Y-axis
*In G4 and G6 modes, the lower one bit, and in G5 mode, the lower two bits are lost in registers related to
X-coordinate (DX, NX)
Step 2: Set color register value
The first byte transferred from CPU after starting executing the HMMC command
should be located in color register R#44 (CLR). Format of color data depends on the
graphics mode.