As seems to be usual, my stated plans for Retrochallenge didn’t come to fruition. Several times I’ve planned to do vector graphics stuff, and not done it, so this time I planned to do something else, USB bubble memory. Of course, since this time I did NOT plan to do vector display stuff, I actually did a little bit on that.
Here’s what I accomplished:
- Made some progress on the USB bubble memory firmware. It’s currently a USB composite device implementing both CDC ACM (virtual serial port, for debugging) and MSC (mass storage). Currently the CDC works but I’m bogged down with issues getting the host to properly deal with the MSC side.
- Got an Data Check 5045 (HP 1345A) digital vector display powered up and running. The AMP 1-350241-1 6-pin “Miniature Rectangular” power connector HP specified is no longer made. The TE/AMP web site shows it as having been replaced, but oh-so-conveniently didn’t give any indication of what the replacement is. I found what looked like the right connector in stock at Pleasant View Electronics, just three blocks from where I live; it turned out that it was the right shape but wrong size (too large). Eventually I discovered that the TE/AMP 1-640250-0 socket housing and 641294-1 socket contacts are correct. I wired it to a Mean Well RT-50C triple output switching power supply, and it worked.
- I started writing a disassembler in Python for the Intel 8089 I/O processor last year, but hadn’t completed it. I dusted it off, finished the disassembler, and added an assembler. It’s published as Free Software (GPLv3) on Github.
- The motivation for the 8089 tools is that I wanted to reverse-engineer the Intel iSBC 215 family of Multibus controllers for Winchester disk drives, which uses the 8089 and is found (among other places) in Intel MDS Series II/III/IV development systems. I’ve made some progress reverse-engineering the code, and have put the assembly source code on Github. The assembly source does assemble back into the original binary. I’ve identified some of the global variables and much of the command parsing.