Software Preservation and Machine Emulation


Sofware’s original raison d’être is its execution. In preserving software the desire is to keep the source text so that the style of programming is visible, and to provide facilities for execution of the preserved software on widely available current platforms. Where source text is in a language unlikely to be widely known (often assembly language) the intention is to provide reference information to enable the source text to be understood by a reader with basic programming literacy.

Software and emulation systems are held in normal files, and are independent of the media upon which they originally lived. As such, the files can be preserved indefinitely merely by copying onto current media. We do not currently have a long-term respoitory for our material. Most of the activity at present concerns rescuing material into a form that can be preserved long-term, i.e. media neutral and system-neutral, so that it can be copied to any medium, and accessed on any system. Considerable thought is given to future-proofing our material.

There are no stipulations as to the acceptability of formats. There is a readiness to preserve significant software in whatever form it exists, even line-printer listings. The crudest preservation is by scanning listings, but we have had considerable success in converting printer listings to executable code (see KDF9 and Leo III sections below).

Available Languages and Systems
Algol 60 Elliott 903, KDF9, ICL1900KDF9
Algol 68 ICL1900
Pascal?? ICL1900
Assembly Languages KDF9*, ICL1900
Leo III Intercode*
Operating System KDF9*, ICL1900, Leo IIIKDF9*, ICL1900, Leo III
*  implementation in progress
All ICL1900 software is accessed via the George3 operating system.
In the above table the source column indicates where we have source text of the implementation.

ICL 1900 — George 3

George 3 was the operating system for the larger ICL 1900 machines. We have preserved the system so that it can be run on PCs and elsewhere. Further information and download facilities are to found here. These systems have been built from machine-readable sources with the aid of people from British Steel, Manchester Grammar School and Alexy in St Petersburg, to whom sincere thanks are offered. There is more material on the ICL 1900 maintained by Brian Spoor.


A collection of software from KDF9 is gradually being accumulated, some of it rescued from line-printer listings, and some from paper tape. Click here for more detail and dowloadable software including Whetstone Algol, both as source text, and as an emulated working KDF9 (including Mac and GNU/Linux versions).

This is still much a work in progress, but a facility for running KDF9 Algol programs can be found here.


In 2013 we embarked upon the resurrection of the Leo III Intercode system from an ancient lineprinter listing. This is now largely complete, and there is a facility for excuting this translator on Intercode programs, which can be accessed (but perhaps not 24/7) here.

We have still have some editing to do on our on-line manuals OCRed from the 1960s paper copies, which can be seen here,

There is much more on the Leo III software resurrection here.


Work is in hand on an Atlas emulator, and there had been some success in resurrecting the Brooker-Morris compiler-compiler.

Other Emulation Systems

Historically, the CCS kept a library of emulators (often called simulators) some of which also contained significant software (e.g. Elliott Algol with the 903). Further information and download facilities are to found here.

CCS presentation 18th October 2012

If you were at the London seminar on 18 Oct, and wish to see the rationale for programming in a subset of C, and suggestions for that subset, please click here.

If you weren’t at the London seminar on 18 Oct, and wish to see the “PowerPoint” presentation it is here.

Instructions for running George3 on your own Raspberry Pi are here.
Here is Graham Toal’s list of bookmarks in computer history.
CCS home page