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.
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.)