Drive type and SECLATE timing
pullmoll at t-online.de
Thu Jun 28 05:26:56 PDT 2007
On Wed, 27 Jun 2007 15:33:28 -0700
Al Kossow <aek at spies.com> wrote:
> Juergen Buchmueller wrote:
> > Do you know if a read-only disk should
> > work?
> It does not. That's probably why it's popping into the debugger.
Even after implementing writing to the drive it comes up with SWAT, just
this time with a longer message:
It looks like it can't read the sectors it has just written to the image.
I'll have to analyze the checksums on writes etc. in more detail.
BTW: The last critical thing in the disk timing is the SECLATE signal. What
type is the disk drive where the images came from?
I can't get the (faster) DIABLO44 to work reliably with the microcode,
while it works many times with the DIABLO31 timing. And still, it fails too
many times for my taste.
In the schematics SECLATE is a monoflop's (74123) Q' pulse, and according to
my docs the pulse duration should be:
tW = 0.28 * Rt * Cext * (1 + 0.7/Rt)
with tW in nano seconds, Rt in kilo Ohms, and Cext in pico Farad.
The values on the SECLATE monoflop are 30k and .01mf, and I guess this is
micro, not milli Farad? ;-) We use µF in schematics here. I got this pulse
tW = 0.28 * 30 * 10000 * (1 + 0.7/30) = 86960ns ~= 87µs
And if .01mF = 10nF = 10000pF should be right.
It's just that this duration is at least 10 times to much! It should be
around 45-48 microcycles (8160ns max.). It is uber-critical to get this
timing right, because otherwise the disk sector task never enables the disk
word task. If SECLATE is still there when it checks for a sequence error,
the microcode just goes into an idle loop.
Do you have any ideas what I may be doing wrong here? Is there perhaps a
twist to the 74123 that I may not be aware of? I know it is retriggerable,
and its two inputs trigger it on different edges. I'm sort of lost.
More information about the Altogether-devel