Commodore VIC-20 User Manual page 319

Hide thumbs Also See for VIC-20:
Table of Contents

Advertisement

Appendix B: Memory Usage
305
Jfyou are using the map to PEEK at or POKE into a memory location,
use the decimal value. Machine code or assembly language programs
should access the hex value.
In some cases two or more memory locations are indicated on the table.
When two locations are indicated, they are to be taken as a single two-byte
address. The VIC 20 stores such numbers in low-byte, high-byte order.
To better understand this, consider the first two-byte address.
Hex
Address
0001-0002
Decimal
Address
Description
1-2
Vector for USR
If the USR program began at memory location 1234 (hex), the
numbers would be stored as follows:
Address
0001
0002
Stored Value
34 (low byte)
12 (high byte)
NOTE: All values stored in pointers like the one above are hexadec-
imal. For more information on hexadecimal-decimal conversion, see
Appendix D.
6560 VIC Display Chip Functions
The VIC's 6560 video display chip can be accessed by manipulating the
values of memory locations 36864-36879 (decimal). The actual function of
each memory location (control register) is indicated in Table B-3. In some
cases the control registers are broken up into smaller control units (bits). In
these instances the functions are shown by a separation between numbered
blocks.
Each control register is a single byte in memory. To change single bits
within the bytes you will need to change the decimal value in such a way that
the single binary bit you want to access changes.
Try the following example. Memory register 36879 changes the border
color and the field color. It also controls whether the characters are dis-
played as reversed or non-reversed images. In the table you can see that the
byte is broken up into three sections. These sections contain the numbers 20,
21, and 22.

Advertisement

Table of Contents
loading

Table of Contents