[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