Retro Hardware Youtubers… stop opening hard drives!

Being a child of the 70’s and retro computer enthusiast, one of the things that I learned early in my computer technology journey was just how high precision hard disk drive (HDD) technology was and why you should never attempt to take one apart. (if you want it to continue working anyway)

An HDD works by hovering a tiny set of magnetic coils (the read/write head) over the surface of a spinning disc coated in iron oxide. For this to work effectively, the head needs to be positioned extremely close to the surface of the disc. Back in the 1960s when these devices were a relatively new invention, the discs and heads were quite large, but the gap between them was a relatively tiny 6 microns! (that’s 6 micrometers, or 6 thousandths of a millimeter!) Today that gap is an order of magnitude smaller at just 5nm! (5 nanometers, or 5 thousandths of a micrometer!) To put into perspective just how small that is, a strand of DNA molecules is just 2.5nm in diameter or half the distance a modern hard drive’s head floats above the surface of a disk spinning at between 5,000 and 10,000 RPM for typical applications today. That takes an incredible degree of engineering and manufacturing precision.

You may wonder how it is that the head stays in perfect alignment just above the surface of the disk platter? The secret is air. As the disc spins it flings the air molecules inside the drive in the direction of rotation and this in turn creates a cushion of air molecules the head(s) float on without actually touching the disc itself. This effect has a drawback though, it requires a completely pristine environment free from any particles of debris such as dust or other contaminants. This is the reason hard drives come as a brick-shaped metal enclosure sealed with multiple screws, both to protect the sensitive internal mechanism and to keep out contaminants.

This leads to why it bothers me so much to see youtubers taking older drives apart, often just to check the mechanisms are in good working condition. The problem is that even if you manage not to break anything, you’re still corrupting the environment by breaking the seal and introducing dust into the formerly pristine environment of the drive’s internal mechanism. The average dust particle is only about 5 microns or so, but that’s plenty big enough to crash the heads of these older drives from the 1980s and early ’90s which typically floated their heads at about 70nm from the surface of the disc. Even a 1 micron dust particle would be massive by comparison at 1000nm, more than enough to knock the head off it’s cushion and slam it into the surface of the disc. A head crash can cause serious physical damage to the both the magnetic coating of the disc and to the read/write heads. Each instance creates more debris and spots on the disc where data is no longer readable.

So, with all that said, if you’re a retro hardware enthusiast, please think twice before taking apart that old boat anchor of a hard drive before determining if it works or not. It’s not like there are a ton of working examples out there in the first place. We should preserve those that may still work instead of just assuming they’re all trash.

Trash to treasure

After repairing my 486SLC-33 motherboard, I’d been thinking about fully re-creating my first 486 machine (mostly) as it was when new. I still have the case and most of the original hardware, but I wanted another ISA VGA card so I wouldn’t have to give up the one I use for testing on other projects. Due to a mistake on my part while price shopping, I ended up ordering a somewhat rare and desirable one, but which was listed as scrap. Had I noticed that, I would have ordered one of the others with a slightly higher price. All I saw was that it was a Tseng ET4000AX powered Diamond Speedstar Plus and I was sold. This was one of the better ISA cards of the era and I wanted it in my restoration build.

Damaged ET4000AX chip

When the card arrived, I unwrapped it and it looked ok at first. Then I noticed something odd with the main chip and looked closer… something had impacted one of the rows of pins (likely the edge of another card) and crushed them in against one another. Maybe they aren’t touching I thought. I popped it into my 486 board and powered it up, but to my dismay, the card didn’t work right. After realizing my mistake, I decided I was going to try and fix the card. I got to work with some small

needles and thin-bladed tools and gently started working my way in-between the crushed pins. I was able to separate them all from each other, but ended up ripping two of them off the pads in the process. The first was an easy fix with the soldering iron… the second one, not so much. The second one to rip off the pads was badly bent and fearing that it would break if I handled it too much, I just bent it up and over the chip package.

I wondered if maybe this pin wasn’t used because it didn’t seem to connect to anything. (little did I know it actually bent backwards and linked up to a trace underneath the chip) I plugged the card in, only to find that while it did show video now, it was flashing and glitching. This was going to be more challenging than I thought.

Thankfully I’d experimented previously with bodge wires to fix broken traces that had either been damaged or corroded away. There was just enough of a trace visible at the edge of the chip that I might be able to solder something to it with a fine point tip. I exposed the copper edge of the trace and prepared a bodge wire with some solder. After a few tries I managed to connect the wire to the trace and then soldered the other end onto the pin that had been bent up and over the body of the chip. After protecting it with some Kapton tape, I plugged it into the board, and still nothing. Bummer, I thought… this thing is toast.

Never one to give up, I came back and looked up any information available on the card. I’d been playing with it and had noticed that it would work when I was in the BIOS, but if I tried to let it boot, it would lock up the machine. I noticed that the default setting enabled a “Turbo” mode. Maybe this was too advanced for my my machine? I flipped the appropriate DIP switches,

My repaired Diamond Speedstar Plus, ISA VGA card

and what do you know… it worked like a champ! I’ve since put a few hours of run time on it and it’s been rock solid. It may not look as good as new, but it works and will do the job I intended it to.

Homebrew floppy controller repair – part 2

After my previous efforts to clean up the board were successful and the floppy controller started working again, I thought I’d solved the problem. What a simple fix I thought. (it wasn’t a simple fix) A week later, I sat down to test out my new gen 2 GoTek floppy emulator and was having all sorts of trouble in the form of hangs and parity errors. I hadn’t seen this before, so at first I assumed I had a broken or misconfigured GoTek. I did some detailed troubleshooting and couldn’t find anything that helped, so I took out the GoTek and put a real 1.44M drive in its place. To my surprise, I was getting the same behavior. Great, the controller went bad again.

I re-checked everything on the controller, from the individual traces, to inspecting each chip and socket and making sure everything was making good contact. Stumped, I started looking around for anything that didn’t seem quite right and noticed the Ti logo on the 2 74LS138 encoder/decoder ICs didn’t look quite right. It was also super obvious because there was a legit Ti chip right next to them with a logo that wasn’t warped. Great, these must be counterfeit chips I thought. Off to ebay I went and ordered some vintage Motorola chips for a few bucks. What I really should have done was just test the chips.

Long story short, the replacement 74LS138 chips didn’t solve the issue either. Strange I thought, what else connects to the ISA bus that could be causing this?

Then it finally hit me… This controller also has a serial UART with an external connection. It also has a multiple driver/receiver IC that sits inline. I don’t really use the serial port right now, so I just pulled those 2 chips and amazingly everything worked perfectly.

SK Floppy/Serial board running without the UART
Original Exar ST16c550

I’m guessing that the UART went bad, or there’s an internal fault in the driver IC. (which my tester doesn’t support of course) I’m just glad that it works, because now I can get back to playing with the XT clone board I’ve been restoring! (**update: it was the 16550 UART that was to blame. Ordered a replacement chip from TI that will hopefully be more reliable.)