1
0
mirror of https://github.com/pkimpel/retro-b5500.git synced 2026-02-26 17:13:22 +00:00

Reconstruct Google Code wiki history from r356 on 2013-09-30.

This commit is contained in:
Paul Kimpel
2015-04-04 09:41:22 -07:00
parent 20721ec890
commit 87b46cb3cc
5 changed files with 19 additions and 17 deletions

View File

@@ -4,11 +4,11 @@
= WebUI Using the B5500 Console =
<wiki:toc max_depth="2"/>
Compared to virtually ever other computer system of the 1960s, the Burroughs B5500 had an extraordinarily minimalist operator console -- just five buttons and six lights, plus a few more on the Teletype SPO (supervisory keyboard/printer). The best image we have of the console is from a 1964 Burroughs brochure for the system:
Compared to virtually ever other computer system of the 1960s, the Burroughs B5500 had an extraordinarily minimalist operator console -- just five buttons and six lights, plus a few more on the Teletype SPO (supervisory keyboard/printer). The best image we have of the console is from the 1968 Burroughs Corporation annual report:
https://googledrive.com/host/0BxqKm7v4xBswRjNYQnpqM0ItbkU/B5500-Console-Image.jpg
https://googledrive.com/host/0BxqKm7v4xBswRjNYQnpqM0ItbkU/B5500-Console-Image.png
That image shows the original device used for the SPO, a Smith-Corona electric typewriter, which was replaced later by a Teletype Model 33 KSR device.
That image shows the B5500 at the City of Montreal, Canada. It shows the L-shaped console desk, with the Teletype Model 33 SPO.
We have tried to be faithful to the design of the console in our representation of it for the web-based user interface:
@@ -27,17 +27,17 @@ The console was used to power the system on and off, initiate a load (boot) of t
From left to right, the controls on the console are:
* *HALT* button -- pressing this black pushbutton halted the system. This initiated a complete termination of all processing. The only way to continue after halting was to press *LOAD* and reboot the system.
* *NOT READY* light -- this yellow indicator was lit when one of the components of the system that did not have its own ready/not ready indicator was in a not-ready or off-line state. It applied to processors, I/O units, memory modules, and the first drum (if present).
* *LOAD SELECT* -- this black button/light controlled whether a load operation read from the first disk^1^ or the first card reader. In its normal position, load was from disk. When pressed, the button latched inward and lit, causing load from cards. For the web-based console, the depressed position is indicated by a yellow border around the button.
* *LOAD* -- pressing this black pushbutton cleared all registers in the system and initiated a load operation. When loading from disk, 63 sectors (1890 words) were read into memory starting at location 20 octal. When loading from cards, one binary card was read starting at location 20 octal. If the read was successful, Processor 1 then started executing at that address.
* *MEMORY CHECK* -- this yellow light illuminated when a memory parity error was detected by either processor.
* *A NORMAL* -- this yellow light illuminated when Processor A was operating in Normal State (i.e., running user code).
* *A CONTROL* -- this yellow light illuminated when Processor A was operating in Control State (i.e., running MCP code).^2^
* *B NORMAL* -- this yellow light illuminated when Processor B was operating in Normal State.
* *B CONTROL* -- this yellow light illuminated when Processor B was operating in Control State.
* *POWER ON* -- pressing this white light/button initiated a power-up sequence for the system. The button was illuminated when power was applied to the system. In the web-based emulator, pressing this button initializes the internal emulator components and opens a series of sub-windows for the peripheral devices configured for the system -- SPO, card reader, line printer, etc..
* *POWER OFF* -- pressing this black pushbutton initiated a power shutdown sequence for the system. In the web-based emulator, pressing this button halts the processor(s) and closes the peripheral sub-windows.
* *HALT* button -- pressing this red pushbutton halts the system. This initiates a complete termination of all processing. The only way to continue after halting is to press *LOAD* and reboot the system. The button illuminates when power is on and the system is halted.
* *NOT READY* light -- this white indicator illuminates when one of the components of the system that did not have its own ready/not ready indicator is in a not-ready or off-line state. It applies to processors, I/O units, memory modules, and the first drum (if present).
* *MEMORY CHECK* -- this red light illuminates when a memory parity error is detected by either processor.
* *LOAD* -- pressing this black pushbutton clears all registers in the system and initiates a load operation. When loading from disk, 63 sectors (1890 words) are read into memory starting at location 20 octal. When loading from cards, one binary card is read starting at location 20 octal. If the read is successful, Processor 1 then starts executing at that address.
* *CARD LOAD SELECT* -- this yellow button/light controls whether a load operation reads from the first disk^1^ or the first card reader. In its normal position, load is from disk. When pressed, the physical button latched inward and lit, enabling load from cards. In the web-based emulator, the state of the button toggles each time you click it, but the button only lights.
* *A NORMAL* -- this yellow light illuminates when Processor A is operating in Normal State (i.e., running user code).
* *A CONTROL* -- this yellow light illuminates when Processor A is operating in Control State (i.e., running MCP code).^2^
* *B NORMAL* -- this yellow light illuminates when Processor B is operating in Normal State.
* *B CONTROL* -- this yellow light illuminates when Processor B is operating in Control State.
* *POWER ON* -- pressing this green light/button initiates a power-up sequence for the system. The button is illuminated when "power" is applied to the system. In the web-based emulator, pressing this button initializes the internal emulator components and opens a series of sub-windows for the peripheral devices configured for the system -- SPO, card reader, line printer, etc.
* *POWER OFF* -- pressing this black pushbutton initiates a power shutdown sequence for the system. In the web-based emulator, pressing this button halts the processor(s) and closes the peripheral sub-windows.
When the emulator is first loaded into a browser, only the *POWER ON* button is activated. Once power is applied and the emulator is initialized, the *POWER OFF* and *LOAD* buttons become active and *POWER ON* is disabled. Once *LOAD* is pressed, *HALT* becomes active and *LOAD* is deactivated. When power is applied, *POWER OFF* can be pressed at any time, even when the system is running programs.
@@ -107,10 +107,12 @@ At the far right of the lower portion of the console are two statistics that ind
* *P1 Slack:* the average percentage of time the emulated processor is delaying its execution in order to throttle its performance to that of a real B5500. Numbers closer to 100% indicate the processor emulation is using relatively small amounts of your workstation's physical processor. Numbers closer to zero indicate the emulator is barely able (or perhaps unable) to run at the speed of a real B5500.
* *P1 Delay:* the average amount of time (in milliseconds) the processor emulation is delayed during throttling _in excess of_ the amount of time it requested to be delayed. This is a running average over the last 1000 delays, and is an indication of how precise the Javascript `setTimeout()` implementation is for your browser.
The delay number is typically about half the browser's actual precision, plus one or two milliseconds. HTLM5 standards specify that browsers must have a precision of at least four milliseconds, so you should see values in the 3-4ms range for a compliant browser. Lower values are better, as all of the emulation takes place on one Javascript thread, and shorter delays allow the emulation to switch among processor and I/O tasks more efficiently.
In our experience with Mozilla Firefox and Google Chrome, the delay number is typically about half the browser's actual precision, plus one or two milliseconds. HTLM5 standards specify that browsers must have a precision of at least four milliseconds, so you should see values in the 3-4ms range for a compliant browser. Lower values are better, as all of the emulation takes place on one Javascript thread, and shorter delays allow the emulation to switch among processor and I/O tasks more efficiently.
Note that on most Windows systems, at least through Windows 7, the default timer precision is about 15ms, and you typically should see average delays in the 7-8ms range. Google Chrome is known to mess with the Windows timer mechanism beneficially, however, and meets the HTML5 requirement. Curiously, Chrome's effect on the Windows timer is system-wide -- if you run the emulator in Firefox at the same as Chrome is active in your workstation, the average delay in Firefox will be about the same as it is for Chrome.
Starting with version 23, Firefox under Windows appears to handle timers more precisely as well.
`____________`

View File

@@ -14,7 +14,7 @@ The term "SPO" is presumably an acronym for "supervisor print out" or "superviso
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/B5500-SPO-Image.png
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:
@@ -35,7 +35,7 @@ The Model 33 teletype had a rotary off/local/remote switch on its front bezel, b
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 black light illuminates when power is applied to the device.
* *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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 28 KiB