[Coco] MPI writing to $c000

RETRO Innovations go4retro at go4retro.com
Mon Jan 25 03:11:27 EST 2016


On 1/24/2016 7:04 AM, Darren A wrote:
>
> Does your RAM also have a CE* input? If so, how is it connected? The SRAMs
> I have used have CE*, OE* and WE*.  For a write both CE* and WE* must go
> low and OE* is a "don't care".
>
> I think the correct equation for a write cycle would be:
> RAM_xE = !(E & !R_W & A15 & A14 & !A13)  ; go low if E is high and Write is
> low and A15 is high and A14 is high and A13 is low
>
> That would have the RAM latch the address on the rising edge of E, and
> latch data on the falling edge.
>
> For a fast RAM you could limit it to just the latter half of E high by
> adding !Q to the mix:
> RAM_xE = !(E & !Q & !R_W & A15 & A14 & !A13)  ; go low if E is high and Q
> is low and Write is low and A15 is high and A14 is high and A13 is low
After much head scratching and logic analyzing...

It appears the problem is the MPI itelf:

The MPI Data Buffer is enabled only when:

DBEN = (ADDRESS:[40..7F] & FFXX) # SLENB # CTS;/* Active $FF40-$FF7F or 
SLENB or CTS */

ERRRR!

So, to get it to work, looks like I need to bring SLENB low when someone 
tries to write to $CXXX

Jim


More information about the Coco mailing list