1
0
mirror of https://github.com/retro-software/B5500-software.git synced 2026-01-11 23:42:42 +00:00
Paul Kimpel 2c72f7fd1d Commit CUBE Library version 13 of February 1972.
1. Commit library tape images, directories, and extracted text files.
2. Commit additional utilities under Unisys-Emode-Tools.
2018-05-27 11:24:23 -07:00

81 lines
3.9 KiB
Markdown

The **B5500-software** project maintains source code and software
artifacts for the Burroughs B5500 computer system, a 1960s mainframe
system designed for high-level languages, and specifically Algol 60.
Many of the files haven been transcribed from listings or scans of
listings.
Contributions of new material and corrections to existing material are
most welcome. Please submit a pull request.
Files are organized in top-level directories by program or application
and origin. Each top-level directory contains a `README.txt` file
describing the contents and their provenance.
Source code formats for the B5500 were based on 80-column punched cards
and card images stored on disk and magnetic tape. For most languages, a
range of columns on the card were reserved for "sequence numbers," which
were used by a number of tools for locating lines in the program and
merging symbolic patch files. These sequence numbers are a vital part of
the source and must be maintained by all contributors.
Source files should be prepared as ordinary ASCII or UTF-8 text files,
but should represent card images. They may be blank-trimmed on the right
if desired. The B5500 used five character glyphs that are not
represented by ASCII. This project and the retro-b5500 emulator use the
following convention for ASCII substitution characters:
`~` left-arrow (Algol assignment operator, "_" is also accepted)
`|` small-cross (Algol multiply operator)
`{` less-than-or-equal operator
`}` greater-than-or-equal operator
`!` not-equal operator
Source files may also be prepared in Unisys "PWB format," named for the
Programmers Workbench editor available with modern Unisys MCP systems.
These are ordinary Windows text files, but padded with spaces to the
full fixed-length record size used when storing records on disk. PWB
understands sequence numbers and maintains the files with proper
padding.
In addition to the Unisys PWB Windows application (also known as NX/
Edit), there is an Eclipse plug-in that offers much of the functionality
of PWB. To obtain the plug-in, search for "MCP IDE for Eclipse" on the
Unisys web site, http://www.unisys.com.
File name extensions of the form `.*_m` denote PWB-format files. For
those extensions that imply a sequence number field, the sequence
numbers MUST be numeric and MUST be in monotonically ascending sequence.
The lines MUST be padded with spaces as necessary to EXACTLY the length
specified below. Lines MAY NOT be right-trimmed to a different length.
PWB considers files that do not meet these criteria to be corrupt and
will not open them, although it has an import tool that will convert
most text files to the PWB canonical format.
The following table shows the PWB common extensions used with B5500
source files, the locations of text, sequence, and mark fields with in
the record, and the full length to which records should be padded. The
length does not include line delimiters. "Mark" fields are used to carry
patchmark ("blame") information, but were not used on the B5500, and may
be left blank:
|File Kind |Ext | Text| Seq| Mark| Length|
|:----------|:-------|----:|----:|----:|--------:|
|ALGOL |`.alg_m`| 1-72|73-80|81-90| 90|
|BASIC |`.bas_m`| 5-72| 1-4|73-80| 80|
|COBOL |`.cob_m`| 7-72| 1-6|73-80| 80|
|DATA |`.dat_m`| all| n/a| n/a| variable|
|DCP |`.dcp_m`| 1-72|73-80|81-90| 90|
|ESPOL |`.esp_m`| 1-72|73-80|81-88| 88|
|FORTRAN |`.for_m`| 1-72|73-80|81-80| 80|
|JOB |`.wfl_m`| 1-80|83-90|91-90| 90|
|NDL |`.ndl_m`| 1-72|73-80|81-90| 90|
|PASCAL |`.pas_m`| 1-72|73-80|81-90| 90|
|SEQDATA |`.sqd_m`| 1-72|73-80|81-90| 80|
|TEXTDATA |`.txt_m`| 1-72|73-80|81-90| 90|
|XFORTRAN |`.xfr_m`| 1-72|73-80|81-80| 80|
|Card deck |`.card` | all| n/a| n/a| n/a|
The initial set of files for this repository were extracted from http://
github.com/pkimpel/retro-b5500 in April 2016.