The 6.5 inch x 9 inch rectangular screen of the PDP-12 Display (Type VR-12)
has a total display area of 58.5 square inches. Grid dimensions are 512 x 512
points. The horizontal distance between points is 0.0176 inch; the vertical
distance is 0.0127 inch. The (0,0) grid point is at the midpoint of the left
side of the screen, as shown in the schematic representation in Figure 3-13.
Grid co-ordinates are given in octal.
0, +377 +-----------------+ 777, +377
0, 0 +-----------------+ 777, 0
0, -377 +-----------------+ 777, -377
Figure 3-13. CRT Grid
The display system is fully buffered. Co-ordinates are held in two 9-bit buffers; during the execution of DSC, the pattern word is retained in a 12-bit Pattern Intensification Register. Either of two intensification channels can be specified. A switch on the CRT housing allows either or both channels to be displayed.
Below the channel selector is a continuously-variable knob which allows the user to change the intensity of the displayed points. A level control within the chassis sets the maximum brightness.
A 24-contact Blue Ribbon connector on the Data Terminal Panel allows the user to connect an auxiliary scope (VR-12A or Tektronix 503 or similar unit) for remote display of the same information sent to the main screen. The channel selectors can be set so that each scope displays one of the channels.
The pin assignments are:
1. Channel Select 2. Not Used 9. Shield Chassis Ground 3. Shield Chassis Ground 10. Y HQ Ground 4. Intensified Pulse 11. Y Deflection 5. Not Used 12. Shield Chassis Ground 6. Shield Chassis Ground 13-18. Not Used 7. X HQ Ground 19 503 Intensify 8. X Deflection 20-24. Not UsedThe output drive capability of the D-A converters is -0.3v to -6.0v capable of driving a load resistance of 1 k-ohm connected to ground. This allows up to 200 feet of cable for a remote VR-12. The absolute values of the D-A outputs are not held closer than +/-0.3v but are stable to within 0.3%. The D-A converters are loaded by jam transfer. The D-A used to drive the scope is also available as a single-ended output to drive external devices. The -0.3v D-A point is equivalent to the upper left hand corner of the display screen.
If a new DSC instruction is given while the previous one is still being performed by the display control, the central processor waits until the display is free before proceeding.
- To be done -
Figure 3-14. Display Pattern for DSC
If the programmer enables the HALF-SIZE CHARACTER SpecialFunction [ESF with C(AC)=0], all increments are by two grid positions, rather than four. Bits 3-7 of the AC provide the initial Y co-ordinate; after the two co-ordinates have been transferred to the display control's buffers, the contents of AC[8:11] will be 14(8) and the X co-ordinate in register 0001 will be incremented by 4 instead of by 10(8). Vertical spacing is likewise halved; arrays may start at intervals of 20(8) points, with 4 points between lines.
Each character on the ASR-33 keyboard can he represented on a 4 x 6 grid (24 points). A complete character can be displayed by using two DSC instructions, with two consecutive storage words providing the complete 24-bit character pattern. Table 3-1 lists the display patterns for the ASR-33 character set. Non-displayable characters have patterns of all zeros. The table entries, each consisting of two words, are arranged in order of ASCII codes.
The instruction setup requires either 4.8 or 6.4 microseconds. The display control then allows 15 microseconds for point settling, 1 microsecond for each unintensified point, and 3 microseconds for each intensified point. When no points remain to intensify, the display process is finished leaving the vertical and horizontal co-ordinates of the D-A at the last intensified point of the DSC instruction.
The LINC display instructions allow the programmer To display single grid points or a small array of points. In either case, the full buffering allows the program to proceed after the display operation has been initiated. If a subsequent display instruction is encountered before the previous display operation has been completed, the program will pause until the display control is free, then execute the new instruction.
DIS - Display
Form: DIS I a
Octal code: 0140 + 20I + a, 0 <= a <= 17(8)
Execution time: 3.2 µsec; 16 µsec for completion
Operation: A single point on the screen is intensified. The vertical co-ordinate is specified by bits 3-11 of the AC; the horizontal co-ordinate by bits 3-11 of the designated a-register. If bit 0 of register a is set to 0, the point will be displayed on Channel 0; if C(a) = 1, the point will be displayed on Channel 1.
If I = 0, the contents of a are taken as is. If I = 1. C(a) are first incremented by 1, using 10-bit, 1's-complement addition. Bits 0 and 1 are not affected.
DSC - Display Character
Form: DSC I B
Octal code: 1740 + 20I + 8
Execution time: 4.8 µsec when I=1,B=00; 6.4 µsec when I=0 or B=00. Control completion time 15-51 µsec
Operation: A vertical, 2 x 6 array of points is displayed, according to a pattern word stored in register Y. For each bit of the pattern that is a 1, the corresponding point is intensified; for each bit that is a 0, the corresponding point is left dark. in figure 3-14, the circles represent the points of the array: the small numbers refer to the corresponding bit positions of the pattern word. The small arrows show the order in which the pattern bits are examined and displayed.
As with DIS, the vertical co-ordinate is held in the accumulator. The horizontali co-ordinate is held in register 0001; for this reason, register 0001 cannot be used as a B-register with DSC. The character may be displayed in either of two sizes: full size, in which the spacing between points in both directions is four grid positions, and half-size, in which the spacing is two positions. The following description assumes full-size characters.
When a DSC instruction is executed, the following events occur:
Because of the manner in which the Y-co-ordinate is used, full-size character arrays may start only at intervals of 40(8) points up and down the face of the scope, e.g., 000, 040, 100, -100, etc. The array itself being only 30(8) points high, this gives the programmer an automatic vertical spacing of 10(8) points between the bottom of one line and the top of the one immediately below it.