FOG is a package of FORTRAN-callable subroutines which enable one to display and manipulate information on the VT15/VT04 refresh display. The VT04 display console contains the Cathode Ray Tube (CRT) display unit. The VT15, the graphic processor contains the computer-to-display interface logic and the logic required to operate the display console. A block diagram of the basic VT15 graphic display system is shown in figure 1.
An image is traced out on the VT04 screen by a fast-moving beam of electrons. The image drawn on the phosphor fades within a fraction of a second and because of this fast decay pictures can be altered on the screen at a rate which appears almost continuous to the viewer. To maintain a steady image however, the picture must be repeatedly regenerated (or refreshed by the VT15 controller).
The VT15 controller (or processor) can be regarded as a computer, which obeys instructions (display-orders) constituting a display program, which resides in the core store of the PDP15. Images appear on the VT04 screen as a result of the orders being obeyed. The VT15 controller operates in parallel with the basic processor of the PDP15, with a cycle time of 750 nanoseconds. It has the following set of hardware features:
In addition, one also has control over the following hardware picture parameters:
The VT15 processor steps from one display order to the next, using its own display program counter, analogous to the PDP15 CPU program counter. A display-jump order (DJMP) causes the VT15 to start obeying a fresh sequence of display orders, analogous to a jump order (JMP) in the PDP15 instruction set. A display subroutine call (a subpicture-call or subpicture reference (DJMS) causes a new sequence of display orders to be obeyed and the return address is saved (at the start of the new sequence). 13 bit addresses are used (direct addressing); this is different to the JMS instruction of the PDP15 where either 12 or 13 bits can be used. The VT15 can execute an indirect display-jump or subpicture-call (* denotes indirect, thus DJMP*); the address in the display-order is used to locate a new address which locates the new sequence of display-orders. This provides a means for returning from a subpicture (making use of the return address stored by the DJMS).
Since the VT04 is a refresh display, the display orders must be obeyed repeatedly to maintain an image. This can be achieved without the intervention of the CPU once it has created the display-orders and started the VT15 processor with an I/O instruction. The CPU can continue in parallel. It is necessary though for the user program to remain in core, and not to be deleted (by STOP, or ↑C for instance).
The FOG package organises display recycling for the programmer, but it is useful to be acquainted with how display programs are controlled and sequenced.
The VT04 display has a screen whose dimensions are 9½ inches by 11 inches with the horizontal dimension (X-axis) being 11 inches in length. This screen is divided into two basic display (or image) areas. The major image area is divided into a square single-quadrant coordinate system whose origin is located at the lower left-hand corner of the visible portion of the screen. This square (9½ inches) has 1024 addressable coordinates in both the X and Y axis, making 107.4 coordinates per inch. The minor image area (or off-set area) is divided into a rectangular coordinate system whose effective display area is 9½ inches by about 1½ inches with the longer dimension on the vertical (Y-axis) plane, giving 1024 addressable coordinates along the Y axis and approximately 161 addressable coordinates along the X axis (see Figure 2). (The 161 coordinates is the figure quoted by Digital Equipment Company but it appears possible to use up to 250.)
Display orders containing coordinate pairs that specify points are expressed as absolute in terms of their displacement from the origin. However, coordinate pairs specifying vectors are expressed as relative in terms of their displacement from the last beam position.