Commodore VIC-20 Programmer's Reference Manual page 102

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

Advertisement

Remember that we only took the f[rst 64 characters, though.
Something else will have to be done if you want one of the other
characters.
What if you wanted character number 154, a reversed Z? Well,
you could make it yourself, by reversing a Z, or you could copy the
set of reversed characters frcm the ROM, or just take the one
character you want from ROM and replace one of the characters
you have in RAM that you don't need-
Suppose you decide that you won't need the > sign. Let's
replace the > sign with the reversed Z. Type this:
FOR!-7664 TO 7671: POKE I, PEEK{I~ 26336): NEXT
Now type a > sign. It comes up as a reversed Z. No matter how
many times you type the >, it comes out as a reversed Z. (This
change is really an illusion. Though the > sign looks like a reversed
Z, it still acts like a > in a program. Try something that needs a >
sign. It will still work fine, only it wfll fook strange.)
r
A quick review: We can now copy characters Iron ROM into
RAM. Wecan even pickand chooseonly the ones we want. There's
only one step left in programmable characters (the best step!) . . .
making your own characters.
Remember how characters are stored in ROM? Each character
is stored as a group of eight bytes. The bit patterns of the bytes
directly control the character. If you arrange 8 bytes, one on top of
another, and write out each byte as eight binary digits, it forms an
eight-by-eight matrix, looking like the characters. When a bit is a
oneT there is a dot at that location. When a bit is a zero, there is a
space at that location.
When creating your own characters, you set up the same kind of
table in memory. Type this program;
10 FORC- 7328 TO 7335: READ A: POKE C,A: NEXT
20 DATA 60, 66, 165, 129, 165, 153, 66t 60
Now type RUN. The program will replace the letter T with a smile
face character. Type a few Ts to see the face. Each of the numbers
in the DATA statement in line 20 is a row in the smile face character.
The matrix for the face looks like this:
7
6
5
4
3
2
10
ROW0
'
*
*
1
•~
*
*
*
*
3
4
*
5
*
*
6
R0W7
*
*
*
*
86
DECIMAL
60
66
165
129
165
153
66
GO
BINARY
00111100
01000010
10100101
10000001
10100101
10011001
01000010
00111100

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents