• Please review our updated Terms and Rules here

THE CATHETER PROJECT - data transfusion from PC to S-100 floppy drives


Veteran Member
Apr 24, 2009
Canberra, Australia
I have a pair of Tandon TM-100-2 5.25" floppy drives in my IMS 5000SX S100 machine. These drives are hard to find in Australia so I want to minimise wear and tear on them.

I do almost all CP/M software development or maintenance in the virtual environment of SIMH/AltairZ80 on PCs, so am always needing to move files back and forth between systems. The quickest method, in principle, is to use 22DISK on the PC to write to an IMS-format floppy i.e DSDD, 9-sector skew.

Problem 1 - I only have HD 1.2Mb FDDs available for PC connection, and writing DD format with these drives is a nuisance and unreliable.

Problem 2 - To connect the PC directly to the drives in the S100 machine requires opening the S100 case, unplugging the edge connectors at the drives, and maybe flipping the drive select configuration switches. Drive A config switches can only be reached when the drive is removed from the case. Frequent plug-unplug operations on the edge connectors of the drives is visibly wearing the metal off the fingers of the drive boards.

My solution was to make a port, outside the S100 case, so that I can have the drives connected either to S100 or to PC machines. As a tribute to the seniority of these drives, I call this the Catheter. A target diskette can stay in the drive, while the drive is written or read by either PC or S100. Drive connector fingers are protected, as the plugging operations are done with disposable standard components.

It turned out two elements were needed: the Catheter (which can work with a single drive but not both), and a Drive Select control switch to make both drives accessible to the PC.

Here's how the project was built


The normal layout of the S100 box has the standard flat FDD cable connecting to the controller card by a 34-pin IDC in-line plug. That cable was long enough to lead out through a spare slot in the backplate of the cabinet. A second flat cable could lead from there back to the S100 FDD controller card.

A real engineer would have soldered up a special lead terminating at an IDC header fixed to the backplate. I decided that a "gender bender" double-sided header would serve my purpose and leave all original components unmolested.


The 34-pin gender bender was not hard to make from a couple of standard IDC headers.


I cut a piece of blank perforated circuit board, 3 rows by 17 columns. I drilled the centre row of holes slightly (2mm) so each hole would take 2 standard pins. To get the correct pin-to-pin relationships, the headers need to be in reverse orientation - the even number pins going into each side of the centre row of the board, and the odd number pins in the two outer rows.


The two headers appear offset by one row.


The two outer rows of pins are all GND but need to be connected. I soldered a bare wire up one outer row and down the other outer row, adding a piece of shrink insulation at the point where that GND wire crossed over the centre row of active pins.

I found that the pin pairs in the centre row were all making firm contact just through the pressure of sharing the same hole in the perforated board.

After testing (and photographing) I filled the core of the gender bender with epoxy to fix and insulate everything.


The standard PC/AT floppy controller assumes all floppy drives to be configured as B, and it identifies A by physically reversing Disk Select and Motor On signals through the twist in the cable between the connectors for B and A drives.

S100 systems use an untwisted cable and test each connected drive for its hardware configuration as Disk0-Disk3.

Therefore, a straight-through connection from PC to a pair of S100-configured drives will only see Disk1 (B), and a cable with twist will only see Disk0 (A). I sought and received good advice on this in a forum thread in the hardware support topic area - thanks Chuck and MikeS!

It seems there are variations between different PC controllers and/or PC BIOS versions as to how FDDs are identified in different operations. Some cable options worked for low-level access (eg IMD) but not for BIOS operations (eg 22DISK).

After trying different cable configurations, I decided that the most practical solution was to use the standard PC FDD cable, complete with twist, and to export the Tandon Disk Select jumper pins of both drives to a switch outside the cabinet.


There's very little headroom between one Tandon's jumper socket and a drive mounted above it, so I cut down standard PCB header pins as short as possible and soldered pin connections for the 3 wires per drive. A spare sound-card connector with 4-pin header sockets at both ends, cut in half, gave me two convenient plugs at the other ends of these wires. With more header pins, these were mated to a 10pin IDC plug on a bit of rainbow cable. Fumblers like me do as little soldering as possible.


At the other end of the rainbow, a DPDT switch reverses the Disk Select identities A to B and vice versa.


Now I can plug any PC Floppy controller cable into the Catheter to use IMD for drive imaging or analysis, and 22Disk for data read and write in CP/M disk format, on either disk A or B. Without opening the S100 case or plugging or configuring the drives. Of course, the PC has to have a BIOS old enough to recognise 5.25" drives.

Below is a 22DISK session in progress with the S100 system's diskettes driven from a utility PC. The S100 FDC connector strap is hanging loose near the catheter.


As a bonus, while in S100 mode, I can use the external select switch to swap disk drive identities. This will be handy if I get a boot fail or other read/write fail on A and want to check whether the problem is specific to the physical drive, before diving into the hardware. The switch is poking out of a spare DB25 aperture near top left of the picture below.