Welcome to the MU5 Emulator page. This page is about the SIMH-based emulator for MU5. MU5 was a research computer built at the University of Manchester. The University started thinking about a successor to Atlas in 1966, design started in earnest in 1968, commissioning began in the summer of 1971 and the machine became operational in 1973. The machine ran until 1982. You can find out much more about MU5 at the University of Manchester’s page about MU5.
MU5 was still operational when I studied Computer Science at Manchester University, but sadly I never used it. I was devastated when I came back after the summer break in 1982 to find that it had been scrapped. Even then as a young student I would have loved the opportunity to have had a small part of the machine to keep.
In November 2016 I was reading a copy of The Computer Conservation Society’s magazine, Resurrection, and it inspired me to see if there was an emulator for MU5. I discovered that Prof. Roland Ibbett has built an architectural simulator using HASE. The purpose of the HASE simulator though, is to illustrate the principles of operation
of the hardware, rather than to execute actual MU5 code. I contacted Prof. Simon Lavington to see if he knew of any surviving software for MU5 that would make it worthwhile to create a full emulator for MU5. Sadly, it seems that little software survives (but see Help Needed below), however he put me in touch with Prof. Ibbett who was keen to help. I thought that, even if there is no known software, some may yet turn up,
and it would be better to capture the knowledge of the machine while it is still possible to talk to some of its original designers.
Objectives and Status
The overall objective is to build an emulator that could one day execute MUSS (the operating system) again, should it ever be recovered. The interim objective is to emulate the CPU enough to allow simple programs to execute. To this latter end, the three programs used in the HASE simulator have been coded and run on the emulator (N.B. The HASE simulator implements a STOP order which was not part of the MU5 specification, and the emulator stops on a relative jump to zero, which again is not part of the MU5 specification). A very simple program to write a message on the console has also been written. The next step is to write a more complete mini-operating system loosely based on the Engineer’s Loader, MU5EL described in Chapter 20 of the MU5 Hardware Manual.
A further possible objective is to connect the emulator to the MU5 Console, which still survives and is on display in the School of Computer Science. My hope here is to be able to make the emulator react to the switches on the console and operate the lights exactly like the real machine did. The Console also contains the “hooter”, which was a loudspeaker used for test and diagnostic purposes. Listings of programs to play music on
the hooter exist, so it may even be possible to re-create MU5’s authentic sound.
It is not an objective to emulate the pipelined architecture. The emulator is intended only to implement the programming model as defined in the MU5 Basic Programming Manual. This means that some of the console lights cannot be operated in an authentic manner and some of the switches would have no effect.
As of May 2017 the status of the emulator is as follows:
- All CPU orders are implemented except for floating point.
- All operand types are implemented except for Type 3 descriptors.
- Virtual memory is implemented.
- Basic console output is implemented.
- Crude XPL compiler implemented.
Where To Find The MU5 Emulator
The source code for the emulator can be found on GitHub. It is currently (as of July 2017) being developed on the MU5 branch. Details on building and running the emulator are provided here. Pre-built interim binary packages are available here.
A crude XPL compiler has been implemented. It is suitable only for trivial programs because it does not yet implement the language properly. This can also be found
The main thing that is needed is the MUSS operating system to run on the system. The University has an EDS8 disk pack labelled “MUSS”, which I hope has MUSS on it. Until recently the disk pack was in a display cabinet, unrecognised for what it was, it has now been moved to a store room for safe keeping. Unfortunately there are no known operational drives that can read this disk pack. If anyone has a working drive, or ideas on how to read this disk pack then please get in touch.
The emulator would not have been possible without the extensive help and support of Prof. Roland Ibbett. Prof. Ibbett provided the initial scan of the 1972 MU5 Basic Programming Manual and has worked to re-create it as a PDF, amalgamating it with a later copy from 1978 provided by Prof. Jim Miles. Prof. Miles has also helped enormously with access to other MU5 materials. Finally I would like to thank Prof. Simon Lavington, Dr. Alan Knowles and Mr. Eric Sunderland for their assistance.