Reincarnated Return of the HRRG 4-Bit Computer (Part 1)
Sometimes I wonder whether I’m the only one who has hobby projects that drag on for years, moving back and forth between the metaphorical back-burner and front-burner of my attention span, evolving and transmogrifying as the weeks turn into months and the months turn into years and—in the case of some of my creations—the years turn into decades.
Such has proved to be the case with my Heath Robinson Rube Goldberg (HRRG) computer, which was originally intended to be an 8-bit machine when it was first conceived deep in the mists of time.
This bodacious beauty is named in honor of British cartoonist and illustrator William Heath Robinson (1872-1944) and his American counterpart Reuben Lucius Goldberg (1883-1970). Both of these gentlemen were famed for creating illustrations of cunning contraptions whose goals were to perform seemingly simple tasks, but whose realizations performed said tasks in exceedingly convoluted ways.
This all started when I saw a relay-based computer created by Professor Harry Porter III, who was a lecturer at Portland State University at that time (he may still be there for all I know). (You can learn more about Harry’s machine here.) I loved the sound of the relays clicking, and I also loved the way Harry presented his machine in a series of glass-fronted, wall-mounted wooden cabinets. However, I wasn’t so keen on the bundles of wires linking the cabinets together.
To be honest, I’d had the thought of building a relay computer lurking in the back of my mind for some time. I’d even gone so far as to purchase some secondhand books on creating relay-based logic dating from the 1950s and 1960s. The problem was that, in addition to inspiring me, Harry’s creation also dampened my spirits because I didn’t want to do something that someone else had already done, if you know what I mean.
This is what led me to my original high-level concept of the HRRG Computer, which was to create my machine as a series of glass-fronted, wall-mounted wooden cabinets, like Harry’s, but with each of my cabinets containing a portion of the computer realized in a different implementation technology, including (but not limited to) relays, vacuum tubes, discrete transistors, jelly-bean (7400-series) integrated circuits (ICs), mechanical logic, magnetic logic, pneumatic logic…to name but a few. Also, in keeping with the HRRG philosophy, we would do away with the bundles of cables, implementing any inter-cabinet communications via a wireless mesh network.
I actually put a significant amount of thought into this project, including purchasing various items I planned on using, such as thousands of 1960s teeny-tiny ferromagnetic cores I picked up for a few dollars from somewhere in Eastern Europe (I planned to use these to implement a magnetic logic cabinet along with a magnetic core memory cabinet).
Unfortunately, I’m a bear of little brain, as Pooh Bear might say. Also, I have a short attention span and I’m easily distract…SQUIRREL!!! As a result, my attention wandered on to other projects.
After several years’ hiatus, I was introduced to an engineer named Joe Farr. Joe and I share many interests, including a love of retro computers. Since Joe is so central to the current incarnation of the HRRG, I asked him to send me a few words I could use to introduce him, and he replied as follows:
I’m a keen electronics, computer, and radio amateur. Once I’d finished my (formal) education in the 1980s, I began my career as a computer programmer for Nixdorf Computers located in Manchester, England. After several years, I relocated south (mainly for the better climate), working with leading technology companies on software, hardware, telephony, and mobile data systems. Now, after many years in the freelance world, I’ve settled down in an idyllic country hamlet just outside Cambridge where I tele-commute to my full-time (day) job as a senior software and hardware engineer with the London Ambulance Service.
After more email conversations than I care to consider (this was before video conference calls became the norm), the HRRG had transformed into a 4-bit machine because we thought that would be more fun. Also, we determined that a 4-bit computer would make more sense as an educational tool.
The current concept involves having a system clock cabinet, a CPU cabinet, and a bunch of memory cabinets. The idea is that hobbyists and high school students would be able to build memory cabinets containing as little as one 4-bit word of memory implemented in the technology of their choice, and that these memory cabinets would then talk to the main CPU cabinet.
Even better, as part of this, Joe has created an emulator of the entire system that runs on a PC. This means you can first create a virtual memory cabinet that talks to the virtual CPU, and later create a physical implementation of your cabinet that talks to the virtual CPU (or a physical version of the CPU if you happen to have one).
Just to add a great big dollop of cream onto the top of the metaphorical cake, Joe and I defined our own assembly language, after which Joe whipped up an assembler. As we see in the screenshot above, the assembler itself looks like it’s running on a virtual Sperry Univac Uniscope 200 data terminal.
So, as you can see, Joe and I put a substantial amount of effort into this project, until…SQUIRREL!!! What can I say, we both got distracted with other projects, and a layer of dust started to grow on top of the idea of the HRRG. And then…
Sometime in early 2021 I received an email from an electronics engineer named Nils van den Heuvel who hangs his hat in the Netherlands. Having run across some of my earlier writings on the HRRG 4-bit computer, Nils said he was interested in creating an FPGA-based implementation.
So, Joe, Nils, and your humble narrator started to have weekly meetings. There’s nothing like trying to build something to reveal any holes in your design, and the HRRG was no exception. As a result, we’ve evolved the CPU’s register set and instruction set into something that I really think is really rather tasty. I shall share more on these topics and introduce Nils properly in my next column. In the meantime, as always, I welcome your comments, questions, and suggestions.