Difference between revisions of "System RAM"

From Intellivision Wiki
Jump to: navigation, search
Line 1: Line 1:
The System RAM unit is the only 16-bit RAM available in the Intellivision, and it is mapped into the Intellivision [[Memory Map|memory map]] from $0200-$035F. Note that for [[Executive ROM|EXEC]]-based programs, all of the System RAM is used by the [[STIC]] and the [[Executive ROM]] and is unavailable for general use by the program.  Programs that do not rely on the EXEC may use large portions of System RAM for their own purposes.<br/><br/>
+
The System RAM unit is the only 16-bit RAM available in the Intellivision, and it is mapped into the Intellivision [[Memory Map|memory map]] from $0200-$035F. The System RAM has the additional responsibility of bridging between the STIC's private graphics bus and the CPU's main memory bus.<br/><br/>
  
The System RAM has the additional responsibility of bridging between the STIC's private graphics bus and the CPU's main memory bus.
+
Programs which rely heavily on the [[Executive ROM]] cannot use most of the storage in System RAM.  The display background occupies most of System RAM, and the EXEC's variables and data structures occupy the rest.  Some EXEC-based games do store variables here through various tricks, such as limiting the number of active MOBs to fewer than 8, or by blanking the first row of the display to make $200 - $213 available.  (Advanced Dungeons and Dragons Tarmin Treasure does the latter trick.)  Programs that do not utilize the EXEC at all can allocate all of $2F0 - $35F as they see fit.<br/><br/>
 +
 
 +
Because the [[CP1610]] CPU automatically pushes the program counter to the stack in response to an interrupt, and since the program counter is a 16-bit value, the CP1610 stack <I>must</I> reside in System RAM.<br/><br/>
  
 
<table border>
 
<table border>

Revision as of 02:07, 11 January 2005

The System RAM unit is the only 16-bit RAM available in the Intellivision, and it is mapped into the Intellivision memory map from $0200-$035F. The System RAM has the additional responsibility of bridging between the STIC's private graphics bus and the CPU's main memory bus.

Programs which rely heavily on the Executive ROM cannot use most of the storage in System RAM. The display background occupies most of System RAM, and the EXEC's variables and data structures occupy the rest. Some EXEC-based games do store variables here through various tricks, such as limiting the number of active MOBs to fewer than 8, or by blanking the first row of the display to make $200 - $213 available. (Advanced Dungeons and Dragons Tarmin Treasure does the latter trick.) Programs that do not utilize the EXEC at all can allocate all of $2F0 - $35F as they see fit.

Because the CP1610 CPU automatically pushes the program counter to the stack in response to an interrupt, and since the program counter is a 16-bit value, the CP1610 stack must reside in System RAM.

$0200-$02EFBACKground TABle (BACKTAB)
$02F0-$02F0EXEC: Indicates the currently active cartridge header
$02F1-$0318CP1610 Stack. (Upper bound actually determined by the game software.)
$0319-$031CEXEC: Unknown use
$031D-$035CEXEC: MOB RAM data base
$035DEXEC: Current hand controller dispatch table pointer
$035EEXEC: Current random number seed
$035FEXEC: Something sound related