Article 3037 of comp.terminals:
Path: utkcs2!darwin.sura.net!europa.asd.contel.com!uunet!comp.vuw.ac.nz
!canterbury.ac.nz!phys169
From: phys169@csc.canterbury.ac.nz
Newsgroups: comp.terminals
Subject: Televideo control code table (was Re: TVI950)
Message-ID: <1992Apr23.112004.4789@csc.canterbury.ac.nz>
Date: 23 Apr 92 11:20:03 +1200
References: <1992Apr18.060736.29498@noose.ecn.purdue.edu>
            <1992Apr22.174647.4783@csc.canterbury.ac.nz>
Summary: Control codes/Escape sequences for TVI905 to TVI950
Keywords: Programming TVI950, TVI910, TVI912, TVI920, TVI914, TVI924, TVI925
Expires: 22 May 92 11:23:06 +1200
Organization: University of Canterbury, Christchurch, New Zealand
Lines: 224

In article <1992Apr22.174647.4783@csc.canterbury.ac.nz>,
 phys169@csc.canterbury.ac.nz writes:
>
> Hope the following is useful... NOTE that the 914/924 columns are NOT complete,
> they take a heck of a lot of typing, but there's probably enough there to get
> the magnitude of the difference.  I might follow up with a more complete table
> some day.

Well, there were a few mistakes in it (like ESC B), as well as the 914 & 924
columns not being finished.  Here's an updated version, but I don't have good
references for the TVI925 & 905, so if anyone can post corrections that would
be very nice.  The only Televideo source for the 925 I had was a little glossy
titled "The Value Leaders", which seems *very* wrong in places.

I still might follow with tables for other popular terminals, like the Wyse and
Qume and DG series.  The VT series has already been done by others, of course,
but I might post my collection (including differences betweem other ANSI
implementations, such as Heath/Zenith, TVI970 and Data General).

If anyone wants to cut out the following and stick it on some anonymous ftp
site, that is fine with me, but please keep my e-mail address on it so I can
be told of any errors or omissions.

*** CONTROL CODES FOR:          TVI950  910  912  920  914  924  925  905

^E       ENQ (Send ID msg)                                   y
^G       Beep                       y    y    y    y    y    y    y    y
^H       Cursor Left                y    y    y    y    y    y    y    y
^I       Tab                        y    y    y    y    y    y    y    y
^J       Line Feed                  y    y    y    y    y    y    y    y
^K       Cursor Up                  y    y    y    y    y    y    y    y
^L       Cursor Right               y    y    y    y    y    y    y    y
^M       Carriage Return            y    y    y    y    y    y    y    y
^N       Disable ^S/^Q              y         y    y    y    y
^O       Enable ^S/^Q               y         y    y    y    y
^R       Enable P3<->P4             y    y              y    y
^T       Disable P3<->P4            y    y              y    y
^V       Cursor Down                y                   y    y    y
^X       Clear unprot field                             y    y
^Z       Clear Unprot.              y    y    y    y    y    y    y    y
^^       Home                       y    y    y    y    y    y    y    y
^_       NewLine                    y    y    y    y    y    y    y    y

