13

I am trying to use some Tandy 1000 drives with a SuperCard Pro and have encountered some anomalies using them as "standard" floppy drives. It appears that with the original (or at least, working and as the machine came to me) jumper settings the motor of the 5.25" drive set as DS0 does not run while everything else does.

That is, when SCP tries to use it the LED of the drive comes on, and the head seeking steppers respond. But the spindle motor does not spin. Some further testing is a bit inclusive but it appears that with the default settings the first drive's motor only comes on when the second (DS1) drive is in use.

My question here is about the floppy drive controller (FDC) on the Tandy 1000 itself: does it have any special behaviors that are relevant to drive selection and the motor enable features? It uses a straight-through/non-twisted cable and so I sort of expected it to fully use the drive selection wires but it seems maybe the drive expects the motor controls to be a little different?

7
  • 2
    The Tandy 1000 technical manual includes a direct copy and paste of Intel's 8272A datasheet (albeit a copy that it marked 'preliminary' in the top right). That's the usual PC chip, with DS0 and DS1 outputs selecting a drive plus HDL indicating 'head load' as a proxy for motor control. Though it's always possible that Tandy does something else odd, like transposing DS0 and DS1, or something like that?
    – Tommy
    Commented Jan 14, 2020 at 17:43
  • 2
    The Tandy 1000 used a straight-through cable (no twist trick), and at least on my machine the drives appear to be jumpered for DS0 and DS1 individually.
    – natevw
    Commented Jan 14, 2020 at 23:58
  • 2
    Apparently though your SuperCard Pro requires a "PC floppy drive", not a "Tandy Drive". You might have better luck setting the drives to DS1 and using a twist cable.
    – user722
    Commented Jan 15, 2020 at 1:18
  • 2
    @RossRidge So…I tried that and it worked! Jumpered both the drives to DS1 and put the 5.25 after the twist and the 3.5 before. The SCP works well with that. (I forgot to try the Tandy 1000 that way though :-/) This is confusing since I thought the twist (superuser.com/a/850086/148918) would swap both the Motor A/B and Select A/B lines. Why wouldn't setting the DS0 jumper on a straight cable have the same effect?
    – natevw
    Commented Jan 16, 2020 at 18:05
  • 2
    The jumper settings on floppy drives are pretty obscure, so maybe the 5.25" drive wasn't really set to DS0 or something?
    – user722
    Commented Jan 16, 2020 at 19:50

1 Answer 1

8

The original Tandy 1000 Service Manual (25-1000) from 1985, on p. 11, gives the relevant part of the floppy pinout as:

J6 — Floppy Disk Interface (Dual 17-Pin Vertical Header)

[...]

10 - DS0*
12 — DS1
14 — NC
16 — MTRON*

[...]

This suggests that the machine is intended to use Shugart-style floppy drives in their original mode of use, where you configure the drive to look at a particular drive select line by setting a jumper on the drive and all the drives use the same shared motor line.

A cursory look around suggests at least some later Tandy 1000 models also shared this pinout.

So drives from a working Tandy 1000 would be configured this way.

In a regular Shugart-style floppy pinout, pin 14 is DS2; here it's not connected presumably because Tandy didn't see a need to provision for a third floppy drive in this type of machine.

The original Shugart setup for floppy drives is different than the IBM PC style "twist" setup referred to in https://superuser.com/a/850086/148918, where the part of the ribbon cable covering pins 10-16 separates and twists 180 degrees between the first set of drive connectors and the second set.

On the IBM PC, the controller uses the lines of its connector this way:

10 - Motor Enable A
12 - Drive Select B
14 - Drive Select A
16 - Motor Enable B

So in a straight through cable Drive B gets the motor line for it as-is on the Shugart motor enable pin and gets the drive select for it on the pin for DS1 (what you configure both the drives for in this setup), and Drive A on the far side of the twist gets these lines flipped around.

What drive A gets:
10 - Motor Enable B
12 - Drive Select A
14 - Drive Select B
16 - Motor Enable A 

Drive A gets its version of motor enable on the Shugart motor enable pin and its drive select on the DS1 pin. The third, unused drive select in the original Shugart setup (DS0) has been repurposed as a motor line for the other drive, to make the "twist" possible.

Judging by how the manual of the Supercard Pro talks about drives, it's expecting a PC-style twist setup:

If there are two sets of connectors, the last set will have “twist” in several of of wires. This is done so that the drive selection can be made by hardware without having to change device ID jumpers on the drive(s). The connector pair closest to the main connector (the one plugged into the SuperCard Pro board) will be Drive 1, and the second (last) pair will be Drive 0.

Because makers of early third party ISA floppy controllers for the IBM PC understandably followed along with the "twist" setup their customers would be expecting, and such third party controllers were also used in PC clones, this became the de facto standard for PC clones, and as PC clones became the most common kind of computer, the vast majority of floppy drives out there in the world one might encounter are configured this way (and might not even be jumperable for a different drive select line). So it's understandable on some level why the makers of the SuperCard Pro decided to expect this.

Ultimately the SuperCard Pro manual does somewhat hesitantly tell us what to do about this sort of situation on the drive side:

The most important jumpers are the drive selection jumpers. These are typically labeled as DS0, DS1, DS2, and DS3. These can also be labeled D1, D2, D3, and D4. Usually, you want your drive select jumper set to DS1(or D2).

You must log in to answer this question.

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