summaryrefslogtreecommitdiffstats
path: root/konsole/doc/VT100/genDocument
diff options
context:
space:
mode:
Diffstat (limited to 'konsole/doc/VT100/genDocument')
-rwxr-xr-xkonsole/doc/VT100/genDocument257
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 &amp; 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 &lt;ESC&gt; 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>&lt;ESC&gt;A</td><td>&lt;ESC&gt;[A</td><td>&lt;ESC&gt;OA</td></tr>
+<tr><td>DOWN </td><td>&lt;ESC&gt;B</td><td>&lt;ESC&gt;[B</td><td>&lt;ESC&gt;OB</td></tr>
+<tr><td>RIGHT</td><td>&lt;ESC&gt;C</td><td>&lt;ESC&gt;[C</td><td>&lt;ESC&gt;OC</td></tr>
+<tr><td>LEFT </td><td>&lt;ESC&gt;D</td><td>&lt;ESC&gt;[D</td><td>&lt;ESC&gt;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&ouml;lle</a>, 1998
+</small>
+
+</body>
+</html>
+etx