[Coco] 6x09 read and write strobes.
John Kent
jekent at optusnet.com.au
Thu Dec 15 22:38:33 EST 2011
Falling edge of Q is it ?
I posted a timing diagram, on 2011/12/05 but I must have had Q inverted.
You can use a 7400 to generate read and write strobes, or half a 74139
decoder.
Phil was using a CPLD and verilog to program it.
The equations he used were:
assign RD = E & RW & Reset;
assign WR = Q & ~RW & Reset;
assign nRD = ~RD;
assign nWR = ~WR | RamWP;
what it should have been I think was:
assign RD = E & RW & nReset;
assign WR = E & ~RW & nReset;
assign nRD = ~RD;
assign nWR = ~WR | RamWP;
I'm not sure if his reset was active high or active low.
I have not used verilog much, so I'm not 100% sure of the syntax.
Some peripherals such as the Z8530 assert both RD & WR to reset the
peripheral, if my memory serves me correctly. I'm not sure if Phil was
trying to do that or if he was trying to prevent random read/writes
during reset.
I didn't get a reply from Phil Harvey-Smith, so I'm not sure if he has
sorted out his problem.
John.
On 16/12/2011 1:13 PM, jdaggett at gate.net wrote:
> Phil
>
> Not sure if this is too late or not.
>
> The 6809 use the E clock to primarily sync with peripherals as well as internal uses. The Q
> clock is an internal clock. The address bus as well as the RW line are all valid on the falling
> edge of the Qclock after the falling edge of the Eclock. The falling edge of the Eclock starts a
> new cycle. You can generate an Intel compatible Write enable output by inverting the RW line
> and NANDing it with the Eclock. A comparable Output Enable read signal is just NANDing
> the RW line with the E clock.
>
>
> james
>
--
http://www.johnkent.com.au
http://members.optusnet.com.au/jekent
More information about the Coco
mailing list