On May 6th, in the year 1949, the EDSAC – the second computer ever built to use electronic, digital stored programs – ran its very first program.

EDSAC

Maurice Wilkes (left), designer of the EDSAC, in front of the completed computer. Photo credit: University of Cambridge.

The EDSAC (which stands for Electronic Delay Storage Automatic Calculator) is an absolutely fascinating machine. Here's the specifications for what is, arguably, one of the most important computers the world has ever seen.

  • Like some other early computers, input was handled with punch tape and output via teletype. Initial input and output speed was 6 2/3 characters per second, upgraded to 16 characters per second a few years later.

  • For the first three years of existence, the EDSAC memory consisted of only 512 18-bit words. To make this even more limiting, the first bit of each word was unusable because of timing issues. So, in essence, there was only 512 17-bit words available.

  • Mercury delay lines were used for the memory and vacuum tubes for the logic.

  • The EDSAC was capable of running 650 instructions per second.

  • The Operating System (which handled the priming of the system and loading a program from the punch tape, then began running the program) occupied 31 words of read only memory.

The EDSAC, beyond beying simply an amazing and ground-breaking machine, is the computer upon which two critical firsts occured within the computing world:

The Subroutine

David “D.J.” Wheeler, while working with the EDSAC, invented the notion of the sub-routine. In fact the idea of a “jump to sub-routine” instruction was named a “Wheeler Jump.” Wheeler described sub-routines thus:

“A sub-routine may perhaps best be described as a self-contained part of a programme, which is capable of being used in different programmes. It is an entity of its own wlthln a programme."

That's right. The EDSAC was the first computer… with sub-routines. How cool is that?

The First Video Game

In 1952, what is possibly the very first video game (and I mean… ever) was devloped by Sandy Douglas on the EDSAC.

That game? Tic-Tac-Toe. Well, “Noughts and Crosses” to folks in jolly old England.

The game was simply called “OXO” and utlized one of the three CRT screens of the EDSAC. I hear what many of you are saying, “Wait… I thought the EDSAC didn't have screens… didn't it output via teletype?”

Yes, the EDSAC had three screens… but they were (up until this point) only use for displaying the state of the memory. Not for presenting information to the end user in any real way. OXO used it to display the game output.

OXO

Screenshot of OXO running in an EDSAC simulator, running on a Classic Mac. Image credit: Wikipedia.

Now, you'll note that I said “possibly” when refering to this as the first ever video game. That is because another game was also being run (on a completely different computer) in 1952 – an implementation of Checkers by Christopher Strachey.

That Checkers implementation (“draughts”) was first run in July of 1952. I (and many others) have been unable to track down the exact month that Sandy Douglas first demonstrated OXO running… the common assumption is that it was prior to July of that year. But, the truth is, we don't actually know for certain.


Linode

The Lunduke Journal is made possible, in part, through the support of Linode. Want awesome Linux cloud hosting while supporting The Lunduke Journal in the process? Check out Linode.

You can also check out the “Support The Lunduke Journal” page for a variety of ways you can help directly support the good, nerdy articles, podcasts, and videos we produce.