Re: C64 MMU POC

From: Jim Brain <brain_at_jbrain.com>
Date: Sun, 22 Sep 2019 15:11:16 -0500
Message-ID: <002ee6bf-c63d-1c95-3085-60f668b86e03_at_jbrain.com>
On 9/22/2019 2:55 PM, Justin Cordesman wrote:
>
> Forgive me if this is infeasible since I don’t know the architecture 
> well enough, but what about using the MMU’s privileged position to 
> watch for a specific peek or poke or both pattern and only then expose 
> addresses?  Assuming that is doable, you could even have alternate 
> patterns that would expose the MMU at different addresses so that it 
> was run time selectable.
>
> Justin
>
> > On Sep 22, 2019, at 13:37, Mia Magnusson <mia_at_plea.se> wrote:
> >
>
It is feasible, and planned.

When powered on, the MMU will be hidden from the memory map.  If the 
programmer reads a specific sequence of bytes in a specific area in 
succession, the registers will be mapped in.  So, that's fine.

But, after the registers are mapped in, where is the best place to put 
them that keeps them from "being in the programmer's road" all the time.

Assuming you get writes under IO registers, the issue there is mirrored 
locations, so that's out.

writes do belled though under ROM, so that would work with writes, but 
reads require you to map the ROMs out. Maybe not a horrible deal, but 
wanting comment on that.

Using a space that has RAM alreayd present in the normal map (0-9fff, 
c000-cfff) works, but also could be a problem for some apps.  If we go 
that route, it's best not to put the registers in the middle of a RAM 
bank ($7000 would be bad, for example, as it breaks up a long run of 
contiguous RAM).  putting near top of c000 works, for example.


Jim



-- 
Jim Brain
brain_at_jbrain.com
www.jbrain.com
Received on 2020-05-29 22:40:34

Archive generated by hypermail 2.3.0.