The PC internal floppy drive interface is a 34-pin dual-row IDC header (or card-edge equivalent on older controllers) derived from the Shugart Associates SA400 bus of the mid-1970s. All odd-numbered pins are ground returns; even-numbered pins carry active-LOW, open-collector TTL signals, with logical TRUE asserted at 0.0–0.4 V and FALSE deasserted at +2.5–+5.25 V. The interface is a de facto industry standard rather than a formally ratified ANSI specification — Shugart’s own OEM manuals cite no ANSI document number. Maximum recommended cable length is 10 feet; termination with 150-ohm pull-up resistors is required at the last drive on any multi-drop cable.
34 PIN IDC MALE at the computer and diskdrives
| Pin | Name | Dir | Description |
|---|---|---|---|
| 1 | GND | - | Ground |
| 2 | /REDWC | OUT | Density Select |
| 3 | GND | - | Ground |
| 4 | n/c | - | Reserved |
| 5 | GND | - | Ground |
| 6 | n/c | - | Reserved |
| 7 | GND | - | Ground |
| 8 | /INDEX | IN | Index |
| 9 | GND | - | Ground |
| 10 | /MOTEA | OUT | Motor Enable A |
| 11 | GND | - | Ground |
| 12 | /DRVSB | OUT | Drive Sel B |
| 13 | GND | - | Ground |
| 14 | /DRVSA | OUT | Drive Sel A |
| 15 | GND | - | Ground |
| 16 | /MOTEB | OUT | Motor Enable B |
| 17 | RES | - | Reserved |
| 18 | /DIR | OUT | Direction |
| 19 | GND | - | Ground |
| 20 | /STEP | OUT | Step |
| 21 | GND | - | Ground |
| 22 | /WDATE | OUT | Write Data |
| 23 | GND | - | Ground |
| 24 | /WGATE | OUT | Floppy Write Enable |
| 25 | GND | - | Ground |
| 26 | /TRK00 | IN | Track 0 |
| 27 | RES | - | Reserved |
| 28 | /WPT | IN | Write Protect |
| 29 | GND | - | Ground |
| 30 | /RDATA | IN | Read Data |
| 31 | GND | - | Ground |
| 32 | /SIDE1 | OUT | Head Select |
| 33 | GND | - | Ground |
| 34 | /DSKCHG | OUT | Disk Change |
Notes
- Direction is Computer relative Diskdrive (OUT = controller→drive; IN = drive→controller)
- All odd pins are GND, Ground
- Can be an Edge-connector on old PCs; keying slot is located between pins 4–6 and 2–3 to prevent reversed insertion
- The standard PC ribbon cable carries a twist that transposes pins 10–16, allowing all drives to be jumpered as Drive Select 1 while the controller addresses the twisted-end connector as drive A: and the straight-through connector as drive B:
- Pin 2 (/REDWC, Density Select) function varies by era: originally Head Load or In Use on early SA400 drives, later reassigned to High-Density Select on 1.2 MB and 1.44 MB drives
- Pin 4 is reserved (no connection) on most PC controllers but carries Drive Type ID1 on IBM PS/2 media-sense variants
- Pin 17 (RES) is reserved on standard PC drives; on IBM PS/2 media-sense and Sun SPARCstation 34-pin variants it carries a media-type or media-sense signal (MSEN1)
- Pin 34 (/DSKCHG) function varies by drive and era: DRIVE SELECT 4 on original SA400, later READY or DISK CHANGE depending on manufacturer
- Input signals (/REDWC, /MOTEA, /DRVSB, /DRVSA, /MOTEB, /DIR, /STEP, /WDATE, /WGATE, /SIDE1, /DSKCHG) are terminated with a 150-ohm resistor pack; only the last drive on a multi-drive bus should be terminated
- Power is supplied via a separate 4-pin AMP Mate-N-Lok connector (+12 VDC and +5 VDC); it is not carried on the 34-pin signal connector
Signals
- /REDWC — Density Select (Reduced Write Current); OUT from controller; selects high-density mode on capable drives; on early SA400 drives this pin was Head Load or In Use
- /INDEX — Index pulse output; IN from drive; one pulse per revolution marks the start of track sector 0
- /MOTEA — Motor Enable A; OUT from controller; activates the spindle motor on the drive connected at the twisted end of a PC cable (drive A:)
- /DRVSB — Drive Select B; OUT from controller; selects the drive on the straight-through cable connector (drive B: with a twisted cable)
- /DRVSA — Drive Select A; OUT from controller; selects the drive on the twisted cable connector (drive A: with a twisted cable)
- /MOTEB — Motor Enable B; OUT from controller; activates the spindle motor on the straight-through connector drive (drive B:)
- RES — Reserved; not driven on standard PC drives; carries media-sense signals (MSEN1) on IBM PS/2 and Sun SPARCstation variants
- /DIR — Direction Select; OUT from controller; determines head step direction (LOW = step towards centre/track 0; HIGH = step away)
- /STEP — Step; OUT from controller; each LOW pulse moves the read/write head one track in the direction set by /DIR
- /WDATE — Write Data; OUT from controller; serial write data stream encoded for the selected density
- /WGATE — Write Enable (Write Gate); OUT from controller; enables the write amplifier; must be asserted together with /WDATE during write operations
- /TRK00 — Track 0; IN from drive; asserted LOW when the read/write head is positioned at track 0 (outermost track)
- /WPT — Write Protect; IN from drive; asserted LOW when the inserted media is write-protected
- /RDATA — Read Data; IN from drive; serial data stream read from the media
- /SIDE1 — Head Select (Side 1); OUT from controller; selects the upper head (side 1) on double-sided drives; LOW = side 1, HIGH = side 0
- /DSKCHG — Disk Change; OUT convention per table but functionally IN from drive on most implementations; asserted when the drive door has been opened since the last disk access; function varies by drive era (see Notes)