MEMORY
Color Computers 1 and 2 shipped with 4, 16, 32, or 64KB of RAM depending on options and board.
The Color Computers 1 and 2 were equipped with a Synchronous Address Multiplexer (SAM MC6883) to manage memory configuration and refresh.
Color Computer 3 shipped with 128 or 512KB of RAM depending on options chosen.
The Color Computer 3 custom GIME chip included emulation for the previous generation's SAM chip as well as provided a new Memory Management Unit MMU for working with memory larger than 64KB.
MMU
The Color Computer 3 GIME Memory Management Unit (MMU) registers map 8K blocks of RAM from the full 128-512K memory space into the 64K MPU workspace.
64K Workspace Range | Task Register 0 | Task Register 1 |
---|---|---|
$0000 - $1FFF | $FFA0 | $FFA8 |
$2000 - $3FFF | $FFA1 | $FFA9 |
$4000 - $5FFF | $FFA2 | $FFAA |
$6000 - $7FFF | $FFA3 | $FFAB |
$8000 - $9FFF | $FFA4 | $FFAC |
$A000 - $BFFF | $FFA5 | $FFAD |
$C000 - $DFFF | $FFA6 | $FFAE |
$E000 - $FFFF | $FFA7 | $FFAF |
PROGRAMMING
The MMU is enabled and disabled by setting or clearing bit 6 of GIME register INIT0 ($FF90)
Examples assume Task Register ($FF91 bit 0) is setup for Task 0.
Map an extended memory block 6.0 into the 64K workspace:
LDA #$30 * SETUP BLOCK 6.0 JSR MMU ... MMU ORCC #$50 * DISABLE INTERRUPTS STA $FFA1 * MAP BLOCK 6.0 ONTO 64K RANGE $2000 - $3FFF (BLOCK 7.1) ANDCC #$AF * RE-ENABLE INTERRUPTS RTS
Restore the original block back into the 64K workspace:
LDA #$39 * SETUP BLOCK 7.1 JSR MMU ... MMU ORCC #$50 * DISABLE INTERRUPTS STA $FFA1 * MAP BLOCK 7.1 BACK ONTO ITS 64K RANGE $2000 - $3FFF ANDCC #$AF * RE-ENABLE INTERRUPTS RTS
SEE ALSO
RAM Extended Memory Map
RTS
Return to Tandy Color Computer