SAC INTERFACE FOR ADDING PERIPHERALS TO THE 1130
Restructuring the GUI
A friend asked why I didn't just reproduce the appearance of the various device control panels, and of the 1130's main display panel. It was something I considered, but decided against because the 'signal to noise ratio' would be too low.
Take, for example, the control panel for the 1442 card reader/punch. There are four active buttons, four lamps and a dummy button on the right side, and a set of seven lights in a flat black square on the left. The only lamp that is useful on my GUI is the Ready lamp and the only button that is useful is the NPRO one.
That leaves 3 live and 1 unused buttons cluttering up the screen, plus 10 of the 11 lights unused. Then, I need to show the state of the hopper, display the file names for both input hopper and output stackers, indicate the number of cards remaining in the hopper, and offer a Prog Load button which is on the main 1130 keyboard rather than the card reader.
The 1132 printer has 18 positions filled with buttons, lamps or a switch, but only a couple are useful. Displaying the paper and carriage control tape files does not have an analog on the real 1132. Once again, most of the panel would be non-functional but distracting.
The same was true of the main 1130 display panel, since I can only display the state of the Storage Data register, not the other five registers. Of the eight T clock levels, I only display four. Some information such as reset, X0, X2 and X4 clock states are not displayed at all on the real 1130. Other information, such as the Parity Stop, exist on the keyboard panel not the display panel.
I chose instead to be evocative of the 1130 but not a close match. I organized the control panels on the GUI to present the needed information and guide the user on the available operations they can request.
I walked through my 2501 reader code and realized that under the new model-view-controller, there is a flaw in how I handle the last card condition. I need to add a transaction that the code sends to the fpga to arm it for the last card status when it handles the very next XIO Init Read.
In a real 2501, when the hopper becomes empty, the reader goes out of ready. If the Start button is pressed without putting new cards in the hopper, the reader becomes ready but adds the last card bit in the DSW when the card is read. Otherwise, more cards are added to the hopper and Start makes the device ready again. Subsequent reads in that case do NOT have the last card bit set.