Using Commodore Charactersets for ECE Lab's

Patrick Pritchard, 2002

One of the requirements for the ECE385 lab's is to create a pushbroom which uses a font that is at most 8 pixels (LEDs) high. One has a few options: s/he can plot the characters on graph paper, calculate the bit values, and then write the individual values out to a file as an array which can be read into a C program. Alternatively, one could rip a font from the X windows system, as is recommended in class. But there are other options for doing less work.

The Commodore 64 computer was introduced in the early 1980's as the successor to the VIC-20 computer. But computers used an 8-bit 6502 based microprocessor, and some custom chips for graphic and sound. The Commodore 64 has built in fonts that were called "character sets". Each character set consisted of 128 characters: the alphabet, numbers, some punctuation and other various symbols. Further, there were another 128 characters which were the same as the first 128, but the inverse image. (I.e., all bits that were 0 were 1, and all that were 1 were 0).

The characters were exactly 8x8 bits, which fits nicely into the requirements for our pushbroom lab.

However, there are a few obstacles to overcome before one can use them in in the lab.

First, the characters are not stored in a conventional format. That is, if a person enters the letter 'a', you have to do some translations to get the lower case 'a' character from the Commodore character set. In specific, the Commodore had two storage mechanisms for its characters: