diff options
Diffstat (limited to 'konsole/doc/VT100/genDocument')
-rwxr-xr-x | konsole/doc/VT100/genDocument | 257 |
1 files changed, 257 insertions, 0 deletions
diff --git a/konsole/doc/VT100/genDocument b/konsole/doc/VT100/genDocument new file mode 100755 index 000000000..4ecee0996 --- /dev/null +++ b/konsole/doc/VT100/genDocument @@ -0,0 +1,257 @@ +#!/bin/sh +RES=techref.html + +function header +{ +cat << etx >> $RES +<h2> +<table width=100%> +<tr><td align=center bgcolor=#d0d0d0></td></tr> +<tr><td align=center bgcolor=#d0d0d0>$1</td></tr> +<tr><td align=center bgcolor=#d0d0d0></td></tr> +</table> +</h2> +etx +} + +cat > $RES /dev/null + +# -- HTML Header -------------------------------------------------------------------- + +cat >> $RES << etx +<html> +<head> +<title>VT100</title> +<!-- NOTE: this page is generated using the "genDocument" script --> +</head> +<body bgcolor=white> + +<hr> + +etx + +# -- Editors Notes ------------------------------------------------------------------ + +cat >> $RES << etx + +<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 program, which is a terminal emulation +for the X Windows System. Since material about the extend and precise semantics +of the emulatation intended to be handled by this programs is hard to find on the +internet today, it came out nessesary to include a more precise specification within +their release. +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. +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. +<p> +<hr> +<p> +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. +<p> +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. +<p> +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. + + + +<h2>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>Make the whole document more concept oriented +<li>See the section <em>Method of description</em>, below +<li>Derive some summarizing lists. +</ul> +<hr> +etx + + +# -- Codes -------------------------------------------------------------------------- + +./genTC.pl >> $RES + + +header "On VT100" + +cat >> $RES << etx + +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> + +etx + +header "Modes" + +cat >> $RES << etx +<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> +etx + +# -- Keyboard Codes ----------------------------------------------------------------- + +cat >> $RES << etx +<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> +etx + + +# -- Graphics Characters ------------------------------------------------------------ + +cat >> $RES << etx +<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). +etx + + +awk -f awk.table.graphic < Table.Graphic >> $RES + + +cat >> $RES << etx +<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> +<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> +etx |