Retrotechtacular: Here’s How They Programmed The EDSAC Computer

When you write a program for your computer, whether it is a desktop machine, a microcontroller, or a supercomputer, the chances are that you use software tools to help you get the job done. High level languages, compilers, linkers, assemblers, debuggers, and code libraries have become so integrated that in many cases you will barely be aware of their existence. To all intents and purposes this huge toolchain will be the computer. But the first computer programmers had none of these luxuries. They had to hand assemble their own binaries, check them by hand, and debug them by guessing what had happened when they failed.

EDSAC I, 1948, W.Renwick with 5 hole tape reader and Creed teleprinter. Copyright Computer Laboratory, University of Cambridge. Reproduced by permission. [CC BY 2.0 UK]
EDSAC I, 1948, W.Renwick with 5 hole tape reader and Creed teleprinter. Copyright Computer Laboratory, University of Cambridge. Reproduced by permission. [CC BY 2.0 UK]
EDSAC (Electronic delay storage automatic calculator) was the first computer operated by the University of Cambridge in the UK and one of the first few computers in the entire world when it was built in the late 1940s. It is the subject of the 1951 film you’ll find embedded below. Originally produced for a conference, the video sports a 1976 introduction and narration from the machine’s creator Professor Maurice Wilkes. It doesn’t take us through the design of the machine itself, instead it concentrates on the workflow required to program it.

The Paper-Heavy Process of Programming EDSAC

To illustrate the programming process, a committee of people who would now call themselves computer scientists, but probably then called themselves mathematicians, breaking a formula into subroutines before the code is laboriously hand assembled. The linking process is performed manually too by the secretary who types the code into a teletype for transfer to a punched tape. When a library function is required she reaches into a filing cabinet for the roll of tape containing it before running it through a tape duplicator to add it to the program. Finally the completed tape is checked and added to a job queue that consists of a row of hooks on the wall. Never complain that your toolchain is unwieldy again!

The original EDSAC was decommissioned in the late 1950s after serving the university and spawning a commercial version, the LEO, which became the first ever computer manufactured for use in commerce. That was not the end of the EDSAC story though, because in this century a team at the National Museum of Computing at Bletchley Park set about recreating EDSAC as an exhibit. And as luck would have it a member of that team was at the recent Electromagnetic Field hacker camp to give a talk about their work which you will also find below.

Building a Faithful Reproduction of EDSAC

Tony Abbey gives us both a history of the machine and a description of its architecture, followed by a run through their efforts in rebuilding it. You may be surprised by some of the unexpected facts from the talk. For instance, while all the tubes used in the EDSAC are still available, their bases are not. Equivalents were sourced from China, but team members had to modify them with dental drills.

They also needed to manufact the 1940s-style tube chassis, and the solution to that problem happened to be just down the road. Bletchley is part of modern-day Milton Keynes, a post-war new town that is also home to another famous name: Marshall amplifiers. Tube amps are built in a surprisingly similar way, so they took on the manufactured challenge. Not all the parts of the new EDSAC are original though. The memory used mercury delay lines in 1949, but for 2018 recreation the computer has a delay line using nickel wire and modern components. Tony admits that even that has caused problems, and there is a simulator using a microcontroller.

You can see the restored EDSAC at the National Museum of Computing. We visited it in 2016, and you can read our review. Meanwhile if you are an FPGA wizard, you can even have a virtual EDSAC of your own.

EDSAC pictures: Copyright Computer Laboratory, University of Cambridge. Reproduced by permission. [CC BY 2.0 UK]

4 thoughts on “Retrotechtacular: Here’s How They Programmed The EDSAC Computer

  1. Jenny,

    We had a special EDSAC themed days at OSHUG last year in Hebden Bridge. There are a couple of Verilog implementations of EDSAC – so you can now port it to your favourite FPGA.

    As EDSAC only had 18 opcodes – it’s well within the scope of emulating it on an Arduino or similar.

    The opcodes were chosen for pure mnemonic value – A for Add, S for Subtract etc.

    As a very simple load-store architecture, with almost no addressing modes – it takes a lot of instructions and ingenuity to write assembly language for it.

    The “initial orders” – a bootstrap program dialled in using a telephone uniselector are a work of art. Every trick as well as self modifying code were exploited to extract the most from the minimal hardware.

    Next May 6th (2019) is the 70th anniversary of EDSAC running it’s first code.

    EDSAC to the introduction of the IBM PC took just 32 years.

    1. And here I am more than another 32 years later with a battery handheld device with hi res display, gigabytes of memory, gigahertz clock speeds and multiple wireless options for connecting to The Internet. And hopefully I will live to see what is around in another 32 years, mind boggled!

    2. Hi monsonite

      I went to the OSHUG event at Hebden Bridge and that was the coincidence that got me involved with the EDSAC rebuild at TNMOC where I went on a Staurday invite to possiby join the TNMOC team.I was pointed towards the rebuild of EDSAC. I go there once a week, and am thoroughly enjoying the experience, although it really taxes my aging brain.
      Tony

Leave a Reply to Tony AbbeyCancel 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.