17
Code value
Actions taken
0
A byte of VRAM is read from the location defined by the
address register and is stored in the read buffer. The address
register is incremented by one. Writes to the data port go to
VRAM
1
Writes to the data port go to VRAM.
2
This value signifies a VDP register write, explained below.
Writes to the data port go to VRAM.
3
Writes to the data port go to CRAM.
When accessing CRAM, the upper bits of the address register are ignored as CRAM is
smaller than 16K (either 32 or 64 bytes depending on the VDP). The address register will
wrap when it exceeds $3FFF.
VDP register write
While the address and code register are updated like normal when a VDP register write is
done, the command word sent can be viewed as having a different format to the
programmer:
Rxx : VDP register number
Dxx : VDP register data
? : Ignored
The VDP selects a register using bits 3-0 of the second byte, and writes the data from the
first byte to the register in question. There are only 10 registers, values 11 through 15
have no effect when written to.
Example: Writing &H5 to register 1
Data port
Depending on the code register, data written to the data port is sent to either VRAM or
CRAM. After each write, the address register is incremented by one, and will wrap past
$3FFF.
MSB LSB
D07 D06 D05 D04 D03 D02 D01 D00 First byte written
1 0 ? ? R03 R02 R01 R00 Second byte written
OUT &H89,&B10000001:OUT &H89,5
Содержание Franky
Страница 1: ...Instruction Manual ...