Main Page | See live article | Alphabetical index

Bank switching

Bank switching (also called paging) was a technique common in 8-bit microcomputer systems, to increase the amount of addressable RAM and ROM. Since 8-bit CPUs such as the Zilog Z80 and the MOS Technologies 6502 series could only address a maximum of 64 KB of memory, 8-bit systems containing more than 64K of memory addressed the memory in 64K banks (or "pages") – in other words, although the system may have contained 128K or more, only 64K was ever addressed at one time.

While bank switching was less efficient than switching to a 16-bit processor would have been, it was an inexpensive way to increase the shelf life of several computer lines of the 1980s and it provided a high degree of backward compatibility with earlier systems: for example, the Apple //e, //c, and Apple /// could run software written for the Apple II+, and the Commodore 128 could run software for the much more prevalent C64.

Bank switching was also utilized in video game consoles. The Atari 2600 could only address 4K of ROM, so later 2600 games contained more ROM and bank switching hardware in order to permit more sophisticated games. The Nintendo NES contained a modified 6502 but its cartridges sometimes contained a megabyte or more of ROM, addressed via bank switching.

Computers using bank switching