MU5

mu5con1Introduction

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
on GitHub.

The MU5 Basic Programming Manual has now also been reconstructed and can be found here, with more MU5 material also on BitSavers here.

Help Needed

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.

EDS8 Disk

EDS8 Disk Possibly Containing MUSS in a Display Cabinet at the Manchester University School of Computer Science. Copyright 2017 Jim Miles, used with permission

Acknowledgements

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.

13 Responses to MU5

  1. John says:

    Hi. I was a computer science student at Manchester 1978-1981 and used the mu5 during holiday work in the dept during summer 1979 and summer 1980. I also used it as part of my third year project 1980-1981. As I recall, the EDS8 disks were attached to the ICL 1905E computer and were used only for data storage. These were superseded by disks attached to the front end pdp11 when the 1905e was decommissioned. The mu5 had a drum store (designed by Dr Wharburton) to hold the machine code copy of muss from which the mu5 was booted (which was not just a matter of turning on the power or pressing a button! There was a procedure to be followed – the same for power off). The EDS8 disk labelled muss is most likely to hold a copy of the source code of muss and not be a bootable muss drive. Much of the system software was written in mupl (Manchester University Programming Language) – which morphed into musl (Manchester University System language). There was also mutl (Manchester University Target Language). This was the language into which other languages (such as pascal, fortran and cobol) were first compiled. The resulting mutl file was then compiled by the mutl compiler into mu5 code.

    I have a printed copy of the muss manual 1981, mutl manual 1981, mupl manual 1979 and a collection of papers by Dr Gordon Franks and Dr Colin Theaker (the designers of muss under Professor Derrick Morris). Dr Peter Capon designed the mu5 instruction set. The user interface to muss was very limited – even by the standards of then! It was basically a wrapper around various system calls. The power of muss was, however, in the facilities it provided to compiler writers and program writers which were very powerful for its time.

    It is a great pity that not more of the mu5 has survived. I hope progress can be made with the simulation and look forward to reading about further progress.

    John.

  2. Prof Greg Egan says:

    I have a copy of the MU6-G Architecture description which I can scan if of interest. I was at Manchester mid 70s through to 1980 and used MU5 routinely as my main machine in support of my PhD studies..

    • rjarratt says:

      Thank you for the comment. I recently discovered that I have the MU6-G programming manual, but I don’t think I have an architecture description for it, so a scan of that would always be interesting.

    • Peter G says:

      Yes, please. I worked on MU6-G (and MU6-P) for a while during 1980-1983 and thought it was really great, but I have not kept much in the way of documentation.

  3. John says:

    Re MUSS User Manual issue 10. This is definitely for MU6 MUSS as MU5 MUSS didn’t have DISPLAY, FLED etc for Flocoder and also didn’t have SED/VED screen editors – just EDIT even for VDU’s! In 1980 for MU5 they were just moving from physical Teletype terminals to VDU’s as during Summer 1979 I helped to evaluate alternatives.

  4. Michael Godfrey says:

    Hello,
    I was responsible for the design and construction of the MUSS RTV MC68020 systems
    which Derrick Morris used at UMIST in the 1980’s. I had a RTV system of my own until
    fairly recently and I have a set of 5 1/4″ system floppy disks which ran on the RTV.
    I also have quite a lot of MUSS documentation.

    Do you know if any RTV systems still exist?

    In any case I am thinking of getting the documentation that I have into better readable form
    and posting it on the web. My documentation is at issue 12 level which I am pretty sure
    was the issue that ran on the MTV systems.

  5. weblocutor says:

    I worked on the MU5 programme from Sept 72 to Sept 75. I wrote self-diagnostic programs in XPL which were used during the development to debug and commission the pipeline. Subsequently, I worked on the performance analysis of the pipeline using a monitor built in house, running at pipeline speed (25 MHz) for direct measurement of all instructions (i.e. no sampling).
    I presume that you have access to my MSc thesis (supervised by Prof Simon H Lavington) and my PhD thesis (supervised by Prof Roland N Ibbett). My MSc thesis contains flowcharts of the diagnostic programs.
    I have no artefacts to help with a functional emulation; I was focusing deep inside the complex instruction set architecture and the performance implications of the usage of the more advanced instructions by most compilers.
    BTW, my diagnostic routine made use of the hooter; a different tone was played during each test and the music would halt when there was an error detected. It was practical and amusing. I presume that you know of the MU5IC – which included several lovely Welsh hymns.

    Dr Nic Yannacopoulos

  6. Peter Allan says:

    Slightly off piste, but I am trying to find a copy of the UMRCC Joint Systems User Manual circa 1978, or failing that, information about the Job card that was used on the ICL1906A / CDC7600 joint system. Any leads would be much appreciated.

    Peter Allan

  7. Nic Yannacopoulos says:

    May I presume that you have already asked Simon Lavington about any surviving contacts for UMRCC? Simon knows ‘everybody’ 🙂

Leave a comment