ESC ^B   insert Ctrl-B (STX)                            y    y
ESC ^C   insert Ctrl-C (ETX)                            y    y
ESC ESC  Display "EC" symbol        y
ESC ! 1  Linelock this line         y
ESC ! 2  Clear all locks            y
ESC "    Unlock keyboard            y    y    y    y    y    y    y    y
ESC #    Lock keyboard              y    y    y    y    y    y    y    y
ESC $    Graphics mode on           y                   y    y
ESC %    Graphics mode off          y                   y    y
ESC &    Protect mode on            y         y    y    y    y    y    y
ESC '    Protect mode off           y         y    y    y    y    y    y
ESC (    W-Prot off & dim           y    dim  y    y    y    y    y    y
ESC )    W-Prot on & bold           y    bold y    y    y    y    y    y
ESC *    Clear all to nulls         y    y    y    y              y    ?
ESC * 0  Clear all to nulls                             y    y
ESC * 1  Clear all to spaces                            y    y
ESC * 2  Clear unprot to nulls                          y    y
ESC * 3  Clear unprot to spaces                         y    y
ESC +    Clear unprot to ic*        y    y    y    y
ESC ,    Clear all to dim sp        y         y    y
ESC -    Move to page/row/col       y                        y    y
ESC .    Toggle cursor on/off            y    y    y
ESC . 0  Invisible cursor           y                   y    y
ESC . 1  Blinking block cursor      y                   y    y
ESC . 2  Steady block cursor        y         y    y    y    y
ESC . 3  Blinking underline         y         y    y    y    y
ESC . 4  Steady underline           y         y    y    y    y
ESC /    Report Cursor p/r/c        y                        y    y
ESC 0 0  Program Shift-Send key     y
ESC 0 1  Program Send key           y
ESC 0 @  Program Home key                                    y
ESC 0 P  Program Send key                               y    y
ESC 0 p  Program shift-Send key                         y    y
ESC 0 s  Program shift-ENTER key                             y
ESC 1    Set tab stop               y    y    y    y
ESC 2    Clear tab stop             y    y    y    y
ESC 3    Clear all tab stops        y    y    y    y
ESC 4    Send unprot from BOL       y         y    y
ESC 5    Send unprot from BOP       y         y    y
ESC 6    Send all from BOL          y         y    y
ESC 7    Send all from BOP          y         y    y
ESC 8    Smooth scroll mode on      y
ESC 8 0  Jump scroll mode on                                 y
ESC 8 1  Smooth scroll mode on                               y
ESC 9    Jump scroll mode on        y
ESC :    Clear unprot to null       y                             ?    ?
ESC ;    Clear unprot to ic*        y         y    y              ?    ?
ESC <    Keyclick off               y                             y
ESC < 0  Keyclick off                                   y    y
ESC < 1  Keyclick on                                    y    y
ESC >    Keyclick on                y                             y
ESC =    Move to row/column         y    y    y    y    y    y    y    y
ESC ?    Report row/column          y    y    y    y    y    y    y    y
ESC @    Copy-print mode on         y    y              y    y    y
ESC A    Copy-print mode off        y    y              y    y    y
ESC B    Block mode on/conv off     y                   y    y    y
ESC C    Conversation mode on       y                   y    y    y
ESC D H  Half duplex, Block off     y                   y    y
ESC D F  Full duplex, Block off     y                   y    y
ESC E    Insert a line              y        y     y    y    y    y    y
ESC F    Display control char            y
ESC F    Define block of attr.                               y
ESC F    Load status msg            ?
ESC G 0  Reset video attributes     y    y              y    y    y    y
ESC G 1  Blank video attribute      y    y              y    y    y    y
ESC G 2  Blank video attribute      y    y              y    y    y    y
ESC G 4  Blank video attribute      y    y              y    y    y    y
ESC G 8  Blank video attribute      y    y              y    y    y    y
ESC H    Auto scroll on/off              y
ESC H    Define block graph. area                            y
ESC I    Back tab                   y    y              ?    ?    y    y
ESC J    Back page                  y                        y    y
ESC K    Next page                  y                        y    y
ESC L    Unformatted Print Page     y
ESC L    Send data to hidden cursor                          y
ESC M    Transmit terminal ID       y                   y    y
ESC N    PageEdit mode on           y
ESC N 0  PageEdit mode off                                   y
ESC N 1  PageEdit mode on                                    y
ESC O    PageEdit mode off          y
ESC P    Print page, show next      y                             y
ESC P 0  Print formatted page                           y    y
ESC P 1  Print form. unprot. page                       y    y
ESC P 3  Print formatted page                           y    y
ESC P 4  Print unformatted page                         y    y
ESC P 5  Print unform. unprot. page                     y    y
ESC P 7  Print unformatted page                         y    y
ESC Q    Insert a character         y         y    y    y    y    y    y
ESC R    Delete the line            y         y    y    y    y    y    y
ESC S    Send unprot message        y         y    y              y    y
ESC S 1  Send unprot from BOL                           y    y
ESC S 3  Send all from BOL                              y    y
ESC S 5  Send unprot from BOP                           y    y
ESC S 7  Send all from BOP                              y    y
ESC S 9  Send unprot text STX->ETX                      y    y
ESC S ;  Send text from STX to ETX                      y    y
ESC S ?  Send form                                      y    y
ESC T    Erase to EOL with ic*      y    y              y    y    y    y
ESC U    Monitor mode on            y    y    y    y    y    y    y    y
ESC V    Start self test                 y    y    y    y    y
ESC W    Delete a character         y         y    y    y    y    y    y
ESC X    Monitor mode off           y    y    y    y    y    y    y    y
ESC Y    Clear to EOP with ic*      y    y    y    y    y    y    ?
ESC Z 0  Report User line           y                   y    y    y
ESC Z 1  Report Status line         y                   y    y    y
ESC Z 2  Report Setup lines                                  y
ESC [    Move to row                     y
ESC ]    Move to column                  y
ESC ] 0  Program unshift. edit keys                          y
ESC ] 1  Program shifted edit keys                           y
ESC \ 1  24 lines/logical page      y                        y
ESC \ 2  48 lines/logical page      y                        y
ESC \ 3  96 lines/logical page      y                        y
ESC ^    Program answerback msg                              y
ESC ^    Start blink attribute                y    y
ESC _    Define scrolling region                             y
ESC _    Start blank attribute                y    y
ESC `    Buffered print mode on     y         y    y    y    y    ?
ESC a    Buffered print off         y         y    y    y    y    ?
ESC b    Screen black on white      y                   y    y
ESC d    Screen white on black      y                   y    y
ESC e    Load insert character      y
ESC f    Load user line             y                        y
ESC g    25th line is User line     y
ESC g    Assign log. attr. to field                          y
ESC h    25th line is Status        y
ESC i    Field tab                  y         y    y    y    y    ?
ESC j    Reverse linefeed           y
ESC j    Reverse video attr.                  y    y
ESC k    Normal background attr.              y    y
ESC k    Local edit mode            y         y    y
ESC k 0  Duplex edit mode                               y    y
ESC k 1  Local edit mode                                y    y
ESC l    Duplex Edit mode           y         y    y
ESC l    Start underline attr.                y    y
ESC m    End underline attr.                  y    y
ESC n 0  Screen On                                      y    y
ESC n 1  Screen Off                                     y    y
ESC o 0  Logical attribute mode on                           y
ESC o 1  Logical attribute mode on                           y
ESC p    Report NVRAM contents                               y
ESC q    End blink/blank                      y    y
ESC q    Insert mode on             y
ESC r    Insert mode off            y
ESC s    Send message all           y         y    y              y    y
ESC s    Define 25th line                                    y
ESC t    Erase to EOL, nulls        y         y    y    y    y    y    ?
ESC u    Monitor mode off           y         y    y              y    ?
ESC v    Autopage on                y                             y
ESC v 0  Autopage off                                        y
ESC v 1  Autopage on                                         y
ESC w    Autopage off               y                             y
ESC x 0  Set field delimiter        y                        y    ?
ESC x 1  Set line delimiter         y         y    y         y    ?
ESC x 2  Set start prot delim.      y                        y    ?
ESC x 3  Set end prot delimiter     y                        y    ?
ESC x 4  Set screen delimiter       y         y    y         y    ?
ESC y    Erase to EOP, nulls        y         y    y    y    y    ?    ?
ESC z    Call User PROM             y
ESC {    Set main (P3) port         y                             ?
ESC { 0  Set main (comp) port                                y
ESC { 1  Set printer port baud etc                           y
ESC |    Program function keys      y                   y    y
ESC }    Set printer (P4) port      y                        ?    ?
ESC ~ 0  Reset terminal                                 y    y
ESC ~ 1  Reset to factory def.                          y    y

Notes:
The TVI925 and 905 columns probably have a lot of mistakes, the other columns
      might have a few too! (hopefully not too many)
ESC G sets video attributes based on flags, so ESC G 6 would be reverse blink;
      on most oldish ADM/Wyse/TVI/QVT terminals this attribute takes up one
      character position on the screen; this is optional on some (e.g. ADM 12)
      On the TVI914/924 they never take a space. The 914/924 allows dim to be
      set (e.g. ESC G space is DIM, ESC G " is blink dim).
BOL = Beginning of line
BOP = Beginning of page
EOL = End of line
ic* = whatever insert character is set to, space by default. A TVI950 lets you
      define what the space charecter is, on most other terminals it is always
      a space (ASCII 32).

Mark Aitchison, University of Canterbury, New Zealand.
(usual disclaimers apply, plus a big E & O E).


TVI950.CHT

              Summary of TeleVideo, Inc. Model 950 ESC sequences
              ==================================================

+------------+------------+------------+------------+------------+------------+
|SPC         |0           |@           |P           |`           |p           |
|            |Load Send   |Extention   |Formatted   |Buff transp |            |
|            |key  ++     |print on    |page prnt on|print on    |            |
+------------+------------+------------+------------+------------+------------+
|!           |1           |A           |Q           |a           |q           |
|Line lock   |Set typwritr|Extention   |Character   |Buff transp |Insert      |
|1=on, 2=off |column tab  |print off   |insert      |print off   |mode on     |
+------------+------------+------------+------------+------------+------------+
|"           |2           |B           |R           |b           |r           |
|Keyboard    |Clear type- |Block       |Line        |Set reverse |Edit mode   |
|unlock      |writer tab  |mode on     |delete      |background  |(replace) on|
+------------+------------+------------+------------+------------+------------+
|#           |3           |C           |S           |c           |s           |
|Keyboard    |Clear all   |Ret to prev |Send unprot |Local       |Send whole  |
|lock        |tabs        |duplex mode |message  ++ |mode on     |msg w/prot++|
+------------+------------+------------+------------+------------+------------+
|$           |4           |D           |T           |d           |t           |
|Graphics    |Send unprot |Dplx mode on|Clear to EOL|Set normal  |Clear to EOL|
|mode on     |line to crsr|H=half F=ful|w/ insrt chr|background  |with nulls  |
+------------+------------+------------+------------+------------+------------+
|%           |5           |E           |U           |e           |u           |
|Graphics    |Send unprot |Line        |Monitor     |Load insert |Monitor     |
|mode off    |page to crsr|insert      |mode on     |character   |mode exit   |
+------------+------------+------------+------------+------------+------------+
|&           |6           |F           |V           |f           |v           |
|Protected   |Send all lin|            |            |Load user   |Auto page   |
|mode on     |to curs/prot|            |            |line        |on          |
+------------+------------+------------+------------+------------+------------+
|'           |7           |G <d>       |W           |g           |w           |
|Protected   |Send all pag|Set screen  |Character   |Display     |Auto page   |
|mode off    |to curs/prot|attrib  **  |delete      |user line   |off         |
+------------+------------+------------+------------+------------+------------+
|(           |8           |H           |X           |h           |x           |
|Half intens-|Smooth      |            |Monitor     |Display     |Set send    |
|ity off     |scroll on   |            |mode off    |status line |delimters++ |
+------------+------------+------------+------------+------------+------------+
|)           |9           |I           |Y           |i           |y           |
|Half intens-|Smooth      |Back        |Clr end page|Field       |Clr to end  |
|ity on      |scroll off  |tab         |w/ insrt chr|tab         |of page/null|
+------------+------------+------------+------------+------------+------------+
|*           |:           |J           |Z           |j           |z           |
|Clear page  |Clear unprot|Prev screen |Send line   |Rev line    |Execute user|
|to nulls    |page to null|page        |0=usr,1=stat|feed        |ROM program |
+------------+------------+------------+------------+------------+------------+
|+           |;           |K           |[           |k           |{           |
|Clear unprot|Clear unprot|Next screen |            |Edit keys   |Configure   |
|page/ins chr|page/ins chr|page        |            |local       |comp port ++|
+------------+------------+------------+------------+------------+------------+
|,           |<           |L           |\ <d>       |l           ||           |
|Clear page  |Keyclick    |Unformatted |Set page    |Edit keys   |Program     |
|to half int |off         |page prnt on|length  *** |duplex      |func key  ++|
+------------+------------+------------+------------+------------+------------+
|-           |=           |M           |]           |m           |}           |
|Pos cursor  |Pos cursor  |Send trminal|            |            |Configure   |
|page row col|row col     |ID string   |            |            |prtr port ++|
+------------+------------+------------+------------+------------+------------+
|. <d>       |>           |N           |^           |n           |~           |
|Set cursor  |Keyclick    |Page        |            |Screen      |            |
|attrib  *   |on          |mode on     |            |on          |            |
+------------+------------+------------+------------+------------+------------+
|/           |?           |O           |_           |o           |DEL         |
|Read cursor |Read cursor |Line        |            |Screen      |            |
|page row col|row col     |mode on     |            |off         |            |
+------------+------------+------------+------------+------------+------------+


  *  '0' =off, '1' =blink block, '2' =block, '3' =blink undrln, '4' =undrlin

 **  '0' to '?', if bit 0 set =blank, 1 =blink, 2 =reverse, 3 =underline

