15

I have three different IBM PS/2 machines and all of them are in perfect working order—except for the floppy drives. None of the floppy drives will read disks, which means all I can do is key in BASIC programs. This gets old fast, especially for an assembly-language programmer!

I don't have any "spare" PS/2 floppy drives, and even if I did, they would very likely be broken, too! For some reason, these drives just didn't hold up well. And have become extremely scarce in the intervening years.

However, I do have a pile of standard 3.5" floppy drives that work just fine. (Some of them even older than the broken PS/2 drives.) It would be really nice if I could just drop one of these drives in my PS/2s. Unfortunately (and quite ironically), the PS/2 series is not IBM-compatible. Their floppy drives used a card-style "edge" connector that carried both power and data, and plugged directly into a slot on a daughter-board.

The photo on the left shows a front-shot of an OEM PS/2 floppy drive, just like the ones in my machines. The photo on the right is a better shot of the connector on the back.

Front shot of OEM PS/2 floppy drive Close-up of connector on back of OEM PS/2 floppy drive

(Left image courtesy of Tomáš Slavotínek. Right image adapted from original by Dale Mahalko. Both are via Wikipedia, licensed under CC by-SA.)

Is there any way to adapt/convert this proprietary PS/2-specific connector to allow a standard 34-pin PC floppy drive to be plugged in? The data and power are both provided on the PS/2 connector, so there should be a way to build an adapter. Anyone know of a source for a pinout? Better yet, has ever done this before and know that it works?

(Assume both drives have identical capacities, so that once the electrical interface problems were solved, the software should work without a hitch. The PS/2 supported 1.44 MB and 2.88 MB 3.5" floppies, but all of mine are 1.44 MB drives, and that's the same capacity of "standard" drive that I'd want to replace it with.)

  • 2
    Have you already attempted basic repairs on the floppy drives, including lubrication and head cleaning? Do you know for sure they have failed in a way that makes them not easily repairable? – Brian H Jun 30 '17 at 16:38
  • 4
    This thread has some info on modifying a standard floppy cable to work with a PS/2 and standard floppy drive: vcfed.org/forum/archive/index.php/t-25305.html If your PS/2 has ISA slots and a way of disabling the onboard floppy controller you could install an ISA floppy controller and use that. – Ross Ridge Jun 30 '17 at 16:59
  • 2
    The photos arent't really that detailed, but it looks like the piggyback PCB just adapts the standard Shugart-style connector to the PS/2 one. Have you tried to use this with a standard floppy? Additionally, the edge connector looks very much like the one used with 5.25" drives. – Zac67 Jul 2 '17 at 11:34
  • 1
    It is indeed similar to the 5.25" floppy connector, @Zac67, but not the same. Both connectors are 40-pin (the edge connector and the one on the floppy's PCB), because they need to carry power and data. There is not a separate power connector, and indeed, not even a separate power lead coming off of the PS/2's power supply. A standard floppy only has 34 pins because it doesn't need to carry power. – Cody Gray Jul 2 '17 at 11:53
  • 3
    Essentially, the question is, are the first 34 pins of the 40-pin connector the same as the normal PC-compatible 34-pin connector? And if so, what do the other power pins carry? But it looks like I might have found an answer here: vcfed.org/forum/… Still need to investigate this. – Cody Gray Jul 2 '17 at 11:54
4

Disclaimer: I don't have enough experience to know which of these pins, if any, need to be NOTted in the converter. I could not find information about voltage either, so I have ignored it.

Use a multimeter before trying this. Make sure that the test floppy is unimportant and that you disconnect the drive if it is making suspicious noises.

In addition, Giskard42 suggests that "[...] when playing around with an unsure comms protocol, you use a series resistor for everything except power [because] if you have a 1-10k resistor in series with each connection you make, the chance of blowing anything up becomes very low."

Mapping

I am mapping the 40-pin to the 34-pin. The first number will be that of the 40-pin and the second will be that of the 34-pin.

  • 2 → 2
    I suspect that this might need to be NOTted - the 40-pin "High Density Select" description suggests (to me!) that high means high-density but the 34-pin description explicitly states that high means low-density. (If the "on" state is low for the 40-pin then this can be wired up normally.)
  • 8 → 8
    On the 34-pin, low means Index ("on"). However, on pin 34 (disk change) high seems to mean "on".
  • 12 → 14/12
  • 16 → 10/16
    The 34-pin standard supports two drives, distinguished by a twist in the cable.[3] The first number maps to / from drive A, and the second drive B.
  • 18-34 → 18-34
    Everything else seems to match up perfectly, as if one standard was based on the other or both standards were based on the same (other) standard.

Pinouts

Here is the pinout of a 40-pin PS/2 floppy connector:[1]

Pin Signal     Pin Signal
 1  Ground      2  -High Density Select
 3  Reserved    4  Reserved
 5  Ground      6  Reserved
 7  Ground      8  -Index
 9  Ground     10  Reserved
11  Ground     12  -Drive Select
13  Ground     14  Reserved
15  Ground     16  -Motor Enable
17  Ground     18  -Direction In
19  Ground     20  -Step
21  Ground     22  -Write Data
23  Ground     24  -Write Enable
25  Ground     26  -Track 0
27  Ground     28  -Write Protect
29  Ground     30  -Read Data
31  Ground     32  -Head 1 Select
33  Ground     34  -Diskette Change
35  Ground     36  Ground
37  Ground     38  +5VDC
39  Ground     40  +12VDC

Here is the pinout of a 34-pin IBM-PC floppy connector, excluding reserved and ground pins:[2][3]

 2  /REDWC      -->     Density Select 1=Low/0=High
 8  /INDEX      <--     0=Index
10  /MOTEA      -->     0=Motor Enable A
12  /DRVSB      -->     Drive Sel B
14  /DRVSA      -->     Drive Sel A
16  /MOTEB      -->     0=Motor Enable B
18  /DIR        -->     0=Direction
20  /STEP       -->     0=Head Step
22  /WDATE      -->     Write Data
24  /WGATE      -->     Floppy Write Enable, 0=Write Gate
26  /TRK00      <--     0=Track 00
28  /WPT        <--     0=Write Protect
30  /RDATA      <--     Read Data
32  /SIDE1      -->     0=Head Select
34  /DSKCHG     <--     1=Disk Change/0=Ready

All of the odd-numbered pins are ground.[3]

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.