Memory Region - CPU Main RAM: Difference between revisions

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


<span class='mono'>$0300 - $3FFF</span>
<span class='mono'>$0300 - $3FFF</span>
Size: 15,616 bytes


In NerdConsole, the first 16KB of RAM is called Main RAM.  It represents a region of RAM that is almost always available.  Due to the nature of the [[Chip - 65C02 CPU|65C02 CPU]] the [[Memory Region - CPU Zero Page|Zero Page]] and [[Memory Region - CPU Stack Page|Stack Page]] must always be located in the same place.  Banking this region of RAM would require complex hardware to constantly keep those pages up to date in all banked regions so the decision was made to not support any banking in this region.
In NerdConsole, the first 16KB of RAM is called Main RAM.  It represents a region of RAM that is almost always available.  Due to the nature of the [[Chip - 65C02 CPU|65C02 CPU]] the [[Memory Region - CPU Zero Page|Zero Page]] and [[Memory Region - CPU Stack Page|Stack Page]] must always be located in the same place.  Banking this region of RAM would require complex hardware to constantly keep those pages up to date in all banked regions so the decision was made to not support any banking in this region.

Revision as of 20:51, 27 January 2024

Address Range:

$0300 - $3FFF

Size: 15,616 bytes

In NerdConsole, the first 16KB of RAM is called Main RAM. It represents a region of RAM that is almost always available. Due to the nature of the 65C02 CPU the Zero Page and Stack Page must always be located in the same place. Banking this region of RAM would require complex hardware to constantly keep those pages up to date in all banked regions so the decision was made to not support any banking in this region.

In general, important values needed by your game that need to be available all the time should go into this region of RAM.

This region can be redirected to the PPU using the Main RAM Select register in the Control Page.

Return to Memory Regions.