***  '1' =24 lines, '2' =48 lines, '3' =96 lines

 ++  See manual for additional details


                    TVI 950 Switch Setting Reference Charts
                    =======================================


                                    TABLE 1:

     S1     1     2     3     4     5     6     7     8     9    10
         +-----------------------+-----+-----+-----------------------+
         | Computer Baud Rate    |Data |Stop | Printer Baud Rate     |
         |                       |Bits |Bits |                       |
  +------+-----------------------+-----+-----+-----------------------+
  |  Up  |        See            |  7  |  2  |        See            |
  +------+-----------------------+-----+-----+-----------------------+
  | Down |      TABLE 2          |  8  |  1  |      TABLE 2          |
  +------+-----------------------+-----+-----+-----------------------+


     S2     1     2     3     4     5     6     7     8     9    10
         +-----+-----+-----------------+-----+-----------+-----+-----+
         |Edit |Cursr|    Parity       |Video|Transmiss'n| Hz  |Click|
  +------+-----+-----+-----------------+-----+-----------+-----+-----+
  |  Up  | Dplx|Blink|      See        |GonBk|   See     | 60  | Off |
  +------+-----+-----+-----------------+-----+-----------+-----+-----+
  | Down |Local|St'dy|    TABLE 3      |BkonG|  CHART    | 50  | On  |
  +------+-----+-----+-----------------+-----+-----------+-----+-----+


                                   TABLE 2:

            +-----------+-----+-----+-----+-----+-----------+
            | Display   |  1  |  2  |  3  |  4  |   Baud    |
            +-----------+-----+-----+-----+-----+           |
            | Printer   |  7  |  8  |  9  | 10  |   Rate    |
            +-----------+-----+-----+-----+-----+-----------+
                        |  D  |  D  |  D  |  D  |   9600    |
                        |  U  |  D  |  D  |  D  |     50    |
                        |  D  |  U  |  D  |  D  |     75    |
                        |  U  |  U  |  D  |  D  |    110    |
                        |  D  |  D  |  U  |  D  |    135    |
                        |  U  |  D  |  U  |  D  |    150    |
                        |  D  |  U  |  U  |  D  |    300    |
                        |  U  |  U  |  U  |  D  |    600    |
                        |  D  |  D  |  D  |  U  |   1200    |
                        |  U  |  D  |  D  |  U  |   1800    |
                        |  D  |  U  |  D  |  U  |   2400    |
                        |  U  |  U  |  D  |  U  |   3600    |
                        |  D  |  D  |  U  |  U  |   4800    |
                        |  U  |  D  |  U  |  U  |   7200    |
                        |  D  |  U  |  U  |  U  |   9600    |
                        |  U  |  U  |  U  |  U  |  19200    |
                        +-----+-----+-----+-----+-----------+




                                   TABLE 3:

                        +-----+-----+-----+-----------+
                        |  3  |  4  |  5  |   Parity  |
                        +-----+-----+-----+-----------+
                        |  X  |  X  |  D  |    None   |
                        |  D  |  D  |  U  |     Odd   |
                        |  D  |  U  |  U  |    Even   |
                        |  U  |  D  |  U  |    Mark   |
                        |  U  |  U  |  U  |   Space   |
                        +-----+-----+-----+-----------+

                                X = don't care




                                    CHART:

                        +-----+-----+-----------------+
                        |  7  |  8  | Communication   |
                        +-----+-----+-----------------+
                        |  D  |  D  |  Half Duplex    |
                        |  D  |  U  |  Full Duplex    |
                        |  U  |  D  |     Block       |
                        |  U  |  U  |     Local       |
                        +-----+-----+-----------------+


------------------------------------------------------------------------------