Hellorld! - Nakazoto/CenturionComputer GitHub Wiki

The "Hellorld!" saga

In May 2021, David Lovett of the Usagi Electric YouTube channel began restoring a Centurion minicomputer. A typo during his testing took on a life of its own and propagated across several YouTube channels related to retorcomoputing and homebrewing. The rest of this page is the story as David tells it, in first person.

"Hellorld!" on the Centurion

The very first code written for the Centurion in probably 30 years was a simple "Hello World!" program that phire wrote in pure hexadecimal for me to type directly in using the Test Operating System. Unfortunately, when I was typing in the program, I got the location of my "o" confused, and after I typed in the first "o" from "Hello," I picked up starting after the second "o" in "World!" The result was "Hellorld!"

I think it's simultaneously beautiful and hilarious that the first code written for the Centurion in so long had a bug in it. But, I love it all the same and "Hellorld!" is the new gold standard in my book!

The Code

The code is incredibly simple:

\M1000 79 86 23 C8 E5 EC EC EF F2 EC E4 A1 8D 8A 00 71 80 01
\G1000

Let's break it down!

  • 0x79 86 23 = JSR 0x8623
    • This is a Jump Subroutine direct to the address of 0x8623. That particular location is where the write string subroutine of the Test Operating System lives.
  • 0xC8 E5 EC EC EF F2 EC E4 A1 8D 8A 00 = The ASCII for "Hellorld!".
    • It is important to note that the ASCII is just 7-bits, and the 8th bit, which would normally be parity, is set to 1. So, each hex byte needs to have 80 subtracted from it to get the real 7-bit ASCII value. For example. C8 - 80 = 48 which is "H" in 7-bit ASCII.
    • The final two ASCII characters "8D and 8A" before the "00" are a carriage return and a line feed. The "00" is the null terminator to let the subroutine know it's time to wrap things up.
  • 0x71 80 01 = JMP 0x8001
    • This is a simple Jump direct to the address of 0x8001, which is the beginning of the of the DIAG board ROM program.

Other Systems

Hellorld! has been replicated on dozens of other systems; see the Hellorld GitHub repo and wiki for much more code and many more photos.