Building custom boards for retro PCs

In my last post I went through the process of bringing an old 286/12 back to life. At the end of that post, I left off with the machine unable to boot from it’s own hard disk. This meant I would need to find another way to allow an old machine like this to boot from more modern media. Thankfully I found a solution in an open source hardware kit called the XT-IDE. The XT-IDE kit is a very simple 8-bit ISA hard disk controller for IDE drives that coupled with some firmware allows XT/AT & clone computers to boot from larger drives. Since this board is only a hard disk controller, I would also need a floppy controller. (more on that later) I ordered up a kit and when it arrived, I immediately tore into the package and built it up.

This being the 4th revision of the board, it was an incredibly well polished design. I did actually have to add some pin headers for the jumpers which were not included with the kit, so just keep that in mind if you build one of these. I read over the instructions for assembly just to be sure, but the board has such a nice silkscreen it almost isn’t necessary. Assembly went relatively quickly with the board completed in about 1.5hrs.

With the board assembly complete, I put it under a crafting lamp with a magnifying glass and inspected all of the solder joints to look for any bridges and touched up anything that didn’t look quite good enough. After that, it was time for the moment of truth. I plugged it into the 286, connected up the hard disk and it actually booted into DOS from the hard drive! For this test, I had actually kept the multi-i/o board installed, but with the IDE section disabled. (just in case I needed the floppy)

Speaking of floppy disks… I didn’t want to keep the multi-i/o controller in the 286 as I planned to return it to the 486SLC where it belongs. (and it’s my only surviving multi-i/o board of this type) Having had so much success with the XT-IDE and given the prices of original floppy controllers from this era, I decided to see if there was another open source controller option for floppy disks. Sure enough, I found that someone named Sergey Kiselev had designed just such a board. I ordered a complete kit from eBay and built it up with the same enthusiasm as the XT-IDE.

This kit was based primarily on a pair of PLCC chips and was a more compact design than the XT-IDE. This made assembly a bit more difficult as there were more connections closer together. I initially tacked the parts in place by soldering just 2 connections each and then went back later to fill in all of the rest. The sockets that came with this kit were the cheaper single-wipe type. I don’t mind these for the smaller DIP chips, but I replaced the one for the ROM with a nicer round hole socket that I had on hand. I also made a small mistake you can see above in that I forgot to socket the larger crystal oscillator, so it’s permanently on the board.

Overall, I’m pretty happy with how the Floppy/Serial controller turned out. I did end up having to change the configuration to make this card play nice with the XT-IDE, but thankfully this is well documented online. All of the chips fit in their sockets really well and the board aligns decently with the ISA slots on the motherboard.

I added a Teac 1.2mb floppy drive (also from eBay) to this system for additional authenticity. (and also because my existing Matsushita drive is finicky when it comes to reading 360k floppies) The open source controller works great so far and it performs just as you’d expect any other floppy controller to function. I’m not currently using the built-in serial features as the DTK 286/12 motherboard actually includes onboard serial and parallel ports. It was really nice to be able to read some of my older floppies that were previously unreadable. At some point I’ll have to see if I can source some DS/HD floppy disks to format at 1.2mb as I never really tried them as a kid. I pretty much jumped straight from 360k floppies to 1.44m 3.5in disks.

These were both fun little projects that made my DTK 286 restoration project complete. If you’re in the process of bringing an old XT or AT machine back from the dead and have similar needs, I highly recommend these kits as they’re inexpensive, fun to make and work really well.

DTK 286/12 board repair and restoration

I’ve been on a bit of a retro restoration kick lately and decided to take a look at a couple of motherboards I’d saved from my childhood. The boards were from my first 2 PCs, an XT clone and an AT clone. At some point towards the end of college, I was running out of space to keep the older computers I had collected to that point. Rather than give up my first machines entirely, I decided to strip them down and save the core parts and interesting bits that still worked and trash the rest. (something I now regret as these parts have become quite rare and expensive)

Fast forward a few decades… these parts have been sitting, stored in the attic and the room over my garage. Interested to see if they still worked, I pulled the motherboards out of their anti-static bags only to discover a horror common to many retro computer enthusiasts. A CMOS battery had leaked and corroded a small, but important section of the board. Back in the old days of IBM-compatible PCs, manufacturers used to include a rechargeable 3.6v battery, (typically Ni-Cd) soldered to the board. These were great and often lasted well beyond the design life of the system, however they became a liability later in storage.

Sadly, I didn’t think to take pictures of the damage when I discovered it, but moved to quickly get rid of the old leaky battery and proceeded to clean up the board with isopropyl alcohol. The acid crystals and much of the corrosion came off of the board, but what became obvious was that a lot of damage had been done. During the time that acid was sitting on these components, it was eating through the metal contacts and traces of the board and its components. This included several sets of jumper pins, a large 40-pin socketed DIP chip, a 1″ PLCC socketed chip and other associated logic chips.

