Difference between revisions of "Scratchpad RAM"

From Intellivision Wiki
Jump to: navigation, search
 
Line 1: Line 1:
An 8-bit RAM unit of 240 bytes mapped into the Intellivision memory map from 100-$1EF.  The first 92 bytes are used primarily by the Executive ROM for temporary data storage, but the remaining memory is available for general use by programs.<br/><br/>
+
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.<br /><br />
  
$0100-$015C: Used by the Executive ROM for temp data storage.<br/>
+
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 know about the EXEC's Scratchpad usage.<br /><br />
$015D-$01EF: Available for general program usage.<br/>
+
 
 +
<table border=1>
 +
<tr><th>Addresses</th><th>Description</th></tr>
 +
<tr><td>$100 - $101</td><td>Interrupt Service Vector address.  The EXEC jumps to the address stored here in response to the [[VBlank Interrupt]]</td></tr>
 +
<tr><TD>$102</TD><TD>EXEC:  Interrupt synchronization flags.  The EXEC communicates with its default interrupt handler via this location.</td></tr>
 +
<tr><td>$103 - $15C</TD><TD>EXEC: Various variables</TD></TR>
 +
<TR><TD>$15D - $1EF</TD><TD>Available for general program usage.</TD></TR>
 +
</TABLE>

Revision as of 06:44, 11 January 2005

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 know 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.