[Coco] MC6829 Memory Management Unit

RETRO Innovations go4retro at go4retro.com
Mon Oct 10 23:15:14 EDT 2022


On 10/10/2022 7:34 PM, Joel Rees via Coco wrote:
> The app note has a bit of rather awkward wording that makes it sound, if
> you're not reading carefully, like it requires 8 of the 6829s to actually
> address the full 2M. It also says the MMU has to be "reprogrammed" to get
> around that max or something like that, which is more unfortunate wording.

The datasheet is much less ambiguous.  As you note, each IC can handle 4 
task mappings, and up to 8 of these can be connected together to support 
32 tasks.

Not sure about the wording you note, but if you do have more than 1 6829 
in the system, you have to "program" all but 1 of them.

The good news is that this MMU can be used for OS-9 without changing the 
"page" size'.

wire up the following:

IC:A15 to !RA

IC:A14 to !RA

IC:A13 to CPU:A15

12 to 14

11 to 13

PA11 to MEM:A13

12 to 14

13 to 15

14 to 16

etc.

IC:PA20 to MEM:A22

Essentially, this would "shift" the mapping values to affect 8kB pages, 
and the !RA above is simply because the registers will not appear unless 
A15:11 = b11111.

In this "simplistic" mode, you'll only use the first 8 mapping registers 
of the 32 available.  Obviously, OS-9 would need to be patched a bit, as 
the layout of the task register, how you access the mapping registers, 
and the registers themselves don't match GIME.

But, the MC6829 does offer a few more cool features the GIME does not 
have, like an auto task switch and a hardware assisted DMA task.  DMA 
task seems somewhat useful, but the auto-switch looks like it's just 
there to allow you to pull registers from the stack under 1 task and 
then immediately after the pull , the task switches automatically. I 
don't think OS-9 would greatly benefit.

A more complex config could involve IC:A15:14 as part of bits 4 and 3 of 
the task register, allowing just 2 of these ICs to implement the full 32 
tasks (each IC would handle 16 tasks)  The downside is needing to create 
an external register to store the active task number and losing the 
ability to use the auto-task switch.

Jim

-- 
RETRO Innovations, Contemporary Gear for Classic Systems
www.go4retro.com
store.go4retro.com



More information about the Coco mailing list