[Coco] MPI writing to $c000
RETRO Innovations
go4retro at go4retro.com
Sun Jan 24 01:27:33 EST 2016
I am stuck on a project writing to RAM at $c000 on the expansion port
and need help. I think it's my lack of understanding of the 6809 and
the Coco bus that's holding me up.
I have some RAM at $c000 on the expansion port:
RAM_OE = CTS
RAM_WE = !(Q & !R_W & A15 & A14 & !A13) ; go low if Q is high and write
is low and A15 is high and A14 is high and A13 is low
If I install the cart in the expansion port, all works fine. I can
write to RAM correctly (I can flip between the internal and external
with $ffde,0 and such to verify)
But, if I put it in an MPI, it does not work.
I have redefined RAM_WE the following ways:
RAM_WE = !(!Q & !R_W & A15 & A14 & !A13) ; go low if Q is low and write
is low and A15 is high and A14 is high and A13 is low
RAM_WE = !(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
RAM_WE = !(!E & !R_W & A15 & A14 & !A13) ; go low if E is low and write
is low and A15 is high and A14 is high and A13 is low
RAM_WE = !(Q & E & !R_W & A15 & A14 & !A13) ; go low if Q is high and E
is high and write is low and A15 is high and A14 is high and A13 is low
RAM_WE = !(Q & !E & !R_W & A15 & A14 & !A13) ; go low if Q is high and
E is low and write is low and A15 is high and A14 is high and A13 is low
RAM_WE = !(!Q & E & !R_W & A15 & A14 & !A13) ; go low if Q is low and E
is high and write is low and A15 is high and A14 is high and A13 is low
RAM_WE = !(!Q & !E & !R_W & A15 & A14 & !A13) ; go low if Q is low and
E is low and write is low and A15 is high and A14 is high and A13 is low
None of them work. What am I missing? I know the rest of the circuit
works because the unit works fine when the MPI is not in the equation.
Jim
--
RETRO Innovations, Contemporary Gear for Classic Systems
www.go4retro.com
store.go4retro.com
More information about the Coco
mailing list