Sitenotice:
2020: NameSpaces are going to be implemented this year to better separate content. OS-9 Al (talk) 11:18, 15 April 2020 (CDT)
2020-05-17: If a page gives you an error about some revision not being found, just EDIT the page and the old page should appear in the editor. If it does, just SAVE that and the page should be restored. OS-9 Al (talk) 12:22, 17 May 2020 (CDT)

MMU RAMROM Mode

From CoCopedia - The Tandy/Radio Shack Color Computer Wiki
Jump to navigation Jump to search
WELCOME
Looking for CoCo help? If you are trying to do something with your old Color Computer, read this quick reference. Want to contribute to this wiki? Be sure to read this first. This CoCo wiki project was started on October 29, 2004. --OS-9 Al

See Recent Changes. | About this site. | Join the E-Mail List or Facebook Group. | Contact me with updates/questions.

This page was last updated on 04/16/2008. Total Pages: 680. Total Files: 938.


Home / Articles - MMU RAMROM Mode


Color Computer 3 Memory Management Unit in ROM/RAM

The MMU in the CoCo 3 has access to 64 blocks of RAM each 8 kilobytes in size. In ROM/RAM mode the last four blocks don't access RAM. They access either internal or external ROM. The RAM/ROM mode is entered by writing any value to address $FFDE. RAM mode is selected by writing any value to address $FFDF.

In ROM/RAM mode there are three different ROM configurations available. They are selected by setting bits 1 and 0 of address $FF90 to:

$3C $3D $3E $3F Bit Value
Extended Color BASIC Color BASIC 16K Cartridge ROM 0X
Extended Color BASIC Color BASIC Reset Initialization Super Extended Color BASIC 10
32K Cartridge ROM 11


MMU Slot description
CPU Address Range Slot Address
$0000 - $1FFF Slot 0: $FFA0, $FFA8
$2000 - $3FFF Slot 1: $FFA1, $FFA9
$4000 - $5FFF Slot 2: $FFA2, $FFAA
$6000 - $7FFF Slot 3: $FFA3, $FFAB
$8000 - $9FFF Slot 4: $FFA4, $FFAC
$A000 - $BFFF Slot 5: $FFA5, $FFAD
$C000 - $DFFF Slot 6: $FFA6, $FFAE
$E000 - $FFFF Slot 7: $FFA6, $FFAF


The ROM pages ($3C-$3F) can be written to any of the eight available MMU slots. In all cases the last two bits of the page are ignored by the MMU and substituted by the last two bits of the slot number.

For example, writing $3D to slot 2 of the MMU does not map the second 8k page of ROM to addresses $4000-$5FFF. It maps page $3E (the third ROM page), because:


ROMRAM.png

This essentially means that page $3C will only appear in slots 0 and 4; $3D in 1 and 5; $3E in 2 and 6; $3F in 3 and 7.