mirror of
https://github.com/retro-software/B5500-software.git
synced 2026-01-11 23:42:42 +00:00
1. Commit library tape images, directories, and extracted text files. 2. Commit additional utilities under Unisys-Emode-Tools.
81 lines
3.9 KiB
Markdown
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.
|
|
|