IBM 2250 Display Unit



The IBM 2250 Display Unit, Model 4 (Figure 68) is a cathode-ray tube display unit that attaches to the IBM 1130 Computing System. The 2250 Display Unit operates under the control of a display order program and input/output (I/O) control commands. The program and commands are sent from the 1131 via the 1131 storage access channel (SAC) or 1133 storage access channel II (SAC II).

Figure 68. IBM 2250 Display Unit Model 4
Figure 68. IBM 2250 Display Unit Model 4


The 1130 system and 2250 model 4 operate asynchronously. The display program orders can be sent to the 2250 at a rate up to 40 frames per second (25 millisecond frame time); however, the 2250 operation can be delayed while the 1130 is servicing a device with a higher cycle-steal priority.

This section provides a brief description of the IBM 2250 Display Unit, Model 4. For a more complete description of the 2250 model 4 refer to the Systems Reference Library publication IBM 1130 Computing System Component Description -- IBM 2250 Display Unit, Model 4, Order No. GA27-2723.

FUNCTIONAL DESCRIPTION

As soon as a 2250 operation is started by an I/O control command, the 2250 addresses CPU storage to execute the display program -- stealing core storage cycles from the CPU. Core storage cycle demands by the 2250, therefore, always have higher priority than those of the CPU program. Units that operate synchronously with the CPU are assigned higher cycle-steal priority than the 2250, eliminating 2250 interference with synchronous operations.

The 2250 can generate images of vectors (straight lines), points, and characters on the 21-inch cathode-ray tube. (The usable display area is 144 square inches -- 12 inches by 12 inches.) A visible display is produced when the electron beam in the cathode-ray tube strikes the phosphor-coated cathode-ray tube screen. The screen area struck by the beam glows briefly. Normally, the glow fades within a fraction of a second -- too rapid for human eye perception or recognition. For this reason, the display is continuously regenerated at a discernible rate.

As soon as regeneration is started by an 1130 I/O control command, the 2250 channel interface section -- where storage addressing is performed -- continuously fetches orders and data from the display program in storage. Orders are decoded in this section. Deflection information is transferred to the 2250 display section, where it is used to draw the appropriate display. Regeneration is accomplished by continuously repeating the display program. Orders and data in the display program can be modified during regeneration -- as directed by the CPU program or by the display program itself -- to update or change the display.

The 2250 display section, furthermore, performs various nondisplay services by providing the interface between the user and the problem program with three devices: the programmed function keyboard, the alphameric keyboard, and the fiber-optics light pen.

The programmed function keyboard provides communication between the user and a CPU program. The keyboard consists of keys, indicators, and sensing switches for use with replaceable descriptive overlays. The function of each key and indicator is defined by the CPU program. Punches in the top edge of each overlay identify the overlay to the CPU program. To identify the key and indicator functions to the operator, the key or indicator labels (or both) can be placed on the overlay. Each key can be used by the program to initiate a subroutine associated with the respective overlay, thereby performing the indicated function. For example, depression of a key might result in the enlargement, reduction, or deletion of the display image.

The alphameric keyboard makes it possible for character displays to be created, edited, or changed by the user. With the typewriter-like keyboard, alphameric messages can be entered into the display program for displaying and editing. The alphameric keyboard key codes can be interpreted by the CPU program and used for control purposes in a manner similar to operations with the programmed function keyboard.

The light pen provides the means by which the display program and the CPU program can identify the storage address of the order that initiated the display of a vector, point, or character. This information can be used for operations determined by the display program, by the alphameric keyboard, or by the programmed function keyboard. The user can identify a displayed image simply by pointing the light pen at the image or by pressing the tip switch (the point at the end of the light pen) against the image. The method of identification is determined by the display program.

DISPLAYS

Information positioning on the 2250 display area is controlled by a display program in the 1131 core storage. This program is sent to the 2250 (by a 16-bit word) via the 1131 storage access channel or 1133 storage access channel II. Orders in this program specify electron beam deflection to horizontal (X) and vertical (Y) coordinates on a square reference grid. This grid is composed of the 1,024 possible electron-beam-deflection end points.

Information can be displayed in the 2250 in either the graphic mode or character mode.

Graphic Mode

