UsingTheConsoles - pkimpel/retro-205 GitHub Wiki
Using the 205 Control Consoles
The ElectroData/Burroughs 205 had two control consoles. The main console, termed the Supervisory Panel or Maintenance Panel, was part of the mainframe cabinet housing the system's CPU. Below this was a secondary panel, termed the Sub-Maintenance panel, which was usually hidden, and stored behind a fold-down shelf. This secondary panel was designed primarily for circuit-level diagnostics and testing, and is not implemented by the retro-205 emulator.
The second console, termed the Control Console or Programmer's Console, was housed in a desk-like structure. The panel on this console repeated many of the registers and indicators of the Supervisory Panel. It also had a number of controls and indicators designed to support running and debugging of programs. This console was optional for systems that did not include paper-tape equipment or the Flexowriter typewriter, but most systems had it.
The Supervisory Panel
The Supervisory Panel is the main control panel for the system. In the retro-205 emulator, it looks like this:

The upper portion of this panel shows the registers and major control toggles (flip-flops) for the system. The lower portion has switches and buttons to control the system, along with some additional lamps showing the system's status.
One set of controls that functions somewhat differently from a real 205 are the power ON and OFF buttons below the DC caption and above and below the green lamp to the right of the TEST SYSTEM controls.
- The black ON button is presently non-functional and is effectively replaced by the Start the Emulator button on the home page.
- Double-clicking the red OFF button will shut down the emulator, close all of the panel and I/O device windows, and re-enable the Start the Emulator button on the home page. It is always active, even when the emulated processor is running in continuous mode. Make sure you have saved any output from the I/O devices that you want to keep before powering down the emulator.
- The green lamp between the two buttons is lit whenever the system is "powered up." Since the system automatically powers up when the emulator is started, and the OFF button not only "powers off" the system but closes the Supervisory Panel window, you will always see this lamp lit.
The panel on a real 205 had arrays of small push-buttons mirroring the neon lamps. These buttons were used to set or reset individual bits in the registers. To save space on the display, the emulator eliminates these arrays of buttons. Instead, you set bits in the registers by clicking the lamps themselves. Each click on a lamp toggles the state of the corresponding bit in the system.
The displays for the A, B, C, D, and R registers on this panel accurately reflect the internal system state. Most of the toggles in the CONTROL register display, however, are not used by the emulator in its internal execution of instructions, as most of those toggles represent machine state at a level below which the emulator operates. The emulator makes an attempt to set those toggles somewhat realistically for the purpose of creating an interesting display, but the lamp activity in that register is mostly just for show.
Most of the lower-left portion of the panel, labeled TEST SYSTEM, is inactive. Only the SINGLE PULSE button has a function. When this button is clicked, the emulator will open a temporary window and format the current state of the Processor and drum memory to it. This dump can be generated as frequently as you wish, even while the system is running programs. You can print the text of the dump, or copy or save it to another location. When you are finished with the temporary window, simply close it. A dump looks like this:

You can play with rest of the buttons and switches in the TEST SYSTEM section, but they don't do anything. These controls manipulated the low-level electronics of the system for testing and maintenance, but the emulator does not operate at that low a level.
The remainder of the switches, buttons and lights work as they would have on a real 205. There is a good description of this panel and its use in the Handbook of Operating Procedures for the Burroughs 205 at bitsavers.org. The following is a summary of these controls and indicators.
COMPUTER STOP Section
This portion of the panel holds status and alarm indicators for the processor:
OVERFLOW: This lamp is lit when execution of an instruction causes the Overflow Toggle to be set. This can occur due to arithmetic overflow during integer and floating-point operations, the Overflow on Sign Difference (OSGD, 73) instruction, magnetic tape operations when the control unit or drive is busy or not ready, Cardatron interrogate instructions, and temporarily during some change control (branch) instructions. If the Overflow Toggle is set at the beginning of any instruction that is not one of the conditional-change-of-control instructions (CC, CCR, CCB. CCBR), the processor will halt with the lamp lit. The Overflow Toggle is reset when a conditional-change-of-control instruction is executed, or when the reset button below the lamp is clicked.
SECTOR: This lamp is lit and the processor halts when the sector timing track on the drum is out of sync with the sector address counter in the processor. This never happens with the emulator.
CONTROL: This lamp is lit when the processor executes a STOP (08) instruction, halts due to overflow (in which case the OVERFLOW lamp is also on), or is manually halted from one of the consoles. The lamp is turned off when the START button on this panel is clicked, the CONT (continuous) button on the Control Console is clicked, or the reset button below the lamp is clicked.
F.C.: This lamp is lit and the processor halts when a "Forbidden Combination" is detected in one of the registers. A Forbidden Combination is any digit with a binary value greater than nine (i.e., hexadecimal values A-F). Since the 205 did not do parity checking, this served as a basic integrity check on the data. The hardware checked for these bit patterns as digits shifted through the low-order digit in the registers, but the emulator checks for them as digits go through the decimal adder -- almost, but not quite the same thing. Forbidden Combinations in the emulator are rare. They are usually caused by invalid input data, especially in magnetic tape image files. In the past they have also occurred due to bugs in the emulator.
IDLE: This lamp is lit whenever the processor is not executing in continuous mode. See the STEP/CONTINUOUS switch below for more on what this means.
AUD. ALARM: This switch controls whether an audible buzzer will sound when the processor stops due to one of the four alarm conditions above or when a STOP (08) instruction is executed. There is a similar switch on the Control Console. Both switches must be in the ON position in order for the alarm to sound. If either switch is off, the audible alarm is disabled. The alarm also will not sound if the processor is halted by clicking the STOP or CLEAR buttons on either console, or by changing the STEP/CONTINUOUS switch to STEP.
The alarm can be silenced by resuming continuous operation, turning off one of the switches, clicking the RESET button for the alarm condition that caused the halt, or clicking the CLEAR button on either console.
Note that the setting of the alarm switch on the Control Console will be preserved and restored across emulator power off/on cycles, but the alarm switch on the Supervisory Panel will always revert to DISABLED when the emulator is powered on. There are two reasons for this:
- It will prevent a rather annoying sound from playing unless the user really wants to hear the alarm.
- The browser control that plays the sound is part of the Supervisory Panel. Since about 2019, the major browsers inhibit audio from playing unless the user has first interacted in some fashion with the page containing the control, e.g., by means of a mouse click. A user clicking the AUD. ALARM switch to change it from DISABLED to ON will satisfy this requirement.
CLEAR Button
This button will clear all registers and internal toggles in the processor. It is always active, even when the processor is running in continuous mode. Clicking this button while the processor is running will cause it to halt.
TIMING TOGGLE Section
The lamps and switch in this section display and affect the execution state of the processor, as determined by the Timing Toggle. This flip-flop has two states, "Fetch" and "Execute." In normal operation, the processor alternates between these two states -- termed cycles -- for each instruction:
- During the Fetch cycle (toggle=1), the processor fetches the next instruction to be executed from the control address in the four low-order digits of the C register. It then inserts the order code and operand address fields from that instruction word into the upper six digits of the C register, and if indicated by the sign digit of the instruction word, applies B-register modification to the operand address. Finally, the control address in the low-order four digits of the C register is incremented by one.
- During the Execute cycle (toggle=0), the processor executes the order code in two high-order digits of the C register.
The Timing Toggle is changed at the beginning of each cycle, so the lamps in this section of the panel indicate the next cycle the processor will execute after the current one completes. The buttons below the lamps can be used to set the state of the toggle. The buttons are always active, even when the processor is running.
The LOCK/NORMAL switch controls the alternation between the two cycles. In the NORMAL position, the toggle changes to the next cycle at the start of the current cycle. In the LOCK position, this alternation is inhibited, and the Timing Toggle remains in its current state. Locking the processor in the Execute cycle is useful for entering and executing instructions directly from the panel.
For example, with the processor halted, a memory location can be examined by locking the processor in the Execute cycle, entering a Clear and Add (CAD, 64) instruction in the order-code digits of the C register, and the desired address in the operand address digits of that register. Pressing the START button (see below) will execute that instruction, and load the contents of the address into the A register, but will not attempt to fetch the next instruction in sequence, allowing you to enter another value in the operand address digits of the C register and examine that location.
Similarly a location in memory can be modified by entering the new value in the lamps of the A register, entering a Store (ST, 12) or Store And Clear (STC, 02) instruction in C along with the address of the word to be modified, and clicking START.
OPERATION Section
The STEP/CONTINUOUS switch controls continuous operation of the processor. With the switch in the CONTINUOUS position, clicking START will cause the processor to begin executing instructions automatically, one after the other. In the STEP position, pressing START causes the processor to execute only the next Fetch or Execute cycle, then stop. Each click of START executes only the next cycle. Thus, two clicks are necessary to completely execute an instruction, one for the Fetch cycle and one for the Execute cycle.
In the emulator, changing the switch from CONTINUOUS to STEP while the processor is running in continuous mode will halt the processor.
Note that the setting of the STEP/CONTINUOUS switch interacts with the CONT and STOP buttons on the Control Console and affects which console has control over continuous operation of the processor. See the description of those buttons in the section Control Console below for more information.
MEMORY CONTROL Section
The lamps in this portion of the panel reflect internal toggles that control the operation of the memory drum. The emulator attempts to set these lamps realistically during memory access operations:
MAIN: This lamp is lit when the main portion of the memory drum (address 0000-3999) is being accessed.
R/W/M: This lamp is lit when a write to the main portion of the memory drum is in process.
R/W/L: This lamp is lit when a write to one of the high-speed loops on the memory drum (address 4000-7999) is in process.
WD/BL: This lamp is lit when block transfer between main memory and one of the loops is in process. It is off for single-word access.
ACT: This lamp is lit when any memory access is in process.
ACCESS: This lamp is lit when address coincidence on the memory drum has been achieved and the transfer can begin. In the emulator, which models the drum in your workstation's memory, there is no noticeable delay for address coincidence, so ACT and ACCESS always appear to act in tandem.
L/M: This lamp is lit when the main portion of the memory drum is being accessed.
L4: This lamp is lit when the 4000 high-speed loop (address 4000-4999) is being accessed.
L5: This lamp is lit when the 5000 high-speed loop (address 5000-5999) is being accessed.
L6: This lamp is lit when the 6000 high-speed loop (address 6000-6999) is being accessed.
L7: This lamp is lit when the 7000 high-speed loop (address 7000-7999) is being accessed.
Control Console
The Control Console is infamous for its use as a prop in TV shows such as Lost in Space and Batman, and in movies such as Angry Red Planet and Fantastic Voyage. It has something of a cult following due to that exposure.
For most 205 operational purposes, you can do the same things from the Control Console you can from the Supervisory Panel, just in a different way. There are a few things that can be done only from the Control Console.

This panel echoes the major registers and status lamps on the Supervisory Panel. It also has switches and knobs to control breakpoint stops and selection of the paper-tape and Flexowriter I/O devices. This panel is also nicely described in the Operating Procedures manual.
Unlike the Supervisory Panel, and in keeping with the way the 205 worked, the neon lamps for the registers on the Control Console do not respond to clicks. Registers can be set from this console only through the numeric keypad when the INPUT knob is in the KEYBOARD position.
The circular knobs on this panel respond to clicks. Each click advances the knob to its next position. When the knob reaches its end position, subsequent clicks move the knob in the reverse direction.
General Lamps and Controls
The IDLE, CONTROL, OVERFLOW, EXECUTE, and FETCH lamps have the same meaning on the Control Console as they do on the Supervisory Panel. The CLEAR and OVERFLOW RESET buttons also have the same functions as on the Supervisory Panel.
The FC/SA lamp is a combination of the F.C. and SECTOR alarm lamps on the Supervisory Panel. Either alarm condition will cause this lamp to light. Sector alarms do not occur in the emulator, and Forbidden Combination alarms are very unusual.
The AUDIBLE ALARM switch controls whether an audible buzzer will sound if the processor halts due to one of the alarm conditions (Overflow, Forbidden Combination, Sector Alarm) or a STOP (08) instruction is executed. Both this switch and the AUD. ALARM switch on the Supervisory Panel must be in the ON position in order for the alarm to sound.
The alarm can be silenced by resuming continuous operation, turning off one of the alarm switches, clicking the RESET button on the Supervisory Panel for the alarm condition that caused the halt, or clicking the CLEAR button on either console. See the discussion for the AUD. ALARM switch in the section above on the Supervisory Panel for additional details.
OPERATION Section
This section of the panel controls starting and stopping the processor.
The NOT READY lamp will be lit whenever the LOCK/NORMAL switch on the Supervisory Panel is in the LOCK position or the STEP/CONTINUOUS switch is in the CONTINUOUS position. When lit, this lamp indicates that the Supervisory Panel is in control. See below for more information.
The CONTINUOUS lamp will be lit whenever the STEP/CONTINUOUS switch is set to CONTINUOUS on the Supervisory Panel or the processor is running in continuous (automatic) mode.
If the NOT READY lamp is not lit, the three buttons in this section of the panel can be used to control the processor:
- CONT (continuous): Clicking this button will start the processor in continuous mode.
- STOP: Clicking this button will stop the processor at the end of the current Fetch or Execute cycle. The processor can be restarted by clicking either the CONT or STEP buttons.
- STEP Clicking this button will start the processor for the next Fetch or Execute cycle only. This button is normally used for single-step debugging. In the emulator, clicking this button while the processor is in continuous mode acts the same as the STOP button.
Both the Supervisory Panel and Control Console update approximately every 50ms to show the state of the corresponding toggles in the processor. Note, however, that while both panels display system status in parallel, only one panel at a time could be used to control execution of a program on the 205. The emulator attempts to reproduce this behavior:
- In order to operate the system from the Control Console, the LOCK/NORMAL and STEP/CONTINUOUS switches on the Supervisory Panel must both be in the down position (NORMAL and STEP). When either of these switches is in the up position, the NOT READY lamp on the Control Console will light and the STEP, STOP, and CONT buttons on that panel will be inactive.
- When running from the Control Console, you must click the STOP button on that panel in order to switch control of the system to the Supervisory Panel. The START button on the Supervisory Panel will not be effective when the system is running continuously from the Control Console.
- Regardless which panel is currently controlling the execution of a program, the three circular knobs for input, output, and breakpoint selection, the P.O. SUPPRESS and SKIP switches, and the CLEAR and RESET buttons on the Control Console are always active.
BREAKPOINT Controls
This section of the Control Console panel controls detection of breakpoints in the software and the skipping of selected instructions. The controls act on certain bits of an instruction word. The general format for a 205 instruction word is:
s vvvp cc aaaa
where s is the sign digit, vvv are variant digits used by some I/O instructions for device control, p is the breakpoint digit, cc is the order code, and aaaa is the operand address.
The breakpoint digit is used in conjunction with the BREAKPOINT knob and the SKIP switch. The four bits in this digit form a binary mask with individual bit values of 1, 2, 4, and 8.
If a 1-bit in the low-order three bits of this mask matches the setting of the BREAKPOINT knob, the processor will halt after the execution of that instruction and the BKPT lamp will be lit. For example, if the breakpoint digit is 6 (with the 2- and 4-bits thus being 1), the processor will stop after this instruction is executed if the BREAKPOINT knob is set to the 2 or the 4 position. The program can be restarted by pressing the CONT or STEP buttons. Thus the programmer can place breakpoint halts in the program by setting appropriate bits in the breakpoint digit of selected instruction words, but only activate those breakpoints if the knob is set to match those bits.
If the 8-bit in the mask is a 1 and the SKIP switch is on, the processor will skip execution of that instruction. It does so by remaining in the Fetch cycle rather than switching to the Execute cycle for that instruction, thus advancing to the next instruction in sequence immediately. This feature was often used like a sense switch to alter program flow while the program was running.
If both the breakpoint and skip conditions are met for a particular instruction word (a breakpoint digit value of 9 is the only case where this can occur), execution of that instruction will be skipped, but the processor will halt at the end of the current Fetch cycle. Restarting the processor will fetch the next instruction in sequence.
Flexowriter and Paper-Tape Controls
In addition to serving as a control panel for the system, the Control Console also held interface circuits for the Flexowriter typewriter and paper-tape devices. Connections for these devices passed through the Console. Knobs on the Console panel controlled the routing of input and output data between the processor and the devices.
The OUTPUT knob at the lower-left corner of the panel controls the destination of output from the Paper Tape Write (PTW, 03) and Paper Tape Write Format (07, PTWF) instructions. This knob has three positions:
- PAGE: output will be routed to the Flexowriter. The data could be either printed or punched on paper tape (or both) based on settings on the Flexowriter. The emulator supports only printing to the Flexowriter.
- TAPE: output will be routed to the high-speed (60 character/second) paper tape punch.
- OFF: output from these instructions is inhibited. If one of these instructions is executed when the knob is in this position, the processor will halt with the IDLE lamp lit.
The P.O. SUPPRESS switch next to this knob controls the execution of the PTW and PTWF instructions. In the OFF position, these instructions execute normally. In the ON position, the instructions are fetched, but not executed, and nothing is output to the Control Console. The processor advances immediately to the next instruction in sequence.
The INPUT knob at the lower-right corner controls which device sends data to the processor during the execution of Paper Tape Read (PTR, 00) and Digit Add (DAD, 10) instructions. This knob also has three positions:
- MECH. READER: input is from the low-speed (10 character/second) mechanical paper tape reader that is part of the Flexowriter.
- OPTICAL READER: input is from the high-speed (540 character/second) photoelectric reader in the Console.
- KEYBOARD input is from the Console keyboard. This was a custom keyboard that allowed entry of only the decimal digits.
The Flexowriter and its Typewriter Control Unit, the high-speed paper tape punch, and the two paper tape readers are implemented as separate windows in the emulator. The two paper-tape readers share the same window. The only difference between them is the speed at which they read tape image files, based on the setting of the INPUT knob. The keyboard is implemented as the keyboard of your workstation.
With a real 205, executing one of the paper-tape input instructions caused the selected device either to turn on a light or make some noise. To provide a similar signal in the emulator, there are two orange annunciators at the bottom of the Console panel, under the INPUT knob and STEP/STOP/CONT buttons. These annunciators are not normally visible. When a PTR or DAD instruction is executed, one of these annunciators will light, based on the setting of the INPUT knob:
- PAPER TAPE READER will light if the knob is in the MECH. READER or OPTICAL READER position.
- KEYBOARD will light if the knob is in the KEYBOARD position.
When reading data from the keyboard, the Control Console window must have the focus in the browser, i.e., that window's title bar must be highlighted. Input from the keyboard can be terminated by pressing either the "F" key or the Enter key.
For more information on the Flexowriter, Typewriter Control Unit, paper tape devices, and the keyboard, please see the Using the Flexowriter and Paper Tape page.
Running the Pre-Loaded Programs
The preceding introduction should give you enough information to load the 205 emulator into your browser and operate its controls. Then what?
There are several 205 programs that have been written or recovered as part of this emulator effort, and are available in the software/ directory of the emulator's GitHub repository. Instructions for loading and running these programs are in README files in those directories, as well as in separate wiki pages and posts on Tom Sawyer's 205 and 220 Blog.
Just to give the emulator something to do out of the box (i.e., make the lights blink), the emulated memory is pre-loaded a few small demo programs. The starting address for each of these programs is:
- 0000 -- a counter program that runs from main memory and increments the A register.
- 0010 -- a program that runs from the 6000 and 7000 high-speed memory loops and computes square roots, printing the argument and root values to the Flexowriter or paper-tape punch.
- 0020 -- the classic Hello World program, outputting to the Flexowriter or paper-tape punch.
- 0100 -- the same square root program as at 0010, but running from main memory instead of the high-speed loops. This means it runs about eight times slower.
- 0300 -- the same square root program as at 0100 modified to use floating point arithmetic. Floating point numbers are represented as seemmmmmmmm, where s is the sign digit, ee is the exponent biased by 50, and mmmmmmmm is the eight-digit mantissa with the decimal point to the left of the first digit. The number 2.23602 (or 0.223602E+01) is therefore represented in the 205 as +5122360200.
To run one of these programs from the Supervisory Panel:
- Click the CLEAR button.
- Make sure the LOCK/NORMAL switch is set to NORMAL and the STEP/CONTINUOUS switch is set to CONTINUOUS.
- Enter a Change Unconditional (branch) op code (20) in the ORDER field of the C register, and the starting address in the ADDRESS field of the C register. Simply click the lamps in the registers to set the appropriate bit patterns.
- All digits are in BCD, with the low-order bit of the digits in the bottom row of the register lamps. The value in the CONTROL ADDRESS field of the C register is immaterial.
- Make sure the EXECUTE lamp on the panel is lit; if it is not, press the button below it to switch the processor to the Execute cycle.
- Press the START button to begin execution.
The following screen shot shows the panel as it should be set to run the Hello World program at address 0020:
Alternatively, you can start one of these programs from the Control Console as follows:
- Make sure the LOCK/NORMAL and STEP/CONTINUOUS switches on the Supervisory Panel are set to NORMAL and STEP, respectively.
- Click the CLEAR button.
- Make sure the INPUT knob on the Control Console is set to KEYBOARD.
- Click the CONT button on the Control Console. The orange KEYBOARD annunciator below the INPUT knob should light.
- Make sure the Control Console window has the focus in your browser. If not, click the title bar to give it the focus. The emulator will not recognize keystrokes if this window does not have the focus.
- On your workstation keyboard, enter the following 11 digits, but without the spaces: 6 0000 20 xxxx, where xxxx is the starting address of the program you wish to run. You will see the digits shift into the D register as you type. If you make a mistake, just start over with the first digit -- the earlier digits will simply shift off the left end of the D register as you continue to type.
- Press the Enter key on your workstation keyboard to start the program.
The sign digit of 6 you entered causes the word in the D register to be interpreted as an instruction rather than as data. With the exception of the sign digit, this is the same Change Unconditional instruction described above for the Supervisory Panel.
All of these programs, except Hello World, run continuously until they are halted by either flipping the STEP/CONTINUOUS switch to STEP on the Supervisory Panel, clicking STOP on the Control Console, pressing CLEAR, or powering off the emulator. Hello World prints its message once and then halts with the CONTROL and IDLE lamps lit.