#summary Instructions for using the SPO (supervisory keyboard/printer) with the retro-B5500 emulator in a web browser.
#labels Burroughs,B5500,emulator,retro-b5500,operator,console,SPO,keyboard
= WebUI Using the SPO =
Virtually all operational control of a B5500 system was done through the supervisory keyboard/printer, or SPO.
The term "SPO" is presumably an acronym for "supervisor print out" or "supervisory printer for operators," or something like that. Its use persisted with Burroughs systems long after the mechanical keyboard/printers were no longer used and the operator interface transitioned to a video terminal. Modern Unisys MCP system now refer to the SPO as the Operator Display Terminal, or "ODT."
= Background =
Initially on the B5000 and early B5500s, the SPO was a Smith-Carona electric typewriter, modified to interface with the system's I/O Control Units. Later, Burroughs started using a standard Teletype Model 33 KSR device, with a panel of control buttons installed where a modem would normally be. This was termed the B495 Supervisory Printer. The best picture we have of the B495 comes from the B100/200/300 Reference Manual:
https://googledrive.com/host/0BxqKm7v4xBswRjNYQnpqM0ItbkU/B495-SPO-Image.png
The printer and control buttons looked very similar to the interface we have developed for the web-based emulator:
https://googledrive.com/host/0BxqKm7v4xBswRjNYQnpqM0ItbkU/B5500-SPO.png
The SPO was intended solely as an operational control device and not as a timesharing terminal. Programs could communicate with the SPO, but since the system typically ran multiple jobs at once, access to the SPO had to be shared on a non-conflicting basis. While it was possible to compile and run programs from the SPO (assuming the source or object code was already on disk), one did not sit at the SPO to, say, edit source code.
The SPO was a peripheral device, and interfaced both physically and electronically to the rest of the system the same way that a tape drive or card reader would. It sat on the short end of the L-shaped operator console desk. Below it was a logic rack that adapted the Teletype interface signals to those of the system's I/O Units.
Since the SPO was very slow -- 10 characters/second -- and completely unbuffered, it tied up an I/O unit for the entire time that it was either printing or waiting for the operator to finish entering a command. There were a maximum of four I/O units on a system (three was a more typical number), so continuous SPO activity could have a significant impact on overall system I/O performance. The MCP went to some trouble to compress SPO output by stripping multiple blanks, and limited the number of output messages that could be queued for printing. There was also an operator command (`BK` or `BK`) to flush the output queue for either the whole system or a specified job.
In order to read from the SPO keyboard, the system must to select an I/O unit and initiate a read operation to the SPO. To signal the MCP when this is needed, there is a special Keyboard Request interrupt, triggered by the *INPUT REQUEST* button on the SPO control panel, as discussed below.
= SPO Control Panel =
The Model 33 teletype had a rotary off/local/remote switch on its front bezel, below the keyboard. This was typically left in the "remote" position unless the system was being powered down completely. The emulator does not implement this.
The Model 33 had a space on the right side of its case where interface equipment could be installed. This was often used for a dial modem. The units for the B5500 had a special panel installed in this space that had ten button/light controls in two columns of five. Three of the button/lights were blank and unused. The rest were labeled as follows:
* *POWER* -- this green light illuminates when power is applied to the device. In the web-based emulator, it is always illuminated, and otherwise non-functional.
* *READY* -- this yellow light illuminates when the system initiates a read operation in response to the *INPUT REQUEST* button being pressed.
* *REMOTE* -- this yellow button/light indicates the device is on-line to the rest of the system. If the device is off-line, pressing the button makes it on-line.
* *LOCAL* -- this yellow button/light indicates the device is off-line to the rest of the system. If the device is on-line, pressing the button makes it off-line. When the device is off-line, you can type comments onto the paper, which will not be transmitted to the system.
* *INPUT REQUEST* this yellow button/light is used to set the Keyboard Request interrupt. That interrupt in turn requests attention from the MCP so that it will initiate a read operation for the keyboard. When pressed, the button lights, and remains lit until the system initiates the read operation, at which point the light goes out, the *READY* light comes on, and the keyboard is enabled for input.
* *END OF MESSAGE* -- after entering a command on the keyboard, press this yellow button to terminate the input and signal the system that the command is complete. This also extinguishes the *READY* light.
* *ERROR* -- if you makde a mistake while entering a command, press this yellow button to cancel what had been entered. The MCP will discard your input to that point and reinitiate a read operation to the device. To cancel a partially-entered command and not reenter it, press *ERROR*, and then when *READY* comes back on, press *END OF MESSAGE*.
The emulated SPO supports a few user-interface features that the Teletype Model 33 device did not:
# When the SPO window has the focus, you can press the ESC key instead of the *INPUT REQUEST* button to request input to the system. The *INPUT REQUEST* button will light as if it had been pressed.
# You can press the Enter key on your keyboard instead of the *END OF MESSAGE* button to end a message.
# When the *READY* light is on and the SPO window has the focus, you can press the ESC key to cancel your input instead of the *ERROR* button. In either case, the carriage will start a new line and the *READY* light will eventually come on again to allow you to reenter your command.
# Lower-case letters will be translated to upper case as you type them. Neither the B5500 nor the Model 33 supported lower case.
# When entering a command, you can press the Backspace key to correct errors. The Model 33 could not backspace.
# You can type faster than 10 characters/second, which was physically impossible with a Model 33. The SPO echos your keystrokes at only 10 cps, but it will eventually catch up to what you have entered.
= Tips for Using the SPO =
When the system is powered on and the SPO window opens, the SPO will print a short message indicating the emulator version. Please wait for this message to finish printing before attempting to press the *LOAD* button on the operator console.
You may move and resize the SPO window, and minimize it, but _do not close the window._ The system will warn you if you attempt to do this. Closing the window will render the SPO inoperable until the emulator is reinitialized with the *POWER ON* button.
The frame representing the "paper" for the SPO has a 500-line scrollback. It is implemented as an HTML `