Either vector or point operations can be performed by the 2250 in graphic mode. If no specific graphic mode has been set previously by an order from the display program, the vector mode is set automatically. In graphic mode, the 2250 can receive (from the display program) either electron-beam positioning orders or an order to establish a different mode of operation, such as to set point mode from vector mode or to enter character mode from graphic mode.

Character Mode

The set of characters that can be displayed by the 2250 in character mode is defined by the programmer. This character set resides in 1130 storage as a subroutine of the display program. The character set can comprise any number of characters in any font. These characters can be modified at any time during execution of the display program. Characters in this set can be displayed in either of two sizes -- basic or large, as determined by the character-mode order.

In character mode, the current X, Y position of the beam on the 1,024-by-1,024 position display area becomes the center of a basic- or large-size character area. This area is maintained throughout one character mode operation. The program places the beam at a starting position on the display area (using a blanked point or vector) before a character display operation is started.

CHANNEL INTERFACE SECTION

The 2250 channel interface section interfaces the storage access channel (SAC) and the 2250 display section. It decodes and executes orders and commands, addresses CPU storage, and handles data transferred to or from CPU storage. Information transfer across the SAC/2250 interface is by a 16-bit word.

An address register in the 2250 channel interface section specifies (to CPU storage) the location at which information will be stored or from which it will be retrieved for 2250 operations. This address register is initially loaded by an initiate write (start regeneration) command from the CPU program. It can then be stepped automatically by the 2250, altered by the display program, or reloaded by the CPU program. Thus, display regeneration can be performed without CPU intervention.

The display program consists of display orders, associated data for image generation, and control orders for various nondisplay functions. Undefined order codes received by the 2250 are treated as nooperation orders or are interpreted as data if in the appropriate format.

The CPU program initiates 2250 operation by issuing an execute input/output (XIO) instruction. The I/O control command at the effective storage address specified by the XIO is then sent to the 2250. If the I/O control command is initiate write (start regeneration), the 2250 fetches display program information from core storage starting at the address specified by the I/O control command.

Display program information consists of orders and data. Orders either initiate a 2250 operation or establish a mode. Order-initiated operations include point and vector plotting, branching, and CPU interrupt generation.

Data is defined as information that does not contain an operation code. Character-stroke words are the only data received by the 2250. Even though a character-stroke word may contain one or more control bits, these bits are used directly to perform an operation.

PROGRAMMING

The 1131 Central Processing Unit (CPU) uses input/output (I/O) control commands to control 2250 operations.

Input/Output Control Commands

The 2250 is selected by the five-bit device code 11001. The three-bit function code specifies primary I/O functions. The modifier portion of the command provides additional information for the device and function specified. Command modifier bits 11, 12, and 13 must be 0's. Unassigned modifier bits are not decoded. Unassigned functions codes are treated as nooperation commands by the 2250. The execution time of each command is equal to the XIO instruction time plus one core storage cycle time for each cycle steal required for data transfer. When an XIO instruction is executed, the odd word of the I/O control command is sent to the 2250 via the storage access channel before the even word.

The I/O control commands associated with the 2250 are initiate write, initiate read, control, sense interrupt, and sense device.


Initiate Write

The two modifiers of the initiate write command are start regeneration (bit 8 = 0) and set programmed function indicators (bit 8 = 1). Both modifiers cause the corresponding even I/O control command word to be loaded into the 2250 address register. Words are then accessed from CPU storage by cycle stealing, starting at this address. An initiate write command can be executed only when the 2250 is not busy (not regenerating), and is treated as a nooperation command when the 2250 is busy. A control (reset display) command can be used to stop regeneration.


Start Regeneration Command: Starts execution of the display program at the address specified in the even command word.

Display Unit IOCC start regeneration command


Regeneration continues under control of orders in the display program until terminated by a control (reset display) command or by a 2250 interrupt. The busy bit in the device status word is set during regeneration. (The device status word contains one bit of information for each indicator within the device.) The start regeneration command also clears the interrupt status indicator (device status word bits 0-2); if the keyboard interrupt bit is set, the command unlocks the 2250 keyboards, resets the data available bit, and clears initiate read command response word 4 and 5.


Set Programmed Function Indicators Command: Is used to load the programmed function keyboard indicators with the contents of two consecutive words in CPU storage.

