Last changed on 22 November 2012
The console is made up of several functional Units (Figure 18):
Program control is required for the first two of these units, the printer and the keyboard. Program control is also required for certain console function switches, such as for the program-stop key or for one type of data-entry operation performed through the console entry switches. See the descriptions of the individual units for further details.
The console printer is a program-to-operator output printer. Program control is needed for the following two frequently performed operations:
The primary function of the input keyboard, which looks like a typewriter keyboard (Figure 19), is to provide a means for operator-to-system input. Operation of a character key on the keyboard does not in itself cause printing at the console printer; the keyboard and console printer combination do not automatically function like a typewriter; each must be separately program-controlled.
The display panel is made up of visual indicators that can be examined to determine either the data contents of specific registers or various conditions in the system. For example, the wait (W) indicator is on when the CPU is in the wait-state.
The term wait-state means that the CPU, when in that state, is doing no instruction processing but is waiting for either a manual or program-controlled start. (Refer to "Wait Instruction" for further details.)
Console entry switches are used to enter data (which can be instructions) into core storage (see Figure 20). Each of the 16 switches corresponds to a specific bit (0 to 15) in the 16-bit word. Two methods for entering data from these switches are:
Function switches and lights, which are located on both sides of the input keyboard (Figure 21), have special uses for various system operations. Refer to "Console Function Lights and Switches" for descriptions of each light and switch.
Data to be printed must be transferred from core storage to the console printer under program control. Printing can be performed at various rates up to a maximum of 15.5 characters per second.
Data Coding
Bit patterns for both data and control characters (such as space and tabulate) are sent to the printer by means of a write IOCC. A separate write IOCC is required for each character bit pattern that is sent to the printer.
Control- and data-bit patterns are sent to the printer in the same manner. Therefore, control-character bit patterns must be in the output print record. For example, the 's in the following example represent blank (or space) control characters:
AFTEREACHWORDABLANK
If these blank control characters are not in the output record as shown, no spaces appear between the printed words. The bit-pattern format that must be set up in each core storage word to be sent to the printer is:
Each word sent to the printer contains the bit pattern for only one data or control character. Bit-positions 8 through 15 are not used. Bit 6 = 0 specifies lower case (LC); bit 6 = 1 specifies upper case (UC). When bit 7 = 0, the bit pattern represents a data character; when bit 7 = 1, the bit pattern represents a control character. The bit pattern for the data and control characters are shown in hexadecimal notation in Appendix A.
Commands
The console printer is programmed by means of two commands (IOCC's). The device code for the console printer in these IOCC's is 00001.
Write
The write command causes bits 0 through 7 of the addressed core-storage data word to be sent to the printer. If, in the addressed core-storage word, bit 7 = 0, the bit pattern repre sents a data character. If bit 7 = 1, the bit pattern represents a control character. A separate write command must be executed to send each data- or control-character bit pattern to the printer.
Sense Device
The sense-device IOCC allows the program to examine the device status word. Execution of the sense-device IOCC places the device status word in the accumulator.
Device Status Word Indicators
The device status word for the console keyboard and console printer is loaded into the accumulator as the result of execution of a sense-device IOCC with device-code 00001.
This device status word is for both the console keyboard and console printer (Figure 22). Bit definitions for the console printer are in this section. Refer to "Console Keyboard" for definitions of the other bits.
Note: There are two device status words for console operations. The one shown in Figure 22 is specified by device-code 00001. The other device status word, which is associated with interrupt-level 5, pertains to interrupt-run-mode and program-stop-key operations. (These operations are described under "Console Keyboard".) The latter device status word is loaded into the accumulator by means of execution of a sense-device IOCC with device-code 00111.
Printer-Response Interrupt (Bit 0 = 1): Each time a print or control function is completed, the console printer requests a level-4 interrupt. A sense-interrupt command is then needed to load the level 4 ILSW into the accumulator. Examination of this ILSW, for the interrupt under discussion, indicates that bit 1 = 1, which specifies a console interrupt. A sense device IOCC must then be executed for the console. This sense-device IOCC, addressing the console printer, loads the device starus word into the accumulator. Bit 0, when equal to 1 in this device status word, indicates that the printer is available for the next print operation or control function.
Printer Busy (Bit 4 = 1): When bit 4 = 1, the console printer is printing a character or performing a control function. A write command should not be sent to the printer when the printer is busy. If a write command is sent to the printer when bit 4 (printer busy) is on, the data sent to the printer (either character or control data) is ignored, and no further indication is given to the program.
Bit 4 (printer busy) is on from the time data is sent to the printer until the printer has completed the required print or control action.
Printer Not Ready (Bit 5 = 1): The printer is not ready when bit 5 is on. The following two conditions must exist in order for the printer to be made ready:
If the two preceding conditions are both met, bit 5 is at a value of 0 in the device status word.
Program routines for console-printer control are available in the 1130 Disk Monitor, Version 2, Programming System. Such programming for the console printer is not described here. Rather, this section provides a brief description of factors that should be considered in writing programs for the console printer.
Before any write operation is initiated for the console printer, its device status word should be examined. If bit 5 (printer not ready) is on, a write operation or control operation cannot be performed. If bit 5 is off, the printer is ready.
If the printer is ready and an output print record is in core storage, the first write command can be issued. Both the address in the write IOCC and a data count (not in the IOCC, but kept at some desired location in core storage) must then be updated.
The data address in the IOCC must, at the beginning of the output operation, point to the first word of the output record. After the first word is sent, via a write command, the address must be incremented by one; the address then points to the next word in the output record. Incrementing must be done by separate program control; it is not automatic.
A desired data-count value can be used to end the operation (that is, branch out of the routine). The data count is decremented by one for each word sent to the printer by a write IOCC. This decrementing is not automatic but must be provided separately by the program. When the count equals 0, the last write IOCC has been executed and the operation can be ended. If the write operation is dependent upon operator input at the keyboard, the operation may also be ended by the operator pressing the EOF key. Programming must also be provided to handle this type of ending.
A possible general procedure for handling printing or control functions after the first print or control function is shown in Figure 23. The procedure shown is general in nature and is for informational purposes only; the procedure is not meant to represent any specific application for the printer.
After the first print or control function is performed, the printer interrupts the CPU (see Figure 23). For this interrupt, bit 1 = 1 in the level-4 interrupt-level status word. A sense-interrupt IOCC can be executed to load the interrupt level status word in the accumulator.
A sense-device IOCC can then be executed (it must address, with device-code 00001, the keyboard/console). As a result, the printer device status word is loaded into the accumulator. Because a printer-response interrupt has occurred, bit 0 = 1 in the device status word.
Finally, after determining that the console printer requires service, the program can issue a write IOCC to the console printer. The next bit pattern is then sent to the printer. The operation continues in a similar manner until the data count goes to zero (or the EOF key is pressed when printing is dependent upon a keyboard input operation.)
KEYBOARD FUNCTIONAL DESCRIPTION
The input speed of the keyboard (Figure 24) is limited only by the speed of the operator.
Keyboard entries are not automatically printed unless the CPU is programmed to provide an output (of the entry) to the printer. The keyboard sends a bit pattern to the CPU for each key struck by the operator. The bit pattern is related to IBM card coding (see the character code chart in Appendix A). For example, operation of the A-character key results in the following bit pattern in the addressed core-storage word:
1001 0000 0000 0000
This bit pattern is identical to that received into core storage when the character A is read from a card column in card code by the 1442 Card Reader. Other bit patterns are listed in Appendix A. The bit definitions are:
The two-position console/keyboard switch indicates to the program the desired source of the console input data, either the keyboard or the console entry switches.
Keyboard Function Keys
The numbers next to the descriptions are the same as the numbers that point to the corresponding keys in Figure 24:
Manual Start Operating Procedure
The following manual-start procedure is a typical use of the keyboard:
If you then press a character key, the keyboard initiates a keyboard-response interrupt to the CPU. In response to the interrupt, the program should execute a read command. This command enters the character into core storage and removes the keyboard from the selected status. Before another character can be entered, the program must issue another control command to select the keyboard.
Note: When the request is initiated by the program, the operation is basically the same but starts at the issuance of the control command to select the keyboard.
If a read command is issued when the keyboard is not selected, no bits are entered into core storage.
Keyboard Programming
The keyboard operates under direct program control of the 1130 Computing System.
I/O Control Commands (IOCC's)
The keyboard is addressed by the same device code used by the console printer, 00001.
This command enters a single input character from the keyboard into the core-storage location specified by the address of the IOCC. A control command must have been previously executed to place the keyboard in a select status.
This command reads the keyboard/console printer device status word (Figure 22) into the ACC. Modifier bit 15 on specifies that all keyboard/console printer responses are to be reset.
This command places the keyboard in a select status so that a character can be entered. The read command resets the keyboard select status.
Special Keyboard Console Programming: Either the program stop key or the interrupt run mode causes an interrupt on level 5. The 0-bit in the ILSW is set on. After determining the interrupt is on level 5, the program must issue a sense device (with area code 7). The following DSW is presented to determine the cause of the interrupt.
DSW Indicators
Refer to Figure 22.
Keyboard Response (Interrupt): Bit 1 indicates an interrupt which signals that a character key has been pressed and that a character is ready to be entered into core storage.
Interrupt Request (Interrupt): Bit 2 indicates an interrupt which is initiated by the request key located on the keyboard.
Keyboard/Console Entry: Bit 3 indicates to the program the position of the keyboard/console switch. The two-position keyboard/console switch indicates the desired source of the console input data, either the keyboard or the console entry switches.
Keyboard Busy: Bit 6 indicates the keyboard is busy. This bit is on from the time an XIO Control is issued to the keyboard until the next XIO Read is issued to the keyboard. This bit is on any time the keyboard select light is on.
The contents of the registers within the computer are displayed on the console panel (Figure 25) by means of small incandescent lights. Each bit in each register position is represented by a light. The light is on when the bit which it represents is present in the word displayed.
Indicator Displays
The Instruction Address Indicator represents the status of the 15 bits in the instruction address register. The instruction address register holds the address of the next sequential instruction.
The Storage Address Indicator represents the status of the 15 bits in the storage address register.
The storage address register contains the address of the last reference to a core storage word.
The Storage Buffer Indicator represents the status of the 16 bits in the storage buffer register.
The storage buffer register is the buffer between the central processing unit and core storage. Each word of data transferred into or transferred out of core storage passes through the storage buffer register.
The Arithmetic Factor Indicator represents the status of the 16 bits in the arithmetic factor register.
The arithmetic factor register holds one of the two operands during arithmetic and logical operations.
The Accumulator Indicator represents the status of the 16 bits in the accumulator register.
Data can be loaded into the accumulator register from core storage; conversely, data can be stored in core storage from the accumulator register. Data in the register can also be shifted to the right or to the left and can be manipulated by arithmetic and logical instructions. The accumulator register contains the binary number or expression resulting from an arithmetic or logical operation.
Error conditions, which are generally not-ready conditions or FORTRAN pause conditions, are indicated by the accumulator indicator.
The Accumulator Extension Indicator represents the status of the 16 bits in the accumulator extension register. The accumulator extension register and the accumulator register are used as a 32-bit register. The 16-bit accumulator extension register is the low-order extension of the accumulator register. The accumulator extension register receives the data shifted to the right by the accumulator register or by a load double command code. The accumulator extension register is also used for multiplication and division operations and double-word arithmetic.
T0 through T7 Indicators represent the last clock step completed.
I1, I2, IX, IA, E1, E2, and E3 Cycle Indicators indicate the type of machine cycle in process when in single step mode. They indicate the machine cycle just completed when in any other mode.
The X7 Indicator turns on when the cycle-steal clock is in X7; that is, stopped.
The P1 and P2 Indicators indicate the parity of the storage buffer register. P1 is on when bits 0-7 contain an even number of bits, and P2 is on when bits 8-15 contain an even number of bits.
The W (Wait) Indicator is on when the central processing unit is in a wait condition. The following conditions turn on the W indicator:
When a W condition is indicated, the central processing unit can be restarted at the next sequential instruction (after the wait instruction) by pressing the program start key.
The central processing unit is also restarted when an interrupt occurs. This restart is under control of the program and requires no operator intervention.
The requirements of the application being processed determine when the operator should press the program start key to resume program operation.
The ADD, AC, SC, AS, TC, and ZR Indicators indicate the status of the following functions: add, arithmetic control, shift control, accumulator sign, accumulator carry, and zero remainder.
1 through 8 Indicators are used by the customer engineer. Each lamp can be wired by a customer engineer to give a visual indication of any condition in the machine.
The next eight indicators are associated only with the synchronous communications adapter.
The RDY (Ready) Indicator turns on when the data set is ready.
The ABL (Enable) Indicator turns on when the program has enabled the adapter to respond to a ring indicator signal from the data set.
The REC (Receive) Indicator turns on when the receive trigger of the adapter is on.
The TSM (Transmit Mode) Indicator turns on when the adapter is in the transmit mode.
The BFR (Buffer Loaded) Indicator turns on when the buffer contains data.
The CLK (Clock) Indicator turns on when the receive clock is running.
The DI (Data In) Indicator turns on when the receive data line from the data set is at a zero or space level.
The CP (Character Phase) Indicator turns on when the adapter is operating in character phase.
The Operation Register Indicator indicates the operation in process when in single step (SS) mode or single machine cycle (SMC) mode. The indicator indicates the operation just completed when in any other mode.
Error conditions in the operation register generally occur when the machine has executed (1) a wait condition, (2) a FORTRAN pause, or (3) an invalid instruction such as all blanks.
Illegal instructions are as follows:
00000 10110 00111 01010 01111 01011 10111 11111
The Operation Flags Indicator indicates the status of the format, tag, and modifier bits of the instruction shown in the operation register.
The Index Register Indicator shows which one of the three index registers is being used.
The Interrupt Levels Indicator shows the interrupt level being serviced. The level indicator that is on aids in identifying the device that is being serviced by the interrupt subroutine.
The following indicators aid in identifying 1130 system devices:
1. 0 -- 1442 Card Punch Model 5 1442 Card Read Punch Models 6 and 7 2. 1 -- 1132 Printer Models 1 and 2 Synchronous communications adapter 3. 2*-- Disk Drive 4. 3*-- 1627 Plotter Models 1 and 2 2250 Display Unit Model 4, or System/7 5. 4*-- 1055 Paper Tape Punch Model 1 1134 Paper Tape Reader 1231 Optical Mark Page Reader Model 1 1403 Printer Models 6 and 7 1442 Card Punch Model 5 1442 Card Read Punch Models 6 and 7 2501 Card Reader Console interrupt request key 6. 5*-- Program stop key Console mode switch
* These interrupt levels may also have a Storage Access Channel (SAC) device.
The Cycle Control Counter Indicator represents the binary value contained in the shift counter.
The Condition Register Indicator represents the status of the carry indicator (C) and the overflow indicator (0).
Mode Switch
The mode switch (Figure 26) selects one of seven operating modes:
The SS (Single Step) Setting with each depression and release of the start key, causes the 1131 clock to advance one step; for example, from TI to T2.
The SMC (Single Memory Cycle) Setting, with each depression of the start key, causes the central processing unit to advance one machine cycle; for example, 11 to 12.
The INT RUN (Interrupt Run) Setting causes a level 5 interrupt after each mainline program instruction is completed. This setting is convenient for program trace routines.
The RUN (Program Run) Setting causes the 1131 to advance through its stored program when the start key is pressed.
The SI (Single Instruction) Setting causes the 1131 to interpret and execute a single instruction when the start key is pressed.
The DISP (Display Core Storage) Setting, after pressing the start key, displays (in the storage buffer register) the core storage word at the location specified by the address in the instruction address register and advances the instruction address register.
The LOAD (Load Core Storage) Setting, after pressing the start key, loads the data from the console entry switches into core storage at the location specified by the address in the instruction address register and advances the instruction address register. Pressing the LOAD IAR switch causes the data from the console entry switches to be loaded into the IAR.
These 16 toggle switches (Figure 27) are used to set up data or instructions to be entered into core storage. Each switch represents a bit position in a 16-bit word. The procedures that follow provide for entering the information from the console entry switches (CES) by means of manual control. keyboard interrupt, or XIO instruction.
Manual Branching: This procedure allows the operator to begin processing from the instruction word located at any point in the program.
Manual Entry: This procedure causes the bits set in the console entry switches to be loaded into the word at the core storage address in the instruction address register (IAR).
Keyboard Interrupt: This procedure requires an interrupt subroutine to service a level 4 interrupt.
Read (010)
This command reads the settings of the CES. Each CES that is on causes a 1-bit to be placed in the corresponding location of the core storage word located at the address specified by the address field of the IOCC. The area code is 7(00111).
These lights and switches are located on both sides of the keyboard (Figure 28).
The Disk Unlock Light turns on when the disk cartridge can be removed from the disk drive.
The File Ready Light turns on when the disk storage is available for reading and writing.
The Run Light turns on when the central processing unit is operating and the meter is running.
The Parity Check Light turns on when a parity error is detected in either half of a word read out of core storage.
The KB Select Light turns on when an instruction requests input data from the keyboard.
The Forms Check Light turns on when the last form is detected by the console printer forms contact.
The Alarm On/Off Switch turns off the synchronous communications adapter (special feature) alarm in the 1131. The operator uses this switch to turn the alarm off only if the program should fail to turn it off.
The Emergency Pull Switch, as the name of the switch implies, should be initiated only under unusual circumstances. Once the emergency pull switch is pulled, it is mechanically locked so that system power cannot be brought up again until the customer engineer has reset this switch. All power -- including that to all on-line input/output units -- is dropped without regard to sequencing. Therefore, the contents of core storage may be partially destroyed during an emergency pull operation. The customer engineer should be contacted whenever system power cannot be maintained.
The Power On/Off Switch turns on the electrical power to the 1130 system.
The Keyboard Console/Keyboard Switch indicates (to the program) the desired source of the console input data -- either the keyboard or the console entry switches.
The Program Start Switch causes the 1131 to take one clock step or one machine cycle (and to continue taking additional cycles), depending on the setting of the console mode switch. Eight clock steps complete one machine cycle, and one or more machine cycles complete an instruction.
The IMM (Immediate) Stop Switch causes an immediate stop of the processor interrupt, although the input/output devices will finish their present cycle. Data from the devices may be lost if they are operating when the IMM stop key is pressed. A complete program restart is normally required.
The Program Stop Switch causes a level-5 interrupt. The program must then provide the control to cycle down I/O devices and stop the CPU. If routines that service this interrupt are not in the program, loss of information may result if the program stop switch is operated. Operational and programming considerations are:
The Reset Switch resets all input/output and machine registers, cycle and control triggers, and status indicators.
The Load IAR (Instruction Address Register) Switch places the status of the 16 console entry switches in the instruction address register. The console mode switch must be set to LOAD.
The Program Load Switch loads the first card or paper tape record into core storage, beginning at 00000.
This meter runs when either of the following conditions is present:
For the second condition the meter will run regardless of the state of the clock, and will stop when the I/O equipment has finished the particular operation the instruction specified.
A customer engineering meter and key lock switch are also provided in the 1131. When this key switch is turned on it activates the CE meter and deactivates the 1131 usage meter and all usage meters on the attached I/O equipment. This CE meter then records time in the same manner as specified for the usage meter. The purpose of the CE meter is to record system time during maintenance.
The 1131 usage meter provides the master time measurement of useful work done by the 1130 computing system. All I/O unit meters are interlocked by this meter running and cannot record time if it is stopped. No I/O meter can ever record more time than the 1131 usage meter.
But wait, there's MORE...