Date : Thu, 24 Aug 2006 11:00:08 +0100 (WET-DST)
From : Peter Coghlan <PCOGHLAN@...>
Subject: Re: writing and reading on 3.5 floppy
>
>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.
>
Maybe this is the source of the confusion. There is no timeout involved
in the DFS or in the 8271 but there are a few dividers, flip-flops and
bits and pieces on the BBC motherboard that implement what could arguably
be referred to as a hardware timeout mechanism to detect missing index
pulses.
It is a tricky circuit to analyse but its action appears to be to assert
the READY line to the 8271 when index pulses are present (ie the drive is
spinning and in the case of a 5.25in disk at least, a disk is present and
correctly clamped.) and to deassert READY when the expected index pulses
fail to appear. It seems to do this by comparing the rate of a divided down
version of the BBCs clock with the rate of incoming index pulses from the
floppy drive.
When the 8271 sees its READY input deasserted during an operation, its
response seems to be to abort the operation with an error 10 (hex), which
is translated as "not ready".
The result of all this is that the catalogue and first few sectors of a
disk can be read fine but seeking to other tracks can result in an error 10.
This can be worked around by patching the DFS to retry whenever the 8271
aborts with error 10 or by jumpering or hacking the drive to not mask out
index pulses during seeks.
Regards,
Peter.