Display Unit IOCC set programmed function indicators command


The first of these two words is specified by the address word of this command. Two cycle-steal operations are performed.

Each bit in the two indicator words corresponds to one programmed function keyboard indicator.

Display Unit indicator words


All 1-bits cause their associated indicators to light, and all 0-bits cause their associated indicators to be turned off. No interrupts are generated.

All programmed function indicators are turned off by a power-on reset (generated when 1130 power is turned on) and by a manual reset (generated when the 1131 reset push button is pressed).


Initiate Read

Display Unit IOCC initiate read command

The initiate read command causes six words of 2250 status information to be placed, by cycle stealing, into CPU storage starting at the address specified in the command. The original contents of the 2250 address register are saved (as the first word of status information) before the command address word is loaded but are not restored after execution of the command.

An initiate read command is normally issued immediately after a sense interrupt command in response to a 2250 interrupt; however, it can be executed any time the 2250 is not busy. Interrupts are not generated by the initiate read command, and the 2250 interrupt request is reset (if set). The six words of status information read by this command are as follows:

Display Unit status information


The words reflect the status of the address register, device status word, X and Y deflection registers, programmed function keyboard, and alphameric keyboard at the time of the preceding interrupt. If a keyboard is not attached to the 2250 or does not have data available, the appropriate data available bit (bit 0) will be a 0. The device status word contents are defined in the sense device command description. The address register contents in the first word of this response, to be meaningful, may require modification as specified by address displacement bits 14 and 15 in the device status word.


Control

During control command execution, the 2250 address register is not loaded by an address from the I/O control command. Cycle steals are not used, and interrupts are not generated. The two control modifiers are no-operation (bit 8 = 0) and reset display (bit 8 = 1).


No-Operation Command: Is ignored by the 2250. It is reserved as a no-operation, and will not be assigned a function in the future.

Display Unit IOCC control no-operation command


Reset Display Command: Stops regeneration immediately and generates a unit reset in the 2250, causing all registers, controls, and keyboards to be reset. Zero is the reset state of all registers except the X and Y deflection registers, which are reset to 512 each (the center of the reference grid). The display mode is reset to graphic mode (vector), light pen control is reset to the disable detects and defer interrupts condition, all pending interrupts are cleared, and the 2250 is made not busy.

In addition, the bit configuration in the even word of the control (reset display) command (effective address) is imaged twice in the programmed function indicators, once in indicators 0-15 and again in indicators 16-31. Each 1-bit lights two indicators, and each 0-bit clears two.

Display Unit IOCC control Reset Display command


Sense Device

Display Unit IOCC Sense Device command
*Reset (R): If set to 1, causes interrupt request to be reset.

This command causes the 2250 to send a device status word (Figure 69) to the 1131, where it is loaded into the accumulator. Cycle steals are not used and interrupts are not generated. If the 2250 is regenerating (is busy), only bit 8 of the device status word will be set. When the 2250 is not busy, the device status word contents describe the control status of the 2250, as follows:


Figure 69. 2250 Device Status Word
Figure 69. 2250 Device Status Word

DSW Indicators

Order-Controlled Interrupt: Is generated when the 2250 is executing either the unconditional or conditional interrupt variation of the long branch/interrupt order. The conditional interrupt variation can cause an interrupt only when the light pen detect and/or light pen switch status bits are tested successfully by the order. A 1 in device status word bit 0 indicates the occurrence of an order-controlled interrupt.

Following execution of an initiate read command, the address in the first word of status information points to the second word of the long branch/interrupt order, which may contain an address or other interrupt identification data. Bits 4 and 7 of the device status word indicate the light pen detect and light pen switch status at the time of interrupt. However, 4 is reset after it is tested successfully.


Keyboard Interrupt: Is set when a key has been pressed either on the alphameric keyboard or on the programmed function keyboard, and the next start timer order is decoded. An initiate read command reads the appropriate keyboard (response word 4 or 5). Both keyboards are locked, and light pen detects are inhibited at the time of interrupt and remain in this condition until an initiate write (start regeneration) command is executed. A 1 in device status word bit 1 indicates the occurrence of a keyboard interrupt.

If both keyboards are simultaneously activated, the programmed function keyboard is given priority by the 2250 and causes the interrupt; in this case, the alphameric keyboard is locked out. Bits 4 and 7 of the device status word indicate the light pen detect and light pen switch status at the time of interrupt.


