Commodore 128 Programmer's Reference Manual page 305

Hide thumbs Also See for 128:
Table of Contents

Advertisement

r
n
n
PROGRAMMING THE 80-COLUMN (8563) CHIP
295
The 16K of 8563 RAM is organized by the Kernal in the following default
structure:
TYPE OF MEMORY
8563 RAM LOCATION
I
Character Display area (screen)
$0000-$07FF
Character Attributes (color)
$0800-$0FFF
Character Definitions
$2000-$3FFF
n
The layout can be changed by your application program. Registers 12 and 13 (high
byte/low byte) specify the start of the character display area, which is comparable to
screen RAM in the VIC chip. Registers 20 and 21 (high byte/low byte) specify the
character attribute base address. These registers determine the starting address of display
characteristics of a character such as reverse video, underlining, flashing and color.
Register 28 determines the character set base address, the start of the character defini
tions in 8563 RAM.
As you can see, the 8563 display has the same three components as the
VIC display: screen memory, color memory, and character definitions. All three lie
in the 16K of 8563 RAM and do not show up in the C128 memory map. These
components of the 8563 video display are discussed in greater detail in the next
section.
The third element of 8563 programming is the address and data registers that
are located in locations $D600 and $D601. These locations are the transitions, the
doorways in and out of the 8563 chip. You cannot directly reference an 8563
register or RAM location. You must indirectly read or write to $D600 and $D601 in
order to communicate between the 8563 chip and the rest of the Commodore 128.
Figure 10-2 gives description of each of the mapped registers and the bits within
them:
$D600 ->
$D601 ->
address
status
data
(write):
(read):
(r/w)
:
STATUS
D7
LP
D6
R5
VBLANK
D5
R4
D4
R3
D3
R2
VERO
D3
Rl
R0
VER1 VER2
D2
DO
Figure 10-2. Mapped Registers
In location $D600, bit 7 acts as a status bit. When you require a read or write
operation to the 8563 RAM or a register, you must check the value of bit 7 of
$D600. While it is 0, no read or write operations may take place.

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents