Atlas 1 Emulator

Welcome to the Atlas 1 Emulator

Overview

The Ferranti Atlas 1 was a very significant development in the history of computing. Chiefly famous for being the machine which introduced the now, almost universal technique of paging to the world, it was, briefly, claimed as the world's fastest computer. It was said at the time that, when the Atlas 1 failed, the UK’s computing capacity was halved. Many other innovative hardware and software ideas first saw the light of day in Atlas 1, from instruction overlapping and spooling to the Compiler Compiler.

This emulator seeks to demonstrate the Atlas 1 order code by allowing you run Atlas 1 “jobs” one at a time. An Atlas 1 job would typically be to compile a program into store and execute it. In the emulator, in order to allow the user to visualise the process of execution, not to mention to support debugging techniques of which contemporary users could only have dreamt, execution takes place in an environment within what would appear to be a Windows-style debugger. No attempt, however, is made to emulate the whole machine which is beyond the capacity of the resources currently available. For example, there is no emulation of multiprogramming, although the one-level store concept can be seen in operation. The emulator is supplied with a number of Atlas 1 jobs some of which are for demonstration purposes and some of which generate components of the emulator itself.

At the time of writing the emulator is incomplete but very much demonstrable. Find out how much is (in)complete incomplete.html. I have obtained paper copies of the ABL library routines, of the Fixed Store and of the Brooker-Morris Compiler Compiler. However, I would welcome any original ABL or CC programs.

The Computer Conservation Society is aware of the existence of a magnetic tape which may contain much of the system software of the Manchester Atlas 1. However, although we currently have no means of recovering the information from the tape we do have an Atlas 1 magnetic tape deck, albeit not currently working.

I would like to acknowledge the support I have received from Professor Simon Lavington and the late Dr Brian Napper both of whom were associated with the original Atlas team at the University of Manchester. Iain MacCallum and Bill Purvis have both made significant contributions to the rescue of the Brooker-Morris Compiler Compiler. I am grateful all of them. Recognition also to Brian Hardisty who wrote the ABL manual, a document far too good for its purpose, but truly excellent for mine. Finally, due credit should be given to Bob Hopgood who has been unfailingly supportive.

Dik Leatherdale 2004-20

www.leatherdale.net

Guide to Documentation

The major thrust of the documentation available on this website/help file is a tutorial introduction to the emulator. Written largely for an audience which has some knowledge of Atlas 1, it nevertheless gives some detail of Atlas 1 and its Supervisor (operating system) where it is useful in explaining the operation of the emulator, particularly where the emulator by its very nature diverges from the real Atlas 1 (the emulator does not, of course, have any actual peripherals).

There is also a large amount of reference material, much of it in tabular summary form such as might be found in programming manuals.

Finally, a series of links to original material held in external websites which, it is hoped, may prove useful to readers.

Tutorial Introduction

  1. The “HELLO WORLD” Program
    1. HELLO WORLD in Depth
  2. The Primes Program
    1. More Development Facilities
  3. Input/Output in the Emulator
    1. Character Support
      1. Extended Character Support
  4. Magnetic Tape I/O
  5. Working with other Compilers
    1. The MAGUTILS system
    2. The Supervisor Tape
  6. Other Stuff

Reference Material

  1. B-Register operations
  2. Floating-point Acc operations (grouped by function)
  3. Floating-point Acc operations (ordered by function number)
  4. Extracodes
  5. Character Code Values

External Links

  1. The major influence on the development of the emulator is the ABL Manual. Not only does it describe the ABL language and the order code, but is is an almost complete definition of the Atlas 1 computer as seen by the programmer. Bob Hopgood’s elegant transcription of the ABL manual can be found at www.chilton-computing.org.uk/acl/literature/manuals/atlas/p004.htm or rather his index to the 16 section (mainly chapters) into which he has thoughtfully divided this rather weighty volume.
  2. The so-called “Atlas Bible” was the reference to the structure of Atlas 1 used by development engineers and others during the design and construction of the machine. As such it was continually updated until such time as the machine reached a reasonable degree of completion. Much wider in scope that the ABL Manual (much of the ABL Manual was based upon the Atlas Bible) some of the material here which is absent from the ABL Manual can be found here. The transcription at www.chilton-computing.org.uk/acl/pdfs/atlasbible.pdf was made by Dik Leatherdale and Iain MacCallum from a copy carefully preserved by the latter for more than 50 years.
  3. Turning now to the job description, although this is briefly covered in the ABL Manual a more comprehensive description can be found in “PREPARING A COMPLETE PRORAM FOR ATLAS I” at www.computerconservationsociety.org/software/atlas/preparing_a_job_description.pdf.
  4. A selection of original Atlas documents in scanned image form has been preserved by Bitsavers at bitsavers.informatik.uni-stuttgart.de/pdf/ict_icl/atlas/.
  5. The publication of PREPARING A COMPLETE PRORAM FOR ATLAS I predated the installation of discs on the Manchester and Chilton machines. The material at www.chilton-computing.org.uk/acl/literature/acl/p018.htm#c2p2 includes a later version of the same information but includes instruction on how to exploit the disc store at Chilton.
  6. A general history of the Chilton Atlas 1 which includes a great deal of detail about the machine itself can be found at www.chilton-computing.org.uk/acl/home.htm part of a wider history of computing at the Rutherford Appleton Laboratory and its predecessors.
  7. Simon Lavington’s website celebrating the 2012 50th anniversary of the first Atlas 1 can be found at curation.cs.manchester.ac.uk/atlas/elearn.cs.man.ac.uk/_atlas/.
  8. It contains much useful background information of the development of the Atlas Project.
  9. The Brooker/Morris/MacCallum/Rohl 1962 paper on the compiler compiler can be found at cc_paper_1962.pdf.
  10. Brain Napper’s AN INTRODUCTION TO THE COMPILER COMPILER can be found at introduction_to_cc.pdf.
  11. A 1960 description of the then forthcoming Atlas computer by the late Stan Gill is an interesting historical curiosity which can be found at www.icl1900.co.uk/techpub/atlas-concept.pdf.

Where to go next
The “HELLO WORLD” Program