A quick tour of Burroughs MCP using simh
In this post we will turn our attention to Richard Cornwell's B5500 emulator running on simh. Along with the emulator, Richard has created a package of tapes, cards and config files to run MCP on it, and even rebuild the OS from source. Unlike retro-b5500 this is a command line program; by using the simh core it brings in its flexibility and automation capabilities. It also supports more than one time-sharing terminal via telnet.
You can follow the instructions on Richard's site to set this up - start on this page and note the PDF link which gives a great summary.
I have also created a quick start that allows you to build and run the time-sharing system with two commands.
Before you start
Install required software
You will need a Unix-like environment capable of running a shell, git,
make, a C compiler, wget and unzip. You will also need the telnet
command line program or a GUI telnet client.
Clone the quick start repo
git clone https://github.com/timereshared/burroughs-mcp-simh-quickstart
Get the operating system tape file
The MCP operating system is free for non-commercial use under a license from Unisys, but cannot be redistributed here. You will need to get it from Paul Kimpel's site as follows:
- Go to https://www.phkimpel.us/B5500/webSite/SoftwareRequest.html
- Select SYSTEM image
- Read and accept the license
- Download the zip file
- Unzip B5500-XIII-SYSTEM-adc00257.zip
- Store B5500-XIII-SYSTEM-adc00257.bcd in the
packages/
directory under this repo.
If you omit this step, the build command will refuse to continue.
Define time-sharing users
Edit the file tss-setup.card
. Copy the 4 lines starting with $USER
"GUEST"
and ending with NO CHARGE
and insert just before $END
.
Edit these copied lines to define your own user account. For example,
I might do:
$USER "RUPERT" PASSWORD "SECRET" NAME "RUPERT LANE" NO CHARGE
You can add as many users as you want, and remove the GUEST
user if
you like.
If you omit this step, the build command will only create the GUEST
user with password GUEST
.
Build the system
Type ./build.sh
. This will download simh and the mcp-kit under
packages/
, build the simh b5500 binary and copy files. The file
structure on your PC will now look like
bin/ |
simh binary |
disks/ |
virtual disks for MCP |
tapes/ |
tape files for MCP |
units/ |
printer and card images |
It will then proceed to
- cold boot the B5500 from a punched card image
- set up the virtual disks and install MCP files
- add extra software that has been collected.
- set up time-sharing and create users
Installing MCP on simh. Source: Rupert Lane. License: CC0.
This will take around 5 minutes and will only need to be done once. If
you ever need to rebuild the system, run build.sh
again; it will not
re-download the package files.
Start MCP
Type ./run.sh
. After a few seconds the system will say it is ready
for connection. Using a telnet client, connect to port 5500 (eg via
telnet 0 5500
.)
In the telnet session, type your username and password. Your screen will look something like this, with the window on top being the console and the one below the user session.
Login to CANDE on MCP under simh. Source: Rupert Lane. License: CC0.
Create and run a hello world program
Here's an example of a complete session.
$ telnet 0 5500 Trying 0.0.0.0... Connected to 0. Escape character is '^]'. Connected to the B5500 simulator DTC device, line 0 B5500 TIME SHARING - 01/00, STATION 02 ENTER USER CODE, PLEASE-GUEST AND YOUR PASSWORD GUEST@@@ 09/02/25 6:04 PM. GOOD EVENING, GUEST USER YOU HAVE STATION 02 # CREATE HELLO BASIC FILE:HELLO - TYPE:BASIC -- CREATED 100 FOR I = 1 TO 5 200 PRINT "HELLO, WORLD" 300 NEXT I 400 END RUN WAIT. COMPILING. END COMPILE .0 SEC. RUNNING HELLO, WORLD HELLO, WORLD HELLO, WORLD HELLO, WORLD HELLO, WORLD END HELLO .0 SEC. LIST FILE:HELLO - TYPE:BASIC --09/02/25 6:08 PM. 100 FOR I = 1 TO 5 200 PRINT "HELLO, WORLD" 300 NEXT I 400 END END QUIKLST .0 SEC. SAVE FILE:HELLO - TYPE:BASIC -- SAVED. BYE ON FOR 4 MIN, 00.4 SEC. C&E USE .0 SEC. EXECUTE .0 SEC. IO TIME 2.9 SEC. OFF AT 6:08 PM. GOODBYE GUEST 09/02/25
After we login, we create a new BASIC file called HELLO, and type in
the program using line numbers. RUN
will compile and execute it,
LIST
will display a listing.
Finishing your session
Type BYE
to log out. If it complains about unsaved work, you can
either type SAVE
to keep it on disk or DELETE
to discard your work.
There is no shutdown process for the operating system itself. Go to
the emulator window and type Control-E to interrupt it, then q
to quit.
You can restart MCP with ./run.sh
as needed.
Questions, corrections, comments
I welcome any questions or comments, and also especially any corrections if I have got something wrong. Please email me at rupert@timereshared.com and I will add it here and update the main text.