The Burroughs 5500

B5500 computer image

The Burroughs 5500 was a unique machine, first introduced in 1961 as the B5000. Later advanced to the B5500 (1964) adding disks and finally the B5700 (1971) adding solid state drum. It was the first computer to use the stack as it's only means of accessing data. The machine used 48 bit numbers, all of which were considered to be floating point numbers. A computer word could also be used to hold up to 8 6-bit characters. All software for the machine was written in High level language, mostly Algol or Algol derivatives. Fortran and Cobol were also available for programming, but the operating system and all the compilers were written in Algol. There was a special version of Algol called EPSOL which allowed the generation of inline instruction. Programs written in EPSOL had to be run directly from the hardware as the compiler generated absolute code only. One drawback to the machine was that all programs had to be developed in one language since linking was not part of the system.

The B5500 added a number of instructions to the B5000, including LLL, TUS, FBS. These instructions where to improve the performce of the machine. Also added was the XRT instruction which allowed for a subroutine to access the full PRT table. The B5700 was basically an enhanced B5500 with core memory instead of drum for fast online storage. MCP used the drum (and later Auxmem) as a cache for frequently used segments.

The simulator below works under SimH 3.8, it should also work under 3.9. I have not tested it yet with the latest version from github. The simulator will run either MCP XIII or MCP XV. MCP XIII can be found here: MCP Mark XIII Software request, when MCP XV is available publically I will in the link.

To set up the simulator you will need to download the simulator, xiii.ini file, cold.deck. The deck and initialization file can be changed to increase the number of disk units used. Disk units came in sizes of 48 million characters and slower 96 million character units. The simulator supports either single CPU (default), or dual CPU system. It can support up to 10 disk units on ESU 0-9. The second disk controller can be enabled and set to DFX, which will allow the system to access the same set of drives from either controller. If you wish to run more then 10 disk units, you will need to build a new verison of DCMCP/TSMCP without the DFX option. For XV you also need to add in the option DKBNODFX. Otherwise the machine will become unstable.

The simulator also supports drums (A and B) which can be attached to a physical file which will preseve their contents between simulator runs. Or the more comon way is the enable AUXMEM on the drums and use them as simple memory caches.

Burroughs 5500 simulator

Startup init file for MCP XIII

Cold Start deck for MCP XIII

Once the system is up and running you can remove the attach to card reader, unused tapes, and boot from the disk instead of the tape.

The current version of the sim can be found on github at: https://github.com/rcornwell/simh

Test versions of the sim will be developed on github at: https://github.com/rcornwell/sims

The simulator as also been placed as part of the general simH distribution available here: https://github.com/simh/simh

To load the system under XV you need to use the following cold start deck. Cold Start deck for MCP XV. The init file can be basically the same.

To use Cande with either XIII or XV you need to run the following deck after you have loaded the system. Cande setup job for system. This deck will set up for 8 terminal lines, and create three users for you: B5500, USER1, USER2 (all password SECRET).

I have createrd the following proram that assists in loading software from card deck onto the system or printing out files. Attach the deck Object/Reader Program which will compile the program. It will create a file called "SYMBOL/READER" if you wish to change it in the future. The output is called "OBJECT/READER". The default operation is to copy from the file "S" to the file "LINE" (printer). To load a program from a deck of cards into a file, Use:
?EXECUTE OBJECT/READER
?COMMON=3
?FILE NEWTAPE=file name
?DATA CARD

card deck

?END

To print out a file use:

?EXECUTE OBJECT/READER
?FILE S=file name
?END

Additional software for the B5500 can be found here: B5500-software.

I have also transcribed some programs for use with the B5500 (Pascal, Snobol3, RC). These programs can be found at the B5500-software site above.