10

The point of the twist was to exchange drive select A and B, so that all floppies could be sold with the drive select jumper in the second slot, and thus their position on the cable would cause them to be drive A or B.

DS A and B are pins 14 and 12 respectively on the cable, so in theory the job could have been done by just cutting a three wire section taking 12 through 14, and twisting that.

Instead they chose to twist 16 through 10, which had the side effect of moving the motor-on line around.

However from first hand experience I know that a single motor-on line for all drives attached, and just the signalling on the drive select lines is enough to work correctly. My old TS 803 CP/M system did it this way, and I believe the Kaypro and Osborne did as well. Probably the Intertec Superbrain too. etc.

Why then did IBM introduce the apparently unnecessary complexity of multiple motor-on lines?

1

1 Answer 1

8

The reason why IBM PC needs to swap also the motor-on wires is that the standard Shugart interface has a single motor-on wire for all drives and IBM PC has a separate motor-on for each drive.

On an IBM PC, here is no single motor-on line but separate motor-on wires for each of the four drives, so that's why both motor-on and drive select needs to be swapped.

According to the Technical Reference Manual, the system power supply is designed with the assumption that only one internal drive A or B motor is active at a time. Same applies for the external drives, only external drive C or D may have motor active at a time.

And that's what the hardware and BIOS firmware does. It has separate motor-on wires for each of the four drives, and you need to control the motor-on to active before you can select the drive.

The four motor-on signals can be driven separately from four bits of the floppy adapter port 0x3F2 and there are 2 bits to select one of the four drives.

So twisting the drive select lines is not enough, you need to twist both the motor-on and drive select wires, so to swap the four wires, at least three additional ground wires between them in the flat cable must be twisted, so seven wires.

The drives used in IBM PC were somewhat configurable. Based on schematics, they could be configured to use a separate motor-on signal, or use the drive select as the motor-on signal.

The separate motor-on allows to use a software timeout when to turn the motor on and off, and BIOS will turn motor off only after a timeout of 2 seconds.

8
  • 1
    No. If you look at the original - pre IBM PC spec, there was only one motor on line: pin 16, Pin 14 was DS A pin 12 was DS B Pin 10 was DS C and Pin 6 was DS D. Chris Stratton's answer to this question: retrocomputing.stackexchange.com/questions/17196/… shows the original Shugart pin assignments, where there was only a single motor on. And as I've noted, that cable was capable of supporting up to four floppies: both controller families of the era: WD 17xx and NEC 765 had the ability to select one of four drives.
    – dgnuff
    Apr 2, 2023 at 9:34
  • @dgnuff You asked how IBM PC did it. IBM PC controls two standard Shugart interface drives the way it wants to, with two motor enables, to allow only one drive motor to be on at a time. The Shugart drives just need to be both strapped as DS on pin 12. So it does not matter how Shugart drives could be used with one motor enable line. IBM PC supported two drives on internal bus and two other drives on external bus.
    – Justme
    Apr 2, 2023 at 9:54
  • The original spec, as in most CP/M machines only used one motor on line, and worked just like the PC in that only one motor spun up at a time. That'
    – dgnuff
    Apr 2, 2023 at 10:16
  • @dgnuff Original Shugart interface did not even have a separate Motor On wire - it was spinning synchronous to 60Hz/50Hz mains AC. Drives can be configured in different modes, for example Amiga drives require that the single Motor On wire status is latched into a D flip flop by Drive Select and memorized to control four motors with single Motor On wire. Drives used in original IBM PC 5150 did not have that flip-flop, motor was directly controlled.
    – Justme
    Apr 2, 2023 at 10:34
  • Did you actually look at the question I cited in my comment? Again, I point you to Chris Stratton's answer, which clearly indicates the presence of a Motor On line in the "pre-IBM" Shugart 34 pin interface. I'm not talking the big 50 pin hookup that Shugart used for the original 8" drives, only the "second gen" interface used for 5.25" and tater 3.5" floppies of the late 19790s and early 1980s era. That had become the norm by the time the IBM PC came out in 1981.
    – dgnuff
    Apr 2, 2023 at 10:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .