Multi-Color Mode Graphics - Commodore VIC-20 Programmer's Reference Manual

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

Advertisement

programmable characters in the grid. If you didn't want the screen
to fill up with that garbage, just fill the screen with characters with a
code you're not using. In 1his case, code 160 would work nicely,
stnce that points to the blank space character in ROM. Here is a line
that cleans up the rest of the screen:
11 FOR I - 7680 TO 8185 : POKE 1,160 ; NEXT
MULTI-COLOR MODE GRAPHICS
High resolution graphics gives you control of very small dots on
the screen. Each dot in character memory can have 2 possible
values, 1 for on and 0 for off. When a dot is offt the dot on the screen
is drawn with the screen cotor. If the dot is on, the dot is colored with
the character color for that screen position. All the dots within each
8x£ character can either have the screen color or the character
color. This limits the color resolution within that space.
Multi-color mode gives a solution to this problem. Each dot in
multi-cotor mode can be one of 4 colors: screen coior, character
color, border color, or auxiliary color. The only sacrifice is in the
horizontal resolution, because each multi-color mode dot is twice
as wide as a high-resolution dot. This ioss of resolution is more than
compensated for by the extra abilities of multi-color mode, like the
ability to color dots in one of 16 colors, instead of the usual 8.
Multi-color mode is set on or off for each space on the screen, so
that mufti-color graphics can be mixed with
high-resolution
graphics. This is controlled in color memory. Color memory is in
locations beginning at either 37S8S or 33400, depending on the
size of memory in the VIC. To find the current location of color
memory, use the formula:
C - 37888 - 4 ' (PEEK (36866) AND 12B)
The memory in this location is a little ditferent from that in the rest
of the VIC, It is wired up as nibbles instead of bytes, meaning that
each memory location has 4 bits instead of the usual 8. When
PEEKing values from this section of memory, the value should
always be ANDed with 15 to "filter out" any random bits that appear
in the upper 4 bits.
By POKEing a number into color memory, you can change the
color of the character in that position on the screen. POKEing a
number from 0 to 7 gives the normal character colors, POKEing a
number between 8 and 15 puts the space into multi-color mode. In
other words, turning the high bit on in color memory sets multi-color
mode, and turning off the high bit rn color memory sets normal (or
high-resolution) mode.
Once multi-color mode is set in a space, the bits in the character
92

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents