Git Product home page Git Product logo

retro-220's Introduction

The Burroughs 220 was a late-1950s, decimal, vacuum-tube, core-memory computer system. Some consider it to be the last of the major vacuum-tube computers.

The 220 was the follow-on product to the ElectroData/Burroughs Datatron 205. It was initially developed as the ElectroData Datatron 220 but renamed after Burroughs acquired ElectroData in 1956. The system was initially released in 1958. It did well with both scientific and commercial applications, but being a vacuum-tube system at the beginning of the transistorized era, was only modestly successful.

The ElectroData Division of Burroughs went on to create a number of successful systems after the 220, including the B100/200/300 series, the B1700/1800/1900 series, the B2000/3000/4000/V Series, the B5000/5500, and finally the B6000/7000/A Series, which are still produced and sold today as Unisys ClearPath MCP systems.

The main goal of this project is creation of a web browser-based emulator for the 220.

A second goal is reconstruction of the Burroughs Algebraic Compiler (BALGOL), an Algol-58 compiler written for the 220 by a team from Burroughs that included Joel Erdwinn, Jack Merner, Donald Knuth, Dave Dahm, and Clark Oliphint.

The contents of this project are licensed under the MIT License.

Related Sites URL
Emulator hosting site http://www.phkimpel.us/Burroughs-220/
Emulator documentation https://github.com/pkimpel/retro-220/wiki
Burroughs 205/220 blog http://datatron.blogspot.com
220 documents at bitsavers http://bitsavers.org/pdf/burroughs/electrodata/220/
BALGOL compiler listing http://archive.computerhistory.org/resources/text/Knuth_Don_X4100/PDF_index/k-1-pdf/k-1-u2196-balgol220compiler.pdf
Datatron 205 site http://www.phkimpel.us/ElectroData-205/

retro-220's People

Contributors

pkimpel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

newsmaker3

retro-220's Issues

BALGOL Library ERROR routine write buffer address not relocated

The BALGOL Library routine ERROR is called by other routines in the Library to report error messages (see Appendix F in the BAC manual, INPUT-OUTPUT PROCEDURES). Portions of ERROR are also used by the LABEL and TRACE routines. ERROR has an 11-word buffer labeled OUT at relative offset 0037 where the message is constructed. It then outputs the message with a call to the RITE routine at offset 0034:

      F4246 1106,44,0100
      F4246 OUT,30,0100

This is a typical STP(44)-BUN(30) call, but with parameter information in the /44 control fields of both instructions: 1106 in the STP control field specifies message length and formatting; OUT in the BUN control field specifies the message buffer address. The sign-6 on both instructions causes the /04 address field to be relative to the start of an external identifier, in this case 01=RITE + 00.

The problem here is that the address of OUT in the /44 control field needs to be relocated as well, but this is not specified. Thus, RITE outputs from absolute address 0037, not the buffer at OUT, resulting in garbage.

The control field would normally be relocated by specifying a sign of 7 on the word, but the sign already has a value of 6 to relocate the /04 address field. Note that the address of OUT is properly relocated by the sign of 8 in the OUT1 word at offset 0053.

This appears to be an original bug, at least in the listing we have available. It can probably be fixed by preceding the BUN instruction word at offset 0035 by a pseudo-operation word with a sign of 4 and an operation code of 04 (, i.e., 4 0000 04 0000). See Appendix F, RELOCATION CONVENTIONS.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.