Scratchpad RAM

From Intellivision Wiki
Jump to: navigation, search

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.

AddressesDescription
$100 - $101Interrupt Service Vector address. The EXEC jumps to the address stored here in response to the VBlank Interrupt
$102EXEC: Interrupt synchronization flags. The EXEC communicates with its default interrupt handler via this location.
$103 - $15CEXEC: Various variables
$15D - $1EFAvailable for general program usage.