Difference between revisions of "Scratchpad RAM"
m (Protected "Scratchpad RAM" ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite)))
Latest revision as of 09:21, 4 December 2010
The Scratchpad RAM is a 256 byte RAM mapped at $100 - $1EF. The last 16 bytes of the Scratchpad cannot be accessed, since the PSG maps to where those bytes would ordinarily reside. This memory is 8 bits wide. The upper 8 bits of each value stored here read as 0. On writes, the RAM ignores the upper 8 bits of the value written.
The Executive ROM stores a number of variables in this memory. Programs which rely on the EXEC must be careful not to corrupt the EXEC's variables. Programs that make little or no use of the EXEC's functionality need only take note of the Interrupt Service Vector stored at locations $100-$101. The table below indicates what's currently known about the EXEC's Scratchpad usage.
|$100 - $101||Interrupt Service Vector address. The EXEC jumps to the address stored here in response to the VBlank Interrupt|
|$102||EXEC: Interrupt synchronization flags. The EXEC communicates with its default interrupt handler via this location.|
|$103 - $15C||EXEC: Various variables|
|$15D - $1EF||Available for general program usage.|