<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Mon, 24 Oct 2005 10:33:54 +0100
From   : "Mark Usher" <mu.list@...>
Subject: Re: Collected notes on floppy drive butchery?

What a thouroughly excellent write up from Richard. I would add the
following caveat that I mentioned in a previous email.

Using the 3.5" drives on the Masters seems to be a lot better than with the
Beebs. This is a timing issue that Jonathan Harston fixed in a patched DFS.
So if you find you still have read/write problems using a 3.5" floppy on a
BBC, try the patched DFS.
http://www.mdfs.net/System/Rom/Filing/CustDNFS.zip

Mark




-----Original Message-----
From: Majordomo List Manager [mailto:majordomo@...] On Behalf Of
Richard Gellman
Sent: 24 October 2005 10:11
To: bbc-micro@...
Subject: Re: [BBC-Micro] Collected notes on floppy drive butchery?

Jeff Gaines wrote:

>I can tell you what I did, it's the Sony MPF920 from PC World straight 
>out of the box.
>  
>
Same here.

>A Master, cosmetically nice but I think one of the early ones. MOS 
>3.20, ADFS 1.50, DFS 2.24.
>
>Scenario 1
>Standard twisted floppy cable, Sony connected to middle (untwisted) 
>connector. Drive responds as 1 or 3, using 720MB disks and DFS.
>Formats, verifies and saves files. Won't boot though because of the 
>drive number.
>
>Scenario 2
>Untwisted the floppy cable (2nd one, bits from the connectors of the 
>first one still all over the place 'til I hoover). Sony still on the 
>middle connector, older drive with a slide switch on end. Moved slide 
>over, old drive responds as 0/2, Sony as 1/3, both format and verify 
>and I can copy files between them.
>
>There have been different views in here about un-twisting the cable, it 
>just didn't work for me until I bit the bullet and un-twisted it.
>  
>
To clarify on the twist/untwist scenario:

The twist concerns the 4 lines Drive Select A, B, and Motor Enable A,B. 
There are 7 lines twisted, not six. Twisting 6 will result in problems, as
you will connect all the control lines to ground, and vice-versa (all odd
numbers pins are ground). Twisting 7 ensures the grounds stay matched.

Conventionally, if you have two drives on the cable, one as drive ID 0, and
one as drive ID 1, then a twist before both of them inverts their drive IDs
- in the case of the BBC, 0 becomes 1, 1 becomes 0.

If you twist -between- the drives, the drive after the twist (non-computer
end) is inverted, the other is not. This is the configuration for PCs.
Floppy drives for PCs are sold configured as drive ID 1, the twist in the
cable causes drive ID 0 (on the cable after the real drive B:) to become
drive ID 1 - thus driving the "fake" drive
B: - which is now seen as drive A:

           B:   []               [] A:   <-- both configured as drive ID 1.
ID 1 -------|-----   ----|
                           X
ID 0 ------------

(My apologies if that doesn't even show up correctly in your mail client).

BBC Floppy drives are invariably configured as drive ID 0 - which conflicts
with PC floppies always being drive ID 1. Either way around we put the
drives, we end up with two drives on the same ID. In the solution where we
don't change drive IDs on the drives themselves, we
*must* use an untwisted cable. This puts the BBC floppy on drive ID 0, and
the PC floppy on drive ID 1 - (happy).

If we are willing to change one of the drives (the BBC invariably being
easier) we must use a twisted cable to force one of the drives onto a
different drive ID, according to the following rules:

If both drives are ID 0, the drive *before* the twist is :0 the drive after
is :1.
If both drives are ID 1, the drive *after* the twist is :0 the drive before
is :1.

The ideal solution is to use a "native" untwisted cable - since these are
invariably about twice the length, and thus provide for external drives -
with customisable drive IDs. The BBC by default is ID 0, and by default the
PC drive will be ID 1. If you want this the other way around, you will need
to change the drive ID of the PC and BBC floppy drives. The MPF 920
(currently sold by PC world) allows this using a soldering iron: You can
change the drive ID by moving the select resistor from SEL1 to SEL0 on the
main circuit board - note this is a surface mount resistor, so adequate
skills are required.

Now, there have been reports of problems dealing with the disks once you
have the drive up and running. If one inserts a high density disk (the
commonly available type) into your nicely installed drive, it will
invariably fail - this is due to the drive detecting a high-density mode in
use, and writing the data at the wrong speed *. On the floppy disk itself,
you will find a hole opposite the write-protect hole. Covering this up with
tape (and possible darkening it - some use IR sensors to detect this hole,
and thus clear tape will be insufficient) will allow the drive to see it as
double-density and carry on as normal.

-- Richard

* Note for the terminology-criticising Pete Turnbull: Depsite what you may
say, floppy drives *do* have a write clock - this is generated internally on
the drive itself, and synchronised with the index hole. If there wasn't a
write clock the data would be out of sync. A read clock may also be used
internally, but not so much relied upon, as the timing of the data can be
gathered from the disk. The write clock will typically be generated in
accordance with the density selected - indeed the pinout for the shugart
interface (at some sources) shows a density select line - high density has a
higher clock speed than double density. 
The density setting in 3.5" drives is typically discovered from the disk
using detect holes mentioned above.
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>