#!/bin/sh RES=techref.html function header { cat << etx >> $RES
$1 |
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,
ansi.sys
, 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.
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.
I'm working towards a close integration of the konsole's source code with this document, but it is still a long way to go.
Currently, the body of this document is mainly a concept data base, that referes to the VT100 component of the emulation. Though the codes accepted by konsole are now clearly indicated, a comparison to the xterm and Linux console emulation is missing.
The konsole emulation sources is not linked closely with it's documentation, and, also accurate at the time of writing, it can still fall slightly appart, though the codes accepted and produced by konsole should be properly listed. Work is currently in progress to fix this issue.
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.
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.
NOTE: 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.
etx header "Modes" cat >> $RES << etx The Following is a list of VT100 modes which may be changed with Set Mode (SM) and Reset Mode (RM) controls.
Parameter | Mnemonic | Function |
0 | Error (Ignored) | |
20 | LNM | Line Feed/New Line Mode |
Parameter | 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 |
The following modes, which are specified in the ANSI standard, may be considered to be permanently set, permanently reset, or not applicable, as noted.
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-tqreplacement | Reset |
KAM | Keyboard Action | Reset |
MATM | Multiple area transfer | NA |
PUM | Positioning Unit | Reset |
SATM | Selected Area Transfer | NA |
SRTM | tqStatus Reporting Transfer | Reset |
TSM | Tabulation Stop | Reset |
TTM | Transfer Termination | NA |
VEM | Vertical Editing | NA |
Cursor Key | VT52 mode | ANSI mode w/cursor key mode reset |
ANSI mode w/cursor key mode set |
UP | <ESC>A | <ESC>[A | <ESC>OA |
DOWN | <ESC>B | <ESC>[B | <ESC>OB |
RIGHT | <ESC>C | <ESC>[C | <ESC>OC |
LEFT | <ESC>D | <ESC>[D | <ESC>OD |
NOTE 2: 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.
Lars Dölle, 1998 etx