Pilot ACE

The Automatic Computing Engine - ACE - is a computer designed by Alan Turing in the mid 1940s and proposed to the National Physical Laboratory in 1945.  It was designed on principles that Turing developed during his time at Bletchley Park. The ACE was a supercomputer, expected to require 1400 square footage of rack space (not including office space or card punching machines),

The full ACE design was cut-down to the Pilot model. This Pilot Model ACE was constructed by a team lead by Jim Wilkinson and consisting of Donald Davies, Harry Husky and Mike Woodger. The main difference between the Pilot ACE and the ACE was the amount of storage. The Pilot ACE was capable of storing approximately 11,000 bits of memory, versus Turing’s proposed design having approximately 205,000 bits of memory.

Some of the further upgrade potential of the ACE can be seen in the MOSAIC19, which was a computer built later and made fully operational in 1955, which was based on the full ACE design. MOSAIC contained 6,480 vacuum tubes – compared to Pilot ACE’s 800 – and took the space of “four rooms” – compared to Pilot ACE’s roughly 1 desk. 

The Pilot ACE itself found some commercial success in the English Electric DEUCE, and later the Bendix G-15 – designed by Harry Huskey, one of the team members of Pilot ACE. The G-15 is sometimes described as the first personal computer, and is what Ken Thompson (the designer and creator of the Unix operating system) started out using.

Emulators of the Pilot ACE

In 1999, Donald Davies created an emulator for the Pilot ACE for Windows 3.1, using Visual Basic 1.0. These very specific requirements make running the emulator software on any other computer difficult, as you either need to emulate Windows 3.1 itself to run the emulator, or have a computer capable of running Windows 3.1 at high resolution (as the emulator uses more screen space than 3.1 can provide by itself!)

You can download Davies' original emulator package - originally distributed by Davies on floppy disks - from the following link.
This software requires Windows 3.1 AND a copy of the Visual Basic 1.0 software in order to run.
It is provided here for historical reference.

You can use a renovated version of Davies' emulator via the links below:

The Windows package will require Windows 7 or above and a 32 bit or 64 bit processor to run. Minimum RAM required is ~ 20MB.

The mac OS package requires macOS Mojave 10.15.x or above.

The linux package is a self-contained appimage, and has no library requirements other than a working Xorg server.

 

Davies included a very comprehensive list of instructions for demonstrating the ACE, on the file named "ACE PM Demonstration.doc", available in all four packages on this page.

 

We'll provide a short snippet of those instructions here for you:

Using the following screenshot as a reference point, follow the instructions provided:

 

 

The emulator is in its' default state (which is different from how it was in the original package - a bug that caused the zeros to not be printed has been fixed, as Davies indicated intention of doing).

Press the "Read" button under DRUM/CARDS to load a program into Delay Line 01. This program is "Suc Digs", the first program to run on the Pilot ACE in 1950.

The program is designed to test the loading and shifting of numbers in the arithmetic core. To run it, select the "Hex" word format, and type "001" into the Input box next to A. Press the "Input" button below the box, and "0010 0000" will be loaded into the Input Register.

This will take 2048 iterations to complete, which will show on the memory lines as a continuously changing value.
 

Press "Enter" to load the first instruction of the program, and then "Run" to start processing.

You will hear a beep when the program is finished, and you will have succesfully run a program on the Pilot ACE emulator.

 

Read more:

D. M. Yates, Turing's Legacy: A history of computing at the National Physical Laboratory 1945-1995, UK: London Science Museum, 1997
A. Turing, Proposals for Development in the Mathematics Division of an Automatic Computing Engine (ACE), National Physical Laboratory, Computer Science Division, 1945