The 34-pin floppy interface originated with Shugart Associates’ SA400 Minifloppy drive (introduced circa 1976–1978) and became the de facto standard for 5.25-inch floppy drives in the PC era. The connector is a PCB card-edge type with 34 conductors arranged as paired rows; adjacent pin pairs share a ground return, so the table below lists signals as paired rows (e.g. 1-2, 3-4). All signal lines are active-LOW open-collector TTL: a TRUE (asserted) state is 0.0–0.4 V sinking up to 48 mA, whilst a FALSE (deasserted) state floats to +2.5–+5.25 V. The interface is not defined by any ANSI standard; it is a de facto industry convention derived directly from Shugart Associates’ OEM documentation.
| Pin | Signal | Description |
|---|---|---|
| 1-2 | Clamp | Connector Clamp |
| 3-4 | Spare | |
| 5-6 | NDS3 | Select 3 |
| 7-8 | NINDEX/SECTOR | Index |
| 9-10 | NDS0 | Select 0 |
| 11-12 | NDS1 | Select 1 |
| 13-14 | NDS2 | Select 2 |
| 15-16 | NMOTORON | Drive Motor Enable |
| 17-18 | DIR | Direction |
| 19-20 | NSTEP | Step |
| 21-22 | NWRITEDATA | Write Data |
| 23-24 | NWRITEGATE | Write gate |
| 25-26 | NTRK00 | Track 00 |
| 27-28 | NWRITEPROTECT | Write Protect |
| 29-30 | NREADDATA | Read Data |
| 31-32 | NSLIDESELECT | Side Select |
| 33-34 | CLAMP | Connector Clamp |
Notes
- The connector is a 34-pin PCB card-edge (edge-card) type; the keying slot is located between pins 4 and 6 of the original SA400 connector (per Shugart OEM documentation).
- Pin pairs are listed because each pair shares a ground return — the odd pin of each pair is ground and the even pin carries the signal in the standard Shugart convention; this page uses the card-edge paired-pin numbering.
- Input signals (controller to drive) are terminated by a 150-ohm resistor pack on the drive. Only the last drive on a multi-drive cable should be terminated; intermediate drives should have their termination resistor pack removed.
- The MOTOR ON signal requires a minimum one-second delay after assertion before the drive may perform read or write operations (per Shugart SA400 OEM manual).
- Drive address is selected by shorting one of the DS0–DS3 (or DS1–DS4 depending on drive variant) jumper positions on the drive PCB.
- Recommended cable: AMP twisted-pair #26 (583717-5) or 3M Scotchflex flat ribbon cable (3463-0001); maximum cable length is 10 feet (approximately 3 metres).
- The IBM PC floppy cable incorporates a twist on pins 10–16, which swaps the Drive Select and Motor Enable lines; this allows all drives to be jumpered as DS1 whilst the controller identifies the twisted-end drive as A: and the straight-through connector drive as B:.
- Pin 2 function varies by drive era and model: originally used as Head Load or In Use on early SA400 drives; later reassigned to Density Select (High-Density Select, /REDWC) on high-density drives for the PC bus.
- Power is supplied via a separate 4-pin AMP Mate-N-Lok connector (J2/P2) providing +12 VDC (1.80 A max) and +5 VDC (0.70 A max); power is not carried on the 34-pin signal connector.
Signals
- Clamp — mechanical connector clamp rows at each end of the card-edge connector (pins 1-2 and 33-34); not signal-carrying.
- NDS0–NDS3 — active-LOW Drive Select lines (inputs to drive); assert the appropriate line to address that drive unit. Only one drive select may be active at a time. The SA400L uses DS1–DS4 designations (pins 8, 10, 12 on the 34-pin PCB edge card in SA400L OEM numbering), but this table uses DS0–DS3 per the card-edge paired-pin convention.
- NINDEX/SECTOR — active-LOW output from drive to controller; pulses once per revolution to indicate the start of track (index hole); used for sector timing.
- NMOTORON — active-LOW input to drive; commands the spindle motor to spin. A one-second stabilisation delay is required after assertion before read or write operations may proceed.
- DIR — Direction Select; input to drive; LOW = step head inward (towards higher track numbers), HIGH = step head outward (towards track 00).
- NSTEP — active-LOW Step pulse input to drive; each falling edge moves the read/write head one track in the direction set by DIR.
- NWRITEDATA — active-LOW Write Data input to drive; carries the serial flux-transition data stream to be written to the media.
- NWRITEGATE — active-LOW Write Gate input to drive; enables the write circuitry. Must be asserted before NWRITEDATA is valid.
- NTRK00 — active-LOW Track 00 output from drive to controller; asserted when the read/write head is positioned at track 0 (outermost track).
- NWRITEPROTECT — active-LOW Write Protect output from drive to controller; asserted when the inserted diskette has its write-protect notch covered (write protected).
- NREADDATA — active-LOW Read Data output from drive to controller; carries the serial flux-transition data stream read from the media.
- NSLIDESELECT — active-LOW Side Select (Head Select) input to drive; selects the upper or lower read/write head on double-sided drives. LOW typically selects side 1 (bottom head); HIGH selects side 0 (top head).