<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Sat, 26 Aug 2006 16:37:04
From   : Pete Turnbull <pete@...>
Subject: Re: writing and reading on 3.5 floppy

On Aug 26 2006,  1:44, Jonathan Graham Harston wrote:
> Pete Turnbull <pete@...> wrote:
> > On Aug 23 2006, 12:37, David Hunt wrote:
> >
> > > The reason 3.5" drives don't work on the ModelB is the 8271
expects
> > to get a sector start notification from the drive.
>
> > I believe that's essentially incorrect; they do have an index
sensor.
>
> > What is true, is that some modern 3.5" drives mask out the INDEX
pulse
> > (and the READ DATA signal) during seeks, which might cause timeout
> > problems.
>
> Is there an actual correct explanation for why using 3.5" disk
> drives with DFS 1.20 gives "Disk Error 10"? I've given up and just
> say "DFS 1.21 works with 3.5" drives by ignores Disk Error 10".

I don't actually know, because all the 3.5" drives I have tried on a
Beeb are quite old ones, and do work with an 8271 and DFS 1.20.

I surmise that it's to do with the way the Beeb uses the index pulses
to generate the /RDY (ready) signals.  Absence of /RDY is what causes
the 8271 to stop a command and set 10(base 16) in the result register,
meaning "operator intervention probably required for recovery; drive
not
ready".

What the Beeb's circuit does is to replicate, approximately, what most
drives did/do to generate a READY signal indicating they'd got up to
speed.  The signal is valid after two consecutive intervals of less
than 260ms (it takes 200ms for one revolution).  The way the signal is
refreshed by successive index pulses means that it goes invalid (ie
drive *not* ready) some time *after* a missing pulse.  This means that
if a drive is ready and is made to seek, and if an index pulse is
suppressed as a result of that seek, the drive may still appear "ready"
when the next operation command is issued, but go "not ready" during
the operation, which would be aborted as a result.  It would depend on
the relative timing of the (missing!) index pulse and the seek, and how
long it took to start the next operation.

If you want the gory details, look at
http://www.dunnington.u-net.com/public/BBC/index_and_READY.html

I can't believe I've just spent hours working out how an obscure
26-year-old circuit works and then writing it all down instead of just
drawing a state diagram for a finite state machine!


--
Pete                                            Peter Turnbull
                                                Network Manager
                                                University of York

<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>