mirror of
https://github.com/KDE/konsole.git
synced 2026-05-02 19:56:46 -04:00
1230 lines
52 KiB
HTML
1230 lines
52 KiB
HTML
<html>
|
|
<head>
|
|
<title>VT100</title>
|
|
<!-- NOTE: this page is generated using the "genDocument" script -->
|
|
</head>
|
|
<body bgcolor=white>
|
|
|
|
<hr>
|
|
|
|
|
|
<h1><center>VT100</center></h1>
|
|
<center><img src="vt100.gif"></center>
|
|
|
|
<it>Please note that this text is under construction</it>
|
|
|
|
<h2>Preface</h2>
|
|
|
|
This document accompanies the Konsole and Kom programs, which are mainly terminal
|
|
emulations. Since material about the extend and precise semantics of the emulatation
|
|
intended by these programs is hard to find on the internet today, it came out
|
|
nessesary to include a more precise specification within their release.
|
|
<p>
|
|
Hopefully, this helps to clearify the relation to the VT100, VT102, Linux, XTerm
|
|
and ansi.sys (ANSI-BBS) terminals, which are the target of these programs. Further,
|
|
it specifies which codes are interpreted by them, and what has been omitted.
|
|
<p>
|
|
To begin with, all of the above call themselfes "ANSI" emulations, which makes this
|
|
notion pretty vage. "ANSI" referes here to the American National Standards
|
|
Institute's documents X3.41-1974 and X3.64-1977. DEC partially implemented this
|
|
standart in their VT100 terminal, with some additions. The VT102 is a later extention
|
|
of that. Both the Linux console and the XTerm emulation implement most of VT102,
|
|
with some additions. MS stepped in later and produced another ANSI emulation,
|
|
<code>ansi.sys</code>, for their OS, which became of some relevance in BBS style
|
|
telecommunication programs. One can view this as a small subset of the VT100
|
|
emulation, with some additions, of cause.
|
|
<p>
|
|
This situation is further confused by the fact, that often many versions of the
|
|
above terminals and emulations are out, one able to do a little more or less then
|
|
the other. Especially the later makes the production of a <em>working</em>
|
|
emulation an impossible task. And this is the place where this document steps in:
|
|
|
|
|
|
<h2>Editor's notes & todos</h2>
|
|
<ul>
|
|
<li>Include complete reference on keyboard material.
|
|
<li>Check for explaination of out-of-bound values.
|
|
<li>Include VT52, VT102, XTERM, LINUX-console codes
|
|
<li>Translate to codes to decimal
|
|
<li>Make the whole document more concept oriented
|
|
<li>See the section <em>Method of description</em>, below
|
|
</ul>
|
|
<h2>
|
|
<table width=100%>
|
|
<tr><td align=center bgcolor=#d0d0d0></td></tr>
|
|
<tr><td align=center bgcolor=#d0d0d0>Terminal Control Commands</td></tr>
|
|
<tr><td align=center bgcolor=#d0d0d0></td></tr>
|
|
</table>
|
|
</h2>
|
|
|
|
The VT100 is an upward and downward software-compatible terminal;
|
|
that is, previous Digital video terminals have Digital's private standards
|
|
for control sequences. The American National Standards Institute has since
|
|
standardized escape and control sequences in terminals in documents X3.41-1974
|
|
and X3.64-1977.
|
|
<p>
|
|
The VT100 is compatible with both the previous Digital 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 control sequences like a VT52. In this mode, most
|
|
of the new VT100 features cannot be used.
|
|
<p>
|
|
Throughout this document references will be made to "VT52 mode" or
|
|
"ANSI mode". These two terms are used to indicate the VT100's software
|
|
compatibility.
|
|
<p>
|
|
<em>NOTE</em>: The ANSI standards allow the manufacturer flexibility in implementing
|
|
each function. This document describes how the VT100 will respond to the
|
|
implemented ANSI central function.
|
|
<p>
|
|
|
|
<!-- BEGIN: new section about the codes -->
|
|
|
|
<h2>Method of description</h2>
|
|
|
|
<em>All the following in this section is an outline</em>. <p>
|
|
|
|
Parts of the terminal description
|
|
<ul>
|
|
<li>State
|
|
<br>This is mainly the screen, the cursor (including it's graphical state)
|
|
and some hidden mode variables. Note that the state cannot be investigated
|
|
by the attached host.
|
|
<li>Interface
|
|
<br>That's what goes over the wire. Beside being related to objects, this
|
|
appears so closely related to contemporal process communication, that
|
|
it might be discussed in likely terms.
|
|
<br>We have information flowing in both directions. On could destinguist
|
|
between:
|
|
<li>Commands
|
|
<br>These are "calls" of the terminals interface by the host which cause
|
|
some change of the terminals state, but do not end in a response.
|
|
<li>Requests
|
|
<br>These are "calls" of the terminals interface by the host which do not cause
|
|
any change of the terminals state, but end in a response of the terminal.
|
|
Clearly, requests are somehow used to investigate the state of the terminal.
|
|
<li>Events
|
|
<br>These are signals from the terminal caused by the user affecting the
|
|
mouse or keyboard to the host.
|
|
<li>Replys
|
|
<br>These are send by the terminal as a result of a Request from the hosts.
|
|
<li>Encoding/Decoding
|
|
<br>Since the
|
|
</ul>
|
|
|
|
|
|
<!-- END -->
|
|
<h2>
|
|
<table width=100%>
|
|
<tr><td align=center bgcolor=#d0d0d0></td></tr>
|
|
<tr><td align=center bgcolor=#d0d0d0>Control Characters</td></tr>
|
|
<tr><td align=center bgcolor=#d0d0d0></td></tr>
|
|
</table>
|
|
</h2>
|
|
|
|
The control characters recognized by the VT100 are listed below. All
|
|
other control characters cause no action to be taken.
|
|
<p>
|
|
Control characters (codes 00 - 037 inclusive) are specifically excluded
|
|
from the control sequence syntax, but may be embedded within a control
|
|
sequence. Embedded control characters are executed as soon as they are
|
|
encountered by the VT100. The processing of the control sequence then
|
|
continues with the next character recieved. The exceptions are: if the <ESC>
|
|
character occurs, the current control sequence is aborted, and a new one
|
|
commences beginning with the <ESC> just recieved. If the character <CAN>
|
|
(030) or the character <SUB> (032) occurs, the current control sequence is
|
|
aborted. The ability to embed control characters allows the synchronization
|
|
characters XON and XOFF to be interpreted properly without affecting the
|
|
control sequence.
|
|
<p>
|
|
<table>
|
|
<tr><td>Control Character<td>Octal Code<td>Action Taken
|
|
<tr><td><hr><td><hr><td><hr>
|
|
<tr><td><code><NUL></code><td>000<td>Ignored on input; not stored in buffer
|
|
<tr><td><code><EN></code><td>005<td>Transmit the ANSWERBACK message. The answerback message can be loaded in SET-UP B (i.e. is a configurable string).
|
|
<tr><td><code><BE></code><td>007<td>Sound bell
|
|
<tr><td><code><BS></code><td>010<td>Move cursor to the left one position, unless it is at the left margin, in which case no action is taken.
|
|
<tr><td><code><HT></code><td>011<td>Move cursor to the next tab stop, or to the right margin if no further tabs are set.
|
|
<tr><td><code><LF></code><td>012<td>Causes either a line feed or new line operation (See new line mode.)
|
|
<tr><td><code><VT></code><td>013<td>Same as <LF>.
|
|
<tr><td><code><FF></code><td>014<td>Same as <LF>.
|
|
<tr><td><code><CR></code><td>015<td>Move the cursor to the left margin of the current line.
|
|
<tr><td><code><SO></code><td>016<td>Invoke the G1 character set, as designated by the SCS control sequence.
|
|
<tr><td><code><SI></code><td>017<td>Invoke the G0 character set, as selected by the <ESC>( sequence.
|
|
<tr><td><code><DC1></code><td>021<td>Causes terminal to resume transmission (XON).
|
|
<tr><td><code><DC3></code><td>023<td>Causes terminal to stop transmitting all codes except XOFF and XON (XOFF).
|
|
<tr><td><code><CAN></code><td>030<td>If sent during a control sequence, the sequence id immediately terminated and not executed. It also causes the error character (checkerboard) to be displayed.
|
|
<tr><td><code><SUB></code><td>032<td>Same as <CAN>.
|
|
<tr><td><code><ESC></code><td>033<td>Introduces a control sequence.
|
|
<tr><td><code><DEL></code><td>177<td>Ignored on input; not stored in buffer.
|
|
</table>
|
|
<h2>
|
|
<table width=100%>
|
|
<tr><td align=center bgcolor=#d0d0d0></td></tr>
|
|
<tr><td align=center bgcolor=#d0d0d0>Control Sequences</td></tr>
|
|
<tr><td align=center bgcolor=#d0d0d0></td></tr>
|
|
</table>
|
|
</h2>
|
|
|
|
<h3>Definitions</h3>
|
|
|
|
<dl>
|
|
<dt>Control Sequence Introducer (CSI):
|
|
<dd>An escape sequence that provides
|
|
supplementary controls and is itself a prefix affecting the
|
|
interpretation of a limited number of contiguous characters.
|
|
In the VT100, the CSI is: <ESC>[
|
|
|
|
<dt>Parameter:
|
|
<dd>1. A string of zero or more decimal characters which
|
|
represent a single value. Leading zeros are ignored. The
|
|
decimal characters have a range of 0 (060) to 9 (071).
|
|
<br>2. The value so represented.
|
|
|
|
<dt>Numeric Parameter:
|
|
<dd>A parameter that represents a number, designated by Pn.
|
|
|
|
<dt>Selective Parameter:
|
|
<dd>A parameter that selects a subfunction from a
|
|
specified set 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, e.g., CSI Psa; Psb; Psc F is identical to
|
|
CSI Psa F CSI Psb F CSI Psc F.
|
|
|
|
<dt>Parameter String:
|
|
<dd>A string of parameters separated by a semicolon.
|
|
|
|
<dt>Default:
|
|
<dd> A function-dependent value that is assumed when no explicit
|
|
value, or a value of 0, is specified.
|
|
|
|
<dt>Final character:
|
|
<dd>A character whose bit combination terminates an escape or control sequence.
|
|
</dl>
|
|
|
|
|
|
<em>EXAMPLE</em>: Control sequence to turn off all character attributes, then
|
|
turn on underscore and blink attributes (<a href=#SGR>SGR</a>).
|
|
|
|
<pre> Delimiters
|
|
/ \
|
|
/ \
|
|
| |
|
|
\ / \ /
|
|
Sequence: <ESC>[ 0 ; 4 ; 5 m
|
|
^^^^^^ ^ ^ ^ ^
|
|
|||||| | | | |
|
|
\||||/ \ | / +------Final character
|
|
\||/ \ | /
|
|
CSI Selective
|
|
Parameters
|
|
</pre>
|
|
The octal representation of this string is:
|
|
<pre>
|
|
033 0133 060 073 064 073 065 0155
|
|
<ESC> [ 0 ; 4 ; 5 m
|
|
</pre>
|
|
|
|
|
|
Alternate sequences which will accomplish the same thing:
|
|
|
|
<ul>
|
|
<li><code><ESC>[;4;m </code>
|
|
<li><code><ESC>[m </code>
|
|
<br><code><ESC>[4m </code>
|
|
<br><code><ESC>[5m </code>
|
|
<li><code><ESC>[0;04;005m</code>
|
|
</ul>
|
|
|
|
|
|
All of the following control sequences are transmitted from the Host to
|
|
VT100 unless otherwise noted. All of the control sequences are a subset of
|
|
those defined in ANSI X 3.64 1977 and ANSI X 3.41 1974.
|
|
<p>
|
|
The following text conforms to these formatting conventions:
|
|
<ul>
|
|
<li>Control characters are designated by angle brackets (e.g.
|
|
the Escape character is <ESC>).
|
|
|
|
<li>Parameters are indicated by curly braces.
|
|
|
|
<li>Parameter types usually are indicated as one of:
|
|
<table>
|
|
<tr><td>{Pn} </td><td>A string of digits representing a numerical value.</td></tr>
|
|
<tr><td>{Ps} </td><td>A character that selects an item from a list.</td></tr>
|
|
<tr><td>{a-z}</td><td>Any lowercase sequence of one44 or more
|
|
characters in braces represent a value to be
|
|
entered (as in {Pn}), and the name in the
|
|
braces will be referred to in explanatory text.</td></tr>
|
|
</table>
|
|
|
|
<li>Spaces in the control sequence are present for clarity and
|
|
may be omitted. Spaces which are required will be
|
|
surrounded by single quotes: ' '.
|
|
|
|
<li>All other characters are literals.
|
|
</ul>
|
|
|
|
<p>
|
|
The following attributes below have the following meaning:
|
|
<ul>
|
|
<li>VT100 - This code is known to VT100.
|
|
<li>ANSI - This code is defined by ANSI.
|
|
<li>DEC - This code is DEC private.
|
|
<li>Command - Sent from host to the terminal. <b>FIXME:</b>add Inquiery.
|
|
<li>Reply - Sent from terminal to the host (as response to an Inquiery).
|
|
<li>Event - Sent from terminal to the host (caused by a user activity).
|
|
<li>Mode - The entry is a mode.
|
|
</ul>
|
|
<table>
|
|
<tr><td width=10%%><td width=50%%><td width=40%%>
|
|
<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=CPR>CPR</a>
|
|
<td bgcolor="#D0D0D0"><b>Cursor Position Report</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Reply
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td >ESC <b>[</b> <em>Pn</em> <b>;</b> <em>Pn</em> <b>R</b></code>
|
|
<td >Default: 1 1
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> The CPR sequence reports the active position by means of 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.
|
|
<p>
|
|
The numbering of the lines depends upon the state of the Origin Mode
|
|
(<a href=#DECOM>DECOM</a>).
|
|
<p>
|
|
This control sequence is sent in reply to a device status report
|
|
(<a href=#DSR>DSR</a>) command sent from the host.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=CUB>CUB</a>
|
|
<td bgcolor="#D0D0D0"><b>Cursor Backward</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command Event
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td >ESC <b>[</b> <em>Pn</em> <b>D</b></code>
|
|
<td >Default: 1
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> The CUB sequence move the cursor to the left. The distance moved is
|
|
determined by the parameter. If the parameter missing, zero, or one,
|
|
the cursor is moved one position. The cursor cannot be moved past the
|
|
left margin.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=CUD>CUD</a>
|
|
<td bgcolor="#D0D0D0"><b>Cursor Down</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command Event
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td >ESC <b>[</b> <em>Pn</em> <b>B</b></code>
|
|
<td >Default: 1
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> Moves the cursor down a number of lines as specified in the parameter
|
|
without changing columns. The cursor cannot be moved past the bottom
|
|
margin.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=CUF>CUF</a>
|
|
<td bgcolor="#D0D0D0"><b>Cursor Foreward</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command Event
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td >ESC <b>[</b> <em>Pn</em> <b>C</b></code>
|
|
<td >Default: 1
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> The CUF sequence moves the cursor to the right a number of positions
|
|
specified in the parameter. The cursor cannot be moved past the right
|
|
margin.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=CUP>CUP</a>
|
|
<td bgcolor="#D0D0D0"><b>Cursor Position</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td >ESC <b>[</b> <em>Pn</em> <b>;</b> <em>Pn</em> <b>H</b></code>
|
|
<td >Default: 1 1
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> The CUP sequence moves the curor to the position specified by the
|
|
parameters. The first parameter specifies the line, and the second
|
|
specifies the column. A value of zero for either line or column moves
|
|
the cursor to the first line or column in the display. The default
|
|
string (<ESC>H) homes the cursor. In the VT100, this command behaves
|
|
identically to it's format effector counterpart, <a href=#HVP>HVP</a>.
|
|
<p>
|
|
The numbering of the lines depends upon the state of the Origin Mode
|
|
(<a href=#DECOM>DECOM</a>).<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=CUU>CUU</a>
|
|
<td bgcolor="#D0D0D0"><b>Cursor Up</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command Event
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td >ESC <b>[</b> <em>Pn</em> <b>A</b></code>
|
|
<td >Default: 1
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> Moves the cursor up without changing columns. The cursor is moved up a
|
|
number of lines as indicated by the parameter. The cursor cannot be
|
|
moved beyond the top margin.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DA>DA</a>
|
|
<td bgcolor="#D0D0D0"><b>Device Attributes</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command Reply
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td >ESC <b>[</b> <em>Pn</em> <b>c</b></code>
|
|
<td >Default: 0
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> The host requests the VT100 to send a DA sequence to indentify
|
|
itself. This is done by sending the DA sequence with no parameters,
|
|
or with a parameter of zero.
|
|
<p>
|
|
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:
|
|
<p>
|
|
<table>
|
|
<tr><td>Option Present </td><td>Sequence Sent </td></tr>
|
|
<tr><td><hr> </td><td><hr> </td></tr>
|
|
<tr><td>No options </td><td><code><ESC>[?1;0c</code></td></tr>
|
|
<tr><td>Processor Option (STP) </td><td><code><ESC>[?1;1c</code></td></tr>
|
|
<tr><td>Advanced Video Option (AVO)</td><td><code><ESC>[?1;2c</code></td></tr>
|
|
<tr><td>AVO and STP </td><td><code><ESC>[?1;3c</code></td></tr>
|
|
<tr><td>Graphics Option (GPO) </td><td><code><ESC>[?1;4c</code></td></tr>
|
|
<tr><td>GPO and STP </td><td><code><ESC>[?1;5c</code></td></tr>
|
|
<tr><td>GPO and AVO </td><td><code><ESC>[?1;6c</code></td></tr>
|
|
<tr><td>GPO, ACO, and STP </td><td><code><ESC>[?1;7c</code></td></tr>
|
|
</table><tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECALN>DECALN</a>
|
|
<td bgcolor="#D0D0D0"><b>Screen Alignment Display</b>
|
|
<td bgcolor="#D0D0D0">VT100 DEC Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2>ESC <b>#</b> <b>8</b></code>
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> This command causes the VT100 to fill it's screen with uppercase Es for
|
|
screen focus and alignment.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECANM>DECANM</a>
|
|
<td bgcolor="#D0D0D0"><b>ANSI/VT52 Mode</b>
|
|
<td bgcolor="#D0D0D0">VT100 DEC Mode
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> This is a private parameter to the <a href=#SM>SM</a> and <a href=#RM>RM</a>
|
|
control sequences. The
|
|
reset state causes only VT52 compatible escape sequences to be
|
|
recognized. The set state causes only ANSI compatible escape sequences
|
|
to be recognized. See the entries for <a href=#MODES>MODES</a>,
|
|
<a href=#SM>SM</a>, and <a href=#RM>RM</a>.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECARM>DECARM</a>
|
|
<td bgcolor="#D0D0D0"><b>Auto Repeat Mode</b>
|
|
<td bgcolor="#D0D0D0">VT100 DEC Mode
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> This is a private parameter to the <a href=#SM>SM</a> and <a href=#RM>RM</a>
|
|
control sequences. The
|
|
reset state causes no keyboard keys to auto-repeat, the set state
|
|
causes most of them to. See <a href=#MODES>MODES</a>, <a href=#SM>SM</a>,
|
|
and <a href=#RM>RM</a>.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECAWM>DECAWM</a>
|
|
<td bgcolor="#D0D0D0"><b>Autowrap Mode</b>
|
|
<td bgcolor="#D0D0D0">VT100 DEC Mode
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> This is a private parameter to the <a href=#SM>SM</a> and <a href=#RM>RM</a>
|
|
control sequences. The
|
|
reset state prevents the cursor from moving when characters are
|
|
recieved while at the right margin. The set state causes these
|
|
characters to advance to the next line, causing a scroll up if required
|
|
and permitted. See <a href=#MODES>MODES</a>, <a href=#SM>SM</a>, and
|
|
<a href=#RM>RM</a>.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECCKM>DECCKM</a>
|
|
<td bgcolor="#D0D0D0"><b>Cursor Keys Mode</b>
|
|
<td bgcolor="#D0D0D0">VT100 DEC Mode
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> This is a private parameter to the <a href=#SM>SM</a> and <a href=#RM>RM</a>
|
|
control requences. This
|
|
mode is only effective when the terminal is in keypad application mode
|
|
(<a href=#DECKPAM>DECKPAM</a>) and the ANSI/VT52 mode (<a href=#DECANM>DECANM</a>)
|
|
is set. Under these
|
|
conditions, if this mode is reset, the cursor keys will send ANSI
|
|
cursor control commands. If setm the cursor keys will send application
|
|
function commands. See <a href=#MODES>MODES</a>, <a href=#RM>RM</a>, and
|
|
<a href=#SM>SM</a>.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECCOLM>DECCOLM</a>
|
|
<td bgcolor="#D0D0D0"><b>Column Mode</b>
|
|
<td bgcolor="#D0D0D0">VT100 DEC Mode
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> This is a private parameter to the <a href=#SM>SM</a> and <a href=#RM>RM</a>
|
|
control sequences. The
|
|
reset state causes an 80 column screen to be used. The set state
|
|
causes a 132 column screen to be used. See <a href=#MODES>MODES</a>,
|
|
<a href=#RM>RM</a>, and <a href=#SM>SM</a>.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECDHL>DECDHL</a>
|
|
<td bgcolor="#D0D0D0"><b>Double Height Line</b>
|
|
<td bgcolor="#D0D0D0">VT100 DEC Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> <code>ESC # 3</code> Top Half
|
|
<br><code>ESC # 4</code> Bottom Half
|
|
<p>
|
|
These sequences cause the line containing the cursor to become the top
|
|
or bottom half of a double-height, double width line. The sequences
|
|
should be used in pairs on adjacent lines with each line containing the
|
|
same character string. If the line was single width single height, all
|
|
characters to the right of the center of the screen will be 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.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECDWL>DECDWL</a>
|
|
<td bgcolor="#D0D0D0"><b>Double Width Line</b>
|
|
<td bgcolor="#D0D0D0">VT100 DEC Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2>ESC <b>#</b> <b>6</b></code>
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> This causes the line that contains the cursor to become double-width
|
|
single height. If the line was single width, all characters ro the
|
|
right of the center of the screen will be 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.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECID>DECID</a>
|
|
<td bgcolor="#D0D0D0"><b>Identify Terminal</b>
|
|
<td bgcolor="#D0D0D0">VT100 DEC Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2>ESC <b>Z</b></code>
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> This sequence causes the same response as the <a href=#DA>DA</a> sequence. This
|
|
sequence will not be supported in future models.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECINLM>DECINLM</a>
|
|
<td bgcolor="#D0D0D0"><b>Interlace Mode</b>
|
|
<td bgcolor="#D0D0D0">VT100 DEC Mode
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> This is a private parameter to the <a href=#RM>RM</a> and <a href=#SM>SM</a>
|
|
control sequences. The
|
|
reset state (non-interlace) causes the video processor to display 240
|
|
scan lines per frame. The set state causes the video processor to
|
|
display 480 scan lines per screen. See <a href=#MODES>MODES</a>,
|
|
<a href=#RM>RM</a>, and <a href=#SM>SM</a>.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECKPAM>DECKPAM</a>
|
|
<td bgcolor="#D0D0D0"><b>Keypad Application Mode</b>
|
|
<td bgcolor="#D0D0D0">VT100 DEC Command Mode
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2>ESC <b>=</b></code>
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> The auxiliary keypad keys will transmit control sequences.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECKPNM>DECKPNM</a>
|
|
<td bgcolor="#D0D0D0"><b>Keypad Numeric Mode</b>
|
|
<td bgcolor="#D0D0D0">VT100 DEC Mode Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2>ESC <b>></b></code>
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> The auxiliary keypad keys will send ASCII codes corresponding to the
|
|
characters engraved on their keys.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECLL>DECLL</a>
|
|
<td bgcolor="#D0D0D0"><b>Load LEDs</b>
|
|
<td bgcolor="#D0D0D0">VT100 DEC Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td >ESC <b>[</b> <em>Ps</em> <b>q</b></code>
|
|
<td >Default: 0
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> Load the four programmable LEDs on the keyboard according to the parameter(s).
|
|
<p>
|
|
<table>
|
|
<tr><td>Parameter </td><td>Meaning </td></tr>
|
|
<tr><td><hr> </td><td><hr> </td></tr>
|
|
<tr><td align=center>0</td><td>Clear All LEDs</td></tr>
|
|
<tr><td align=center>1</td><td>Light L1 </td></tr>
|
|
<tr><td align=center>2</td><td>Light L2 </td></tr>
|
|
<tr><td align=center>3</td><td>Light L3 </td></tr>
|
|
<tr><td align=center>4</td><td>Light L4 </td></tr>
|
|
</table><tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECOM>DECOM</a>
|
|
<td bgcolor="#D0D0D0"><b>Origin Mode</b>
|
|
<td bgcolor="#D0D0D0">VT100 DEC Mode
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> This is a private parameter to <a href=#SM>SM</a> and <a href=#RM>RM</a>
|
|
control sequences. The reset
|
|
state causes the origin (or home position) to be the upper left
|
|
character position of the screen. Line and column numbers are,
|
|
therefore, independent of current margin settings. The cursor may be
|
|
positioned outside the margins with a cursor position (<a href=#CUP>CUP</a>) or
|
|
horizontal and vertical position (<a href=#HVP>HVP</a>) control.
|
|
<p>
|
|
The set state causes the origin to be at the upper left character
|
|
position within the current margins. Line and column numbers are,
|
|
therefore, relative to the current margin settings. The cursor cannot
|
|
be positioned outside of the margins.
|
|
<p>
|
|
The cursor is moved 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.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECRC>DECRC</a>
|
|
<td bgcolor="#D0D0D0"><b>Restore Cursor</b>
|
|
<td bgcolor="#D0D0D0">VT100 DEC Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2>ESC <b>8</b></code>
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> This sequence causes the previously saved cursor position, graphic
|
|
rendition, and character set to be restored.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECREPTPARM>DECREPTPARM</a>
|
|
<td bgcolor="#D0D0D0"><b>Report Terminal Parameters</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Reply
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2>ESC <b>[</b> <em>sol</em> <b>;</b> <em>par</em> <b>;</b> <em>nbits</em> <b>;</b> <em>xspd</em> <b>;</b> <em>rspd</em> <b>;</b> <em>cmul</em> <b>;</b> <em>flags</em> <b>x</b></code>
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> This sequence is generated by the VT100 to notify the host of the
|
|
status of selected terminal parameters. The status sequence may be
|
|
sent when requested by the host (via <a href=#DECREQTPARM>DECREQTPARM</a>)
|
|
or at the terminal's
|
|
discretion. On power up or reset, the VT100 is inhibited from sending
|
|
unsolicited reports.
|
|
<p>
|
|
The meanings of the sequence paramters are:
|
|
<p>
|
|
<table>
|
|
<tr><td>Parameter</td><td>Value</td><td>Meaning</td></tr>
|
|
<tr><td><hr></td><td><hr></td><td><hr></td></tr>
|
|
<tr><td rowspan=2>{sol}</td>
|
|
<td>1</td><td>This message is a report.</td></tr>
|
|
<tr><td>2</td><td>This message is a report, and the terminal is
|
|
only reporting on request.</td></tr>
|
|
<tr><td><hr></td><td><hr></td><td><hr></td></tr>
|
|
<tr><td rowspan=3>{par}</td>
|
|
<td>1</td><td>No parity set</td></tr>
|
|
<tr><td>4</td><td>Parity set and odd</td></tr>
|
|
<tr><td>5</td><td>Parity set and even</td></tr>
|
|
<tr><td><hr></td><td><hr></td><td><hr></td></tr>
|
|
<tr><td rowspan=2>{nbits}</td>
|
|
<td>1</tr><td>8 bits per character</td></tr>
|
|
<tr><td>2</tr><td>7 bits per character</td></tr>
|
|
<tr><td><hr></td><td><hr></td><td><hr></td></tr>
|
|
<tr><td rowspan=16>{xspd} <em>and</em> {rspd}
|
|
<br>
|
|
{xspd} = Transmit Speed
|
|
<br>
|
|
{rspd} = Recieve Speed</td>
|
|
<td>0 </tr><td>Speed set to 50 bps </td></tr>
|
|
<tr><td>8 </tr><td>Speed set to 75 bps </td></tr>
|
|
<tr><td>16 </tr><td>Speed set to 110 bps </td></tr>
|
|
<tr><td>24 </tr><td>Speed set to 134.5 bps</td></tr>
|
|
<tr><td>32 </tr><td>Speed set to 150 bps </td></tr>
|
|
<tr><td>40 </tr><td>Speed set to 200 bps </td></tr>
|
|
<tr><td>48 </tr><td>Speed set to 300 bps </td></tr>
|
|
<tr><td>56 </tr><td>Speed set to 600 bps </td></tr>
|
|
<tr><td>64 </tr><td>Speed set to 1200 bps </td></tr>
|
|
<tr><td>72 </tr><td>Speed set to 1800 bps </td></tr>
|
|
<tr><td>80 </tr><td>Speed set to 2000 bps </td></tr>
|
|
<tr><td>88 </tr><td>Speed set to 2400 bps </td></tr>
|
|
<tr><td>96 </tr><td>Speed set to 3600 bps </td></tr>
|
|
<tr><td>104</tr><td>Speed set to 4800 bps </td></tr>
|
|
<tr><td>112</tr><td>Speed set to 9600 bps </td></tr>
|
|
<tr><td>120</tr><td>Speed set tp 19200 bps</td></tr>
|
|
<tr><td><hr></td><td><hr></td><td><hr></td></tr>
|
|
<tr><td>{cmul}</td><td>1</td><td>The bit rate multiplier is 16</td></tr>
|
|
<tr><td><hr></td><td><hr></td><td><hr></td></tr>
|
|
<tr><td>{flags}</td><td>0-15</td><td>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.</td></tr>
|
|
</table><tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECREQTPARM>DECREQTPARM</a>
|
|
<td bgcolor="#D0D0D0"><b>Request Terminal Parameters</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2>ESC <b>[</b> <em>Ps</em> <b>x</b></code>
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> The host sends this sequence to request the VT100 to send a
|
|
<a href=#DECREPTPARM>DECREPTPARM</a>
|
|
sequence back. {Ps} can be either 0 or 1. If 0, the terminal will be
|
|
allowed to send unsolicited <a href=#DECREPTPARM>DECREPTPARM</a>s.
|
|
These reports will be generated each time the terminal exits the SET-UP mode.
|
|
If {Ps} is 1, then the terminal will only generate
|
|
<a href=#DECREPTPARM>DECREPTPARM</a>s in response to a request.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECSC>DECSC</a>
|
|
<td bgcolor="#D0D0D0"><b>Save Cursor</b>
|
|
<td bgcolor="#D0D0D0">VT100 DEC Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2>ESC <b>7</b></code>
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> Causes the cursor position, graphic rendition, and character set to be
|
|
saved. (See <a href=#DECRC>DECRC</a>)<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECSCLM>DECSCLM</a>
|
|
<td bgcolor="#D0D0D0"><b>Scrolling Mode</b>
|
|
<td bgcolor="#D0D0D0">VT100 DEC Mode
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> This is a private parameter to <a href=#RM>RM</a> and <a href=#SM>SM</a>
|
|
control sequences. The reset
|
|
state causes scrolls to "jump" instantaneuously one line at a time.
|
|
The set state causes the scrolls to be "smooth", and scrolls at a
|
|
maximum rate of siz lines/sec. See <a href=#MODES>MODES</a>,
|
|
<a href=#RM>RM</a>, and <a href=#SM>SM</a>.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECSCNM>DECSCNM</a>
|
|
<td bgcolor="#D0D0D0"><b>Screen Mode</b>
|
|
<td bgcolor="#D0D0D0">VT100 DEC Mode
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> This is a private parameter to <a href=#RM>RM</a> and <a href=#SM>SM</a>
|
|
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.
|
|
See <a href=#MODES>MODES</a>, <a href=#RM>RM</a>, and <a href=#SM>SM</a>.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECSTBM>DECSTBM</a>
|
|
<td bgcolor="#D0D0D0"><b>Set Top and Bottom Margins</b>
|
|
<td bgcolor="#D0D0D0">VT100 DEC Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td >ESC <b>[</b> <em>Pn</em> <b>;</b> <em>Pn</em> <b>r</b></code>
|
|
<td >Default: 1 ScreenLines
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> 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 of the scrolling region.
|
|
<p>
|
|
Default is the entire screen (no margins).
|
|
The minimum region allowed is two lines, i.e., the top line
|
|
must be less than the bottom. The cursor is placed in the home
|
|
position (See <a href=#DECOM>DECOM</a>).<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECSWL>DECSWL</a>
|
|
<td bgcolor="#D0D0D0"><b>Single-width Line</b>
|
|
<td bgcolor="#D0D0D0">VT100 DEC Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2>ESC <b>#</b> <b>5</b></code>
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> This causes the line which contains the cursor 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.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DECTST>DECTST</a>
|
|
<td bgcolor="#D0D0D0"><b>Invoke Confidence Test</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2>ESC <b>[</b> <b>2</b> <b>;</b> <em>Ps</em> <b>y</b></code>
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> Ps is the parameter indicating the test to be done. It 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.
|
|
<p>
|
|
<table>
|
|
<tr><td>Test </td><td>Weight</td></tr>
|
|
<tr><td><hr> </td><td><hr> </td></tr>
|
|
<tr><td>POST (ROM checksum, RAM NVR, keyboardm and AVO) </td><td>1 </td></tr>
|
|
<tr><td>Data Loop Back (Loopback connector required) </td><td>2 </td></tr>
|
|
<tr><td>EIA Modem Control Test (Loopback connector req.)</td><td>4 </td></tr>
|
|
<tr><td>Repeat Testing until failure </td><td>8 </td></tr>
|
|
</table><tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=DSR>DSR</a>
|
|
<td bgcolor="#D0D0D0"><b>Device Status Report</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command Reply
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2>ESC <b>[</b> <em>Ps</em> <b>n</b></code>
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> Requests and reports the general status of the VT100 according to the
|
|
following parameters:
|
|
<p>
|
|
<table>
|
|
<tr><td>Parameter</td><td>Direction</td><td>Meaning </td></tr>
|
|
<tr><td><hr> </td><td><hr> </td><td><hr> </td></tr>
|
|
<tr><td>0 </td><td>to host </td><td>Ready, no faults detected</td></tr>
|
|
<tr><td>3 </td><td>to host </td><td>Malfunction Detected </td></tr>
|
|
<tr><td>5 </td><td>to VT100 </td>
|
|
<td>Report Status (using a DSR control sequence)</td></tr>
|
|
<tr><td>6 </td><td>to VT100 </td>
|
|
<td>Report Active Position (using a CPR sequence)</td></tr>
|
|
</table>
|
|
<p>
|
|
DSR with a parameter of 0 or 3 is always sent as a response to a
|
|
requesting DSR with a parameter of 5.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=ED>ED</a>
|
|
<td bgcolor="#D0D0D0"><b>Erase in Display</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td >ESC <b>[</b> <em>Ps</em> <b>J</b></code>
|
|
<td >Default: 0
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> This sequence erases some or all of the characters in the display
|
|
according to the parameter. Any complete line erased by this sequence
|
|
will return that line to single width mode.
|
|
<p>
|
|
<table>
|
|
<tr><td>Parameter</td><td>Meaning </td></tr>
|
|
<tr><td><hr> </td><td><hr> </td></tr>
|
|
<tr><td>0 </td><td>Erase from the cursor to the end of the screen. </td></tr>
|
|
<tr><td>1 </td><td>Erase from the start of the screen to the cursor.</td></tr>
|
|
<tr><td>2 </td><td>Erase the entire screen. </td></tr>
|
|
</table><tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=EL>EL</a>
|
|
<td bgcolor="#D0D0D0"><b>Erase in Line</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td >ESC <b>[</b> <em>Ps</em> <b>K</b></code>
|
|
<td >Default: 0
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> Erases some or all characters in the active line, according to the
|
|
parameter.
|
|
<p>
|
|
<table>
|
|
<tr><td>Parameter</td><td>Meaning </td></tr>
|
|
<tr><td><hr> </td><td><hr> </td></tr>
|
|
<tr><td>0 </td><td>Erase from cursor to the end of the line. </td></tr>
|
|
<tr><td>1 </td><td>Erase from the start of the line to the cursor.</td></tr>
|
|
<tr><td>2 </td><td>Erase the entire line. </td></tr>
|
|
</table><tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=HTS>HTS</a>
|
|
<td bgcolor="#D0D0D0"><b>Horizontal Tab Set</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2>ESC <b>H</b></code>
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> Set a tab stop at the current cursor position.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=HVP>HVP</a>
|
|
<td bgcolor="#D0D0D0"><b>Horizontal and Vertical Position</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td >ESC <b>[</b> <em>Pn</em> <b>;</b> <em>Pn</em> <b>f</b></code>
|
|
<td >Default: 1 1
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> Moves the cursor to the position specified by the parameters. The
|
|
first parameter specifies the line, and the second specifies the
|
|
column. A parameter of 0 or 1 causes the active position to move to
|
|
the first line or column in the display. In the VT100, this control
|
|
behaves identically with it's editor counterpart, <a href=#CUP>CUP</a>.
|
|
The numbering of hte lines depends upon the state of the Origin Mode
|
|
(<a href=#DECOM>DECOM</a>).<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=IND>IND</a>
|
|
<td bgcolor="#D0D0D0"><b>Index</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2>ESC <b>D</b></code>
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> This sequence causes the cursor to move downward one line without
|
|
changing the column. If the cursor is at the bottom margin, a scroll
|
|
up is performed.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=LNM>LNM</a>
|
|
<td bgcolor="#D0D0D0"><b>Line Feed/New Line Mode</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Mode
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> This is a parameter to <a href=#SM>SM</a> and <a href=#RM>RM</a> control sequences.
|
|
The reset state
|
|
causes the interpretation of the <LF> character to imply only vertical
|
|
movement of the cursor and causes the RETURN key to send the single
|
|
code <CR>.
|
|
<p>
|
|
The set state causes the <LF> character to imply movement
|
|
to the first position of the following line, and causes the RETURN key
|
|
to send the code pair <CR><LF>. This is the New Line option.
|
|
<p>
|
|
This mode does not affect the Index (<a href=#IND>IND</a>) or the next line
|
|
(<a href=#NEL>NEL</a>) format effectors.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=NEL>NEL</a>
|
|
<td bgcolor="#D0D0D0"><b>Next Line</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2>ESC <b>E</b></code>
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> This causes the cursor to move to the first position of the next line
|
|
down. If the cursor is on the bottom line, a scroll is performed.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=RI>RI</a>
|
|
<td bgcolor="#D0D0D0"><b>Reverse Index</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2>ESC <b>M</b></code>
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> Move the cursor up one line without changing columns. If the cursor is
|
|
on the top line, a scroll down is performed.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=RIS>RIS</a>
|
|
<td bgcolor="#D0D0D0"><b>Reset to Initial State</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2>ESC <b>c</b></code>
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> Resets the VT100 to the state is has upon power up. This also causes
|
|
the execution of the POST and signal INT H to be asserted briefly.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=RM>RM</a>
|
|
<td bgcolor="#D0D0D0"><b>Reset Mode</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2>ESC <b>[</b> <em>Ps</em> <b>;</b> <b>...</b> <b>l</b></code>
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> 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 <a href=#MODES>MODES</a> and <a href=#SM>SM</a>.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=SCS>SCS</a>
|
|
<td bgcolor="#D0D0D0"><b>Select Character Set</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> <code><ESC;>( {Cs}</code> Select G0 Set <br>
|
|
<code><ESC;>) {Cs}</code> Select G1 Set
|
|
<p>
|
|
The appropriate D0 and G1 character sets are designated from one of the
|
|
five possible sets. The G0 and G1 sets are invokedd by the characters
|
|
<SI> and <SO>, respectively.
|
|
<p>
|
|
<table>
|
|
<tr><td>Parameter</td><td>Meaning </td></tr>
|
|
<tr><td><hr> </td><td><hr> </td></tr>
|
|
<tr><td>A </td><td>United Kingdom Set </td></tr>
|
|
<tr><td>B </td><td>ASCII Set </td></tr>
|
|
<tr><td>0 </td><td>Special Graphics </td></tr>
|
|
<tr><td>1 </td><td>Alternate Character ROM<br>Standard Character Set</td><tr>
|
|
<tr><td>2 </td><td>Alternate Character ROM<br>Special Graphics </td><tr>
|
|
</table>
|
|
<p>
|
|
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 fpr the codes 0137 to 0176 are replaced with other
|
|
characters. The specified character set will be used until another SCS
|
|
is recieved.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=SGR>SGR</a>
|
|
<td bgcolor="#D0D0D0"><b>Select Graphic Rendition</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2>ESC <b>[</b> <em>Ps</em> <b>;</b> <b>...</b> <b>m</b></code>
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> 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 an SGR.
|
|
<p>
|
|
<table>
|
|
<tr><td>Parameter</td><td>Meaning </td></tr>
|
|
<tr><td><hr> </td><td><hr> </td></tr>
|
|
<tr><td>0 </td><td>Attributes Off </td></tr>
|
|
<tr><td>1 </td><td>Bold or increased intensity</td></tr>
|
|
<tr><td>4 </td><td>Underscore </td></tr>
|
|
<tr><td>5 </td><td>Blink </td></tr>
|
|
<tr><td>7 </td><td>Negative (reverse) image </td></tr>
|
|
</table>
|
|
<p>
|
|
All other parameter values are ignored.
|
|
<p>
|
|
Without the Advanced Video Option, only one type of character attribute
|
|
is possible, as determined by the cursor selection; in that case
|
|
specifying either underscore or reverse will activate the currently
|
|
selected attribute.<tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=SM>SM</a>
|
|
<td bgcolor="#D0D0D0"><b>Set Mode</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2>ESC <b>[</b> <em>Ps</em> <b>;</b> <b>...</b> <b>h</b></code>
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> Causes one or more modes to be set within the VT100 as specified by
|
|
each selective parameter string. Each mode to be set is specified by a
|
|
seperate parameter. A mode is considered set until it is reset by a
|
|
Reset Mode (<a href=#RM>RM</a>) control sequence.
|
|
See <a href=#RM>RM</a> and <a href=#MODES>MODES</a>.
|
|
<p>
|
|
<em>[Editor's note: The original DEC VT100 documentation EK-VT100-UG-003
|
|
erroneously omitted the "[" character from the SM sequence.]</em><tr><td><p></td>
|
|
<tr><td bgcolor="#D0D0D0"><a name=TBC>TBC</a>
|
|
<td bgcolor="#D0D0D0"><b>Tabulation Clear</b>
|
|
<td bgcolor="#D0D0D0">VT100 ANSI Command
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2>ESC <b>[</b> <em>Ps</em> <b>g</b></code>
|
|
<tr><td><p></td>
|
|
<tr><td>
|
|
<td colspan=2> If the parameter is missing or 0, this will clear the tab stop at the
|
|
cursor's position. If it is 3, this will clear all of the tab stops.
|
|
Any other parameter is ignored.</table>
|
|
<h2>
|
|
<table width=100%>
|
|
<tr><td align=center bgcolor=#d0d0d0></td></tr>
|
|
<tr><td align=center bgcolor=#d0d0d0>Modes</td></tr>
|
|
<tr><td align=center bgcolor=#d0d0d0></td></tr>
|
|
</table>
|
|
</h2>
|
|
<a name=#MODES></a>
|
|
|
|
|
|
The Following is a list of VT100 modes which may be changed with Set
|
|
Mode (SM) and Reset Mode (RM) controls.
|
|
|
|
<h3>ANSI Specified Modes</h3>
|
|
|
|
<table border=1>
|
|
<tr><td>Parameter</td><td>Mnemonic</td><td>Function</td></tr>
|
|
<tr><td><hr></td><td><hr></td><td><hr></td></tr>
|
|
<tr><td>0 </td><td> </td><td>Error (Ignored)</td></tr>
|
|
<tr><td>20 </td><td>LNM </td><td>Line Feed/New Line Mode</td></tr>
|
|
</table>
|
|
|
|
|
|
<h3>DEC Private Modes</h3>
|
|
|
|
If the first character in the parameter string is ? (077), the
|
|
parameters are interpreted as DEC private parameters according to the
|
|
following:
|
|
|
|
<table border=1>
|
|
<tr><td>Parameter</td><td>Mnemonic</td><td>Function
|
|
<tr><td><hr></td><td><hr></td><td><hr></td></tr>
|
|
<tr><td>0</td><td> </td><td>Error (Ignored)</td></tr>
|
|
<tr><td>1</td><td><a href=#DECCKM >DECCKM </a></td><td>Cursor Key </td></tr>
|
|
<tr><td>2</td><td><a href=#DECANM >DECANM </a></td><td>ANSI/VT52 </td></tr>
|
|
<tr><td>3</td><td><a href=#DECCOLM>DECCOLM</a></td><td>Column </td></tr>
|
|
<tr><td>4</td><td><a href=#DECSCLM>DECSCLM</a></td><td>Scrolling </td></tr>
|
|
<tr><td>5</td><td><a href=#DECSCNM>DECSCNM</a></td><td>Screen </td></tr>
|
|
<tr><td>6</td><td><a href=#DECOM >DECOM </a></td><td>Origin </td></tr>
|
|
<tr><td>7</td><td><a href=#DECAWM >DECAWM </a></td><td>Auto Wrap </td></tr>
|
|
<tr><td>8</td><td><a href=#DECARM>DECARM </a></td><td>Auto Repeat </td></tr>
|
|
<tr><td>9</td><td><a href=#DECINLM>DECINLM</a></td><td>Interlace </td></tr>
|
|
</table>
|
|
|
|
Any other parameter values are ignored.
|
|
|
|
<p>
|
|
The following modes, which are specified in the ANSI standard, may be
|
|
considered to be permanently set, permanently reset, or not applicable,
|
|
as noted.
|
|
|
|
<table border=1>
|
|
<tr><td>Mnemonic</td><td>Function </td><td>State</td></tr>
|
|
|
|
<tr><td>CRM </td><td>Control Representation </td><td>Reset</td></tr>
|
|
<tr><td>EBM </td><td>Editing Boundary </td><td>Reset</td></tr>
|
|
<tr><td>ERM </td><td>Erasure </td><td>Set </td></tr>
|
|
<tr><td>FEAM </td><td>Format Effector Action </td><td>Reset</td></tr>
|
|
<tr><td>FETM </td><td>Format Effector Transfer </td><td>Reset</td></tr>
|
|
<tr><td>GATM </td><td>Guarded Area Transfer </td><td>NA </td></tr>
|
|
<tr><td>HEM </td><td>Horizontal Editing </td><td>NA </td></tr>
|
|
<tr><td>IRM </td><td>Insertion-replacement </td><td>Reset</td></tr>
|
|
<tr><td>KAM </td><td>Keyboard Action </td><td>Reset</td></tr>
|
|
<tr><td>MATM </td><td>Multiple area transfer </td><td>NA </td></tr>
|
|
<tr><td>PUM </td><td>Positioning Unit </td><td>Reset</td></tr>
|
|
<tr><td>SATM </td><td>Selected Area Transfer </td><td>NA </td></tr>
|
|
<tr><td>SRTM </td><td>Status Reporting Transfer</td><td>Reset</td></tr>
|
|
<tr><td>TSM </td><td>Tabulation Stop </td><td>Reset</td></tr>
|
|
<tr><td>TTM </td><td>Transfer Termination </td><td>NA </td></tr>
|
|
<tr><td>VEM </td><td>Vertical Editing </td><td>NA </td></tr>
|
|
</table>
|
|
<h2>Keyboard Codes</h2>
|
|
|
|
The notation <ESC> denotes a single ASCII Escape character, 1Bx.
|
|
|
|
<table border=1>
|
|
<tr>
|
|
<td>Cursor Key</td>
|
|
<td>VT52 mode</td>
|
|
<td>ANSI mode w/cursor <br> key mode reset</td>
|
|
<td>ANSI mode w/cursor <br> key mode set</td>
|
|
</tr>
|
|
<tr><td>UP </td><td><ESC>A</td><td><ESC>[A</td><td><ESC>OA</td></tr>
|
|
<tr><td>DOWN </td><td><ESC>B</td><td><ESC>[B</td><td><ESC>OB</td></tr>
|
|
<tr><td>RIGHT</td><td><ESC>C</td><td><ESC>[C</td><td><ESC>OC</td></tr>
|
|
<tr><td>LEFT </td><td><ESC>D</td><td><ESC>[D</td><td><ESC>OD</td></tr>
|
|
</table>
|
|
<h2>Special Graphics Characters</h2>
|
|
|
|
If the Special Graphics set is selected, the graphics for ASCII codes
|
|
0137 through 0176 will be replaced according to the following table (see the
|
|
<a href=#SCS>SCS</a> control sequence).
|
|
<center>
|
|
<table cellspacing=30>
|
|
<tr><td><table><tr><td>Octal<br>Code </td>
|
|
<td>ASCII<br>Graphic</td>
|
|
<td>Special Graphic </td></tr>
|
|
<tr><td><hr></td>
|
|
<td><hr></td>
|
|
<td><hr></td></tr>
|
|
<tr><td>0137</td>
|
|
<td align=center>_</td>
|
|
<td>Blank</td></tr>
|
|
<tr><td>0140</td>
|
|
<td align=center>`</td>
|
|
<td>Diamond</td></tr>
|
|
<tr><td>0141</td>
|
|
<td align=center>a</td>
|
|
<td>Checkerboard</td></tr>
|
|
<tr><td>0142</td>
|
|
<td align=center>b</td>
|
|
<td>Digraph: (HT)</td></tr>
|
|
<tr><td>0143</td>
|
|
<td align=center>c</td>
|
|
<td>Digraph: (FF)</td></tr>
|
|
<tr><td>0144</td>
|
|
<td align=center>d</td>
|
|
<td>Digraph: (CR)</td></tr>
|
|
<tr><td>0145</td>
|
|
<td align=center>e</td>
|
|
<td>Digraph: (LF)</td></tr>
|
|
<tr><td>0146</td>
|
|
<td align=center>f</td>
|
|
<td>Degree Symbol: °</td></tr>
|
|
<tr><td>0147</td>
|
|
<td align=center>g</td>
|
|
<td>+/- Symbol: ±</td></tr>
|
|
<tr><td>0150</td>
|
|
<td align=center>h</td>
|
|
<td>Digraph: (NL)</td></tr>
|
|
<tr><td>0151</td>
|
|
<td align=center>i</td>
|
|
<td>Digraph: (VT)</td></tr>
|
|
<tr><td>0152</td>
|
|
<td align=center>j</td>
|
|
<td>Lower-right corner</td></tr>
|
|
<tr><td>0153</td>
|
|
<td align=center>k</td>
|
|
<td>Upper-right corner</td></tr>
|
|
<tr><td>0154</td>
|
|
<td align=center>l</td>
|
|
<td>Upper-left corner</td></tr>
|
|
<tr><td>0155</td>
|
|
<td align=center>m</td>
|
|
<td>Lower-left corner</td></tr>
|
|
<tr><td>0156</td>
|
|
<td align=center>n</td>
|
|
<td>Crossing lines (+)</td></tr>
|
|
</td></table></td><td><table><tr><td>Octal<br>Code </td>
|
|
<td>ASCII<br>Graphic</td>
|
|
<td>Special Graphic </td></tr>
|
|
<tr><td><hr></td>
|
|
<td><hr></td>
|
|
<td><hr></td></tr>
|
|
<tr><td>0157</td>
|
|
<td align=center>o</td>
|
|
<td>Horiz Line - scan 1</td></tr>
|
|
<tr><td>0160</td>
|
|
<td align=center>p</td>
|
|
<td>Horiz Line - scan 3</td></tr>
|
|
<tr><td>0161</td>
|
|
<td align=center>q</td>
|
|
<td>Horiz Line - scan 5</td></tr>
|
|
<tr><td>0162</td>
|
|
<td align=center>r</td>
|
|
<td>Horiz Line - scan 7</td></tr>
|
|
<tr><td>0163</td>
|
|
<td align=center>s</td>
|
|
<td>Horiz Line - scan 9</td></tr>
|
|
<tr><td>0164</td>
|
|
<td align=center>t</td>
|
|
<td>Left "T" (|-)</td></tr>
|
|
<tr><td>0165</td>
|
|
<td align=center>u</td>
|
|
<td>Right "T" (-|)</td></tr>
|
|
<tr><td>0166</td>
|
|
<td align=center>v</td>
|
|
<td>Bottom "T" (|_)</td></tr>
|
|
<tr><td>0167</td>
|
|
<td align=center>w</td>
|
|
<td>Top "T" (T)</td></tr>
|
|
<tr><td>0170</td>
|
|
<td align=center>x</td>
|
|
<td>Vertical Bar (|)</td></tr>
|
|
<tr><td>0171</td>
|
|
<td align=center>y</td>
|
|
<td>Less/Equal: ≤</td></tr>
|
|
<tr><td>0172</td>
|
|
<td align=center>z</td>
|
|
<td>Graeter/Egual: ≥</td></tr>
|
|
<tr><td>0173</td>
|
|
<td align=center>{</td>
|
|
<td>Pi symbol: π</td></tr>
|
|
<tr><td>0174</td>
|
|
<td align=center>|</td>
|
|
<td>Not equal: ≠</td></tr>
|
|
<tr><td>0175</td>
|
|
<td align=center>}</td>
|
|
<td>UK pound symbol: £</td></tr>
|
|
<tr><td>0176</td>
|
|
<td align=center>~</td>
|
|
<td>Centered dot: ·</td></tr>
|
|
</td></tr></table>
|
|
</table>
|
|
</center>
|
|
<em>NOTE 1</em>: Codes 0152-0156 and 0164-0170 are used to draw rectangular grids" each
|
|
piece of this set is contiguous with other so the lines formed will be
|
|
unbroken.
|
|
<p>
|
|
<em>NOTE 2</em>: Codes 0157-0163 give better vertical resolution than dashes and
|
|
underlines when drawing graphs; using these segments, 120 x 132 resolution may
|
|
be obtained in 132 column mode with the Advanced Video Option installed.
|
|
<p>
|
|
|
|
<h2>References</h2>
|
|
<em>NOTE</em>: ANSI standards may be obtained by writing:
|
|
<center>American National Standards Institute</center>
|
|
<center>Sales Department</center>
|
|
<center>1430 Broadway</center>
|
|
<center>New York, NY, 10018</center>
|
|
<hr>
|
|
<h3>Other Material</h3>
|
|
<a href="nomailto:">Petri Virekoski</a> has posted much of
|
|
this document to <a href="news:comp.terminals">comp.terminals</a>
|
|
in 1993. It is largely derived from DEC document EK-VT100-UG-003,
|
|
the original manual for the VT100.
|
|
I htmlized and edited his posting in 1998 to provide the
|
|
<code>Konsole</code> program with proper reference material.
|
|
The original author is mentioned here only to honor his work,
|
|
he has nothing to do with <code>Konsole</code>. Do not bother
|
|
him with any questions.
|
|
<p>
|
|
Most so-called VT100 implementations (both stand-alone terminals and
|
|
PC emulators) actually implement more controls than are given here.
|
|
The minimal standard is really the slightly more advanced VT102 terminal.
|
|
<p>
|
|
<hr>
|
|
<small>
|
|
This text is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
<p>
|
|
<a href="mailto:lars.doelle@on-line.de">Lars Dölle</a>, 1998
|
|
</small>
|
|
|
|
</body>
|
|
</html>
|