CHAPTER 3 LINC MODE PROGRAMMING
3.4 CRT DISPLAY, TYPE VR 12
The 6.5 inch x 9 inch rectangular screen of the PDP-12 CRT Display Type VR12 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 inches; the vertical distance is 0.0127 inches. 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.
o,+377 - - - 111, +377
0,0
1---11
777,00,-377 - - - 777,-377
Figure 3-13. CRT Grid
The display system is fully buffered. Coordinates 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 multiplexed intensification channels can be specified. A switch on the VR 12 front panel allows either or both channels to be displayed.
Below the channel selector is a variable knob which allows the user to change the intensity of the displayed points.
A level control located within the VRl 2 presets the maximum brightness level, preventing spot burns.
A 24-contact connector on the Data Terminal Panel allows the user to connect an auxiliary scope (VR-l 2A CRT Display, Tektronix 561, or similar unit) for remote display of the same information sent to the main screen. The channel selectors can be independently set so that each scope displays one of the channels, thus allowing
independent simultaneous displays on two scopes.
A complete set of connection points for the VC12/VR12 display system is shown in Appendix G.
The output drive capability of the D-A converters is Ov to -5.85v capable of driving a load resistance of 1 kQ 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 3.0%. 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 Ov D-A point is equivalent to the lower left hand corner of the display screen.
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.
3.4.1 Point Displays DIS Display (a-Class)
Form: DIS I a
Octal code: 0140 +a, 0 ~a~ 178
Execution time: 3.2 µs; 23 µs for completion of display
A single point on the screen is intensified. The vertical coordinate is specified by AC3 _1 1 ; the horizontal coordinate by bits 3-11 of the designated a-register. If bit 0 of the a-register is set to 0, the point will be displayed on Channel O; if C(a0 ) = I, 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 I, using 10-bit, two's complement addition. Bits 0 and I are not affected.
3.4.2 Character Displays
DSC Display Character ({J-Class)
Form: DSC I f3
Octal code: 1740 + 201 + {3, f3 ~ 2 ~ 178
Execution time: 4.8 µs when I= 1, f3 = 00; 6.4 µs when I= 0 or {3=t 00 Control completion time 20-56 µs.
Operation: A vertical 2 x 6 array of points is displayed according to a pattern word stored in register Y (Y
is defined as with other ~-class instructions). 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 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 coordinate is held in the Accumulator. The horizontal coordinate is held in register 0001; for this reason, register 0001 cannot be used as a 13-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:
( 1) The intensification pattern is transferred from Y to the display control Intensification Buffer.
(2) The contents of AC3 - 6 are placed in the display control Y-buffer; AC7 - 11 are set to 308 • The contents of register 0001, the X-coordinate, are incremented by 108 , and transferred to
The foregoing operations take 4.8 or 6.4 µs to do their work, after which the central processor is free to resume program execution. The remaining operations are performed by the display control.
(3) The pattern word is examined in the order shown in Figure 3-14. The time required to scan and display the points varies according to the number of points to be intensified. Reaching the first point requires 20 µs, then 1 µs for each point to be left dark and 3 µs for each point to be displayed. This action continues until all points are intensified.
Because of the manner in which the Y-coordinate is used, full-size character arrays may start only at coordinates which are multiples of 40s; e.g., 000, 040, 100, -100. Since the array itself is only 30s points high, this gives the programmer an automatic vertical spacing of 1 Os points between the bottom of one line and the top of the one immediately below it.
3.4.3 Half-Size Characters
•, ,., ~'
x
I
X+I09 {FULL SIZE) X+ 49 (HALF SIZE)
I
Figure 3-14. Display Pattern for DSC
2·0030
If the programmer clears the CHARACTER SIZE bit of the Special Function Register [ESF with C(AC4 ) = 0), all increments are by two grid positions, rather than four. AC3 _7 provides the initial Y coordinate; after the two coordinates have been transferred to the display control's buffers, the contents of AC8 - 11 will be 14s, and the X coordinate in register 0001 will be incremented by 4 instead of by I Os. Vertical spacing is likewise halved; arrays may start at intervals of 208 points, with 4 points between lines. I/O PRESET sets this bit of the Special Function Register to a 1 (full-size characters).
3 .4 .4 Character Set
Any character that can be represented on a 4 x 6 grid (24 points) 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. Nondisplayed characters have patterns of all zeros. The table entries, each consisting of two words, are arranged in order of ASCII codes.
Table 3-1. ASR-33 Character Set Display Pattern
External Internal Character Pattern External Internal Character Pattern
ASCII Code Words ASCII Code Words
245 45 % 3114 274 74
<
04120643 2100
246 46 & 5166 275 75
=
12120526 1212
211 47 TAB 0000 276 76
>
00210000 1204
250 50 ( 3600 277 77 ? 4020
0041 2055
251 51 ) 4100 301 01 A 4477
0036 7744
252 52 * 2050 302 02 B 5177
0050 2651
253 53 + 0404 303 03
c
41360437 2241
254 54
' 0500 304 04 D 4177
0006 3641
255 55 - 0404 305 05 E 4577
0404 4145
256 56 0001 306 06 F 4477
0000 4044
257 57 I 0601 307 07 G 4136
4030 2645
260 60 0 4136 310 10 H 1077
3641 7710
261 61 1 2101 311 11 I 7741
0177 0041
262 62 2 4523 312 12 j 4142
2151 4076
263 63 3 4122 313 13 K 1077
2651 4324
264 64 4 2414 314 14 L 0177
0477 0301
265 65 5 5172 315 15 M 3077
0651 7730
266 66 6 1506 316 16 N 3077
4225 7706
267 67 7 4443 317 17 0 4177
6050 7741
270 70 8 5126 320 20 p 4477
2651 3044
271 71 9 5122 321 21 Q 4276
3651 0376
272 72 2200 322 22 R 4477
0000 3146
273 73 , 4601 323 23
s
51210000 4651
Table 3-1. ASR-33 Character Set Display Pattern (cont)
External Internal Character Pattern External Internal Character Pattern
ASCII Code Words ASCII Code Words
324 24 T 4040 335 35 ] 0000
4077 7741
325 25
u
0177 336 36 t 00007701 0000
326 26
v
0176 212 37 LINE 00007402 FEED 0000
327 27
w
06777701 240 40 SPACE 0000
330 30
x
1463 00006314 241 41 ! 7500
331 31 y 0770 0000
7007 242, 42 " 7000
332 32
z
4543 00706151 215 43 RETURN 0000
333 33 [ 4177 0000
0000 244 44 $ 4731
334 34 \ 0204 4275
1020
3.5 DATA TERMINAL
The Data Terminal provides analog inputs and relay-controlled outputs for use by LINC mode programs. The facility includes the following:
Analog Inputs Relays
Auxiliary Scope Connector
3.5.1 Analog Inputs
Six teen channels
Six relays for external equipment control 24-pin connector for an auxiliary CRT
The AD 12 Analog-Digital Converter and Multiplexer consists of 16 input channels, a Sample and Hold, a multiplexer, and a 10-bit A-D converter. Eight of the channels are for external inputs via phone jacks. These feed through preamplifiers to the multiplexer. The acceptable voltage range of these inputs is± lv with a sensitivity of approximately 2 mv/count.
The other eight channels are controlled by continuously variable knobs mounted on the Data Terminal. The knobs give ten turns stop-to-stop however, 7 turns provide the full 10-bit range to the converter (1-1/2 to 2 turns from each extreme is beyond the A-D range of -777 8 to +777 8 ). The knobs can be used to control speeds (as in the continuous display of data from tape), set threshold levels or other test parameters, etc.
A single LINC mode instruction selects the input channel, initiates the conversion, and transfers the contents of the buffer into the AC.
SAM Sample Form:
Octal code:
Execution time:
Operation:
3.5.2 Relays
SAM N
0100 + N, 0 ~ N ~ 17 8 (Basic system); 0 ~ N ~ 37 8 (extended system) 18.2 µs (Normal mode); 1.6 µs (Fast sample mode)
Input channel N is selected. In normal mode, the voltage level present at the input is sampled and converted to a 10-bit number (including sign), which is assembled in the converter buffer.
When the conversion is complete, the contents of the buffer are transferred into AC3 - 11 • 'The sign is placed in AC0 - 2 •
When the FAST SAMPLE Special Function is selected [ESF with C(AC5 ) = 1], the order of events is reversed. The current contents of the converter buffer are transferred to the AC. Then the specified channel is selected and a new conversion is initiated. The results of this new conversion can be read by a subsequent SAM instruction, unless the KW 12-A Real Time Interface is selected to mode 4, 5, 6, or 7; in this case only, the KWl 2-A may initiate the A-D conversion. If a conversion is still in progress when the next SAM is encountered, the proc-essor waits until the conversion is complete before executing the new SAM.
Six DPDT relays mounted on the Data Terminal can be switched by LINC mode instructions, allowing the user to control the operation of various pieces of external equipment that are not interfaced directly with the PDP-12. The states of the relays can be examined at any time. One set of form C contacts for each of the relays is available at the binding posts on the Analog Input Panel as indicated in Figure 3-15. A second set of contacts is brought out to split lugs on the relay printed circuit board.
N.C. N.O.
COM
RELAY I . .. I .. 41 AC BIT
0
0 0 0
60 0 0
72
0 0 0
83
0 0 0
94
0 0 0
105
0 0 0
1112-0209
Figure 3-15. Relay Terminals and Corresponding AC Bits
ATR AC to Relays Octal code:
Execution time:
Operation:
0014 1.6 µs
The contents of AC6 • 1 1 are transferred to the Relay Buffer; the state of each relay is determined as follows:
If the corresponding AC bit is 0, the relay is switched off.
If the corresponding AC bit is 1, the relay is switched on.
RTA Relays to AC Octal code:
Execution time:
Operation:
0015 1.6 µs
The contents of the Relay Buffer are transferred into AC6 - 1 1 . If the relay is off, the corresponding bit will be O; if it is on, the bit will be 1. Bits AC0 • 5 are not changed.