4.4. Explanation of the commands
4.4.1. HMMC (High speed move CPU to VRAM)
HMMC command is used to transfer data from the CPU to video or expansion RAM
into a specified rectangular area through VDP. When using this command, note the
limitation on the X coordinate in various modes (255 or 511).
CPU
HMMC execution order
Step 1: Set necessary coordinates in command registers
MSB
R#36
R#37
R#38
R#39
R#40
R#41
R#42
R#43
*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.
© 1985 ASCII CORP. / NIPPON GAKKI CO.
VDP
7
6
5
DX7
DX6
DX5
0
0
0
DY7
DY6
DY5
0
0
0
NX7
NX6
NX5
0
0
0
NY7
NY6
NY5
0
0
0
Video or expansion RAM
(DX, DY)
NY
↓
4
3
2
DX4
DX3
DX2
0
0
0
DY4
DY3
DY2
0
0
0
NX4
NX3
NX2
0
0
0
NY4
NY3
NY2
0
0
0
Page 66 of 108
NX
DIY
1
0
LSB
DX1
DX0
DX*:
Destination X
0
DX8
DY1
DY0
DY: Destination
Y
DY9
DY8
NX1
NX0
NX*: Number of
dots in X-axis
0
NX8
NY1
NY0
NY: Number of
dots in Y-axis
NY9
NY8
© 2010-2015 Eugeny Brychkov
→
DIX