<!-- MHonArc v2.4.4 --> <!--X-Subject: [MUD-Dev] Re: Ansii color, needing some specs and or pointers. --> <!--X-From-R13: X Q Znjerapr <pynjNhaqre.rate.ftv.pbz> --> <!--X-Date: Tue, 28 Jul 1998 10:30:51 -0700 --> <!--X-Message-Id: 199807281728.KAA02486#under,engr.sgi.com --> <!--X-Content-Type: text/plain --> <!--X-Reference: Pine.LNX.3.96.980727211638.24758A-100000#shamen,cyberhighway.net --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, [MUD-Dev] Re: Ansii color, needing some specs and or pointers.</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:claw#under,engr.sgi.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> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] <br clear=all><hr> <!--X-Body-Begin--> <!--X-User-Header--> <!--X-User-Header-End--> <!--X-TopPNI--> Date: [ <a href="msg00397.html">Previous</a> | <a href="msg00399.html">Next</a> ] Thread: [ <a href="msg00392.html">Previous</a> | <a href="msg00408.html">Next</a> ] Index: [ <A HREF="author.html#00398">Author</A> | <A HREF="#00398">Date</A> | <A HREF="thread.html#00398">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>[MUD-Dev] Re: Ansii color, needing some specs and or pointers.</H1> <HR> <!--X-Subject-Header-End--> <!--X-Head-of-Message--> <UL> <LI><em>To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI> <LI><em>Subject</em>: [MUD-Dev] Re: Ansii color, needing some specs and or pointers. </LI> <LI><em>From</em>: J C Lawrence <<A HREF="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</A>></LI> <LI><em>Date</em>: Tue, 28 Jul 1998 10:28:02 -0700</LI> <LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI> </UL> <!--X-Head-of-Message-End--> <!--X-Head-Body-Sep-Begin--> <HR> <!--X-Head-Body-Sep-End--> <!--X-Body-of-Message--> <PRE> On Mon, 27 Jul 1998 21:18:19 -0700 (MST) Ben Greear<greear#cyberhighway,net> wrote: > The players keep yelping at me to provide some ansi color, but I'm > clueless on the art, so I thought I'd see if any of you had any > pointers? Surely I'm not the only one to be faced with this > scourge! A partial VT220 table (now if only I could find my original DEC VT220 manuals): --<cut>-- CSI=9B or 1B 4D depending on mode CSI 32 68 = Lock keyboard CSI 32 6C = Unlock keyboard CSI 34 68 = Enter insert mode CSI 34 6C = Leave insert mode CSI 31 32 6C = Local echo CSI 31 32 68 = Nolocal echo CSI 32 32 68 = Received CR = CR/LF CSI 32 30 6C = Received CR = NL CSI 3F 31 68 = Appl. Cursor keys CSI 3F 31 6C = ANSI Curson keys CSI 3F 33 68 = 132 Column mode CSI 3F 33 6C = 80 Column mode CSI 3F 34 68 = Smooth Scroll CSI 3F 34 6C = Jump Scroll CSI 3F 35 68 = Reverse Video CSI 3F 34 6C = Normal video CSI 3F 37 68 = Auto Wrap CSI 3F 37 6C = No Auto Wrap CSI 3F 38 68 = Auto repeat CSI 3F 38 6C = No Auto Repeat CSI 3F 31 38 68 = FF at end of copy CSI 3F 31 38 6C = No FF at end of copy CSI 3F 31 39 68 = Print full page CSI 3F 31 39 6C = Print scroll region CSI Pt* 3B Pb* 72 = Scroll from Pt* to Pb* only CSI 3F 36 68 = Set origin mode (Cursor restricted to scroll region) CSI 3F 36 6C = Reset origin mode CSI 3F 32 35 68 = Visable cursor CSI 3F 32 35 6C = Hidden cursor CSI Pn* 44 = Move Pn* back CSI Pl* 3B Pc* 48 = Move to Pl* Pc* CSI Pl* 3B Pc* 66 = Move to Pl*, Pc* relative to scroll region/origin mode CSI Ps* 6D = Highlighting, Ps* = 1 Bold, 4 Underline, 5 Blink, 7 reverse. CSI Pn* 4C = Insert line CSI Pn* 4D = Delete line CSI Pn* 40 = Insert Pn* characters CSI Pn* 50 = Delete Pn* characters CSI Pn* 58 = Erase Pn* caracters CSI 4B or CSI 30 4B = Erase in line (Cursor to EOL) CSI 31 4B = Erase from begining of line to cursor CSI 32 4B = Erase entire line CSI 4A or CSI 30 4A = Erase to end of page CSI 31 4A = Erase from beginig of page to cursor CSI 31 4A = Entire page --<cut>-- For ANSI: --<cut>-- ----- CURSOR POSITIONING COMMANDS Cursor Locate: <Esc>[#;#H The first number specifies the row to go to, and the second specifies the column. If both numbers are left out, the cursor goes to the home position. Cursor Up: <Esc>[#A The number specifies the number of rows. If the number is omitted, the cursor is moved up by only one row. Cursor Down: <Esc>[#B The number specifies the number of rows. If the number is absent, the cursor moves down by only one row. Cursor Foward: <Esc>[#C The number specifies how many columns to advacne, but will not go past column 80. If the number is left out, the cursor advances by one column. Cursor Backward: <Esc>[#D The number indicates how many columns to go backward, but will not wrap around before column 1. If the number is omitted, the cursor moves one column. Cursor Save: <Esc>[s This causes the current row and column to be saved in memory. Cursor Restore: <Esc>[u This locates the cursor at the position it was when the most recent Cursor Save command was used. ----- CLEAR DISPLAY COMMANDS Clear Screen: <Esc>[2J This command clears the entire screen, and places the cursor at Row 1, Column 1. Clear Line: <Esc>[k This causes the current line to be cleared from the current cursor position to the end. The character at the cursor position is also cleared. ----- GRAPHICS AND COLOR COMMANDS Set Colors: <Esc>[#m or <Esc>[#;#m or <Esc>[#;#;#m The number of parameters may vary, and their meaning is as follows: 0 restore colors to white on black 1 high intensity 4 underscore on (monochrome only) 5 blink on 7 inverse video on 8 invisible on 30 Black foreground 31 Red foreground 32 Green foreground 33 Yellow foreground 34 Blue foreground 35 Magenta foreground 36 Cyan foreground 37 White foreground 40 Black backround 41 Red backround 42 Green backround 43 Yellow backround 44 Blue backround 45 Magenta backround 46 Cyan backround 47 White backround ----- MODE SETTING COMMANDS Set screen mode: <Esc>[=#h The number indicates which video mode is to be activated, using these choices: 0 40 x 25 black & white text 1 40 x 25 color text 2 80 x 25 black & white text 3 80 x 25 color text 4 320 x 200 color graphics 5 320 x 200 black & white graphics 6 640 x 200 black & white graphics 7 cause character wrap at end of line Reset screen mode: <Esc>[#I Same as Set mode commands, except that parameter 7 disables character wrap, causing any characters that continue beyond the end of the line to be ignored. ----- RE-ASSIGNING THE KEYBOARD COMMANDS The general form of this command is: <Esc>[#;#p Where the first number indicates which key is being re-assigned, and the second indicates what it is to be replaced with. Both numbers are specified using their ASCII codes. Replace a single key with a string of characters: <Esc>[#;"Your message here"p Both string literals and ASCII code numbers may be freely intermixed, for example to include a carriage return: <Esc>[#;"Another silly message";13p Extended keys are represented by two numbers--the first is always 0, and the second is the key's scan code: <Esc>[0;68;"F10 types this message"p --<cut>-- And finally for VT102: --<cut>-- =============================================================================== Many people ask for this information so here is a list of the vt102 codes that I grabbed offf the network months ago,... the orginal poster was <kivinen#hut,fi> =============================================================================== Escape codes for vt102 terminal. <kivinen#hut,fi> All numbers below are octal.<n> means numeric value,<c> means character string. If <n> is missing it is 0 or in cursor movements 1. Reset and set modes Set Modes Esc [ <c> ; ... ; <c> h 033 133 073 073 150 Reset Modes Esc [ <c> ; ... ; <c> l 033 133 073 073 154 Where <c> is '2'= Lock keyboard (set); Unlock keyboard (reset) '4'= Insert mode (set); Replace mode (reset) '12'= Echo on (set); Echo off (reset) '20'= Return = CR+LF (set); Return = CR (reset) '?1'= Cursorkeys application (set); Cursorkeys normal (reset) '?2'= Ansi (set); VT52 (reset) '?3'= 132 char/row (set); 80 char/row (reset) '?4'= Jump scroll (set); Smooth scroll (reset) '?5'= Reverse screen (set); Normal screen (reset) '?6'= Sets relative coordinates (set); Sets absolute coordinates (reset) '?7'= Auto wrap (set); Auto wrap off (reset) '?8'= Auto repeat on (set); Auto repeat off (reset) '?18'= Send FF to printer after print screen (set); No char after PS (reset) '?19'= Print screen prints full screen (set); PS prints scroll region (reset) '?25'= Cursor on (set); Cursor off (reset) Set scrolling region (n1=upper,n2=lower) Esc [ <n1> ; <n2> r 033 133 073 162 Cursor movement (<n>=how many chars or lines), cursor stop at margin. Up Esc [ <n> A 033 133 101 Down Esc [ <n> B 033 133 102 Right Esc [ <n> C 033 133 103 Left Esc [ n D 033 133 104 Cursor position (<n1>=y,<n2>=x, from top of screen or scroll region) Esc [ <n1> ; <n2> H 033 133 073 110 Or Esc [ <n1> ; <n2> f 033 133 073 146 Index (cursor down with scroll up when at margin) Esc D 033 104 Reverse index (cursor up with scroll down when at margin) Esc M 033 115 Next line (CR+Index) Esc E 033 105 Save cursor and attribute Esc 7 033 067 Restore cursor and attribute Esc 8 033 070 Keybad character selection Application keypad mode Esc = 033 075 Numeric keypad mode Esc > 033 076 Keypadkeys codes generated Numeric Application VT52 Application 0 0 (060) Esc O p (033 117 160) Esc ? p (033 077 160) 1 1 (061) Esc O q (033 117 161) Esc ? q (033 077 161) 2 2 (062) Esc O r (033 117 162) Esc ? r (033 077 162) 3 3 (063) Esc O s (033 117 163) Esc ? s (033 077 163) 4 4 (064) Esc O t (033 117 164) Esc ? t (033 077 164) 5 5 (065) Esc O u (033 117 165) Esc ? u (033 077 165) 6 6 (066) Esc O v (033 117 166) Esc ? v (033 077 166) 7 7 (067) Esc O w (033 117 167) Esc ? w (033 077 167) 8 8 (070) Esc O x (033 117 170) Esc ? x (033 077 170) 9 9 (071) Esc O y (033 117 171) Esc ? y (033 077 171) - (minus) - (055) Esc O m (033 117 155) Esc ? m (033 077 155) , (comma) , (054) Esc O l (033 117 154) Esc ? l (033 077 154) . (period) . (056) Esc O n (033 117 156) Esc ? n (033 077 156) Enter CR (015)* Esc O M (033 117 115) Esc ? M (033 077 115) PF1 Esc O P Esc O P (033 117 120) Esc P (033 120) PF2 Esc O Q Esc O Q (033 117 121) Esc Q (033 121) PF3 Esc O R Esc O R (033 117 122) Esc R (033 122) PF4 Esc O S Esc O S (033 117 123) Esc S (033 123) * Or CR+LF (015 012) Cursorkeys codes generated (changed by set and reset modes '?1') normal application Up Esc [ A Esc O A 033 133 101 033 117 101 Down Esc [ B Esc O B 033 133 102 033 117 102 Right Esc [ C Esc O C 033 133 103 033 117 103 Left Esc [ D Esc O D 033 133 104 033 117 104 Select chaacter set UK as G0 Esc ( A 033 050 101 US as G0 Esc ( B 033 050 102 Special characters and line drawing character set as G0 Esc ( 0 033 050 060 Alternate ROM as G0 Esc ( 1 033 050 061 Alternate ROM special characters character set as G0 Esc ( 2 033 050 062 UK as G1 Esc ) A 033 051 101 US as G1 Esc ) B 033 051 102 Special characters and line drawing character set as G1 Esc ) 0 033 051 060 Alternate ROM as G1 Esc ) 1 033 051 061 Alternate ROM special characters character set as G1 Esc ) 2 033 051 062 Selects G2 for one character Esc N 033 115 Selects G3 for one character Esc O 033 117 Set graphic rendition Esc [ <n> ; <n> m 033 133 073 156 Where <n> is 0 = Turn off attributes 1 = Bold (Full) 2 = Half 4 = Underline 5 = Blink 7 = Reverse 21 = Normal intensity 22 = Normal intensity 24 = Cancel underlined 25 = Cancel blinking 27 = Cancel reverse Tab stops Set horizontal tab Esc H 033 110 Clear horizontal tab Esc [ g 033 133 147 Or Esc [ 0 g 033 133 060 147 Clear all horizontal tabs Esc [ 3 g 033 133 063 147 Line attributes Double-height Top half Esc # 3 033 043 063 Bottom half Esc # 4 033 043 064 Single-width, single-height Esc # 5 033 043 065 Double-width Esc # 6 033 043 066 Erasing Erase in line End of line (including cursor position) Esc [ K 033 133 113 Or Esc [ 0 K 033 133 060 113 Beginning of line (including cursor position) Esc [ 1 K 033 133 061 113 Complete line Esc [ 2 K 033 133 062 113 Erase in display End of screen (including cursor position) Esc [ J 033 133 112 Or Esc [ 0 J 033 133 060 112 Beginning of screen (including cursor position) Esc [ 1 J 033 133 061 112 Complete display Esc [ 2 J 033 133 062 112 Computer editing Delete characters (<n> characters right from cursor Esc [ <n> P 033 133 120 Inser line (<n> lines) Esc [ <n> L 033 133 114 Delete line (<n> lines) Esc [ <n> M 033 133 115 Printing Esc [ <c> i 033 133 151 Where <c> is ''= Same as '0' '0'= Prints screen (full or scroll region) '4'= Printer controller off '5'= Printer controller on (Print all received chars to printer) '?1'= Print cursor line '?4'= Auto print off '?5'= Auto print on (Prints line to printer when you exit from it) Reports Device status Esc [ <c> n 033 133 156 Where <c> is '0'=Response Ready, no malfunctions detected '3'=Malfunction, error in self-test. '5'=Status report request '6'=Request cursor position. '?10'=Response to printer status request, All ok. '?11'=Response to printer status request, Printer is not ready. '?13'=Response to printer status request, No printer. '?15'=Status report request from printer Cursor position raport (Response to request cursor position) Esc [ <n1> ; <n2> R 033 133 073 122 Request terminal to identify itself (esc Z may not be supported in future) Esc [ c 033 133 143 Esc [ 0 c 033 133 060 143 Esc Z 033 132 Response to terminal identify (VT102) Esc [ ? 6 c 033 133 077 066 143 Reset to initial state Esc c 033 143 Tests Invoke confidence test Esc [ 2 ; <n> y 033 133 062 073 171 Where <n> is '1'= Power-up test '2'= Data loopback test '4'= EIA loopback test '9'= Power-up tests (continuously) '10'= Data loopback tests (continuously) '12'= EIA loopback tests (continuously) '16'= Printer loopback test '24'= Printer loopback tests (continuously) Screen adjustments Esc # 8 033 043 070 Keyboard indicator Led L1 off Esc [ 0 q 033 133 060 181 Led L1 on Esc [ 1 q 033 133 061 181 VT52 sequences Ansi mode Esc < 033 074 Cursor positioning Up Esc A 033 101 Down Esc B 033 102 Right Esc C 033 103 Left Esc D 033 104 Home Esc H 033 110 Direct cursor address Esc Y <line+040> <columns+040> 033 131 Reverse linefeed Esc I 033 111 Erase to end of line Esc K 033 113 Erase to end of screen Esc J 033 112 Auto print on Esc ^ 033 136 Auto print off Esc 033 137 Printer controller on Esc W 033 127 Printer controller off Esc X 033 130 Print cursor line Esc V 033 135 Print screen Esc ] 033 135 Indentify request Esc Z 033 132 Response to indetify Esc / Z request (VT52) 033 057 132 Special charset (same Esc F as line draw in VT102 033 106 Normal char set Esc G 033 107 Control characters 000 = Null (fill character) 003 = ETX (Can be selected half-duplex turnaround char) 004 = EOT (Can be turnaround or disconnect char, if turn, then DLE-EOT=disc.) 005 = ENQ (Transmits answerback message) 007 = BEL (Generates bell tone) 010 = BS (Moves cursor left) 011 = HT (Moves cursor to next tab) 012 = LF (Linefeed or New line operation) 013 = VT (Processed as LF) 014 = FF (Processed as LF, can be selected turnaround char) 015 = CR (Moves cursor to left margin, can be turnaround char) 016 = SO (Selects G1 charset) 017 = SI (Selects G0 charset) 021 = DC1 (XON, causes terminal to continue transmit) 023 = DC3 (XOFF, causes terminal to stop transmitting) 030 = CAN (Cancels escape sequence) 032 = SUB (Processed as CAN) 033 = ESC (Processed as sequence indicator) --<cut>-- -- J C Lawrence Internet: claw#null,net (Contractor) Internet: coder#ibm,net ---------(*) Internet: claw#under,engr.sgi.com ...Honourary Member of Clan McFud -- Teamer's Avenging Monolith... </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <ul compact><li><strong>Follow-Ups</strong>: <ul> <li><strong><A NAME="00458" HREF="msg00458.html">[MUD-Dev] Re: Ansii color, needing some specs and or pointer</A></strong> <ul compact><li><em>From:</em> "Jon A. Lambert" <jlsysinc#ix,netcom.com></li></ul> <li><strong><A NAME="00408" HREF="msg00408.html">[MUD-Dev] Re: Ansii color, needing some specs and or pointers.</A></strong> <ul compact><li><em>From:</em> Ben Greear <greear#cyberhighway,net></li></ul> </UL></LI></UL> <!--X-Follow-Ups-End--> <!--X-References--> <UL><LI><STRONG>References</STRONG>: <UL> <LI><STRONG><A NAME="00388" HREF="msg00388.html">[MUD-Dev] Ansii color, needing some specs and or pointers.</A></STRONG> <UL><LI><EM>From:</EM> Ben Greear <greear#cyberhighway,net></LI></UL></LI> </UL></LI></UL> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00397.html">[MUD-Dev] Re: Ansii color, needing some specs and or pointers.</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00399.html">[MUD-Dev] Re: Fun vs Realism [ Was: OT: Sid Meier ]</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00392.html">[MUD-Dev] Re: Ansii color, needing some specs and or pointers.</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00408.html">[MUD-Dev] Re: Ansii color, needing some specs and or pointers.</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00398"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00398"><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="00388" HREF="msg00388.html">[MUD-Dev] Ansii color, needing some specs and or pointers.</A></strong>, Ben Greear <a href="mailto:greear#cyberhighway,net">greear#cyberhighway,net</a>, Tue 28 Jul 1998, 04:24 GMT <UL> <LI><strong><A NAME="00389" HREF="msg00389.html">[MUD-Dev] Re: Ansii color, needing some specs and or pointers.</A></strong>, Caliban Tiresias Darklock <a href="mailto:caliban#darklock,com">caliban#darklock,com</a>, Tue 28 Jul 1998, 04:50 GMT </LI> <LI><strong><A NAME="00391" HREF="msg00391.html">[MUD-Dev] Re: Ansii color, needing some specs and or pointers.</A></strong>, Caliban Tiresias Darklock <a href="mailto:caliban#darklock,com">caliban#darklock,com</a>, Tue 28 Jul 1998, 04:58 GMT </LI> <LI><strong><A NAME="00392" HREF="msg00392.html">[MUD-Dev] Re: Ansii color, needing some specs and or pointers.</A></strong>, Katrina McClelan <a href="mailto:kitkat#the486,bradley.edu">kitkat#the486,bradley.edu</a>, Tue 28 Jul 1998, 05:18 GMT </LI> <LI><strong><A NAME="00398" HREF="msg00398.html">[MUD-Dev] Re: Ansii color, needing some specs and or pointers.</A></strong>, J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Tue 28 Jul 1998, 17:30 GMT <UL> <LI><strong><A NAME="00408" HREF="msg00408.html">[MUD-Dev] Re: Ansii color, needing some specs and or pointers.</A></strong>, Ben Greear <a href="mailto:greear#cyberhighway,net">greear#cyberhighway,net</a>, Wed 29 Jul 1998, 00:29 GMT </LI> <LI><strong><A NAME="00458" HREF="msg00458.html">[MUD-Dev] Re: Ansii color, needing some specs and or pointer</A></strong>, Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Mon 03 Aug 1998, 04:28 GMT <UL> <LI><strong><A NAME="00459" HREF="msg00459.html">[MUD-Dev] Re: Ansii color, needing some specs and or pointer</A></strong>, Caliban Tiresias Darklock <a href="mailto:caliban#darklock,com">caliban#darklock,com</a>, Mon 03 Aug 1998, 05:41 GMT </LI> </UL> </LI> </UL> </LI> </UL> </LI> <LI><strong><A NAME="00366" HREF="msg00366.html">[MUD-Dev] Re: You think users won't number crunch and statis</A></strong>, Damion Schubert <a href="mailto:zjiria#texas,net">zjiria#texas,net</a>, Mon 27 Jul 1998, 03:56 GMT </UL></BLOCKQUOTE> </ul> <hr> <center> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] </center> <hr> </body> </html>