[Coco] MC6829 Memory Management Unit

RETRO Innovations go4retro at go4retro.com
Mon Oct 10 23:20:36 EDT 2022


On 10/10/2022 9:48 PM, Walter ZAMBOTTI via Coco wrote:
> If the GIME can only access 512K how do memory kits allow upto 2meg? 
> How is this accomplished?

As someone who has implemented, here's the simple answer:

The GIME mapping registers are 6 bits in length, with the upper 2 bits 
not implemented (and I think they read back as 1 all the time).

You make a piece of HW that watches for writes to those mapping 
registers and you save off the upper 2 bits of each write.

Then, when that chunk of memory is accessed (A15:13 matches the register 
number, and the task number matches, it's a CPU portion of the cycle, 
and a few other pre-reqs), you feed those 2 extra bits to a companion 
memory expansion designed to accept those 2 bits.

Tada, 4 times the memory, or 2MB.

There's a bit of hand waving in that answer (you have to take into 
account shared memory, etc.), but the above is the gist of it.

Jim


More information about the Coco mailing list