mirror of
https://github.com/retro-software/B5500-software.git
synced 2026-01-11 23:42:42 +00:00
Correct bad line endings in the repository files that caused problems between checking out in Windows vs Linux clients.
Burroughs B6500 Simulator and Early MCP for the B5500
These files were transcribed by James Fehlinger of New Jersey, US in
mid-2014, from scans of listings provided by Al Kossow of bitsavers.org.
Paul Kimpel assisted in proofing and debugging of the transcribed files.
B65SIM.alg_m
An engineering simulator for the Burroughs B6500, written in a
variant of B5500 Extended Algol, termed LONGALG, described below.
This simulator appears to have been built to model the "flows"
(schematic logic and state diagrams) for the B6500 processor. It
runs as a normal user task under the B5500 MCP.
B65SIM-COMPILE.card
A card deck to compile B65SIM using the LONGALG compiler described
below. Note that since LONGALG is not a standard compiler name, the
compile card must specify "WITH LONGALG".
B65SIM-COMPILE-PRT.lst
The listing of the B6500 Simulator (with $PRT set) produced by the
card deck above.
B65ESPOL.alg_m
An early implementation of an ESPOL cross-compiler for the B6500,
written to run on the B5500. We believe that Don Lyle was the
principal implementer of this compiler.
B65MCP-MARK00.esp_m
A very preliminary version of the B6500 MCP. It is notable for its
use of ESPOL Queue structures, which eventually proved to be too
expensive at run time, and were removed in the Mark II.0 release.
LONGALG.alg_m
LONGALG is a specially modified version of the Mark XIII Algol
compiler that supports the LONG ARRAY type required by B65SIM. We do
not have the source for the original LONGALG, which was written no
later than 1968, and would have been based on an earlier release
than XIII (which is from late 1971). Support for LONG ARRAYS was
reverse-engineered from comments in the B65SIM listing and
implemented for XIII Algol by Paul Kimpel in June 2017.
LONGALG automatically doubles the declared size of the last
dimension of a LONG ARRAY, and automatically doubles any index
values for that last dimension when accessing elements of the array
(thus addressing only the even-numbered words). This was done to
implement a simulated memory array that allowed B6500 tag values to
be stored in the odd words. In addition, a LONG ARRAY physically has
one more dimension than is declared in the program. The last (or
only) declared dimension is split into rows of 256 words (128
emulated words). As many of these rows are allocated in the next-to-
last physical dimension to accommodate the required number of rows
for the (doubled) size of the last declared dimension.
LONGALG-PATCH.alg_m
Kimpel's patch to Mark XIII Algol to produce the LONGALG compiler.
This deck compiles LONGALG/NEW, which then must be marked as a
compiler by the SPO command "MC LONGALG/NEW", which will also change
the name of the file to the standard convention for compilers,
LONGALG/DISK.
LONGALG-DELTA.pdf
A PDF document showing a side-by-side comparison of LONGALG to the
base Mark XIII source.