Homebrew ROM Reader Saves Data From A Vintage Minicomputer

Have you ever heard of a Centurion minicomputer? If not, don’t feel bad — we hadn’t either, until [David Lovett] stumbled upon a semi-complete version of the 1980-ish mini in all its wood-trimmed, dust-encased glory. And what does a hacker do with such an acquisition but attempt to get it going again?

Of course, getting a machine from the Reagan administration running is not without its risks, including the chance of losing whatever is on the machine’s many ROM chips forever. When finding a commercial ROM reader supporting the various chips proved difficult, [David] decided to build his own. The work was eased considerably by the fact that he had managed to read one chip in a commercial reader, giving him a baseline to compare his circuit against. The hardware is straightforward — a 12-bit counter built from a trio of cascaded 74LS161s to step through addresses, plus an Arduino Nano to provide clock pulses and to read the data out to the serial port.

The circuit gave the same results as the known good read, meaning results would be valid for the rest of the chips. The breadboard setup made supporting multiple ROM pinouts easy, even for the chips that take -9 volts. What exactly the data on the ROMs mean, if anything, remains a mystery, but at least it’s backed up now.

Before anyone notes the obvious, yes, [David] could have used a 555 to clock the reader — perhaps even this one. We’d actually have loved that, but we get it — sometimes you just need to throw an Arduino at a job and be done with it.

23 thoughts on “Homebrew ROM Reader Saves Data From A Vintage Minicomputer

    1. What do you mean by Arduino?
      – The IDE (which is not a proper IDE at all)?
      – The absolute crap of software library which is like a collection of worst design decisions?
      – The absolutely dissimilar mix of MCUs on radically different architectures? (AVR vs ARM)
      – Or Arduino FPGA board like https://store.arduino.cc/arduino-mkr-vidor-4000 ?

      I hate all things Arduino but I honestly never know what people means by Arduino! I’ve seen using Arduino library on non-Arduino board. I’ve seen Arduino boards without Arduino library.

      But using the Arduino FPGA board (without Arduino library or IDE) is a very proper solution I have nothing against. But is it still “using Arduino” though?

      1. Arduino libraries feel like crap only until you take a look at pretty much any vendor-supplied microcontroller libraries. And while the “IDE” lacks a lot of features, at least it works.. compared to 5 GB+ broken Eclipse installations that MCU vendors supply.

        In this case you can pretty easily see from the video that he uses the Arduino IDE with some ATMega-based board with (obviously) the Arduino libraries. And that is actually the magic, for simple purposes like this it does not matter all what CPU is running it.

        I don’t like Arduino much myself either, because most of the stuff I do is beyond the level where it is useful. But for simple things done by beginners, it is *much* better than any other platform out there.

        1. Ehm ehm… PlaformIO FTW!
          Or raw VSCode with Native Debug and similar plugins though that is not beginner friendly while PlatformIO is even *much more* beginner friendly than Arduino IDE for beginners in my opinion.

          “vendor-supplied microcontroller libraries”.. never used them. Not even professionally, especially not professionally e.g. in a product/solution for a paying customer.

          Eclipse has been dead for at least a decade. Around 2014 I was using QtCreator which worked very well as a *general* C/C++ IDE even with just using Makefiles and even on absolutely *Bare metal* architectures. And then VSCode came..

          1. Vscodium for those still illogically allergic to Microsoft anything.

            Of course the irony with disliking Arduino libraries and framework, but liking platform io, is that many things built with platform io are still using the Arduino framework and ecosystem of libraries. You can use other frameworks, but others don’t have as large an ecosystem of available hardware driver libraries, so especially for something “quick and dirty” or otherwise “not for mass production”, parts of the Arduino ecosystem provide an awfully compelling route to take.

            That said, if you’re going for rapid development and fast turnaround, I’ve found myself quite happy with CircuitPython when I have an applicable board. Can’t use it with a classic Arduino Uno or other AVR based board, but I’m slowly amassing a pile of arm-based boards (mostly Adafruit though I have a Pi Pico on the way) that are CircuitPython capable and are great for quick hacks.

        2. Yes, I remember using just after the frustrating launchpad board from TI and their watch and being surprised how well things just worked. It replaced the PIC as my go to digital tool to attach to my circuits and has stayed there.

      2. Using an Arduino means an Uno or Nano or equivalent (shipped these days as 16MHz). Using it as a noun generally does not mean the IDE. Anyone using the other variations will say “Arduino Gimundo” or whatever all that junk is called. If it is in a 3D printer they mean a “Mega”. Nothing says you have to use the IDE. Nano’s clones are very handy and super cheap.

      3. “I hate all things Arduino but I honestly never know what people means by Arduino!”

        “I have no idea what this thing is, but I hate it” well with that attitude you’ll never learn anything new. How can you hate something you have zero knowledge about? You should at least learn about it before deciding how you feel about it, instead of copy/pasting other people’s complaints in an attempt to appear informed.

        1. I’m very familiar with Arduino hardware and familiar with it’s software library and also with the IDE.

          I do not know what *specifially* is *usually* meant by ‘using Arduino’.
          1. You can use Arduino HW without Arduino library and IDE.
          2. You can use Arduino library without using Arduino HW and IDE.
          3. You can use both Arduino library and HW without the IDE + other combinations…..

          Don’t be a jerk.

      4. It probably means different things to different people, for me it’s something I can use to quickly check the hardware I’ve never worked with before. By quickly I mean 5 minutes or less plug-and-play experience – connect the pins, install the library (AdaFruit and friends) library and run one of the examples.

  1. Be careful with that switch on the ground rail of the ROM chip. Chips generally don’t like having their power and ground rails cut while there are still signals going into them.

    1. I didn’t even think about that! And in hindsight, it probably wasn’t the best idea to build it that way. Fortunately, it was a pretty useless thing that I never really used after testing it on the first chip, but I already filmed everything so it stayed in the video, haha.

      1. Wait, wait, wait, really? Sprague rhymes with vague? Oh man, I’ve been pronouncing like it rhymed with Prague (or at least, the pronunciation of Prague that shows up in American movies). It’s gonna take a while for my brain to rewire itself to this new pronunciation, haha.

        1. Back in the 1970s, some Sprague advertisements included the line “Don’t be vague, ask for Sprague.” I suppose it’s possible they were trying to fool us; that’s the extent of my evidence.

  2. The counters are a neat idea. I usually use shift registers and load the addresses using a synchronous data port. This might be faster at the expense of not being able to randomly jump to addresses.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.