The 40-pin DIP socket was closest to the battery and took the most damage with several of it’s pins and sockets completely disintegrating when I tried to clean them up. Most of the jumper pins cleaned up with a fiberglass brush and I was able to leave them in the board. (though I did have to replace all of the jumpers as they were too far gone) The next big worry was the PLCC chip and its socket as well as a few of the logic chips under it. One of the logic chips was pretty badly corroded, but stayed intact when I cleaned it. I cleaned up the contacts as much as possible with the fiberglass pen and attempted to flow some new leaded solder into the vias in the hopes it would help. Thankfully continuity tests revealed it was making contact, but I really didn’t know how much material was left inside or if it would be enough for the chip to function. This is a common source of problems for systems based on TTL logic where corroded traces can cause too much resistance and won’t allow a line to be driven high. Adrian Black recently detailed a similar issue while working on a much older TRS-80 Model III. (see his reaction at 40:15 when he realizes it was just a corroded ribbon cable)

The PLCC socket turned out to be less of an issue that I’d thought. While it did have some corrosion, it seemed to be mostly be on the surface. A good wash down with IPA, scrubbing and some contact cleaner got the socket looking much better. The fiberglass pen cleaned up the contacts on the chip and it slotted back into the socket perfectly. After replacing the bad DIP socket and a few more clean-ups and re-soldering of components and I was ready to try powering it up. Unsurprisingly it didn’t work the first time. I cleaned out some additional surface corrosion I found in some of the ISA slots, reseated a few chips and tried again. At first, it didn’t seem like anything was happening. I tried reseating the VGA card and tried again and amazingly the 286 POSTed!

Testing the mainboard
First POST

I ended up evicting my old 486SLC-33 from the case seen above and installed the DTK motherboard into it. I also initially borrowed a more modern multi-io controller from the same system, but quickly realized this wasn’t ideal. The BIOS for this machine, while quite advanced for the time, had a hard-coded list of supported hard disk types with specific sector/track layouts. (this was actually common on motherboards up through the 386 era and even early 486 systems.) While I could pick a similar track/sector layout and read from an IDE hard drive, I wouldn’t be able to boot from one. (and it would be risky to attempt to write to it) Sadly the original 20MiB MFM hard disk and controller that was originally attached to the 286 had long been discarded. The smallest functioning hard disk I had was a 500MiB Connor drive from the 486 era. (also donated from the 486SLC) I would continue to solve these problems and others, but that’s a story for another time. The board worked and was able to boot from a floppy disk and read a DOS-formatted hard disk. The resurrection of the 286 was a success!

Car Updates 2022

The past year has been an interesting ride for sure. While I didn’t get to race at all, I did manage to attend a few track days at the beginning of the year, even though the MINI needed a new clutch. In my last (car-related) post I bid farewell to our old E39, but I didn’t mention what had replaced it.

Originally I was trying to find another 5-series as I had really enjoyed the comfort of the E39. (it’s still the most comfortable car I’ve ever driven) I looked around at used F10 and F90 550 and M5 models, but was warned about the engines by my mechanic.

I sat down and thought about what it was that I really wanted and it came down to a few things: sporty, manual transmission, (no flappy paddles) decent horsepower and comfortable.

I looked at a lot of cars online for a little over a year, but eventually I started to settle on either BMW or Porsche. On the Porsche side, I’ve always loved the Cayman. Having never driven a mid-engine sports car this was definitely an interesting choice. However after scouring the internet for months, I realized that Porsches hold their value far too well. I would need to settle for a significantly older model to afford one and it would also be significantly less practical as a 2-seater.

Swinging back to the BMW side, I decided that if I was going this way, I wanted a M car. One day I stumbled on a listing for a 2016 M4 in Yas Marina blue with decent miles and seemingly in great condition. As a number of cars had already slipped through my fingers, I didn’t get my hopes up, but to my surprise the car was still available the following Saturday. I set an appointment with the dealer that was about a 3hr drive away, cleaned out the E39 and drove up with the family.

Everything went well, the car checked out (I even brought my BMW scan tools to verify) and I ended up trading the E39 for it that day.

My F82 M4

Over the last year, I’ve really enjoyed having this as my daily driver. It’s admittedly a lot of car for that role and I’m sure some would wonder why I’d choose it. However, I’ve always thought that cars were meant to be driven, not to be collectors items. This M4 is about as close to my goal as I could achieve. It’s probably the last generation of fully manual gasoline-powered M model that BMW will produce and far more attractive than the current model. I want to enjoy this last era of full manual, dinosaur-burning muscle before they’re all gone and we’re relegated to driving (or being driven by) a computer on wheels.