Transcribed from "SAMPLE PROGRAM 2" in Appendix D of the
"Burroughs 220 Assembler-Compiler" manual, Bulletin 5024, April 1960.
Assemble with the BAC-Assembler. This manual was found at CBI:
Burroughs Corporation Records, Product Literature (CBI 90),
Charles Babbage Institute, University of Minnesota, Minneapolis.
https://archives.lib.umn.edu/repositories/3/resources/186.
Series 74, box 5, folder 17.
1. Commit original paper tape images B220_Paper_Tapes.zip and
TR1101_TR1301.zip archives from
http://bitsavers.org/bits/Burroughs/B220/.
2. Update and reorganize software/Diagnostics folder; Add README.txt.
3. Commit Michael Mahon's consolidation of the TR1202..TR1206 tests as
Mahon-Regression-Test.pt.
4. Correct formatting of "*" (current assembler location) operand in
BAC-Disassembler.html.
5. Minor corrections to 220-Paper-Tape-Decoder.html.
6. Commit new 220-Format-Band-Disassembler.html script to generate BAC-
Assembler FBGR pseudo ops from memory images of Cardatron format bands.
1. Correct 220-Paper-Tape-Decoder.html to support the full 64-character
paper tape encoding.
2. Correct BAC-Disassembler.html to support the full 64-character set
and properly output sign-2 constant words.
3. Correct the Processor and Paper Tape drivers to support the full
64-character set and allow literal error codes (17) to be read without
setting the paper-tape alarm.
4. Commit the TR1101 and TR1301 diagnostic test paper tape images
received from Al Kossow at
http://bitsavers.org/bits/Burroughs/B220/TR1101_TR1301.zip.
1. Correct BAC-Disassembler address location assignment for CNST
pseudos for operands having tags > 1.
2. Regenerate disassembly listings with corrected disassembler for
paper-tape Diagnostics TR1202-Memory-Test.lst and
TR1203-Operations-Test.lst.
3. Reinstate BAC-Assembler second operand (field 44) for CAD, CAA, CSU,
CSA, ADD, ADA, SUB, SUA; make a few cosmetic changes.
4. Cosmetic changes to GEN-Assembler.
1. Commit 220-Paper-Tape-Decoder.html script to convert Al Kossow's
binary paper tape images to retro-220 paper tape image files.
2. Commit decoded paper tapes and disassembly listings.
3. Additional refinements to BAC-Disassembler.html.
1. Correct ASCII substitution characters in quoted strings for compiler
main, overlay, and library modules.
2. Correct ASCII substitution characters used by BAC-Assembler in
quoted strings.
3. Implement paper-tape output for BAC- and Gen-Assembler.
1. Correct transcription error in BALGOL source, MRS-081.card.
2. Correct transcription errors in SYMPTOM-DATA.card.
3. Add sequence numbers to B5500 and E-mode source files.
4. Generate new set of listings for all versions.
1. Revise UNPACK subroutine to use the available compiler's parameter-
passing sequence.
2. Archive original UNPACK subroutine files in ORIGINAL-1961/.
3. Include compile listings and sample run results.
4. Port BALGOL program to B5500 and modern Unisys E-Mode dialects in
order to generate comparative results.
This is the original version of the program and data as transcribed from
the report described in the README.txt file. It has the original version
of the UNPACK machine-language subroutine, which cannot be used with the
version of the BALGOL compiler recovered for the retro-220 project.
1. Re-commit correction to NUMB address definition in Generator.
2. Correct F2 EXTENDTABLE block length for DELETE OUTPUT FORMAT 1 to
include the last table entry and avoid Cardatron alarms on system
configurations with no Cardatron support.
3. Add entries to EXTENDTABLE block in PTVER routine to cause the paper-
tape heading to be printed when the paper-tape version of the compiler
is generated.
4. Generate new tape images for the Generator, the standard compiler,
the standard 10K-word compiler, and the 5K-word paper-tape compiler.
This revert is in preparation for preserving the original transcription
under a different name and applying corrections against files using the
current names.
1. Implement paper-tape/TTY versions of compiler INPUTMEDIA and
OUTPUTMEDIA routines, and the run-time REED and RITE routines.
2. Create Generator callout deck to make a compiler tape containing
paper-tape/TTY support.
3. Create a compiler tape containing paper-tape/TTY support.
4. Create a paper-tape compiler callout bootstrap program.
5. Correct address for NUMB in Generator source to match the address in
the compiler's Overlay module.
6. Create corrected Generator tape (must be used to create compilers
with paper-tape/TTY support).
7. Add option to produce Generator INPUTMEDIA/OUTPUTMEDIA object card
decks to BAC-Assembler and GEN-Assembler.
8. Create Xlate-Card-PT.wsf utility to convert card-image files to
retro-220 paper-tape image files.
9. Create paper-tape versions of example BALGOL programs.
1. Add WINTER-PI example programs for output to line printer and SPO.
2. Add BALGOL-INPUTMEDIA-OUTPUTMEDIA directory for eventual support of
paper tape I/O in the compiler and run-time library.
1. Correct missing relocation pseudo-op in MONIT Library routine.
2. Rebuild Generator and Compiler tapes.
3. Recompile and generate corrected listings for example programs.
4. Add Simpson's Rule example from Algol-58 Preliminary Report.
1. Supply runnable examples for all five sample programs in the BALGOL
reference manual.
2. Regenerate the Generator and Compiler listings and tape images.
3. Fix assembler bugs with "S" format code on input.
4. Fix BAC-Assembler bug generating a machine-language deck for the
LABEL intrinsic.
5. Note that some of these changes require retro-220 version 0.08 in
order to work properly.
1. Changes to DIRICHLET program that allow it to compile and run correctly.
2. Cosmetic changes to BALGOL-Main, BAC-Assembler, GEN-Assembler.
3. Commit software/tools/BALGOL-DumpAnalyzer.html script that does a parial
analysis of a memory dump from a BALGOL compiler run.
4. Commit compiler tape image and generator deck configured to run on a
system with 10000 words of memory.
1. Revised versions of Generator and Compiler tapes, and their callout decks.
2. Object program callout deck to load and run compiled programs from their object tape.
3. Minor corrections to BAC-Assembler for object code output.
4. Implement object card output for GEN-Assembler, similar to BAC-Assembler.html
5. Corrections and compilation listings for example programs from BALGOL Reference Manual. All examples from the manual now compile.
6. Sample data deck and execution output for Example-1 program from Reference Manual. The results now show 6-7 digit agreement with results from modern Unisys MCP ("E-mode") Algol.
7. Minor changes to output formatting for E-mode and B5500 versions of the Example-1 program.
8. Manually-reformatted listing of E-mode Example-1 results to make them easier to compare with the BALGOL results.
1. Updated compiler and library sources after second proofing pass.
2. Updated Generator and Compiler object code and build decks.
3. Updated Generator and Compiler loadable object tapes.
4. Corrections to BAC-Assembler and enhancements for additional card/tape output options.
5. Minor corrections to GEN-Assembler.
6. Updates to miscellaneous utilities and example programs.
1. Corrections and enhancements to BAC-Assembler and GEN-Assembler, including the ability to pre-load literal pools in order to obtain literal address assignments that match the transcription.
2. Additional proofing corrections to compiler and library.
3. Current versions of Generator and Compiler tapes -- do not reflect the most recent BALGOL-Main corrections.
1. Implementation Paper Tape Reader devices and op codes.
2. Commit standard and inverse-format paper tape loaders for WINTER.PI program.
3. Fix positioning of Cardatron and TTY/Paper Tape Punch device windows.
1. Finish implementation of Cardatron input and output units.
2. Minor corrections to BAC-Assembler script and BALGOL-Generator transcription.
3. Apply band-select "punches" in column 1 of WINTER.PI.card assembler deck.
4. Implement striping on Console register displays to highlight the opcode (62) fields.
5. Implement List-Cards utility to read cards from CR1 and list them on LP2.
1. Initial Cardatron implementation with CardatronInput (card reader).
2. Implement default Pi demo program at address 0300.
3. Implement WINTER.PI card-load deck to boot from card reader 1 and run at address 0500.
4. Fix syntax typos in tools/BAC-Assembler.html.
1. Implement console teletype printer and paper tape punch devices.
2. Correct timing mechanism and operation complete processing for asynchronous (I/O) processor mode.
3. Delete extraneous alarm toggles from B220Processor.
4. Correct Reset And Transfer switch so it will work when the Processor is running.
5. Implement Hello World default program for SPO at address 0020.
6. Change keyboard keystroke assignments for B220ConsoleKeyboard.
7. Implement Reset-to-Defaults feature for B220SystemConfig.
8. Implement DOM Element.classList for B220Util class attribute manipulation.
9. Minor typo correction to BALGOL-Generator.bacg.
2. Correct and reorder op code table in BAC-Assembler.
3. Commit tools/BAC-DeckGen.cmd script to generate card deck files from transcription files.
4. Add /Q (quiet mode) switch to BAC-Xscript-Reformatter.wsf, correct problem with output of last card.
5. Commit examples 2, 3, and 4 from BALGOL manual; commit corrections to example 1.
2. Commit initial sample BALGOL programs from BAC-220 manual.
3. Modify BAC-Assembler to allow independent selection of listings from pass 1 and pass 2.