What Can You Run On A 1960s Univac? Anything You’re Willing To Wait For!

There are two UNIVAC 1219B computers that have survived since the 1960s and one of them is even operational. [Nathan Farlow] wanted to run a Minecraft server on it, so he did. After a lot of work, of course, which is described in a detailed blog post, and, a YouTube video by [TheScienceElf] we’ve embedded below.

The UNIVAC is a seriously weird architecture by modern standards: it’s got eighteen-bit words — yeah, not even a power of two — and one’s compliment arithmatic with a weird signed zero thing going on. There’s one 36-bit and one 18-bit register, and only 40,960 words of memory. Eighteen-bit words. Yeah, it was the 1960s and they were making it up as they went along.

[Nathan] wasn’t, entirely, as this weird system is both well-documented and already had an emulator — in BASIC, of all things. [TheScienceElf] used the docs and the existing emulator to recreate his own in Rust so he could test their somewhat crazy plan without wasting cycles on real hardware. The plan? Well, there are really only two options if you want to build modern software for a niche architecture: one is to add niche support to something like GCC, and the other is to write a RISC V emulator and compile to that. We’ve seen that second one before, and that’s the route [Nathan] took.

Of course, [Nathan] is a machine learning guy, so he made the best possible use of LLMs — though it’s interesting to see that unlike Z80 Assembly, Claude Code really couldn’t wrap its virtual head around the UNIVAC’s assembly language, and [Nathan] had to bang out the RISC V emulator himself. Emulator in hand, [Nathan] and friends had code to run on the museum UNIVAC. A single frame of an NES game took 40 minutes, but hey, at least it finished before they got back from lunch.

[TheScienceElf]’s YouTube treatment teases hosting Minecraft, but it wasn’t a full server, just the login portion. That they were able to get TCP/IP over serial and set up a handshake between a 2020s laptop and a 1960s computer is still mighty impressive. Just the work the Vintage Computer Federation put in to get and keep this antique running is mighty impressive all on its own, but it’s wonderful they let people play with it.

14 thoughts on “What Can You Run On A 1960s Univac? Anything You’re Willing To Wait For!

  1. If anyone tried to follow the link “unlike Z80 assembly” and wondered why it 404’d– uh, my bad. We haven’t published that one yet. The errant hyperlink has been removed, as it turns out that as powerful and flexible hypertext is, it does not reach into the future.

  2. What’s the point of the first 5/6ths of the article claiming they used an LLM to write a Minecraft server for the UNIVAC? In reality the LLM was not successful, the thing they wrote for UNIVAC was a RISC-V emulator, and they did not run a Minecraft server. It’s just misleading rubbish. The actual headline is “YouTuber writes RISC-V emulator for UNIVAC,” and the only relevant thing in the article which that headline doesn’t already contain is a link to the video. I don’t think I can be bothered with this site anymore.

  3. IP over serial, i.e. SLIP, isn’t really new. A precursor to widespread use of PPP in the dial-up era. One of the earliest web browsers was called Slipknot (not the band):

    https://en.wikipedia.org/wiki/SlipKnot_(web_browser)

    Getting SLIP to run on a Univac might be inventive. Never worked on one, so no idea if SLIP was ported to it back in the day, but wouldn’t be surprised to learn that it had.

    If anyone out there has any stories of successful use of SLIP or Slipknot via a serial TDM, please share a story or two!

  4. ” What Can You Run On A 1960s Univac? Anything You’re Willing To Wait For!”

    If I had to sit in front of that machine and wait for an answer, I’d be perfectly happy. What a beautiful piece of hardware.

  5. Eighteen-bit words.

    There was actually a good reason for this. ASCII only became popular in the late 70’s, early 80’s, and prior to that, everyone used the BCD character set (except for IBM who tried to force the use of their similar but slightly different EBCDIC).

    BCD is a 6-bit character set, hence 36-bit words, and is a big reason why labels and identifiers were max. 6 characters long.

    Source: I used to work on these 36-bit machines. Fun times… :-) The biggest one powered the main customer database for Telecom Australia, and one day I got curious and did a bit of research, and yup, my Galaxy S2 phone had more grunt than it did :-)

    1. “Everybody used… 6 bit…” – except those that used 5 channel teleprinter codes. Elliott was one such company.

      Their magnetic backing storage also used 35mm sprocketed tape, since major film studios were up the road.

  6. 18 bit words? How about 39 bit words?

    The historically important[1] and commercially successful Elliott 803 computers have 39 bit words. The 19 bit instructions fit two in a word with the middle bit used as an instruction “modifier”.

    See an 803 working at The National Museum of Computing. Then go into the next room and see the world’s oldest operating computer. Don’t forget to see the Colossus and Bombes in the same building. Do ask the attendants questions; they might whip out the schematics and discuss them with you.

    Don’t bother with Bletchley Park next door; it is soulless and boring :)

    [1] Tony Hoare wrote his famous and seminal Algol60 compiler for an 803. It used 4K of the (architectural max) 8K words.

  7. which made running it on Linux, not entirely trivial. And the assembler being a QBASIC program meant I needed to install DOSBOX to run it. This meant my typical testing workflow was… “Save the file, mount it into DOSBox, run the QBASIC assembler, copy the file out of DOSBox, restart the emulator, type in the file path for the tape, set the address to the bootloader, hit run.”

    Create a tiny little shell script, to automate the process?

    So, in a spark of “stuck on the train” productivity, I started writing my own emulator and assembler in Rust.

    Of course.

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.