The VT52 Printer Interface Module, VTXX-KA, is a field-installable option available on all new VT52s, and certain units already in the field. It provides a data path between the VT52 video terminal and a parallel printer such as the LA180 or a serial printer such as the LA36 or the LA180 with a serial interface.
Figure 7-1 shows the basic block diagram for the printer interface module and related circuits.
The VTXX-KA transfers ASCII data from the VT52 RAM via the data bus D00-D06 to the parallel interface port J5. Drivers E1-E4 are impedance matched to the LA180 input data lines and can drive the data up to 100 feet.
The demand line from the LA180 is raised when the LA180 is ready to accept a new character. This signal sets the flip-flop E10, which asserts the character flag signal (CCFL) to the VT52. On the next cycle of the VT52 microprogram the Enable Cycle signal (EN CYCLE L) is asserted and the VT52 places an ASCII character on the data bus. A Parallel Strobe signal (P STROBE L) is generated to clock the ASCII character to the LA180. At the same time the strobe resets flip-flop E10, thereby deasserting the character flag signal (CCFL) to the VT52. This completes a character transfer cycle. The cycle repeats itself each time the LA180 raises the Demand flag.
During this process the Paper Fault and ON LINE signals from the LA180 enable the character scan flag (CSFL) signal to the VT52. The process is interrupted by paper out, local mode or the cover interlock switch at the LA180. Additionally, the selector switch S1 (Paragraph 7.1) on the VTXX-KA module must be position 1 or the character scan flag (CSFL) signal will be disabled and no data transfer will occur.
During the serial operation, the serial hardcopy device requests data by asserting DATA TERMINAL READY (DTR) through the serial interface. As long as this signal is asserted the VTXX-KA enables the Character Scan Flag (CSFL) signal to the VT52. The signal Transmitter Ready (XRDY) asserts the Character Flag (CCFL) signal to the VT52. On the next cycle of the VT52 microprogram, the Enable Cycle (EN CYCLE L) is used to generate a Parallel Strobe (P STROBE L) which clocks the ASCII data into the UART. The UART (E5) is used to convert parallel ASCII data from the VT52 to serial formatted data. As the data is clocked in, the UART deasserts Transmitter Ready (XRDY). The Transmitter Ready (XRDY) signal is reasserted after the UART has completed the serial character transmission.
NOTE
Jumpers (not labelled in the schematic) on the NB1,
NP, EP and XD7 input to the UART, allow character
parity selection, odd or even.
Serial data from the UART is placed on pin 3 of the serial EIA interface connector J6 after conversion from TTL to EIA by the EIA driver E12.
EIA outputs Clear to Send and Data Set Ready are held at 12 V whenever the VT52 is powered on. (The VTXX-KA draws its power [+5 V, -12 V, +15 V] from the VT52 power supply via the Data Paths, Memory and Decoders board).
Serial data transfer is enabled whenver Data Terminal Ready (DTR) is asserted. The functionality of DTR depends upon the printer and EIA device selected as follows:
DTR may be controlled by paper out or the contents of the FIFO buffer. The latter will have to be selected if the data throughput of the VT52/printer exceeds the print speed of the LA180.
Figure 7-2 shows the interrelationship of the RUT module, the DP module, the VTXX-KA module, and the character generator module as well as the various communication interface connectors.
The installation of the VTXX-KA printer interface module consists of removing the base assembly and character generator module which is located on the RAM and Data Path module. The VTXX-KA module plugs into the DP module and is held in place by two screws which secure it to two threaded hex head stand-offs which are factory installed. The character generator module is then reinstalled on the VTXX-KA module and the interface cables connected to the VT52. All parts necessary to perform the VTXX-KA module installation are supplied with the module and are listed in Table 7-1.
Part No, | Description | Quantity |
---|---|---|
54-12046 (MS40595) |
VT52 Printer Interface Module | 1 |
90-06036-01 | #8-32 × 5/16 inch Screw | 2 |
90-06040-1 | #8-32 × 5/8 inch Screw | 1 |
90-08072 | #8 Lockwasher | 2 |
90-07081 | ¼ inch Cable Clamp | 1 |
90-07084 | 7/16 inch Cable Clamp | 1 |
90-07016 | Grommet | 1 |
Perform the following steps to install the VTXX-KA printed interface module.
NOTE
Be sure not to bend the pins and check to see that the
VTXX-KA connector pins are entering the proper
holes on the DP module connectors. The cable connectors
on the VTXX-KA module must face the front
of the VT52.
NOTE
The VTXX-KA module may have to be moved
slightly to align the mounting holes with the threaded
hex stand-offs on the DP module. Do not overtighten
the two mounting screws.
NOTE
The arrow and the word "REAR" on the etch side of
the character generator must be positioned on the
left side of the VTXX-KA module. The arrow points
to the rear of the VT52 when the character generator
is properly installed (Figure 7-6).
In addition to the interface cable from the VT52 to the host computer there is an interface cable required between the VTXX-KA module and the user’s printer. This cable may be an EIA type cable for a serial interface or may be a parallel interface cable for a parallel interface. Paragraph 7.3.2.1 describes the installation procedure for a serial interface cable while Paragraph 7.3.2.2 defines the procedure for installing a parallel interface cable.
7.3.2.1 Serial EIA Printer Interface Cable Installation - Figure 7-8 shows a typical EIA installation and Table 7-2 shows J6 EIA signal locations.
NOTE
The two hold-down screws on the printer interface
connector (some connectors do not have these
screws) cannot be secured to the VTXX-KA module.
NOTE
The 7/16 inch cable clamp (Pin 90-7084) from the
VTXX-KA kit is not used with the serial interface
cable.
VTXX-KA Pin Number |
EIA Circuit Designation |
Description |
---|---|---|
1 | AA | Protective Ground |
2 | BA | Transmitted Data |
3 | BB | Received Data |
4 | CA | Request to Send |
5 | CB | Clear to Send |
6 | CC | Data Set Ready |
7 | AB | Signal Ground |
20 | CD | Data Terminal Ready |
* All pins not listed above are not used |
7.3.2.2 Parallel Printer Interface Cable Installation - Figure 7-10 shows a typical parallel installation. Table 7-3 gives the VTXX-KA parallel port (J5) signal locations.
NOTE
The cable access hole cover which was removed during
disassembly is not reinstalled when the round
parallel interface cable is used.
NOTE
The grommet (pin 90-07016) and the ¼ inch cable
clamp (pin 90-07081) from the VTXX-KA kit are not
used when the parallel interface cable is installed.
Pin Number | Signal | Corresponding Pin on LA180 Printer |
---|---|---|
VV | Data Strobe | A |
TT | Data 5 | C |
RR | Data 6 | E |
LL | Data 2 | K |
JJ | Data 1 | M |
FF | Data 4 | P |
DD | Data 7 | S |
BB | Data 3 | U |
D | Data 8 (parity) | SS |
X | Demand | Y |
R | Paper Fault | EE |
N | On Line | HH |
UU, SS, PP, MM, KK, HH, EE, CC, AA, Y, W, U, S, P, M, H, E, C, A | Ground | B, D, F, J, N, R, T, V, X, Z, BB, DD, FF, JJ, NN, RR, TT, VV |
NN, Z, V, T, L, K, J, F, B | Open | H, W, AA, CC, KK, LL, MM, PP, UU |
On the VTXX-KA interface module there is a small 8-position rotary switch (Figure 7-7). This switch selects which interface (parallel or serial) will be used and, if the serial interface is selected which baud rate will be used.
NOTE
The VTXX-KA baud rate is independent of the VT52
on-line baud rate but must match the baud rate of the
printer.
The switch has the following positions:
1 | parallel | ||
2 | serial | 150 | Baud |
3 | serial | 300 | Baud |
4 | serial | 600 | Baud |
5 | serial | 1200 | Baud |
6 | serial | 2400 | Baud |
7 | serial | 4800 | Baud |
8 | serial | 9600 | Baud |
Position 1 is the most counterclockwise position. To select a certain position, turn the switch fully counterclockwise, then count to the desired setting. If there is no printer attached to the VT52, the selector switch should be set to one of the serial positions to ensure that the terminal does not receive erroneous signals from the VTXX-KA parallel circuitry.
The initial test procedure verifies proper operation of the VT52 after installing the VTXX-KA printer interface.
Perform the following steps:
If after performing the initial checkout procedure the printer does not output the proper results, refer to Paragraph 7.8 for troubleshooting information.
When the VTXX-KA module is installed, the operator can make the VT52 output data to the printer by using the copy key on the VT52 main keyboard. There are two variations of the output to the printer depending on whether the operator holds the shift key down when the copy key is typed.
If the copy key is typed without the shift key down, then the terminal will output the entire contents of the screen to the printer.
If the copy key is typed while the shift key is held down, then the terminal enters Auto Print mode. While in the Auto Print mode the terminal can output a variable number of lines of text to the printer. Whenever the terminal gets a line feed command to move the cursor down one line, the line that the cursor was on at the time will be output to the printer. This will be true as long as the terminal is in the Auto Print mode. To take the terminal out of Auto Print mode, the operator types the copy key again while holding down the shift key. None of these three uses of the copy key cause any codes to be sent to the host.
The three commands which the operator can issue by using the copy key can also be issued from the host computer. To command the terminal to send text to the printer, the host sends the VT52 two character commands called Escape Sequences. A separate Escape Sequence exists for each of the three functions:
Commands | Octal Codes | |
---|---|---|
ESC ] | Print the Screen | (033 135) |
ESC ^ | Enter Auto Print Mode | (033 136) |
ESC _ | Exit Auto Print Mode | (033 137) |
There are two additional ways in which the host computer can command the terminal to send text to the printer: by specifying individual lines to be printed; or by placing the terminal in a mode in which it sends the received characters to the printer instead of to the screen (Printer-Controller Mode). The Escape Sequences for the two additional print modes are:
ESC V | Print Cursor Line | (033 126) |
ESC W | Enter Printer-Controller Mode | (033 127) |
ESC X | Exit Printer-Controller Mode | (033 130) |
When the terminal receives ESC V from the host, it will output the entire contents of the line which the cursor is on to the printer. An ESC W sent from the host to the terminal causes the VT52 to enter Printer-Controller Mode. During the Printer-Controller Mode, every character the VT52 receives will be passed directly to the printer without being acted upon by the VT52. The VT52 becomes essentially a remote printer controller. ESC X will cause the terminal to exit Printer-Controller Mode.
NOTE
The characters ESC W cause the VT52 to enter the
Printer-Controller Mode and are not sent to the
printer. When the VT52 receives ESC X, which
causes it to exit Printer-Controller Mode, the ESC
will have already been sent to the printer. Instead of
sending the X to the printer, the VT52 sends the
character CAN (whose code is 030), which cancels
the effect of the ESC.
In the previous paragraph, four print commands have been described. Each of these commands cause a certain number of lines to be printed. The print line command causes one line to be sent to the printer and the print screen command causes 24 lines to be printed. Although entering or exiting Auto Print Mode does not cause anything to be printed, 1 line is sent to the printer each time a LF is received when the terminal is in Auto Print Mode. Each of these lines must first appear on the video display of the VT52.
A line on the VT52’s display consists of 80 character positions. In each character position there may be a space or a displayable character. The text which appears on a given line may not use all 80 character positions. In this case, the spaces will remain in the character positions to the right of the text.
When the VT52 sends a line to the printer, it first sends the ASCII code for the character in the leftmost column (column 1) to the printer interface. Then it sends the ASCII code for the character in column 2, and so on. After it has sent the code for the character in column 80, the VT52 sends the code CR (015), and then LF (012) to the printer. These last two codes cause the printer to return to column 1 of the next line to the paper.
The terminal will ensure that the text on the line is not changed between the time the print command is issued and the time the characters are physically sent to the printer by using the XON and XOFF signals to the host.
If there are spaces in a line of text, the VT52 sends the code for Space (040), to the printer to mark the position where the spaces occurred in the screen. This causes the printer to advance the printhead so that a space is actually seen at the correct position. However, if spaces occur past the end of the text, there is no point in sending those spaces to the printer. Therefore, to save time, if 16 or more spaces occur to the right of the text on a line to be printed, the VT52 will trim all spaces occurring after the last printable character by sending a CR and an LF to the printer.
NOTE
If the printer has more than 80 columns, the columns
to the right of the 80th column will never be used by
the single line print commands since the VT52 has
only 80 columns. However, many programs will want
to control the printer in more detail (print in 132 columns,
overprint lines, send control codes to the
printer etc.), without the interpretive action of the
VT52 (trimming blanks and inserting line delimiters).
This is accomplished by placing the terminal in
the Printer-Controller mode. The VT52 then passes
every character it receives directly to the printer
without converting or otherwise acting on the characters.
The VT52 becomes essentially a remote printer
controller.
Although the action of the printer is not instantaneous and may lag behind data transmission from the host to the terminal, provisions exist to ensure that all requested output goes through to the printer. In three situations where requested information to be printed might be destroyed or altered before it can be printed, the terminal will cease processing incoming characters:
In these situations, the terminal begins putting incoming characters in its silo buffer, and transmits XOFF to the host. When the necessary printing has been finished, the terminal will begin to process the characters in the silo. When it has processed all the characters in the silo, the terminal will send XON to the host to indicate that it is ready for more characters.
When the terminal is in Printer Controller Mode, so that data flows through the terminal and out to the printer as it is received from the host, the terminal will use the silo, and XOFF and XON signals, to limit the data rate on the transmission line to a rate the printer can keep up with. Therefore, the maximum data rate for output to the printer via Printer Controller Mode is the minimum of the baud rate between the terminal and the printer, and the baud rate between the terminal and host. For example, if the terminal were set to communicate with the host at 9600 baud, and to communicate with the printer at 1200 baud, then the terminal would use the XOFF and XON signals to limit the net data flow to 1200 baud. If the terminal were set to communicate to the host at 300 baud and with the printer at 1200 baud, the host would never receive an XOFF from Printer Controller Mode. The transmission would be limited to 300 baud by the line between terminal and host.
Note that the host cannot determine if the terminal operator has pressed the copy key. If there is any possibility that one of the above situations may occur, host software MUST support synchronization with XOFF/XON (must suspend its transmission promptly upon receiving XOFF, and resume upon receiving XON), or else the silo may overflow, interfering with the accuracy of the output.
Specifications for exactly how promptly the host must respond to XOFF by ceasing output are found in the DECscope User’s Manual.
NOTE
In the situations listed above where the terminal
refuses to process characters from the host, the terminal
will still allow the operator to use the keyboard
to transmit characters to the host. If the terminal is
switched for either Off-Line or Local Copy operation,
these characters will also go into the silo.
Therefore, the operator of such a terminal should refrain
from typing when the printer is running, since
he could cause the silo to overflow by his typing.
Whenever any VT50-series terminal receives the Escape Sequences ESC Z, it transmits a three-character identification sequence to the computer which uniquely specifies its model number and capabilities, so that software can determine what features are available in the terminal. This identification sequence will allow the computer to determine whether a printer is available on the terminal.
ESC / K | VT52 without printer |
ESC / M | VT52 with printer |
The terminal will transmit the second Escape Sequence only if it determines that the printer is capable of printing.
If the Selector is set to one of the serial positions, then the VT52 will respond to the computer with ESC / K (no printer) if the signal DTR (Data Terminal Ready) is deasserted (Paragraph 7.2.2).
If the Selector is set for parallel transmission, then the VT52 will transmit the "no printer" Escape Sequence if either the ON-LINE signal is deasserted, or the PAPER FAULT signal is asserted (Paragraph 7.2.1).
When no printer is plugged into either the serial or the parallel slot, the Selector should be set to one of the serial positions. Doing this will ensure that the terminal will always report to the computer that a printer is not present.
If after performing the initial checkout procedure the printer does not print the correct results, do the following:
NOTE
If the VTXX-KA fails to operate, ensure the RUT
module contains the proper PROM/ROM variation
(Appendix A).