« articles

Using a Gotek on an IBM PC 5150

As fun as it can be to live the floppy life, it won't be long before none of them will read anymore, and the 5.25" variety are fading even faster than the 3.5s. Fortunately there's nothing complicated about using a Gotek floppy emulator on virtually any PC (or many other floppy-based machines.)

However, I recently set one up on an absolutely original IBM PC 5150 - not even an XT, just the original 1981 release. There's nothing complicated about this either, but I did find myself with a couple questions I couldn't find immediate answers to online, so here are those answers.

Q: Can I use a Gotek straight out of the box?

A: Probably, but don't. Reflash it.

If you're new to the Gotek, take my word for it: There is a reason that there is virtually no information online about using it with the factory firmware. It is ancient, terrible, and may literally not work. I don't know, I haven't checked; it's so bad I never even tested it after my very first time trying one.

You want the Flashfloppy firmware. It's very easy to install, it just requires that you obtain or create a USB A-A cable and fabricate some fiddly jumpers. It is more than worth the effort, and besides, nobody will give you the time of day if you ask for help with the stock firmware.

HxC is also cool but, in my opinion, weird and unnecessary.

Actually doing the flash process is documented in a million places [archived] so I won't repeat it here. However, the DFuse utility is getting hard to find. Here it is:

Additionally, that article has been updated since the Goteks started using two microcontrollers, so don't make my mistake: The jumper diagram at the top is not correct for the older STM32 versions (of which there are millions out there.) Make sure you scroll down and find the second one, otherwise when you plug into USB absolutely nothing will happen.

Q: How does the Gotek need to be configured?

A: Jumper on JC, jumper on S1.

This is as-stated in the Flashfloppy docs. There is nothing unusual about the 5150 compared to later models.

If you get a 601 on startup, that's a general floppy drive error. Check your cabling and jumpers. If you have a cable with no twist you may need to move the S1 jumper to S0.

Q: What cable should I use?

A: Normal floppy drive cable, turned around backwards.

The Gotek uses a standard 3.5-style 34-pin plug, while the controller in a PC of this era will typically have an edge connector, of the sort used on virtually all 5.25" drives, and a cable that has only edge-connector type plugs. You need to adapt this.

People on forums seem obsessed with various new-make adapters to go from edge to pin. I have no idea why you would order one of those and wait a week when you almost certainly have a bog-standard, common-as-dirt combo floppy cable laying around.

I can't imagine collecting computers - which I'm sure you do, if you have a 5150 - and not having at least four of these cables in a box somewhere. And even if you don't, you can get them on ebay for the same price or less than the adapter, they're useful in more situations, and you won't have a bunch of bare PCB contacts hanging out inside your PC that can short on something. Buy the cable.

These cables are not intended for this purpose. They're supposed to plug into a newer-type, 34-pin floppy header on a motherboard in order to plug in legacy 5.25" drives. However, all ribbon cables are (by definition) wired straight-through, unless the wires are physically swapped (as with the plug on the end of the standard IBM floppy cable.) This means that turning the cable around is certain to work, and does.

Simply plug the edge connector at one end - after the twist - into your controller card, and the 34-pin connector all the way at the other end into your Gotek. Remember that there's a notch in the edge connector. On the Gotek end, make sure the red wire is facing the power connector. You won't hurt anything if you get it backwards, it just won't work.

To reiterate: We are using the two plugs at the extreme ends of the cable, and ignoring all the ones in between.

You will also need a standard full-size to floppy-size power adapter. These can be loosey-goosey, so make absolutely sure you look at the plug to make sure you're matching the rounded corners, otherwise you can plug it in upside down and fry your Gotek and USB drive.

Q: What image formats work?

A: 160k, 360k, and 720k IMG files.

These three formats - even the 720k, which was used on 3.5" disks - use identical signaling and the stock IBM controller will read/write them all. 1.44 and 2.88 require upgrades.

The Flashfloppy supports a bunch of formats, but not IMD, which you'll often come across. You're supposed to be able to convert these; I have not had success with it.

That's it. Footnotes:

Q: What DOS version do you suggest?

A: PC-DOS 2.10 or MS-DOS 3

These are ones I tested. Both worked perfectly. I've heard that PC-DOS 1.0 is primitive, and early MS-DOSes did not come in a readily usable version for the IBM PC.

Q: Which Flight Simulator do you suggest?

A: MSFS 3.

MSFS 1 is ancient and only comes in a "booter" form, which I can't get to boot. MSFS 2 also comes as a booter, which also has weird copy protection, although you can get a fixed version you can run from DOS. However, I was unable to get it to display reasonably on either my Hercules or VGA card.

MSFS 4 might work, but I think it requires quite a few disks or an HDD install, and may run poorly. I can't readily find any example videos.

MSFS 3, on the other hand, is readily available, runs comfortably from two floppies, and worked on all the displays I tested it with.

I couldn't see any performance difference between 2 and 3 when running in CGA mode - they both get about two frames per second. In Hercules mode, 3 gets about one frame per second.

I have a notionally-interesting article about how the dashboard gauges in this game are able to update much faster than the overall screen.

List of Articles