Memory Region - CPU High ROM: Difference between revisions

From NerdConsole
Jump to navigationJump to search
No edit summary
No edit summary
Line 2: Line 2:


<span class='mono'>$C000 - $FFFF</span>
<span class='mono'>$C000 - $FFFF</span>
Size: 16,384 bytes


The fourth 16KB of the address space is called High ROM.  It represents a region of ROM that supports up to 256 banks which provide access to a total of 4MB of space for program and graphics data.  Care must be taken to ensure access to this ROM is handled while the correct bank is active.  This region of the address space, if available, is found in the cartridge.
The fourth 16KB of the address space is called High ROM.  It represents a region of ROM that supports up to 256 banks which provide access to a total of 4MB of space for program and graphics data.  Care must be taken to ensure access to this ROM is handled while the correct bank is active.  This region of the address space, if available, is found in the cartridge.

Revision as of 20:52, 27 January 2024

Address Range:

$C000 - $FFFF

Size: 16,384 bytes

The fourth 16KB of the address space is called High ROM. It represents a region of ROM that supports up to 256 banks which provide access to a total of 4MB of space for program and graphics data. Care must be taken to ensure access to this ROM is handled while the correct bank is active. This region of the address space, if available, is found in the cartridge.

Important Note: If banking of High ROM is used, the CPU vectors that define where the CPU begins processing in various situations but be present in ALL banks!

Banking of this region is controlled by the High ROM Select register in the Control Page. In general, access to banks that are not supported by the cartridge design in use is considered to have undefined behavior, but as the programmer you can do whatever you like even if it may seem odd.

Return to Memory Regions.