This chapter describes the features of the VT510 printer ports.
The VT510 expands the traditional printer port extension to include support for IBM ProPrinter and compatible low-cost parallel interface printers. In Set-Up, you specify the type of printer attached and the terminal automatically selects the correct printing commands and character sets.
The VT510 printer port has the following features:
- Centronics parallel port (25-pin, female, D-type connector)
- IBM ProPrinter mode
- Ability to transparently pass all characters (including the NUL character) through to the printer in printer controller mode
10.2 Serial Ports
The VT510 has two bi-directional serial communication/printer ports. Comm1 has full modem support at 300 to 115.2K baud:
|EIA 232||EIA 423|
Two 25-pin D-sub male/female
(use one or the other)
You can connect both a serial and parallel printer to the VT510 at the same time. In this case, the printer port (serial or parallel) selected in Set-Up is used and the other port is inactive.
The interface signals are the same as those previously described in Chapter 9.
10.2.1 Serial Port Flow Control
The VT510 serial printer port is fully bi-directional when Printer To Host communications is enabled in Set-Up or by a Media Copy (MC) control sequence. Transmit and receive flow control protocols can be set independently to one of four choices through Set-Up or by the control sequence, DECSFC.
The printer port has two buffers: one is for output, which is 16 bytes long; and the other is for input, which is 254 bytes long. XON/XOFF: For the 254-character receive input buffer, the XON point is 32. The first XOFF point is 64 characters, and the second is 220 characters.
DTR/DSR: If enabled, the terminal polls DSR before transmitting each character. The terminal asserts DTR until the buffer fills up to or beyond the first XOFF point. When the buffer empties to the XON point, the terminal again asserts DTR. When not used for hardware flow control, DTR is asserted whenever the firmware is active and not in its self-test.
When the input buffer is full and receives another character byte, it overflows. In the event of an input buffer overflow, the last byte in the buffer is replaced with the SUB character.
10.3 Parallel Port
The Centronics parallel interface is considered to be industry standard and is not explained in this chapter. This port uses a 25-pin D-type connector with pin assignments shown in Figure 10–1 and listed in Table 10–1.
|1 STROBE L||10 ACKNLG L|
|2 DAT <0>||11 BUSY|
|3 DAT <1>||12 PE|
|4 DAT <2>||13 SLCT|
|5 DAT <3>||14 AUTO FEED XT L|
|6 DAT <4>||15 ERROR L|
|7 DAT <5>||16 INIT L|
|8 DAT <6>||17 SLCT IN L|
|9 DAT <7>||18 – 25 GND|
|2||DATA0||Terminal||Data Bit 1|
|3||DATA1||Terminal||Data Bit 2|
|4||DATA2||Terminal||Data Bit 3|
|5||DATA3||Terminal||Data Bit 4|
|6||DATA4||Terminal||Data Bit 5|
|7||DATA5||Terminal||Data Bit 6|
|8||DATA6||Terminal||Data Bit 7|
|9||DATA7||Terminal||Data Bit 8|
|11||BUSY||Printer||Printer cannot receive data.|
|12||PE||Printer||Printer is out of paper.|
|13||SLCT||Printer||Printer is on-line.|
|14||AUTO FEED XT L||Terminal||Feed 1 line automatically after printing.|
|15||ERROR L||Printer||Paper end, printer off-line, or printer error|
|16||INIT L||Terminal||Resets the printer to power-on defaults|
|17||SLCT IN L||Terminal||The VT510 monitors SLCT to determine if a parallel printer is attached and on-line.|
|18 – 25||GROUND||N/A|
The VT510 uses the eight data lines along with control signals STROBE, ACKNLG, and BUSY to transfer data to the printer. All other interface signals are ignored.
10.3.1 Parallel Port Flow Control
Characters are transferred to the printer in 8-bit bytes. A parallel printer port is not duplex; data can only go from the terminal to the printer.
The terminal and the printer use interface signals STROBE, ACKNLG, and BUSY to synchronize the data transfer as follows:
- When the terminal is ready to send data to the printer, the terminal puts the data on the data lines and then generates a STROBE pulse to the printer.
- When the printer senses the STROBE, it responds with a BUSY signal.
- When printer receives the data, it pulses ACKNLG to signal the terminal that data has been read into memory.
- If the printer buffer is full, the printer keeps the BUSY signal asserted.
The parallel printer port does not recognize XON/XOFF flow control.
10.4 Print Modes
There are five modes that affect the control of printing operations:
- Printer Controller mode
- Local Controller mode
- Auto Print mode
- Print Form Feed mode
- Print Extent mode
These print modes follow standard terminal transmission except for Printer Controller mode.
10.4.1 Printer Controller Mode
When printer controller mode is enabled, all data received at the host port is passed through to the printer port, except for:
- XON/XOFF when XON/XOFF flow control is enabled at either the host port or the printer port
- NUL when Ignore NUL characters is selected in the communication setup.
If printer-to-host communication is enabled, then all data received at the printer port is passed through to the host port with the exceptions listed previously.
10.5 Print Operation
The VT510 supports the following print operations:
- Print Line
- Print Page or Scrolling Region
- Print Screen
Print Screen prints the screen as it appears, including the status lines if enabled. Print Screen, however, does not print the keyboard indicator line.
10.6 Transmitting Print Data
Users have three choices for a printer type:
- DEC ANSI
- IBM ProPrinter
- DEC + IBM emulation mode
Depending on the printer type selected, the terminal transmits different control functions to the printer. You can select the printer type in Set-Up or by using the escape sequence, DECSPRTT.
10.6.1 DEC ANSI
The DEC ANSI protocol supports the following printed data types:
- When in 8-bit mode:
- ASCII only
- ASCII + Line Drawing
- When in 7-bit mode:
- National only
- National + Line Drawing
You select a printed data type based on the 7- or 8-bit printer port setting and the character set capability of the attached printer. The VT510 sends initialization, transmission, and closing sequences according to the printed data type selected.
If IBM PC characters are displayed, then the terminal translates the corresponding characters in the ISO Latin-1 character set and transmits them based on the current printed data type selected. If there is no corresponding character in ISO Latin-1, then the Space character is used instead.
10.6.2 IBM ProPrinter or Compatible Printer
When an IBM ProPrinter is attached, the terminal sends IBM ProPrinter sequences. You can neither designate, nor invoke the ANSI sequence or any other operating sequences in this mode.
The VT510 supports the following printer character sets for the IBM printer: PC Multilingual, PC Latin 2 (PC Slavic), PC International, PC Spanish, PC Portuguese, PC Danish, PC French Canadian, PC Hebrew, PC Greek, PC Turkish, and PC Cyrillic.
During initialization, the VT510 sends a control sequence to the printer to select the same code page as the printer character set selected in the terminal. You must select the appropriate printer character set for the correct data to be printed either in Set-Up or by the escape sequence, DECSPPCS.
In an IBM ProPrinter, each code page has the following character sets:
- Character Set 1
- Character Set 2
- All Characters
The three character sets are identical, except for the interpretation of C0 (0/0 through 1/15) and C1 (8/0 through 9/15) characters.
In Character Set 1, the controls in C0 are identical to those in C1, except that 80 (hex) is ignored instead of being interpreted as NUL.
Character Set 2 uses the same controls as C0, except that some printable characters are added to unused character code spaces. The C1 region is all printable characters.
The "All Characters" set only has printable characters. No control codes are allocated to this character set.
The VT510 initializes the printer to use Character Set 2 at the start of a print screen operation. When a C0 printable character is encountered, the VT510 sends the appropriate sequence to print from the "All Characters" set.
10.6.2.1 Data Transmission
The printer is either an IBM personal printer or a compatible printer. It recognizes the IBM ProPrinter mode escape sequences and supports the terminal's code pages. The printer should support a software-selectable code page switching sequence. If it does not, then you need to take appropriate action to set the correct code page before a printing operation takes place.
Characters are sent to the printer along with their display attributes. If a C0 printable character is encountered, the VT510 prints from the "All Characters" set. If a character that is not in the selected code page is encountered, then a Space character is sent instead.
The VT510 supports bold, underline, and double-height and width display attributes.
If the terminal has DEC Supplemental or ISO Latin 1 characters on the screen, then the VT510 translates the characters to corresponding characters in the code page indicated by the printer character set before the transmission takes place. If there is no corresponding character in the selected IBM code page, then the Space character is used instead.
10.6.3 DEC ANSI with IBM ProPrinter Emulation
You can specify both DEC ANSI printed data types and IBM ProPrinter PC character sets in Set-Up when this type of printer is selected. If the terminal is set to display DEC or ISO character sets, then the VT510 treats the printer as a DEC ANSI printer and transmits data to the attached printer using ANSI protocols.
If the terminal is set to display PC character sets, then the VT510 transmits data to the attached printer using the IBM ProPrinter protocol. During initialization, the VT510 sends a forces the printer into IBM ProPrinter emulation mode. The terminal sends all other sequences just as in the IBM ProPrinter mode.
10.6.3.1 Data Transmission
If the printer is a DEC ANSI printer with IBM ProPrinter emulation, the printer is in its default ANSI mode state. The printer recognizes IBM ProPrinter mode escape sequences and supports the IBM code pages. The printer supports the software selectable code page switching sequence. If it does not, then you must take appropriate action to set the correct code page before a printing operation takes place.
10.6.3.2 Printer Status
The Session Management Extension is not supported, so the terminal does not respond with "Printer Busy" and "Printer Not Assigned."
If the printer stalls, the word "Printer" flashes continuously in the Indicator Status Line.
10.7 Suspending Print Operations
Entering Set-Up can suspend, but not abort, printing operations. Upon exit from Set-Up, all unfinished printing operations resume unless an explicit action has been taken in Set-Up to abort the print operation, such as Clear communications, Reset terminal, or Restore factory defaults.
10.8 Aborting Print Operations
The Clear communications function from Set-up, aborts the current print operation, clears the output silo, and re-initializes the printer port UART. This function may be used to get out of a "hung" state.
After a Clear communications command, printing may not stop immediately because characters may still be in the printer's input buffer.