IBM PC twist last updated Jan 14 2020 Herb Johnson (c) Herb Johnson 2020 Thanks to Bill Beech for corrections. http://www.retrotechnology.com/herbs_stuff/drive.html Summary: When IBM produced the "IBM PC" in 1981, and later provided a floppy drive and floppy controller for it, they introduced what I'll call "the IBM PC twist". That is a twist in the 34-pin floppy drive cable. Why does this matter? Because prior personal computers with floppy drives *did not have a twisted cable*. But decades later, "everyone" assumes the twisted cable is "standard". *It is not.* Non-IBM PC floppy controllers (and many drives) don't operate with a "twisted" cable, the way the IBM PC and PC compatibles do. So when one works with 3.5" and 5.25" floppy drives, especially when using a non-IBM-PC vintage computer, one must be aware of this history and "untwist" the signals for use. ----------------- If one looks around, one can find an image of a "PC compatible" floppy cable and a list of "IBM PC 5.25 inch drive signals". The "twist" takes lines 10, 12, 14, 16 and flips them. Line 10 becomes line 16, 12 to 14, 14 to 12, 16 to 10; on the connector at the end of the floppy cable. The actual signals from "the IBM PC floppy controller" can be found on the original IBM Tech Manual: I found one at http://www.retroarchive.org/dos/docs/ibm5160techref.pdf Page 1-173 (183 in the PDF) says: 10 motor enable A 12 drive select B 14 drive select A 16 motor enable B You can see this is two sets of motor enable and drive select. That's according to "The IBM PC". Motor enable, is an active-low signal to run the "hub" motor on a floppy drive. Drive select, is an active-low signal to enable a selected drive to operate. Only one drive at a time, is enabled and accepts or provides data. *The following is important.* Many floppy drives, and non-IBM-PC floppy controllers, DO NOT HAVE these same identical signals at these pins. If you look at a manual, for an actual floppy-drive connector, on an actual pre-IBM PC 5.25-inch floppy drive, say the SA455 or SA465 Shugart at the site below, you'll see the following signals: https://hxc2001.com/download/datasheet/floppy/thirdparty/Shugart_Associates/SA455%20SA465%20Minifloppy%20drives.pdf 10 DS1 12 DS2 14 DS3 16 MOT ON Other floppy-drive manuals will show these designations, however: 10 DS0 12 DS1 14 DS2 16 MOT ON One is as good as another, and for this discussion and because IBM followed this version, I'll reference the drive-select signals from DS0 to DS2. I'll try to refer to the actual pins on cable or drive when I can. (Note: there's a 4th drive-select, at pin 6. I'll ignore it for this discussion.) DS0 is drive-select 0 and DS1 and DS2 are drive selects 1 and 2. When ONE of those signals is enabled, AND a drive has a jumper designated for that signal, then that drive is "enabled". The "MOT ON" signal, enables ALL drive hub-motors to run. (This is true without regard to the names of the drive-select signals.) Likewise: If you look at a schematic for a "non-IBM-PC" floppy controller, say the S-100 Versafloppy II and its schematic for the 34 pin, you'll see the same signals. http://www.classiccmp.org/cini/pdf/random/SD%20Systems%20Versafloppy%20II.pdf 10 DS1 12 DS2 14 DS3 16 in-use for 8", /HLD for 5.25-inch (Again the drive-select numbers are shifted to 1-3. Also, the VF II has a 4th drive select, which is not brought out to the 34-pin connector.) So the operation of floppy drives on non-IBM-PC computers, is: turn ALL the drive motors on, then select ONE drive and operate it. The software has to wait for the drive to come up to rotation speed; many drives produce a "ready" signal for that purpose. So - why did IBM create the "twist"? So their controller, with two motor-on and two drive-select signals, could operate two 5.25-inch floppy-drives with both "select" AND "motor" signal pairs; by the same single "drive select" setting on every drive. If you follow the signals, and the twist, you'll see this (with DS1=pin 14 on the drives): IBM controller drive 1 twist drive 2 (end of cable) 10 mot A XXX 16 XXX 12 sel B DS1 14 DS1 14 sel A XXX 12 XXX 16 mot B MOT 10 MOT So the IBM "run A" signals 10 and 12, operate drive 2 (follow the signals). the IBM "run B" signals 12 and 16, run drive 1. Don't get mad at me, this is what the IBM engineers came up with, OK? But it gets worse, for 3.5-inch drives and some later-model 5.25-inch drives. Early 3.5" drives follow the same signaling as 5.25" drives. As with the old 5.25-inch drive, one sets a DS jumper to determine which signal enables which drive. http://bitsavers.org/pdf/panasonic/floppy/MSD871011300_Panasonic_JU-257_Service_Manual.pdf 10 DS0 - to jumpers 12 DS1 - to jumpers 14 DS2 - to jumpers 16 in-use (Pin 6 is a 4th drive select, again ignored for this discussion.) But most later 3.5" drives, produced for use with IBM PC compatibles, don't HAVE jumpers for drive select. They assume the "IBM standard". They nly enable drive select 1 (pin 12). For instance the Sony MPF920Z drive: (the MPF920E does have a jumper). 10 not connected 12 drive select 1 (fixed) 14 not connected 16 motor on Also: some late-model 5.25-inch drives may not have drive-select jumpers except for, again, DS1 (pin 12); and pin 16 for "motor on". So those are the issues of use, for floppy drives, on non-IBM-PC vintage computers. You have to determine how the vintage computer operates drive-select and motor-on. Then you have to examine the drives, to see if drive-selects are available to match what's on the drives, and set jumpers accordingly. And you have to be aware of how motor-on operates. If you have a drive which doesn't allow choice of jumpers, you may have to physically modify its drive-select signal connection, or accept it can only be selected in one way - and avoid conflicts. Details to implement these choices depend on the drives and controllers and their controlling software. Regards, Herb Johnson