[Prev] [Next] [Contents] [Commodore] [New] [Search] [Home]

53256 ($D008) to 53263 ($D00F), contain the information for forming the letter A.

     IMAGE     BINARY       PEEK

       **      00011000       24
      ****     00111100       60
     **  **    01100110      102
     ******    01111110      126
     **  **    01100110      102
     **  **    01100110      102
     **  **    01100110      102
               00000000        0

Each complete character set takes up 2K (2048 bits) of memory, 8 bytes per character and 256 characters. Since there are two character sets, one for upper case and graphics and the other with upper and lower case, the character generator ROM takes up a total of 4K locations.

PROGRAMMABLE CHARACTERS

Since the characters are stored in ROM, it would seem that there is no way to change them for customizing characters. However, the memory location that tells the VIC-II chip where to find the characters is a programmable register which can be changed to point to many sections of memory. By changing the character memory pointer to point to RAM, the character set may be programmed for any need.

If you want your character set to be located in RAM, there are a few VERY IMPORTANT things to take into account when you decide to actually program your own character sets. In addition, there are two other important points you must know to create your own special characters:

  1. It is an all or nothing process. Generally, if you use your own character set by telling the VIC-II chip to get the character information from the area you have prepared in RAM, the standard Commodore 64 characters are unavailable to you. To solve this, you must copy any letters, numbers, or standard Commodore 64 graphics you intend to use into your own character memory in RAM. You can pick and choose, take only the ones you want, and don't even have to keep them in order!

[Prev] [Next] [Contents] [Commodore] [New] [Search] [Home]
This page has been created by Sami Rautiainen.
Read the small print. Last updated May 12, 2002.