This appendix summarizes the VT100 series video terminal transmitted characters and received character processing. The VT100 terminal normally performs a two-part function. It is an input device to a computer – information entered through the keyboard is sent to the computer. It is simultaneously an output device for the computer; that is, data coming in from the computer is displayed on the video screen. Figure A-1 shows the data flow.
This appendix discusses data flow between the VT100 and the host. Included are the codes generated by the keyboard; the transmission protocol followed by the terminal; and the actions and reactions of the terminal to control codes and escape sequences, in both ANSI and VT52 modes of operation.
The VT100 is an upward and downward software compatible terminal; that is, previous DIGITAL video terminals have DEC private standards for escape sequences. The American Standards Institute (ANSI) has since standardized escape sequences in terminals. ANSI standards allow the manufacturer in implementing each function. This appendix describes how the VT100 responds to the implemented ANSI control functions.
The VT100 is compatible with both the previous DEC standard and ANSI standards. Customers may use existing DIGITAL software designed around the VT52 or new VT100 software. The VT100 has a VT52 compatible mode in which the VT100 responds to escape sequences like a VT52. In this mode, most of the new VT100 features cannot be used.
Throughout this discussion references are made to VT52 mode or ANSI mode. These two terms indicate the VT100’s software compatibility. All new software should be designed around the VT100 ANSI mode. Future DIGITAL video terminals will not necessarily be committed to VT52 compatibility.
The VT100 keyboard (Figure A-2) has a key arrangement similar to an ordinary office typewriter. In addition to the standard typewriter keys the VT100 has keys and indicators that generate escape and control sequences, cursor control commands, and show the current terminal status.
You use the keyboard to transmit codes to the host. Some keys transmit one or more codes to the host immediately when typed. Other keys such as CTRL and SHIFT do not transmit codes when typed, but modify the codes transmitted by other keys. When you press a code-transmitting key, the terminal makes a clicking sound to verify it processed the keystroke. If you press two code-transmitting keys together, two codes are transmitted in the order typed. The terminal does not wait for the keys to be lifted, but transmits both codes as soon as possible after the keys are typed. If you press three such keys together, the codes for the first two keys are transmitted immediately; the code for the third is transmitted when one of the first two keys is lifted.
The keyboard has seven light emitting diodes (LEDs); two are committed to the complementary ONLINE/LOCAL function. The power-on condition is implicitly shown by one of the two LEDs being on; that is, if the keyboard is connected and power is on, one of these LEDs is on.
A third LED indicates a “keyboard-locked” condition. In this condition the keyboard has been turned off automatically by the terminal due to a full buffer, or by the host through the transmission of an XOFF to the terminal.
You can program the four remaining LEDs and assign any meaning for specific applications. The code sequences to turn these LEDs on or off are discussed later.
The SET-UP key is at the upper-left corner of the main key array. Operations performed in SET-UP mode can be stored in nonvolatile memory (NVR) so that turning terminal power off does not, by itself, alter the terminal configuration.
The procedures to change the SET-UP features are provided in the operator’s information section of this manual. SET-UP features that may be modified by the host are listed in Table A-1 and described in detail under the escape sequences.
The VT100 transmits lowercase code unless either or both SHIFT keys are down, or unless the CAPS LOCK key is down. Pressing CAPS LOCK locks only the 26 alphabetic keys in the shifted (uppercase) mode. Figure A-3 shows the codes generated by the alphabetic keys.
Each nonalphabetic key can generate two different codes. One code is generated if neither SHIFT key is pressed. The other code is generated if either or both SHIFT keys are down. Unlike the shift lock key of a typewriter, CAPS LOCK does not affect these keys; it affects only the alphabetic keys.
SET-UP Feature or Machine State | Changeable from Host Computer* | Saved in NVR and Changeable in SET-UP |
---|---|---|
Alternate keypad mode | Yes (DECKPAM/DECKPNM) | No |
ANSI/VT52 | Yes (DECANM) | Yes |
Auto repeat | Yes (DECARM) | Yes |
Auto XON XOFF | No | Yes |
Bits per character | No | Yes |
Characters per line | Yes (DECCOLM) | Yes |
Cursor | No | Yes |
Cursor key mode | Yes (DECCKM) | No |
Graphics mode | Yes (DECGON/DECGOFF) | No |
Interlace | Yes (DECINLM) | Yes |
New Line | Yes (LNM) | Yes |
Keyclick | No | Yes |
Margin bell | No | Yes |
Origin mode | Yes (DECOM) | No |
Parity | No | Yes |
Parity sense | No | Yes |
Power | No | Yes |
Receive speed | No | Yes |
Screen | Yes (DECSCNM) | Yes |
Scroll | Yes (DECSCLM) | Yes |
Tabs | Yes (HTS/TBC) | Yes |
Transmit speed | No | Yes |
Wraparound | Yes (DECAWM) | Yes |
(shifted) | Yes | Yes |
* The appropriate control or escape sequence mnemonic is indicated in parentheses. |
Key | Octal Value of Code Sent or Received by VT100 | Action Terminal Would Take if Host Sent That Code |
---|---|---|
RETURN* | 015 | Carriage return function |
LINE FEED | 012 | Line feed |
BACKSPACE | 010 | Backspace function |
TAB | 011 | Tab function |
SPACE BAR | 040 | Deposit a space on the screen erasing what was there before |
ESC | 033 | The initial delimiter of an escape sequence – interpret the following character string from the host as a command, rather than displaying it |
DELETE | 177 | Ignored by the VT100 |
*You can use the new line SET-UP feature to redefine the RETURN key so that it issues 015₈ 012₈ (carriage return – line feed). |
Several keys on the keyboard transmit control codes. Control codes do not produce displayable characters but are codes for functions. If these codes are received by the terminal, the VT100 performs the associated function described in Table A-2.
Pressing NO SCROLL generates a single XOFF code and inhibits further scrolling. When pressed again the same key generates XON. In practice, if the software recognizes XOFF, the host stops transmitting until you press NO SCROLL again to allow scrolling. If the XOFF/XON feature is disabled (SET-UP function), NO SCROLL causes no action.
Pressing BREAK forces the transmission line to its space state for 0.2333 seconds ± 10 percent. If either SHIFT key is down, the time increases to 3.5 seconds ± 10 percent.
Pressing SHIFT and BREAK together provide the long-break-disconnect function. Used with properly configured modems with RS232-C levels, it disconnects both the local and remote data sets. For modems connected via the 20 mA loop, issuing the long space may disconnect the remote data set only.
Pressing CTRL and BREAK together transmits the answerback message.
BREAK does not function when the VT100 is in LOCAL.
Figure A-4 shows the keys that generate control characters. You can generate control characters in two ways.
You can change the RETURN key character code with the linefeed/new line feature. When off, this feature causes RETURN to generate a single control character (CR). When on, this feature causes RETURN to generate two characters (CR, LF). Also, depending on the auxiliary keypad mode selected, RETURN and ENTER may generate the same control codes.
All keys auto-repeat except: SET-UP, ESC, NO SCROLL, TAB, RETURN, and any key pressed with CTRL. Auto-repeating may be disabled (SET-UP function). Auto-repeating works as follows: when you press a key, its code(s) is sent once, immediately. If you hold down the key for more than one-half second, the code(s) is sent repeatedly at a rate of approximately 30 Hz (less if low transmit baud rates are used) until you release the key.
The keyboard contains four keys labeled with arrows in each of four directions. These keys transmit escape sequences. If the host echoes these escape sequences back to the terminal, the cursor moves one character up, down, right, or left. Table A-3 describes the escape sequences generated by each key.
Cursor Key | VT52 Mode | ANSI Mode and Cursor Key Mode Reset | ANSI Mode and Cursor Key Mode Set |
---|---|---|---|
Up | ESC A | ESC [ A | ESC O A |
Down | ESC B | ESC [ B | ESC O B |
Right | ESC C | ESC [ C | ESC O C |
Left | ESC D | ESC [ D | ESC O D |
The keys on the auxiliary keypad normally transmit codes for the numerals, decimal point, minus sign, and comma. ENTER transmits the same code as RETURN. The host cannot tell if these keys were pressed on the auxiliary keypad or on the main keyboard. Therefore, software that requires considerable numeric data entry need not be rewritten to use the keypad.
However, if software must distinguish between pressing a key on the auxiliary keypad and pressing the corresponding key on the main keyboard, the host can give the terminal a command to place it in keypad application mode. In keypad application mode all keys on the auxiliary keypad are defined to give escape sequences that may be used by the host as user-defined functions.
The codes sent by the auxiliary keypad for the four combinations of the VT52/ANSI mode and numeric keypad/application mode is listed in Table A-4. None of the keys are affected by pressing SHIFT, CAPS LOCK, or CTRL.
In ANSI mode, if the codes are echoed back to the VT100, or if the terminal is in LOCAL, the last character of the sequence is displayed on the screen; for example, PF1 displays a “P.”
If you select the special graphics set, the graphics for ASCII codes 137₈ through 176₈ are replaced according to Table A-5. (See the SCS escape sequence.)
Codes 152₈‒156₈, 161₈ and 164₈‒170₈ are used to draw rectangular grids. Each piece of this line drawing set is contiguous with others so that the lines formed are unbroken.
Codes 157₈‒163₈ give better vertical resolution than dashes and underlines when drawing graphs. Using these segments 120 × 132 resolution may be obtained in 132 column mode with the advanced video option installed.
Key | ANSI Mode | VT52 Mode | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Numeric Keypad Mode | Alternate Keypad Mode | Numeric Keypad Mode | Alternate Keypad Mode | |||||||||
0 | 0 060 |
ESC 033 |
O 117 |
p 160 |
0 060 |
ESC 033 |
? 077 |
p 160 |
||||
1 | 1 061 |
ESC 033 |
O 117 |
q 161 |
1 061 |
ESC 033 |
? 077 |
q 161 |
||||
2 | 2 062 |
ESC 033 |
O 117 |
r 162 |
2 062 |
ESC 033 |
? 077 |
r 162 |
||||
3 | 3 063 |
ESC 033 |
O 117 |
s 163 |
3 063 |
ESC 033 |
? 077 |
s 163 |
||||
4 | 4 064 |
ESC 033 |
O 117 |
t 164 |
4 064 |
ESC 033 |
? 077 |
t 164 |
||||
5 | 5 065 |
ESC 033 |
O 117 |
u 165 |
5 065 |
ESC 033 |
? 077 |
u 165 |
||||
6 | 6 066 |
ESC 033 |
O 117 |
v 166 |
6 066 |
ESC 033 |
? 077 |
v 166 |
||||
7 | 7 067 |
ESC 033 |
O 117 |
w 167 |
7 067 |
ESC 033 |
? 077 |
w 167 |
||||
8 | 8 070 |
ESC 033 |
O 117 |
x 170 |
8 070 |
ESC 033 |
? 077 |
x 170 |
||||
9 | 9 071 |
ESC 033 |
O 117 |
y 171 |
9 071 |
ESC 033 |
? 077 |
y 171 |
||||
- | - (minus) 055 |
ESC 033 |
O 117 |
m 155 |
- (minus)* 055 |
ESC 033 |
? 077 |
m 155* |
||||
, | , (comma) 054 |
ESC 033 |
O 117 |
l 154 |
, (comma)* 054 |
ESC 033 |
? 077 |
l 154* |
||||
. | . (period) 056 |
ESC 033 |
O 117 |
n 156 |
. (period) 056 |
ESC 033 |
? 077 |
n 156 |
||||
ENTER† | CR or 015 |
CR 015 |
LF 012 |
ESC 033 |
O 117 |
M 115 |
CR or 015 |
CR 015 |
LF 012 |
ESC 033 |
? 077 |
M 115 |
PF1 | ESC 033 |
O 117 |
P 120 |
ESC 033 |
O 117 |
P 120 |
ESC 033 |
P 120 |
ESC 033 |
? 077 |
P 120 |
|
PF2 | ESC 033 |
O 117 |
Q 121 |
ESC 033 |
O 117 |
Q 121 |
ESC 033 |
Q 121 |
ESC 033 |
? 077 |
Q 121 |
|
PF3 | ESC 033 |
O 117 |
R 122 |
ESC 033 |
O 117 |
R 122 |
ESC 033 |
R 122 |
ESC 033 |
? 077 |
R 122 |
|
PF4 | ESC 033 |
O 117 |
S 123 |
ESC 033 |
O 117 |
S 123 |
ESC 033 |
S* 123 |
ESC 033 |
? 077 |
S* 123 |
|
*These sequences were not available in the VT52. Do not use the PF4, “-” (minus), or “,” (comma) keys with VT52 with VT52 software. |
||||||||||||
†When numeric keypad mode is selected (alternate keypad mode off), the ENTER character code can be changed by the line feed/new line feature. When off, this feature causes ENTER to generate a single control character (CR, octal 015). When on, this feature causes ENTER to generate two characters (CR, octal 015 and LF, octal 012). |
Octal Code | US or UK Set | Special Graphics Set | |
---|---|---|---|
137 | _ | Blank | |
140 | ` | Diamond | |
141 | a | Checkerboard (error indicator) | |
142 | b | HT (horizontal tab) | |
143 | c | FF (form feed) | |
144 | d | CR (carriage return) | |
145 | e | LF (line feed) | |
146 | f | Degree symbol | |
147 | g | Plus/minus ± | |
150 | h | NL (new line) | |
151 | i | VT (vertical tab) | |
152 | j | Lower-right corner | |
153 | k | Upper-right corner | |
154 | l | Upper-left corner | |
155 | m | Lower-left corner | |
156 | n | Crossing lines | |
157 | o | Horizontal line – Scan 1 | |
160 | p | Horizontal line – Scan 3 | |
161 | q | Horizontal line – Scan 5 | |
162 | r | Horizontal line – Scan 7 | |
163 | s | Horizontal line – Scan 9 | |
164 | t | Left T | |
165 | u | Right T | |
166 | v | Bottom T | |
167 | w | Top T | |
170 | x | Vertical bar | |
171 | y | Less than or equal to | |
172 | z | Greater than or equal to | |
173 | { | Pi (mathematical) | |
174 | | | Not equal to | |
175 | } | UK pound sign | |
176 | ~ | Centered dot | |
The terminal can operate at transmission speeds up to 19,200 baud. However, the terminal may not be able to keep up with incoming data. The terminal stores incoming characters in a 64-character buffer (128 characters in later model terminals) and processes them on a first-in/first-out basis. When the content of the buffer reaches 48 characters, the terminal transmits 023₈ (XOFF or DC3). On this signal the host should suspend its transmission to the terminal. Eventually, if the host stops transmitting, the terminal depletes the buffer. When 16 characters remain in the buffer the terminal transmits 021₈ (XON or DC1) to signal the host that it may resume transmission.
If the host fails to respond to an XOFF from the terminal in a timely manner, the buffer continues to fill. When the 64-character capacity of the buffer is exceeded, a condition occurs called buffer overflow. To determine if the buffer will overflow use the following formulas.
No. of chars to overflow = 16 - [3 × (receiver speed/transmit speed)]
Time to respond to XOFF = No. of chars to overflow × (bits/char + parity bit + 2)/receiver speed
The VT100 is transmitting 8-bit characters with no parity at 1200 baud and receiving at 1200 baud. The terminal has just sent an XOFF which the host must respond to within 0.1083 second to avoid a buffer overflow.
No. of chars to overflow = 16 - [(3 × 1200/1200)] = 13 chars
Time to respond to XOFF = 13 × (8 + 0 + 2)/1200 = 0.1083 sec
The VT100 is transmitting 7-bit characters with parity at 300 baud and receiving at 1200 baud. The terminal has just sent an XOFF which the host must respond to within 0.0333 second to avoid a buffer overflow.
No. of chars to overflow = 16 - [(3 × 1200/300)] = 4 chars
Time to respond to XOFF = 4 × (7 + 1 + 2)/1200 = 0.0333 sec
If the buffer overflows, the VT100 begins to discard incoming characters and the error character is displayed.
Software that does not support receipt of XOFF/XON signals from the terminal can still use the VT100 provided the software never sends the ESC code to the terminal, the baud rate is limited to 4800 or less, and the software does not use smooth scrolling or split screen features.
Two of the terminal functions, Reset and Self-Test, reinitialize the terminal and erase the buffer. Thus if characters are received after the commands to perform these two functions and the characters are placed in the buffer, the characters are destroyed without being processed.
To compensate for this, the host may act in one of two ways.
The XOFF/XON synchronization scheme has an advantage over requiring the host to insert delays or filler characters in its data stream. Requiring a minimum of software support, XON/XOFF ensures that every character or command sent to the VT100 is processed in correct order. It frees interface programs from all timing considerations and results in more reliable operation.
In addition to the buffer-filling condition, there are two other means of transmitting XOFF and XON: the NO SCROLL key, and CTRL-S/CTRL-Q. If XOFF mode is enabled, the VT100 coordinates these three sources of XOFF and XON so that the desired effect occurs. For example, if the buffer-filling condition causes an XOFF to be sent and then you press NO SCROLL, a second XOFF is not sent. Instead of sending an XON when the buffer empties, the VT100 waits until you press NO SCROLL again before sending XON.
Also, entering SET-UP mode causes the VT100 to temporarily stop taking characters from the buffer. An XOFF is sent if the buffer becomes nearly full.
CTRL-S and CTRL-Q are also synchronized with NO SCROLL.
If the XOFF feature is disabled, the buffer-filling condition does not send an XOFF, NO SCROLL is disabled, and CTRL-S and CTRL-Q are transmitted as typed.
The VT100 also recognizes received XOFF and XON. Receipt of XOFF inhibits the VT100 from transmitting any codes except XOFF and XON. From three to seven keystrokes on the keyboard are stored in a keyboard buffer (some keys transmit two or three codes, e.g., cursor controls). If the keyboard buffer overflows, keyclicks stop and the KBD LOCKED LED lights. Transmission resumes upon receipt of XON.
If the user transmits an XOFF to the host (by CTRL-S or NO SCROLL), the host should not echo any further type-in until the user types XON. This places the burden of not overloading the host’s output buffer on the user.
Entering and exiting SET-UP clears the transmit and keyboard locked modes.
The VT100 has many control commands that cause it to take action other than displaying a character on the screen. In this way, the host commands the terminal to move the cursor, change modes, ring the bell, etc. The following paragraphs discuss terminal control commands.
Control characters have values of 000₈‒037₈, and 177₈. The control characters recognized by the VT100 are listed in Table A-6. All other control codes have no effect.
Octal Char | Code | Action Taken |
---|---|---|
NUL | 000 | Ignored on input (not stored in input buffer; see full duplex protocol). |
ENQ | 005 | Transmit answerback message. |
BEL | 007 | Sound bell tone from keyboard. |
BS | 010 | Move cursor left one character position, unless it is at left margin in which case no action occurs. |
HT | 011 | Move cursor to next tab stop, or to right margin if no further tab stops are present on line. |
LF | 012 | Causes line feed or new line operation. (See new line mode.) |
VT | 013 | Interpreted as LF. |
FF | 014 | Interpreted as LF. |
CR | 015 | Move cursor to left margin on current line. |
SO | 016 | Select G1 character set, as selected by ESC) sequence. |
SI | 017 | Select G0 character set, as selected by ESC( sequence. |
XON | 021 | Causes terminal to resume transmission. |
XOFF | 023 | Causes terminal to stop transmitting all codes except XOFF and XON. |
CAN | 030 | If sent during an escape or control sequence, the sequence is immediately terminated and not executed. It also causes the error character to be displayed. |
SUB | 032 | Interpreted as CAN. |
ESC | 033 | Introduces an escape sequence. |
DEL | 177 | Ignored on input (not stored in input buffer). |
Table A-7 summarizes the VT100 escape sequences.
Feature | VT52 Compatible Mode |
---|---|
Cursor up | ESC A |
Cursor down | ESC B |
Cursor right | ESC C |
Cursor left | ESC D |
Select special graphics character set | ESC F |
Select ASCII character set | ESC G |
Cursor to home | ESC H |
Reverse line feed | ESC I |
Erase to end of screen | ESC J |
Erase to end of line | ESC K |
Direct cursor address | ESC Ylc* |
Identify | ESC Z† |
Enter alternate keypad mode | ESC = |
Exit alternate keypad mode | ESC > |
Graphics processor on | ESC 1‡ |
Graphics processor off | ESC 2‡ |
Enter ANSI mode | ESC < |
*Line and column numbers for direct cursor address are single character codes whose values are the desired number plus 37₈. Line and column numbers start at 1. |
|
†Response to ESC Z is ESC / Z. |
|
‡Ignored except in VTI05. |
Cursor up | ESC [ Pn A |
Cursor down | ESC [ Pn B |
Cursor forward (right) | ESC [ Pn C |
Cursor backward (left) | ESC [ Pn D |
Direct cursor addressing | ESC [ Pl; Pc H* or ESC [ Pl; Pc f* |
Index | ESC D |
Reverse index | ESC M |
Save cursor and attributes | ESC 7 |
Restore cursor and attributes | ESC 8 |
*Pl = line number; Pc = column number. |
Pn refers to a decimal parameter expressed as a string of ASCII digits. Multiple parameters are separated by the semicolon character (073₈). If a parameter is omitted or specified to be 0 the default parameter value is used. For the cursor movement commands, the default parameter value is 1.
Change this line to double-height top half | ESC#3 |
Change this line to double-height bottom half | ESC#4 |
Change this line to single-width single-height | ESC#5 |
Change this line to double-width single-height | ESC#6 |
Character Attributes
ESC [ Ps;Ps;Ps;…;Ps m
Ps refers to a selective parameter. Multiple parameters are separated by the semicolon character (073₈). The parameters are executed in order and have the following meanings.
0 or none | All attributes off |
1 | Bold on |
4 | Underscore on |
5 | Blink on |
7 | Reverse video on |
Any other parameter values are ignored.
From cursor to end of line | ESC [ K or ESC [ 0 K |
From beginning of line to cursor | ESC [ 1 K |
Entire line containing cursor | ESC [ 2 K |
From cursor to end of screen | ESC [ J or ESC [ 0 J |
From beginning of screen to cursor | ESC [ 1 J |
Entire screen | ESC [ 2 J |
Programmable LEDs
ESC [ Ps; Ps; … Ps q
Ps are selective parameters separated by semicolons (073₈) and executed in order, as follows.
0 or none | All LEDs off |
1 | LED 1 on |
2 | LED 2 on |
3 | LED 3 on |
4 | LED 4 on |
Any other parameter values are ignored.
Character Sets (G0 and G1 Designators)
The G0 and G1 character sets are designated as folllows.
Character Set | G0 | G1 |
---|---|---|
United Kingdom (UK) | ESC ( A | ESC ) A |
United States (USASCII) | ESC ( B | ESC ) B |
Special graphics characters and line drawing set | ESC ( 0 | ESC ) 0 |
Alternate character ROM | ESC ( 1 | ESC ) 1 |
Alternate character ROM special graphics characters | ESC ( 2 | ESC ) 2 |
Scrolling Region
ESC [ Pt ; Pb r
Pt is the number of the top line of the scrolling region. Pb is the number of the bottom line of the scrolling region and must be greater than Pt.
Set tab at current column | ESC H |
Clear tab at current column | ESC [ g or ESC [ 0 g |
Clear all tabs | ESC [ 3 g |
Modes | To Set | To Reset | ||
---|---|---|---|---|
Mode | Sequence | Mode | Sequence | |
Line feed/new line | New line | ESC [20h | Line feed | ESC [201 |
Cursor key mode | Application | ESC [?1h | Cursor | ESC [?1l |
ANSI/VT52 | ANSI | N/A | VT52 | ESC [?2l |
Column mode | 132 column | ESC [?3h | 80 column | ESC [?3l |
Scrolling mode | Smooth | ESC [?4h | Jump | ESC [?4l |
Screen mode | Reverse | ESC [?5h | Normal | ESC [?5l |
Origin mode | Relative | ESC [?6h | Absolute | ESC [?61 |
Wraparound | On | ESC [?7h | Off | ESC [?7l |
Auto repeat | On | ESC [?8h | Off | ESC [?8l |
Interlace | On | ESC [?9h | Off | ESC [?9l |
Graphics processor option | On | ESC 1 | Off | ESC 2 |
Keypad mode | Application | ESC = | Numeric | ESC > |
Reports
Invoked by | ESC [6 n |
Response is | ESC [ Pl ; Pc R (Pl = line number and Pc = column number) |
Invoked by | ESC [5 n |
Response is | ESC [ 0 n (terminal ok) |
ESC [ 3 n (terminal not ok) |
Invoked by | ESC [c or ESC [0 c |
Response is | ESC [? 1 ; Ps c |
Ps is the “option present” parameter with the following meaning.
Ps | Meaning |
---|---|
0 | Base VT100, no options |
1 | Processor option (STP) |
2 | Advanced video option (AVO) |
3 | AVO and STP |
4 | Graphics processor option (GO) |
5 | GO and STP |
6 | GO and AVO |
7 | GO, STP, and AVO |
Alternately invoked by ESC Z (not recommended). Response is the same.
Reset
Reset executes the power-up reset routine.
ESC c
Confidence Tests
Fill screen with “Es” | ESC # 8 |
Invoke test(s) | ESC [ 2 ; Ps y |
Ps is the parameter indicating the test to be done and is a decimal number computed by taking the “weight” indicated for each desired test and adding them together.
Test | Weight |
---|---|
Power-up self-test (ROM checksum, RAM, NVR, keyboard and AVO if installed) |
1 |
Data loopback | 2 (Loopback connector required) |
Repeat selected tests(s) indefinitely (until failure or power off) | 8 |
The following listing defines the basic elements of the ANSI mode escape sequences. (See Appendix D for a detailed explanation.)
A string of characters that selects a subfunction from a specified list of subfunctions, designated by Ps. In general, a control sequence with more than one selective parameter causes the same effect as several control sequences, each with one selective parameter; for example, CSI Psa; Psb; Psc F is identical to CSI Psa F CSI Psb F CSI Psc F.
Ps is a string of zero or more characters with a range of 0 to 9 (60₈ to 71₈) with each selective parameter separated from the other by a ; (semicolon, 73₈).
Format: ESC [ Pn; Pn R default values: 1
The CPR sequence reports the active position by using the parameters. This sequence has two parameter values, the first specifying the line and the second specifying the column. The default condition with no parameters present, or parameters of 0, is equivalent to a cursor at home position.
Numbering of lines depends on the state of the Origin mode (DECOM).
This control sequence is solicited by a device status report (DSR) sent from the host.
Editor Function; format: ESC [ Pn D default value: 1
The CUB sequence moves the active position to tbe left. The distance moved is determined by the parameter. If the parameter value is 0 or 1, the active position moves one position to the left. If the parameter value is n, the active position moves n positions to the left. If an attempt is made to move the cursor to the left of the left margin, the cursor stops at the left margin.
Editor Function; format: ESC [ Pn B default value: 1
The CUD sequence moves the active position downward without altering the column position. The number of lines moved is determined by the parameter. If the parameter value is 0 or 1, the active position moves one line downward. If the parameter value is n, the active position moves n lines downward. If an attempt is made to move the cursor below the bottom margin, the cursor stops at the bottom margin.
The CUF sequence moves the active position to the right. The distance moved is determined by the parameter. A parameter value of 0 or 1 moves the active position one position to the right. A parameter value of n moves the active position n positions to the right. If an attempt is made to move the cursor to the right of the right margin, the cursor stops at the right margin.
The CUP sequence moves the active position to the position specified by the parameters. This sequence has two parameter values, the first specifying the line position and the second specifying the column position. A parameter value of 0 or 1 for the first or second parameter moves the active position to the first line or column in the display, respectively. The default condition with no parameters present is equivalent to a cursor to home action. In the VT100, this control behaves identically with its format effector counterpart, HVP.
The numbering of lines depends on the state of the Origin mode (DECOM).
This sequence moves the active position upward without altering the column position. The number of lines moved is determined by the parameter. A parameter value of 0 or 1 moves the active position one line upward. A parameter value of n moves the active position n lines upward. If an attempt is made to move the cursor above the top margin, the cursor stops at the top margin.
The host requests the VT100 to send a device attributes (DA) control sequence to identify itself by sending the DA control sequence with either no parameter or a parameter of 0.
Response to the request described above (VT100 to host) is generated by the VT100 as a DA control sequence with the numeric parameters as follows:
Option Present | Sequence Sent |
---|---|
No options | ESC [?1;0c |
Processor option (STP) | ESC [?1;1c |
Advanced video option (AVO) | ESC [?1;2c |
AVO and STP | ESC [?1;3c |
Graphics option (GO) | ESC [?1;4c |
GO and STP | ESC [?1;5c |
GO and AVO | ESC [?1;6c |
GO, STP, and AVO | ESC [?1;7c |
This command fills the entire screen area with uppercase Es for screen focus and alignment. This command is used by DIGITAL manufacturing and Field Service personnel.
This is a private parameter applicable to set mode (SM) and reset mode (RM) control sequences. The reset state causes only VT52 compatible escape sequences to be interpreted and executed. The set state causes only ANSI “compatible” escape and control sequences to be interpreted and executed.
This is a private parameter applicable to set mode (SM) and reset mode (RM) control sequences. The reset state causes no keyboard keys to autorepeat. The set state causes certain keyboard keys to autorepeat.
This is a private parameter applicable to set mode (SM) and reset mode (RM) control sequences. The reset state causes any displayable characters received when the cursor is at the right margin to replace any previous characters there. The set state causes these characters to advance to the start of the next line, doing a scroll up if required and permitted.
This is a private parameter applicable to set mode (SM) and reset mode (RM) control sequences. The reset state causes a maximum of 80 columns on the screen. The set state causes a maximum of 132 columns on the screen.
This is a private parameter applicable to set mode (SM) and reset mode (RM) control sequences. This mode is only effective when the terminal is in keypad application mode (see DECKPAM) and the ANSI/VT52 mode (DECANM) is set (see DECANM). Under these conditions, if the cursqr key mode is reset, the four cursor function keys send ANSI cursor control commands. If cursor key mode is set, the four cursor function keys send application functions.
These sequences cause the line containing the active position to become the top or bottom half of a double-height double-width line. The sequences must be used in pairs on adjacent lines and the same character output must be sent to both lines to form full double-height characters. If the line was single-width single-height, all characters to the right of the center of the screen are lost. The cursor remains over the same character position unless it would be to the right of the right margin, in which case it is moved to the right margin.
This sequence causes the line that contains the active position to become double-width, single-height. If the line was single-width, single-height, all characters to the right of screen center are lost. The cursor remains over the same character position unless it would be to the right of the right margin, in which case, it is moved to the right margin.
Turn off the VT105 graphics processor.
Some DIGITAL hardcopy terminals interpret this private escape sequence as CLEAR TABS.
All subsequent characters are interpreted as commands or data to the VT105 graphics processor option. The terminal remains in this mode until the graphics processor off command is received. This command is ignored if no graphics processor option is installed.
Some DIGITAL hardcopy terminals interpret this private escape sequence as SET TAB.
This sequence causes the screen to cease updating and freeze while the hardcopy output is enabled. The screen resumes normal operation when the hardcopy has been completed. This command is ignored if no hardcopy option is installed.
This sequence causes the same response as the ANSI device attributes (DA). DECID will not be supported in future DIGITAL terminals, therefore, DA should be used by any new software.
This is a private parameter applicable to set mode (SM) and reset mode (RM) control sequences. The reset state (noninterlace) causes the video processor to display 240 scan lines per frame. The set state (interlace) causes the video processor to display 480 scan lines per frame. There is no increase in character resolution.
Auxiliary keypad keys and cursor control keys transmit escape sequences.
Auxiliary keypad keys send ASCII codes corresponding to the characters on the keys. Cursor control keys send cursor controls.
Load the four programmable LEDs on the keyboard according to the parameter(s).
Parameter | Meaning |
---|---|
0 | Clear LEDs 1 through 4 |
1 | Light LED 1 |
2 | Light LED 2 |
3 | Light LED 3 |
4 | Light LED 4 |
LED numbers are indicated on the keyboard.
This is a private parameter applicable to set mode (SM) and reset mode (RM) control sequences. The reset state causes the origin to be at the upper-left character position on the screen. Line numbers are therefore independent of current margin settings. The cursor may be positioned outside the margins with a cursor position (CUP) or horizontal and vertical position (HVP) control.
The set state causes the origin to be at the upper-left character position within the margins. Line numbers are therefore relative to the current margin settings. The cursor cannot be positioned outside the margins.
The cursor moves to the new home position when this mode is set or reset.
Lines and columns are numbered consecutively, with the origin being line 1, column 1.
This sequence causes the previously saved cursor position, graphic rendition, and character set to be restored.
These sequence parameters are explained below in the DECREQTPARM sequence.
This sequence is sent by the terminal controller to notify the host of the status of selected terminal parameters. The status sequence may be sent when requested by the host or at the terminal’s discretion. DECREPTPARM is sent upon receipt of a DECREQTPARM.
The meanings of the sequence parameters are:
Parameter | Value | Meaning |
---|---|---|
<sol> | 0 or none | This message is a request (DECREQTPARM). The terminal is allowed to send unsolicited reports. |
1 | This message is a request. From now on the terminal may only report in response to a request. | |
2 | This message is a report (DECREPTPARM). | |
3 | This message is a report and the terminal is only reporting on request. | |
<par> | 1 | No parity set |
4 | Parity is set and odd | |
5 | Parity is set and even | |
<nbits> | 1 | 8 bits per character |
2 | 7 bits per character | |
<xspeed> | Bits per second | |
<rspeed> | 0 | 50 |
8 | 75 | |
16 | 110 | |
24 | 134.5 | |
32 | 150 | |
40 | 200 | |
48 | 300 | |
56 | 600 | |
64 | 1200 | |
72 | 1800 | |
80 | 2000 | |
88 | 2400 | |
96 | 3600 | |
104 | 4800 | |
112 | 9600 | |
120 | 19,200 | |
<clkmul> | 1 | The bit rate multiplier is 16. |
<flags> | 0‒15 | This value communicates the four switch values in block 5 of SET UP B, which are only visible to the user when an STP option is installed. These bits may be assigned for an STP device. The four bits are a decimal-encoded binary number. |
This sequence causes the cursor position, graphic rendition, and character set to be saved. (See DECRC.)
This is a private parameter applicable to set mode (SM) and reset mode (RM) control sequences. The reset state causes scrolls to “jump” immediately. The set state causes scrolls to be “smooth” at a maximum rate of six lines per second.
This is a private parameter applicable to set mode (SM) and reset mode (RM) control sequences. The reset state causes the screen to be black with white characters. The set state causes the screen to be white with black characters.
This sequence sets the top and bottom margins to define the scrolling region. The first parameter is the line number of the first line in the scrolling region. The second parameter is the line number of the bottom line in the scrolling region. Default is the entire screen (no margins). The minimum size of the scrolling region allowed is two lines, that is, the top margin must be less than the bottom margin.
This causes the line that contains the active position to become single-width, single-height. The cursor remains on the same character position. This is the default condition for all new lines on the screen.
Ps is the parameter indicating the test to be done. Ps is computed by taking the weight indicated for each desired test and adding them together. If Ps is 0, no test is performed but the VT100 is reset.
Test | Weight |
---|---|
Power up self-test (ROM checksum, RAM, NVR keyboard and AVO if installed) | 1 |
Data Loopback | 2 (loopback connector required) |
Repeat selected test(s) indefinitely (until failure or power off) | 8 |
Requests and reports the general status of the VT100 according to the following parameter(s).
Parameter | Meaning |
---|---|
0 | Response from VT100 – ready, no malfunctions detected (default) |
3 | Response from VT100 – malfunction – retry |
5 | Command from host – please report status (using a DSR control sequence) |
6 | Command from host – please report active position (using a CPR control sequence) |
DSR with a parameter value of 0 or 3 is always sent as a response to a requesting DSR with a parameter value of 5.
This sequence erases some or all characters in the display according to the parameter. Any complete line erased by this sequence returns that line to single-width mode.
Parameter | Meaning |
---|---|
0 | Erase from the active position to the end of the screen, inclusive (default). |
1 | Erase from start of the screen to the active position, inclusive. |
2 | Erase all of the display – all lines are erased, changed to single-width, and the cursor does not move. |
Erases some or all characters iln the active line according to the parameter.
Parameter | Meaning |
---|---|
0 | Erase from the active position to the end of the line, inclusive (default). |
1 | Erase from the start of the screen to the active position, inclusive. |
2 | Erase all of the line, inclusive. |
Set one horizontal stop at the active position.
Moves the active position to the position specified by the parameters. This sequence has two parameter values; the first specifies the line position, the second specifies the column. A parameter value of either zero or one causes the active position to move to the first line or column in the display, respectively. The default condition with no parameters present moves the active position to the home position. In the VT100, this control behaves identically with its editor function counterpart, CUP. Numbering lines and columns depends on the reset or set state of the origin mode (DECOM).
This sequence causes the active position to move downward one line without changing column position. If the active position is at the bottom margin, a scroll up is performed.
This is a parameter applicable to set mode (SM) and reset mode (RM) control sequences. The reset state causes the interpretation of the line feed (LF), defined in ANSI Standard X3.4-1977, to imply only vertical movement of the active position and causes the return key (CR) to send the single code CR. The set state causes the LF to imply movement to the first position of the following line and causes the return key to send the two codes (CR, LF). ThIs is the new line (NL) option.
This mode does not affect the index (IND), or next line (NEL) format effectors.
This sequence causes the active position to move to the first position on the next line downward. If the active position is at the bottom margin, a scroll up is performed.
Moves the active position to the same horizontal position on the preceding line. If the active position is at the top margin, a scroll down is performed.
Resets the VT100 to its initial state, i.e., the state it has after it is powered on. This also causes the execution of the power-up self test and signal INIT H to be asserted briefly.
Resets one or more VT100 modes as specified by each selective parameter in the parameter string. Each mode to be reset is specified by a separate parameter. (See modes and set mode (SM) following this section.)
The appropriate G0 and G1 character sets are selected from the five possible character sets. G0 and G1 are selected by codes SI and SO (shift in and shift out) respectively.
G0 Sets Sequence | G1 Sets Sequence | Meaning |
---|---|---|
ESC ( A | ESC ) A | United Kingdom set |
ESC ( B | ESC ) B | ASCII set |
ESC ( 0 | ESC ) 0 | Special graphics |
ESC ( 1 | ESC ) 1 | Alternate character ROM Standard character set |
ESC ( 2 | ESC ) 2 | Alternate character ROM Special graphics |
The United Kingdom and ASCII sets conform to the “ISO international register of character sets to be used with escape sequences.” The other sets are private character sets. Special graphics means that the graphic characters for the codes 137₈ to 176₈ are replaced with other characters. The specified character set will be used until another SCS is received.
Invoke the graphic rendition specified by the parameter(s). All following characters transmitted to the VT100 are rendered according to the parameter(s) until the next occurrence of SGR.
Parameter | Meaning |
---|---|
0 | Attributes off |
1 | Bold or increased intensity |
4 | Underscore |
5 | Blink |
7 | Negative (reverse) image |
All other parameter values are ignored.
Without the advanced video option only one character attribute is possible as determined by the cursor selection. In that case specifying either the underscore or the reverse attribute activates the currently selected attribute.
Causes one or more modes to be set within the VT100 as specified by each selective parameter in the parameter string. Each mode to be set is specified by a separate parameter. A mode is considered set until it is reset by a reset mode (RM) control sequence.
Parameter | Meaning |
---|---|
0 | Clear the horizontal tab stop at the active position (the default case). |
3 | Clear all horizontal tab stops. |
Any other parameter values are ignored.
You can change the following VT100 modes with set mode (SM) and reset mode (RM) controls.
Parameter | Mode Mnemonic | Function |
---|---|---|
0 | — | Error (ignored) |
20 | LNM | Line feed/new line mode |
If the first character in the parameter string is ? (77₈), the parameters are interpreted as DEC private parameters according to the following modes.
Parameter | Mode Mnemonic | Function |
---|---|---|
0 | — | Error (ignored) |
1 | DECCKM | Cursor key |
2 | DECANM | ANSI/VT52 |
3 | DECCOLM | Column |
4 | DECSCLM | Scrolling |
5 | DECSCNM | Screen |
6 | DECOM | Origin |
7 | DECAWM | Auto-wrap |
8 | DECARM | Auto-repeat |
9 | DECINLM | Interlace |
Any other parameter values are ignored.
The following modes, specified in ANSI X3.64-1977 standard, may be considered to be permanently set, permanently reset, or not applicable, as noted. Refer to that standard for further information concerning these modes.
Mnemonic | Function | State |
---|---|---|
CRM | Control representation | Reset |
EBM | Editing boundary | Reset |
ERM | Erasure | Set |
FEAM | Format effector action | Reset |
FETM | Format effector transfer | Reset |
GATM | Guarded area transfer | NA |
HEM | Horizontal editing | NA |
IRM | Insertion-replacement | Reset |
KAM | Keyboard action | Reset |
MATM | Multiple area transfer | NA |
PUM | Positioning unit | Reset |
SATM | Selected area transfer | NA |
SRTM | Status reporting transfer | Reset |
TSM | Tabulation stop | Reset |
TTM | Transfer termination | NA |
VEM | Vertical editing | NA |
All subsequent characters are interpreted as commands to the graphics option until the graphics processor off command is received. This sequence is ignored if no graphics processor is installed.
Turn off the graphics processor.
Move the active position upward one position without altering the horizontal position. If an attempt is made to move the cursor above the top margin, the cursor stops at the top margin.
Move the active position downward one position without altering the horizontal position. If an attempt is made to move the cursor below the bottom margin, the cursor stops at the bottom margin.
Move the active position to the right. If an attempt is made to move the cursor to the right of the right margin, the cursor stops at the right margin.
Move the active position one position to the left. If an attempt is made to move the cursor to the left of the left margin, the cursor stops at the left margin.
Selects the special graphics character set.
The special graphics characters in the VT100 are different from those in the VT52. (See Table A-8.)
Octal Code | US/UK Set | Special Character and Line Drawing Set | VT52 In Graphics Mode* | |
---|---|---|---|---|
137 | Blank | Blank | ||
140 | ` | Diamond | Reserved | |
141 | a | Checkerboard (error indicator) | Solid rectangle | |
142 | b | Horizontal tab | ¹/ | |
143 | c | Form feed | ³/ | |
144 | d | Carriage return | ⁵/ | |
145 | e | Line feed | ⁷/ | |
146 | f | Degree symbol | Degrees | |
147 | g | Plus/minus | Plus or minus | |
150 | h | New line | Right arrow | |
151 | i | New line | Right arrow | |
152 | j | Lower-right corner | Divide by | |
153 | k | Upper-right corner | Down arrow | |
154 | l | Upper-left corner | Bar at scan 0 | |
155 | m | Lower-left corner | Bar at scan 1 | |
156 | n | Crossing lines | Bar at scan 2 | |
157 | o | Horizontal line – scan 1 | Bar at scan 3 | |
160 | p | Horizontal line – scan 3 | Bar at scan 4 | |
161 | q | Horizontal line – scan 5 | Bar at scan 5 | |
162 | r | Horizontal line – scan 7 | Bar at scan 6 | |
163 | s | Horizontal line – scan 9 | Bar at scan 7 | |
164 | t | Left T | Subscript 0 | |
165 | u | Right T | Subscript 1 | |
166 | v | Bottom T | Subscript 2 | |
167 | w | Top T | Subscript 3 | |
170 | x | Vertical bar | Subscript 4 | |
171 | y | Less than or equal to | Subscript 5 | |
172 | z | Greater than or equal to | Subscript 6 | |
173 | { | Pi | Subscript 7 | |
174 | | | Not equal to | Subscript 8 | |
175 | } | UK pound sign | Subscript 9 | |
176 | ~ | Centered dot | Paragraph | |
*Not available in VT125 |
Selects the standard ASCII character set.
Move the cursor to the home position.
Move the active position upward one position without altering the column position. If the active position is at the top margin, a scroll down is performed.
Erase all characters from the active position to the end of the screen. The active position is not changed.
Erase all characters from the active position to the end of the current line. The active position is not changed.
Move the cursor to the specified line and column. The line and column numbers are sent as ASCII codes whose values are the number plus 037₈. For example, 040₈ refers to the first line or column, 050₈ refers to the eighth line or column, etc.
Causes the terminal to send its identifier escape sequence to the host. The sequence is: ESC / Z.
Information regarding options must be obtained in ANSI mode, using the device attributes (DA) control sequence.
Auxiliary keypad keys send unique identifiable escape sequences for use by applications programs.
Auxiliary keypad keys send ASCII codes for functions or characters on the key.
All subsequent escape sequences will be interpreted according to ANSI Standards X3.64-1977 and X3.41-1974. The VT52 escape sequence in this section will not be recognized.