• Please review our updated Terms and Rules here

A twist on PC floppies

cr1901

Veteran Member
Joined
Dec 28, 2011
Messages
817
Location
NJ
Been wondering this myself, so I decided to comb the forum and see if it was explained... sure enough, it was- some 4 years ago! I would like to add- what a horrible pun! :p

Now, if only I could find the reasoning for MFM control cables having a twist...

It's been requested that I explain the twist in PC floppy cables.

First off, let's start with what the floppy signals are at a 5.25" or 3.5" drive itself.

All odd-numbered pins on a floppy cable are grounded and almost all signals are active-low. That's why the floppy select light comes on if you put the cable on upside-down--you're essentially activating all signals (including write).

The signals on the even-numbered pins are as follows:

2 - Density select, used on 5.25" 1.2MB drives to tell the drive that it's operating in high density mode.
4 - Unused (sometimes as a spindle speed change for 3-mode 3.5" drives)
6 - Drive select 3
8 - Index (pulses low every floppy revolution)
10 - Drive select 0
12 - Drive select 1
14 - Drive select 2
16 - Motor on
18 - Step direction (in or out)
20 - Step (each pulse moves the head one track)
22 - Write data
24 - Write gate (when low, puts the drive into write mode)
26 - Track 0 (low when the heads are positioned to the first track)
28 - Write protect (connected to the sensor that looks at the write enable notch or aperture. If low, will not permit data to be written, regardless of the state of pin 24).
30 - Read data
32 - Side/Head select
34 - Disk changed, reset by moving the heads; some drives also use this as a "drive ready" signal, but the PC doesn't care.

All of the signals with the exception of "motor on" are conditioned by the drive select signal being asserted for a particular drive. If asserted, "motor on" turns on the drive motors, regardless of the select signals.

So, the PC could have used a flat cable and supported 4 drives on it. But each of those 4 drives would require the drive select jumpers to be set differently and when "motor on" was asserted, all drive motors would come on. With 4 motors on, that might have put a strain on the very wimpy 5150 power supply. So IBM killed two birds with one stone.

If you take the signals on pins 10-16, and "tiwst" that segment of the cable (remember that the odd numbered pins are signal ground regardless), you have the flolling juxtaposition.

PC pin 10 -> Drive pin 16 (Motor on)
PC pin 12 -> Drive pin 14 (Drive select 2)
PC pin 14 -> Drive pin 12 (Drive Select 1)
PC pin 16 -> Drive pin 10 (Drive Select 0)

So, the PC, instead of using the normal conventions on those pins, defines its pin 10 as "Motor on A" and pin 16 as "Motor on B", PC pin 12 is defined as "Drive select B" and pin 14 as "Drive select A". Note that this game with drive selects works because floppy drives don't have anything connected to the unused select pins on their side--there's a reason you move a jumper.

With both drives set to Drive Select 1, this works to individually control the motors on 2 drives with a single cable. The PC had to add an external register to control the drive select and motor signals, rather than letting the floppy controller chip do this, so there was a small price in terms of extra circuitry. It also meant that the PC had to control the motors with software; on a system such as an Atari ST, the floppy controller chip automatically controls the drive motor; no extra software is needed.

Okay, so you can put 2 drives on a single cable, but can you add a third drive to the cable? Yes, you can. You'll note that pins 4 and 6 aren't used on the PC side, so they can be re-assigned to the "motor on" and "drive select" signal for a third drive.

The DTC ESDI and SCSI controllers supported this third drive, as did the Ultrastor SCSI controllers. But, with a couple of small wires, many other SCSI controllers can be modified to do this, if they use the National DP8473 chip as their floppy controller. This includes the very popular Adpatec 1542.

In addition, the DTC 6282 ESDI controller has an extra jumper that converts the floppy interface to normal "flat cable" configuration--the drive motors are all ganged together, but you can put 4 drives on the single cable.

Hope this helps.
 
Back
Top