[Coco] MPI writing to $c000

RETRO Innovations go4retro at go4retro.com
Mon Jan 25 22:47:04 EST 2016


On 1/25/2016 2:11 AM, RETRO Innovations wrote:
> 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
>
So that this will get archived, this was indeed the issue.

The final equations that worked:

  * CE was not needed (can be tied low)
  * When WE goes low, bring SLENB low, otherwise, SLENB should be HI-Z
    (so other carts can take it low)
  * OE = CTS
  * My WE equation is:  !(q& !r_w & address[15] & address[14] &
    !address[13] & write_enable);

My equations differ from Darren's, in that I used Q and not E.  The 6809 
datasheet states that addresses are valid on rising edge of Q and data 
to write it valid on rising edge of Q.  It seemed prudent to latch the 
data on the falling edge of Q before E falls, but I can change it to use 
the E clock instead if I am missing something.

Jim

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



More information about the Coco mailing list