VT510 Video Terminal Programmer Information

11 ASCII Emulations and Control Functions

This chapter describes the ASCII emulations and control functions.

11.1 Overview

The VT510 video terminal includes emulations for several popular ASCII video terminals. ASCII terminals represent the other major class of serial asynchronous video terminals in widespread use today. Like the VT100, these terminals communicate with a host computer by transmitting and receiving a data stream of 7-bit or 8-bit coded characters. To communicate successfully, the computer and the terminal use a convention for interpreting this data stream. This convention specifies how to recognize characters in the data stream as well as how to recognize control information, such as formatting or editing commands. ASCII terminals support the ASCII character set, American Standard Code for Information Interchange, ANSI X3.4; however, they do not follow other ANSI standards that define controls for use with the ASCII character set. The original ASCII terminal protocol pre-dates the ANSI standards. These early protocols have since been widely copied and extended to form the ASCII terminal market.

11.2 ASCII Emulations

The VT510 includes a protocol emulation for the WYSE 160 Native mode, WYSE 60 Native mode, and many of its popular emulations of other ASCII terminals:

Emulation means that virtually all host application programs designed for these terminals will function correctly.

Note that the VT510 video terminal cannot be identical to all of these terminals simultaneously, and the VT510 includes enhancements in its user interface and character handling ability. The VT510 can handle additional languages and keyboards that extend beyond the original terminals being emulated.

The VT510 does not emulate the graphics modes of the WYSE 160, such as the TEK 4010/4014 personality.

11.2.1 Enhanced Mode

WYSE 160 Native mode includes function sequences for almost all features supported by the WYSE 160 terminal, including those supported by individual sub-emulations, such as Televideo or ADDS. When one of these sub-emulations is selected, WYSE Enhanced mode (EnH) allows WYSE Native mode sequences to be used from within a sub-emulation to access features that are not normally supported by the physical terminal being emulated. This capability allows existing applications, for one of these emulated terminals, to be enhanced to take advantage of WYSE Native mode features. This enhanced mode does not apply to the VT or ANSI modes, which follow the corresponding ANSI standards.

11.3 Coding Notation

Since ASCII control functions do not follow a structured syntax, the notation used to describe function sequences and parameters is important to avoid confusion. Escape sequences are shown with a space between each character to make them easier to read. These spaces are not part of the Escape sequence.

Words in all caps: Strings of two or more capital letters, such as ESC or SPACE, are used as symbols, usually to represent a single character within an Escape sequence.

Words in italics: Words or abbreviations of two or more characters in italics represent sequence parameters that are described subsequently.

Single characters: Single characters, such as "E" or "8", represent the corresponding ASCII character in the sequence.

Regular text (upper- and lowercase): Regular text is sometimes used to describe sequences that are similar or related to other sequences.

Table 11–1 lists the symbols used in the ASCII control functions.

Table 11–1 Symbols Used in ASCII Terminal Escape Sequences
Symbol Meaning Symbol Meaning
Ctrl- Ctrl immediately followed by a single character represents a control character in the range of 0/0 to 1/15. EnH Enhance Mode: This is the same as the WYSE native code when Enhance Mode is on.
Same Same as the WYSE native code (code is native to this emulation). Wyse Same as the WYSE native code (code is not native to this emulation, but is a WYSE enhancement).
n/a Not available in this emulation.
Symbol Code Symbol Code
NUL 0/0 DLE 1/0
SOH 0/1 DC1
STX 0/2 DC2 1/2
ETX 0/3 DC3
EOT 0/4 DC4 1/4
ENQ 0/5 NAK 1/5
ACK 0/6 SYN 1/6
BEL 0/7 ETB 1/7
BS 0/8 CAN 1/8
HT 0/9 EM 1/9
LF 0/10 SUB 1/10
VT 0/11 ESC 1/11
FF 0/12 FS 1/12
CR 0/13 GS 1/13
SO 0/14 RS 1/14
SI 0/15 US 1/15

11.3.1 Communication Flow Control with PCTerm Mode

XON/XOFF transmit flow control is disabled while in PCTerm mode. This means XON and XOFF characters received from the host are ignored or displayed as characters from a PC character set. In PCTerm mode, the keyboard generates scan codes. There are no multi-character reports (escape sequences or paste data) sent from the terminal. The terminal can still send XPC as receive flow control.

When switching out of PCTerm mode, the XON/XOFF state of the communications link is unknown. If XON/XOFF flow control is enabled, then the terminal shall transmit a single XON and clear the XOFF received state.

11.3.2 Protecting Data

Turning on Write-Protect mode does not start protecting the data. It only defines the range of data that needs to be protected. Not until Protect mode is turned on does the data become protected. Changing emulation does not change the Write-Protect mode. Characters range from 1/0 to 1/15, and embedded attributes are automatically write-protected even when Write-Protect mode is off.

To protect a certain area of data in the screen, users should:

  1. Turn on Write-Protect mode.
  2. Turn off Write-Protect mode, if the protected area has been defined.
  3. Turn on Protect mode.

Protect Mode On: The protect condition usually is valid for the current page only. The exception is when Autopage mode is on, if a cursor movement command causes the cursor to move from one protected page to an unprotected page, the unprotected page becomes protected. If a cursor movement command causes the cursor to move from an unprotected page to a protected page, then the protected page becomes unprotected. Table 11–2 lists these commands.

Table 11–2 Commands that may Carry Protect Mode Features through Pages
Command Sequence
Cursor left (backspace) Ctrl/H
Cursor left (delete) DEL
Cursor right Ctrl/L
Cursor up; Scroll ESC j
Cursor down; Scroll (linefeed) Ctrl/J
Cursor to start of next line Ctrl/_
Tabulate cursor ESC i or Ctrl/I
Backtab ESC I
Table 11–3 Commands that Can Move the Cursor to Protected Area
Move Cursor . . . Sequence
Up; scroll (reverse linefeed) ESC j
Down; no scroll Ctrl/V
To specific line ESC [ line
To a specific column ESC _ column
In current page ESC = line col
To a specific page ESC h page
In specific 80-column page ESC w @ page line col
In specific 80-column window ESC - wnd/page line col
In 80/132-column current page ESC a ll R ccc C
Table 11–4 Commands that Cannot Move Cursor into Protected Area
Move Cursor . . . Sequence
Left (backspace) Ctrl/H †
Left (delete) DEL
Right Ctrl/L
Up; No scroll Ctrl/K †‡
Down; Scroll (linefeed) Ctrl/J
To start of line Ctrl/M
To start of next line Ctrl/_
Home ESC { or Ctrl/^

†The cursor can be moved to a protected field under certain conditions. Refer to the specific cursor command section for details.

‡Cursor can be moved to a protected field for TVI personalities.