MediaWiki:Sitenotice:
2024-03-02: The wiki ran out of disk space, so things were not working. This has been resolved by adding another 5GB of quota ;-) Thanks to Tim Lindner for reporting the issues.
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: Difference between revisions
mNo edit summary |
mNo edit summary |
||
Line 64: | Line 64: | ||
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: | 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: | ||
[[image:ROMRAM.png]] | |||
[[image:ROMRAM.png|center]] | |||
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. | 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. |
Revision as of 02:57, 2 May 2007
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 |
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:
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.