Detect Interrupt: Is generated when the 2250 is enabled for light pen interrupts and when a detect has occurred. This interrupt is indicated by a 1 in device status word bit 2.

If the 2250 is enabled for light pen detects when a detect occurs, the address in the first initiate read response word depends on the type of data detected. Bits 9 and 10 of the device status word identify the display mode as character, vector, or point. Bits 14 and 15 of the device status word specify a displacement. This displacement should be subtracted from the initiate read response word 0 contents to obtain the address of the graphic positioning order causing display of the detected image, or the branch order to the detected character. Light pen switch status at the time initiate read was executed is indicated in device status word bit 7. In addition, the contents of the X and Y deflection registers (initiate read response words 2 and 3) might be significant. Detect Status indicates that the light pen has detected a point, vector, or character with interrupts deferred. This bit is reset whenever it is tested successfully or when device status word bit 2 is set.


Cycle-Steal Check Interrupt: Indicates the 2250 has stolen 32 consecutive cycles. This interrupt detects and stops a runaway cycle-steal situation in the 2250 caused by either 2250 malfunction or program error. If 32 consecutive cycles are stolen during any 2250 command, order, or character generation, regeneration is stopped, the busy bit is reset, cycle-steal requests are blocked, and an interrupt is requested. If a read status command is issued in response to this interrupt, no data is read since the cycle-steal request is blocked. The sense DSW command must be used following an unsuccessful read status command to examine the DSW and identify this interrupt. A reset display command or a manual reset must be given to clear the 2250 and prepare it for restarting the display.


Light Pen Switch Status: Indicates that the light pen switch was closed when last Start Timer order was executed.


Busy: Indicates that the display is currently regenerating in cycle-steal mode. This bit is always 0 if interrupt has occurred or display is not regenerating (or both).


Character Mode: Is equal to 1 when in basic or large- character mode; is equal to 0 when in graphic mode.


Point Mode: Is significant if bit 9 is equal to 0. Bit 10 is equal to 1 for point mode, or 0 for vector mode.


Address Displacement: Indicates the number of locations the address register (in first word of read status response) is ahead of address of the order being executed when detect interrupt occurred. Contains indeterminate value at any other time. Reset to 01.

IBM 2285 Display Copier

The 2285 (Figure 70) attaches directly to any 2250 Display Unit Model 4 that is equipped with the Display Copier attachment feature. The 2285 provides an 8½-by-11-inch paper copy output of the associated 2250 display upon request by the 2250 operator. The 2285 obtains analog signals and power from the 2250 to which it is attached and requires no programming. For operation procedures for the 2285, refer to the IBM 2285 Display Copier Component Description, Order No. GA27-2730.

Figure 70. IBM 2285 Display Copier
Figure 70. IBM 2285 Display Copier

USAGE METERS

2250 Model 4 Usage Meter (SAC)

This meter will run when the following conditions are present:

  1. The 2250 enable/disable switch is in the enable position.
  2. The 1131 usage meter is running.

The meter will continue to run simultaneously with the 1131 meter until the enable/disable switch is placed in the disable position. The condition required to change the status of the 2250 is: the CPU clock must not be running when the switch position is changed.

2250 Model 4 Usage Meter (SAC II)

This meter will run when the following conditions are present:

  1. The 1133 in an enabled status.
  2. The 2250 enable/disable switch is in the enable position.
  3. The 1131 usage meter is running.

The meter will continue to run simultaneously with the 1131 meter until the enable/disable switch is placed in the disable position, or the 1133 is disabled. The condition required to change the status of the 2250 is: the CPU must be in the stopped or wait state when the switch position is changed.

1133 Usage Meter

The 1133 meter runs when the following conditions are present:

  1. The enable/disable switch is in the enable position.
  2. The 1131 usage meter is running. This meter will continue to run simultaneously with the 1131 meter until the enable/disable switch is placed in the disable position. The condition required for honoring the switch in either the enable or disable position is that the 1131 clock must be stopped. The status of the 1133 cannot be changed (enable to disable or disable to enable) while the 1131 clock is running.


But wait, there's MORE...

And there's LESS...

And there's the rest