VALUE OF A | BITS | BANK | STARTING LOCATION | VIC-II CHIP RANGE |
0 | 00 | 3 | 49152 | ($C000-$FFFF)* |
1 | 01 | 2 | 32768 | ($8000-$BFFF) |
2 | 10 | 1 | 16384 | ($4000-$7FFF)* |
3 | 11 | 0 | 0 | ($0000-$3FFF) (DEFAULT VALUE) |
This 16K bank concept is part of everything that the VIC-II chip
does. You should always be aware of which bank the VIC-II chip is
pointing at, since this will affect where character data patterns
come from, where the screen is, where sprites come from, etc. When
you turn on the power of your Commodore 64, bits 0 and 1 of location
56576 are automatically set to BANK 0 ($0000-$3FFF) for all display
information.
*NOTE: The Commodore 64 character set is not
available to the VIC-II chip in BANKS 1 and 3. (See character memory
section.)
|
The location of screen memory can be changed easily by a POKE to
control register 53272 ($D018 HEX). However, this register is also
used to control which character set is used, so be careful to avoid
disturbing that part of the control register. The UPPER 4 bits
control the location of screen memory. To move the screen, the
following statement should be used:
POKE53272,(PEEK(53272)AND15)OR A