Re: How to play an old floppy disk.



On 10 Jun 2008 13:10:48 GMT, Arno Wagner <me@xxxxxxxxxxx> put finger
to keyboard and composed:

There is no PLL in a floppy controller.

The data*** for the original PC AT FDC (NEC uPD765) talks about an
external phase locked loop, and the PC AT FDD/HDD controller circuits
designate uPD765 pin 24 as "VCO EN". In another post I have listed
several different FDC chips, some using an external analogue PLL,
others using an internal digital data separator. I have also found
patents which refer to the use of PLLs in FDC digital data separators.

Here are the circuit diagrams for the FDD/HDD controller in the
original IBM PC AT:
http://www.users.on.net/~fzabkar/PC-AT/FDC_HDC/

*** 9 shows the VCO which is based on TI's 74LS629 VCO chip:
http://www.datasheetarchive.com/pdf/476142.pdf

*** 1 shows the Floppy Data Separator (D/S) control chip. Pins 5 & 6
appear to be the data rate select bits.

*** 4 shows NEC's uPD765 FD controller chip, and *** 7 shows the
write control logic.

I haven't yet seen a controller that couldn't handle a
720KB 3.5" drive. Its data rate is 2700 sectors per minute. A 360KB DD
5.25" drive has the same number of sectors/track (9), and spins at the
same speed (300RPM). Therefore it has the same data rate and should be
electrically indistinguishable from a 720KB 3.5" drive (apart from a
lesser number of tracks). A 360KB diskette in a faster drive should
pose no problem since its data rate would fall in the middle of the
PLL's range. Of course I'm assuming that the controller doesn't have
two different PLLs, one for each drive type.

Have a look at a floppy controller manual. You can set the clock
divisor and it has to be set for the expected data rate in order
for this to work.

Yes, you are correct. The original IBM AT BIOS supports four data
rates, 250Kbs, 300Kbs, 500Kbs, and "reserved". Selecting the wrong
data rate results in no read.

You need it anyways, since writes cannot
synchronize on anything.

I concede that writes appear to be executed in open loop mode,
although it is clear that the sync bytes determine when writing
starts. During formatting, however, there must be some reference
point, namely the index pulse.

They are also 96tpi rather than 48tpi.

Not the early ones. They were definitely 48TPI.

See http://en.wikipedia.org/wiki/Floppy_disk

"Finally in 1983 DOS 2.0 supported 9 sectors per track rather than 8,
providing 180 KB on a (formatted) single-sided disk and 360 KB on a
double-sided."

Do the maths and you'll find that equates to 40 tracks per side.

Are you sure there ever were drives for 40 tracks double sided?

The circuit diagram for IBM's PC AT double sided diskette drive shows
two R/W heads. The technical reference manual states that "the Double
Sided Diskette Drive is a direct-access device that can store
320/360Kb of data on a dual-sided 5-1/4 inch diskette". The source
listing for the AT BIOS refers to track numbers in the range of 0-39
for 320/360 media in a 320/360 drive, and sector numbers in the range
of 1-8/9.

The DOS help docs for the Format command list the following options:

=================================================================
/F:size
Specifies the size of the floppy disk to format. When possible,
use this switch instead of the /T and /N switches. Use one of the
following values for size:

160 (or 160K or 160KB)
160K, single-sided, double-density, 5.25-inch disk

180 (or 180K or 180KB)
180K, single-sided, double-density, 5.25-inch disk

320 (or 320K or 320KB)
320K, double-sided, double-density, 5.25-inch disk

360 (or 360K or 360KB)
360K, double-sided, double-density, 5.25-inch disk

720 (or 720K or 720KB)
720K, double-sided, double-density, 3.5-inch disk

1200 (or 1200K or 1200KB or 1.2 or 1.2M or 1.2MB)
1.2-MB, double-sided, quadruple-density, 5.25-inch disk

1440 (or 1440K or 1440KB or 1.44 or 1.44M or 1.44MB)
1.44-MB, double-sided, quadruple-density, 3.5-inch disk

2880 (or 2880K or 2880KB or 2.88 or 2.88M or 2.88MB)
2.88-MB, double-sided, extra-high-density, 3.5-inch disk
=================================================================

BTW I do have Nashua DSDD and DSQD 96TPI diskettes.

So?? I have thrown away some 5.25" DSDD and DSHD (HD=QD)
sisks too. Where is the problem here?

According to the above MS and IBM docs, DSDD implies 48TPI, and 96TPI
implies DSHD.

A 720KB 3.5" diskette rotating at 300RPM would produce a data rate of
2700 sectors per minute. A 360KB diskette rotating at 360RPM would
produce a data rate of 3240 sectors per minute. A 1.44MB diskette
rotating at 300RPM would produce a data rate of 5400 sectors per
minute. Therefore it seems to me that a controller that can read a
720KB 3.5" diskette should easily handle a 360KB 5.25" diskette, if
the issue is the range of the PLL/VCO in the clock/data separator.

WIth a 5.25" DD drive, no problem at all. With a 5.25" HD
drive, the 20% faster speed may just be within the range
it can still syncronize on.

That would only be a problem if the controller used two different
PLLs. Otherwise it should be easier to sync with the faster drive. See
above.

No PLL in an FDC. Not even a digital one.

You cannot write though.

AFAICS, the same PLL is used for reading and writing. If you can do
one, then you can do the other.

No PLL in an FDC.

However
a PC floppy controller can deal with 360rpm by increasing
the speed of everything. You just need BIOS support and need
to configure your drive as 5.25" HD.

Arno

If you could spin your 3.5" drive at 360RPM, then your BIOS or OS
wouldn't know the difference.

It would, sicne my disks would become unreadable.

In fact I just tried configuring my 1.44MB drive as a 1.2MB FD, and my
1.2MB as a 1.44MB FD, and was still able to read 1.44MB and 1.2MB
diskettes in their respective drives.

That is unsurprising. Both situations deliver the standard,
2ms-clocked MFM signal that the controller expects per default with
HD. You would have to put a 3.5" disk into the 5.25" drive so simulate
the other thing. No adjustment for drive speed id needed with HD of
either size.

I see now that the two diskette types would produce the same data
rate. Therefore my results support your contention that the data rate
has to be set in the controller to match the expected data rate from
the FD. I was wrong. Sorry.

However, I wasn't able to read a
5.25" 360KB diskette when the 5.25" HD drive was configured as a
1.44MB FD.

And here is the problem that this gives a 3.3ms clocked MFM
instead of a 4ms clocked one that is expected for a DD disk. The
controller cannot handle a deviation this large. And since
the drive was set to 3.5" no, test whether it actually was
a 360rmp drive. You just proved my point.

Arno

I agree.

- Franc Zabkar
--
Please remove one 'i' from my address when replying by email.
.