Gravis Ultrasad

« Making the FD-505 floppy drive work »

Posted on 02 August 2018 14:08 in Hardware
Last updated on 03 August 2018 08:08
floppies msdos pc

I recently had the devil of a time trying to get a 5.25" floppy drive to work in my late-model Pentium 3 Dell, so here's some notes on That.

The machine I do my DOS'ing on is a Dell XPS T450:

 This machine came out in about 1999 and was intended for use with Windows 98. At this point in time computers were trending hard away from multiple floppy drives - dual CD-ROMs was not unheard of, which explains the second 5.25" bay along with the one filled by the stock CD-ROM, and the two 3.5" bays would be for a tape drive and... okay, I admit I can't figure out what they intended. It can't be a second floppy drive because this machine doesn't have a second FDD controller. Maybe a tape drive and a zip disk?

The BIOS only has a single floppy controller entry and the machine came with a stubby FDD cable with only one plug on the end. So running two disk drives on this machine is impossible. This makes sense because that was mostly an 80s thing - in the late eighties you needed two drives so COMMAND.COM could live on the first while you worked with data or an application on the second. In the mid-eighties though, you needed two FDD controllers because you needed to read both 3.5" and 5.25" disks.

What I used to believe was that 5.25" drives were all recognized by the PC BIOS as B:, because every single 5.25" drive I had back in the 90s was, even if there was no A: drive. What was really going on is that the 5.25" drive was below the 3.5" drive in all the machines I ever did this on, so it always got the connector before the twist:

The twist flips the drive and motor select wires. So, in theory, all floppy drives think they're the only drive, and when the BIOS hits the lines for B, the drive at that position gets the signal as if it were A. My 5.25" drives were always in the middle, so they were always effectively B.

So what do you do on a system without a second controller? Well, in theory you just plug in the last connector, and that's that. But that didn't work for me, and I spent several frustrated weeks trying to figure out why.

To make a long story short: The cable I was working with was an unusual type that didn't have a edge connector on the end, only in the middle. I guess they wanted to save money and figured nobody ever put that drive on A:. So the drives I was hooking up were all getting assigned as B, which this computer doesn't have connected to anything.

A friend informed me that floppy drives actually have jumpers and can be pinned for A or B. I found this was true and experimented with it, but for reasons explained later (BIOS disk type detection) I failed to get this working, otherwise the story would end here.

This all would have been much simpler if not for the introduction of an externality, the TEAC FD-505 combo drive, which I switched to in frustration after neither of my plain 5.25" drives worked. This is a combination 5.25" and 3.5" drive:

You'd think this is just two drives in a trenchcoat, but no, they did some shit. Instead of having separate connectors for the two disks on the back, this one has one 34-pin connector for both:

The drive and motor select lines are wired to the two separate drives and when the computer requests drive 1 it hits the 3.5" and when it requests drive 2 it hits the 5.25". Clever except, once again, the 5.25" is in position 2 and useless on this machine.

Unsurprisingly this drive does have selection jumpers, but they were confusing as hell.

There's a block of 12 pins with four jumpers, not at all clearly labeled. Finding the docs on this drive was tough and I didn't understand them once I found them, so here's the datasheet that comes up when you google this drive, absolutely useless, and here's the jumper diagram someone scrounged up on a forum, which is barely better but still absolutely useless, especially because the diagrams for this drive are, I believe, simply wrong. Someone at TEAC typoed them.

What I found that helped in the end was a dusty Usenet post transcribed onto some kind of web forum, which I've replicated here, in which someone with the opposite problem made a passable ASCII map of their jumper positions. With this in hand at last, I replicated it on the FD-505, and got... no joy.

I was pretty sure I'd gotten it right, but every time I started the machine up it would do the same thing it always did, complain about something along the lines of, "Drive type set incorrectly." This had been going on for days with every drive and every setting I tried - the BIOS offers just 360K and 1.2M, which are indeed the only sizes, and both gave this error. Finally I threw up my hands, booted to DOS, typed in A:, and the goddamn thing worked.

Why is the BIOS giving this error? I have no idea. I probably had this setup working two weeks earlier than I thought, and just never tried ignoring the error and trying to index a disk anyway. On top of that, I think I was using a test disk that had actually gone bad. So this whole ordeal was extremely unpleasant, and I wanted to not forget how I resolved it and hopefully help someone else in the same boat. Good luck with this stupid bullshit!

View/Add comments (Warning: provided by Disqus and may include ads! Hidden for your safety!)