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

The ROM IMAGE in the above table refers to the character generator ROM. It appears in place of RAM at the above locations in bank 0. it also appears in the corresponding RAM at locations 36864-40959 ($9000-$9FFF) in bank 2. Since the VIC-II chip can only access 16K of memory at a time, the ROM character patterns appear in the 16K block of memory the VIC-II chip looks at. Therefore, the system was designed to make the VIC-II chip think that the ROM characters are at 4096-8191 ($1000-$1FFF) when your data is in bank 0, and 36864-40959 ($9000-$9FFF) when your data is in bank 2, even though the character ROM is actually at location 53248-57343 ($D000-$DFFF). This imaging only applies to character data as seen by the VIC-II chip. It can be used for programs, other data, etc., just like any other RAM memory.

NOTE: If these ROM images got in the way of your own graphics, then set the BANK SELECT BITS to one of the BANKS without the images (BANKS 1 or 3). The ROM patterns won't be there.

The location and contents of the character set in ROM are as follows:
0 53248 D000-D1FF 1000-11FF Upper case characters
53760 D200-D3FF 1200-13FF Graphics characters
54272 D400-D5FF 1400-15FF Reversed upper case characters
54784 D600-D7FF 1600-17FF Reversed graphics characters
1 55296 D800-D9FF 1800-19FF Lower case characters
55808 DA00-DBFF 1A00-1BFF Upper case & graphics characters
56320 DC00-DDFF 1C00-1DFF Reversed lower case characters
56832 DE00-DFFF 1E00-1FFF Reversed upper case & graphics characters

Sharp-eyed readers will have just noticed something. The locations occupied by the character ROM are the same as the ones occupied by the VIC-II chip control registers. This is possible because they don't occupy the same locations at the same time. When the VIC-II chip needs to access

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