1997Q1/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: VT100 codes ... -->
<!--X-From-R13: YunabarNnby.pbz -->
<!--X-Date: from fabius.globecomm.net [207.51.48.6] by mx01.ny.us.ibm.net id 859317928.57940&#45;1 Tue Mar 25 19:25:28 1997 -->
<!--X-Message-Id: 970325142425_1815848475#emout19,mail.aol.com -->
<!--X-Content-Type: text/plain -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, VT100 codes ...</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:Khanone#aol,com">
</head>
<body background="/backgrounds/paperback.gif" bgcolor="#ffffff"
      text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000">

  <font size="+4" color="#804040">
    <strong><em>MUD-Dev<br>mailing list archive</em></strong>
  </font>
      
<br>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->

Date:&nbsp;
[&nbsp;<a href="msg00209.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00211.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00221.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00206.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00210">Author</A>
&nbsp;|&nbsp;<A HREF="#00210">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00210">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>VT100 codes ...</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A></LI>
<LI><em>Subject</em>: VT100 codes ...</LI>
<LI><em>From</em>: <A HREF="mailto:Khanone#aol,com">Khanone#aol,com</A></LI>
<LI><em>Date</em>: Tue, 25 Mar 1997 14:24:26 -0500 (EST)</LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
Here is a standard set of VT100 codes ... There are more, but some terminal
emulators don't recognise them.  (Sorry, but working from memory here - the
actual effects may be incorrect (like &lt;ESC&gt;[1J may clear text BELOW cursor,
instead of above))

N.B. I use the word &lt;ESC&gt; to signify the escape character (ASCII code 27).

&lt;ESC&gt;[nJ  - Clear portions of the screen.
       n = 0, clears screen below cursor
       n = 1, clears screen above cursor
       n = 2, clears entire screen.

&lt;ESC&gt;[nK - Clear portions of the line.
      n = 0, clears text to the left of the cursor
      n = 1, clears text to the right of the cursor
      n = 2, clears entire line of text.

&lt;ESC&gt;[n;oH - Position cursor at a specified co-ordinates.
      n = Vertical (Row) positioning
      o = Horizontal (Column) positioning

&lt;ESC&gt;[n;or - Define a scroll region (Not all VT100's support this though
[???])
     n = Top line of scroll region
     o = Bottom line of scroll region.
     (N.B. Cursor must be placed within scroll region for it to work)

&lt;ESC&gt;[xm - Define text attributes.
    x = 1, bold
    x = 2, (italics - not a true VT100 type, though)
    x = 4, underline
    x = 5, blinking
    x = 7, inverse video.
    x = 21, cancel bold
    x = 27 cancel inverse video.
    (N.B. There are codes to cancel the other types, but I'm not too sure on
values)

&lt;ESC&gt;[xM - Delete current line, and shift text up the screen to fill deleted
area.
    x = Number of lines to delete.

&lt;ESC&gt;[xL - Insert a new blank line at cursor, and scroll text down to make
room.
    x = Number of lines to insert.

&lt;ESC&gt;[x@ - Insert space after cursor, and scroll line along to make room.

&lt;ESC&gt;[xP - Move cursor left, delete character under cursor, and shift the
rest of the
    line to the left.

Function codes: (Not always supported on VT100's, but are on VT220's:)

&lt;ESC&gt;[?5h - inverse video entire screen
&lt;ESC&gt;[?5l - restore to normal video.
&lt;ESC&gt;[?25h - hide cursor
&lt;ESC&gt;[?25l - display cursor
&lt;ESC&gt;[?23h - smooth scroll (Yes, it IS annoying, but can be used to good
effect)
&lt;ESC&gt;[?23l - jump scroll
&lt;ESC&gt;#3 - Double-width, double-height lettering (top half)
&lt;ESC&gt;#4 - Double-width, double-height lettering (bottom half)
&lt;ESC&gt;#6 - Double-width, single height lettering
&lt;ESC&gt;#8 - Test screen (On VT220's displays a screen full of E's. &lt;EG&gt;)
&lt;ESC&gt;7 - Remember cursor state, and position.
&lt;ESC&gt;8 - Restore cursor state and position.

(N.B. Codes 23 and 25 may be the other way round - experiment!)


Okay, that's all I can remember off-hand.  Covers most of the codes.  And if
you're wondering how or even why I had them memorised, well, we had a lot of
time at college, and lots of VT220's connected to a DEC Micro-VAX.  Hence, a
few of us spent a fair bit of time writing "demos" - sequences of codes, and
letters, which when displayed at a baud of 4800/9600 looked quite good.  Sad,
when I look back.  But then, I am British ... &lt;g&gt;

Oh, and as an aside, I much preferred DECs "Phone" utility over the Unix Talk
facility ...

</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00209.html">Re: Resets and repops</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00211.html">Re: Resets and repops</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00221.html">Re: VT102 codes</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00206.html">Re: Resets and repops (a really short post) &lt;= hah!</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00210"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00210"><STRONG>Thread</STRONG></A></LI>
</UL>
</LI>
</UL>

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
<ul><li>Thread context:
<BLOCKQUOTE><UL>
<LI><strong><A NAME="00212" HREF="msg00212.html">VT102 codes</A></strong>, 
Adam Wiggins <a href="mailto:nightfall#inficad,com">nightfall#inficad,com</a>, Wed 26 Mar 1997, 12:53 GMT
<UL>
<li>&lt;Possible follow-up(s)&gt;<br>
<LI><strong><A NAME="00213" HREF="msg00213.html">Re: VT102 codes</A></strong>, 
Adam Wiggins <a href="mailto:nightfall#inficad,com">nightfall#inficad,com</a>, Wed 26 Mar 1997, 13:39 GMT
</LI>
<LI><strong><A NAME="00215" HREF="msg00215.html">Re: VT102 codes</A></strong>, 
Adam Wiggins <a href="mailto:nightfall#inficad,com">nightfall#inficad,com</a>, Wed 26 Mar 1997, 14:29 GMT
</LI>
<LI><strong><A NAME="00221" HREF="msg00221.html">Re: VT102 codes</A></strong>, 
Adam Wiggins <a href="mailto:nightfall#inficad,com">nightfall#inficad,com</a>, Wed 26 Mar 1997, 23:25 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00210" HREF="msg00210.html">VT100 codes ...</A></strong>, 
Khanone <a href="mailto:Khanone#aol,com">Khanone#aol,com</a>, Wed 26 Mar 1997, 03:25 GMT
<LI><strong><A NAME="00206" HREF="msg00206.html">Re: Resets and repops (a really short post) &lt;= hah!</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Tue 25 Mar 1997, 23:44 GMT
<LI><strong><A NAME="00200" HREF="msg00200.html">Re: Resets and repops (a really short post)</A></strong>, 
claw <a href="mailto:claw#null,net">claw#null,net</a>, Tue 25 Mar 1997, 05:04 GMT
<UL>
<li>&lt;Possible follow-up(s)&gt;<br>
<LI><strong><A NAME="00203" HREF="msg00203.html">Re: Resets and repops (a really short post)</A></strong>, 
Nathan Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Tue 25 Mar 1997, 16:33 GMT
</LI>
<LI><strong><A NAME="00241" HREF="msg00241.html">Re: Resets and repops (a really short post)</A></strong>, 
claw <a href="mailto:claw#null,net">claw#null,net</a>, Fri 28 Mar 1997, 05:17 GMT
</LI>
</UL>
</LI>
</UL></BLOCKQUOTE>

</ul>
<hr>
<center>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
</center>
<hr>
</body>
</html>