|
|
|
|
|
The following table of the ANSI X3.64 encodings is the result of some work I |
|
|
did a few years ago for BYTE magazine. BYTE made this table available for |
|
|
download from several bulletin-board systems, so I see no reason why it cannot |
|
|
be posted here for whatever private use you care to make. Just don't expect |
|
|
to make a profit selling copies of it without paying royalties to McGraw-Hill. |
|
|
|
|
|
Oh, by the way, the equivalent ISO standard is DP-6429. |
|
|
|
|
|
.....RSS |
|
|
|
|
|
|
|
|
ANSI Standard (X3.64) Control Sequences for Video Terminals and Peripherals |
|
|
in alphabetic order by mnemonic |
|
|
|
|
|
(Inspired by the article "Toward Standardized Video Terminals: ANSI |
|
|
X3.64 Device Control" by Mark L. Siegel, April 1984 BYTE, page 365) |
|
|
|
|
|
(Ps and Pn are parameters expressed in ASCII.) |
|
|
(Numeric parameters are given in decimal radix.) |
|
|
(Abbreviations are explained in detail at end.) |
|
|
(Spaces used in this table for clarity are not |
|
|
used in the actual codes.) |
|
|
|
|
|
Default Type |
|
|
Sequence Sequence Parameter or |
|
|
Mnemonic Name Sequence Value Mode |
|
|
--------------------------------------------------------------------------- |
|
|
APC Applicatn Program Command Esc Fe Delim |
|
|
CBT Cursor Backward Tab Esc [ Pn Z 1 eF |
|
|
CCH Cancel Previous Character Esc T |
|
|
CHA Cursor Horzntal Absolute Esc [ Pn G 1 eF |
|
|
CHT Cursor Horizontal Tab Esc [ Pn I 1 eF |
|
|
CNL Cursor Next Line Esc [ Pn E 1 eF |
|
|
CPL Cursor Preceding Line Esc [ Pn F 1 eF |
|
|
CPR Cursor Position Report Esc [ Pn ; Pn R 1, 1 |
|
|
CSI Control Sequence Intro Esc [ Intro |
|
|
CTC Cursor Tab Control Esc [ Ps W 0 eF |
|
|
CUB Cursor Backward Esc [ Pn D 1 eF |
|
|
CUD Cursor Down Esc [ Pn B 1 eF |
|
|
CUF Cursor Forward Esc [ Pn C 1 eF |
|
|
CUP Cursor Position Esc [ Pn ; Pn H 1, 1 eF |
|
|
CUU Cursor Up Esc [ Pn A 1 eF |
|
|
CVT Cursor Vertical Tab Esc [ Pn Y eF |
|
|
DA Device Attributes Esc [ Pn c 0 |
|
|
DAQ Define Area Qualification Esc [ Ps o 0 |
|
|
DCH Delete Character Esc [ Pn P 1 eF |
|
|
DCS Device Control String Esc P Delim |
|
|
DL Delete Line Esc [ Pn M 1 eF |
|
|
DMI Disable Manual Input Esc \ Fs |
|
|
DSR Device Status Report Esc [ Ps n 0 |
|
|
EA Erase in Area Esc [ Ps O 0 eF |
|
|
ECH Erase Character Esc [ Pn X 1 eF |
|
|
ED Erase in Display Esc [ Ps J 0 eF |
|
|
EF Erase in Field Esc [ Ps N 0 eF |
|
|
EL Erase in Line Esc [ Ps K 0 eF |
|
|
EMI Enable Manual Input Esc b Fs |
|
|
EPA End of Protected Area Esc W |
|
|
ESA End of Selected Area Esc G |
|
|
FNT Font Selection Esc [ Pn ; Pn Space D 0, 0 FE |
|
|
GSM Graphic Size Modify Esc [ Pn ; Pn Space B 100, 100 FE |
|
|
GSS Graphic Size Selection Esc [ Pn Space C none FE |
|
|
HPA Horz Position Absolute Esc [ Pn ` 1 FE |
|
|
HPR Horz Position Relative Esc [ Pn a 1 FE |
|
|
HTJ Horz Tab w/Justification Esc I FE |
|
|
HTS Horizontal Tab Set Esc H FE |
|
|
HVP Horz & Vertical Position Esc [ Pn ; Pn f 1, 1 FE |
|
|
ICH Insert Character Esc [ Pn @ 1 eF |
|
|
IL Insert Line Esc [ Pn L 1 eF |
|
|
IND Index Esc D FE |
|
|
INT Interrupt Esc a Fs |
|
|
JFY Justify Esc [ Ps ; ... ; Ps Space F 0 FE |
|
|
MC Media Copy Esc [ Ps i 0 |
|
|
MW Message Waiting Esc U |
|
|
NEL Next Line Esc E FE |
|
|
NP Next Page Esc [ Pn U 1 eF |
|
|
OSC Operating System Command Esc ] Delim |
|
|
PLD Partial Line Down Esc K FE |
|
|
PLU Partial Line Up Esc L FE |
|
|
PM Privacy Message Esc ^ Delim |
|
|
PP Preceding Page Esc [ Pn V 1 eF |
|
|
PU1 Private Use 1 Esc Q |
|
|
PU2 Private Use 2 Esc R |
|
|
QUAD Typographic Quadding Esc [ Ps Space H 0 FE |
|
|
REP Repeat Char or Control Esc [ Pn b 1 |
|
|
RI Reverse Index Esc M FE |
|
|
RIS Reset to Initial State Esc c Fs |
|
|
RM Reset Mode Esc [ Ps l none |
|
|
SD Scroll Down Esc [ Pn T 1 eF |
|
|
SEM Select Edit Extent Mode Esc [ Ps Q 0 |
|
|
SGR Select Graphic Rendition Esc [ Ps m 0 FE |
|
|
SL Scroll Left Esc [ Pn Space @ 1 eF |
|
|
SM Select Mode Esc [ Ps h none |
|
|
SPA Start of Protected Area Esc V |
|
|
SPI Spacing Increment Esc [ Pn ; Pn Space G none FE |
|
|
SR Scroll Right Esc [ Pn Space A 1 eF |
|
|
SS2 Single Shift 2 (G2 set) Esc N Intro |
|
|
SS3 Single Shift 3 (G3 set) Esc O Intro |
|
|
SSA Start of Selected Area Esc F |
|
|
ST String Terminator Esc \ Delim |
|
|
STS Set Transmit State Esc S |
|
|
SU Scroll Up Esc [ Pn S 1 eF |
|
|
TBC Tab Clear Esc [ Ps g 0 FE |
|
|
TSS Thin Space Specification Esc [ Pn Space E none FE |
|
|
VPA Vert Position Absolute Esc [ Pn d 1 FE |
|
|
VPR Vert Position Relative Esc [ Pn e 1 FE |
|
|
VTS Vertical Tabulation Set Esc J FE |
|
|
|
|
|
--------------------------------------------------------------------------- |
|
|
|
|
|
Abbreviations: |
|
|
|
|
|
Intro an Introducer of some kind of defined sequence; the normal 7-bit |
|
|
X3.64 Control Sequence Introducer is the two characters "Escape [" |
|
|
|
|
|
Delim a Delimiter |
|
|
|
|
|
x/y identifies a character by position in the ASCII table (column/row) |
|
|
|
|
|
eF editor function (see explanation) |
|
|
|
|
|
FE format effector (see explanation) |
|
|
|
|
|
F is a Final character in |
|
|
an Escape sequence (F from 3/0 to 7/14 in the ASCII table) |
|
|
a control sequence (F from 4/0 to 7/14) |
|
|
|
|
|
Gs is a graphic character appearing in strings (Gs ranges from |
|
|
2/0 to 7/14) in the ASCII table |
|
|
|
|
|
Ce is a control represented as a single bit combination in the C1 set |
|
|
of controls in an 8-bit character set |
|
|
|
|
|
C0 the familiar set of 7-bit ASCII control characters |
|
|
|
|
|
C1 roughly, the set of control characters available only in 8-bit systems. |
|
|
This is too complicated to explain fully here, so read Jim Fleming's |
|
|
article in the February 1983 BYTE, especially pages 214 through 224. |
|
|
|
|
|
Fe is a Final character of a 2-character Escape sequence that has an |
|
|
equivalent representation in an 8-bit environment as a Ce-type |
|
|
(Fe ranges from 4/0 to 5/15) |
|
|
|
|
|
Fs is a Final character of a 2-character Escape sequence that is |
|
|
standardized internationally with identical representation in 7-bit |
|
|
and 8-bit environments and is independent of the currently |
|
|
designated C0 and C1 control sets (Fs ranges from 6/0 to 7/14) |
|
|
|
|
|
I is an Intermediate character from 2/0 to 2/15 (inclusive) in the |
|
|
ASCII table |
|
|
|
|
|
P is a parameter character from 3/0 to 3/15 (inclusive) in the ASCII |
|
|
table |
|
|
|
|
|
Pn is a numeric parameter in a control sequence, a string of zero or |
|
|
more characters ranging from 3/0 to 3/9 in the ASCII table |
|
|
|
|
|
Ps is a variable number of selective parameters in a control sequence |
|
|
with each selective parameter separated from the other by the code |
|
|
3/11 (which usually represents a semicolon); Ps ranges from |
|
|
3/0 to 3/9 and includes 3/11 |
|
|
|
|
|
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ |
|
|
/ |
|
|
|
|
|
Format Effectors versus Editor Functions |
|
|
|
|
|
A format effector specifies how the final output is to be created. |
|
|
An editor function allows you to modify the specification. |
|
|
|
|
|
For instance, a format effector that moves the "active position" (the |
|
|
cursor or equvalent) one space to the left would be useful when you want to |
|
|
create an overstrike, a compound character made of two standard characters |
|
|
overlaid. Control-H, the Backspace character, is actually supposed to be a |
|
|
format effector, so you can do this. But many systems use it in a |
|
|
nonstandard fashion, as an editor function, deleting the character to the |
|
|
left of the cursor and moving the cursor left. When Control-H is assumed to |
|
|
be an editor function, you cannot predict whether its use will create an |
|
|
overstrike unless you also know whether the output device is in an "insert |
|
|
mode" or an "overwrite mode". When Control-H is used as a format effector, |
|
|
its effect can always be predicted. The familiar characters carriage |
|
|
return, linefeed, formfeed, etc., are defined as format effectors. |
|
|
|
|
|
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ |
|
|
/ |
|
|
|
|
|
ANSI X3.64 Mode-Changing Parameters for use with the |
|
|
Select Mode (SM) and Reset Mode (RM) functions |
|
|
|
|
|
Parameter Mode Mode Function |
|
|
Characters Mnemonic |
|
|
column/ graphic |
|
|
row repres. |
|
|
---------------------------------------------------------------------------- |
|
|
3/0 0 an error condition |
|
|
3/1 1 GATM guarded-area transfer mode |
|
|
3/2 2 KAM keyboard action mode |
|
|
3/3 3 CRM control representation mode |
|
|
3/4 4 IRM insertion/replacement mode |
|
|
3/5 5 SRTM status-reporting transfer mode |
|
|
3/6 6 ERM erasure mode |
|
|
3/7 7 VEM vertical editing mode |
|
|
3/8 8 reserved for future standardization |
|
|
3/9 9 reserved for future standardization |
|
|
3/10 : reserved separator for parameters |
|
|
3/11 ; Standard separator for parameters |
|
|
3/12 < reserved for private (experimental) use |
|
|
3/13 = reserved for private (experimental) use |
|
|
3/14 > reserved for private (experimental) use |
|
|
3/15 ? reserved for private (experimental) use |
|
|
3/1 3/0 10 HEM horizontal editing mode |
|
|
3/1 3/1 11 PUM positioning unit mode |
|
|
3/1 3/2 12 SRM send/receive mode |
|
|
3/1 3/3 13 FEAM format effector action mode |
|
|
3/1 3/4 14 FETM format effector transfer mode |
|
|
3/1 3/5 15 MATM multiple area transfer mode |
|
|
3/1 3/6 16 TTM transfer termination mode |
|
|
3/1 3/7 17 SATM selected area transfer mode |
|
|
3/1 3/8 18 TSM tabulation stop mode |
|
|
3/1 3/9 19 EBM editing boundary mode |
|
|
3/1 3/10 1: reserved separator for parameters |
|
|
3/1 3/11 1; Standard separator for parameters |
|
|
3/1 3/12 1< error condition--unspecified recovery |
|
|
3/1 3/13 1= error condition--unspecified recovery |
|
|
3/1 3/14 1> error condition--unspecified recovery |
|
|
3/1 3/15 1? error condition--unspecified recovery |
|
|
3/2 3/0 20 LNM linefeed/newline mode (not in ISO 6429) |
|
|
3/2 3/1 21 |
|
|
. . |
|
|
. . reserved for future standardization |
|
|
. . |
|
|
3/9 3/9 99 |
|
|
|
|
|
3/12 3/0 <0 |
|
|
. . |
|
|
. . reserved for private (experimental) use |
|
|
. . |
|
|
3/15 3/15 ?? |
|
|
|
|
|
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ |
|
|
/ |
|
|
|
|
|
NOTES ON THE DEC VT100 IMPLEMENTATION |
|
|
|
|
|
In the case of the popular DEC VT100 video-terminal implementation, |
|
|
the only mode that may be altered is the linefeed/newline (LNM) mode. |
|
|
Other modes are considered permanently set, reset, or not applicable |
|
|
as follows: |
|
|
|
|
|
Set: ERM |
|
|
Reset: CRM, EBM, FEAM, FETM, IRM, KAM, PUM, SRTM, TSM |
|
|
N/A: GATM, HEM, MATM, SATM, TTM, VEM |
|
|
|
|
|
Control sequences implemented in the VT100 are as follows: |
|
|
|
|
|
CPR, CUB, CUD, CUF, CUP, CUU, DA, DSR, ED, EL, HTS, HVP, IND, |
|
|
LNM, NEL, RI, RIS, RM, SGR, SM, TBC |
|
|
|
|
|
plus several private DEC commands. |
|
|
|
|
|
Erasing parts of the display (EL and ED) in the VT100 is performed thus: |
|
|
|
|
|
Erase from cursor to end of line Esc [ 0 K or Esc [ K |
|
|
Erase from beginning of line to cursor Esc [ 1 K |
|
|
Erase line containing cursor Esc [ 2 K |
|
|
Erase from cursor to end of screen Esc [ 0 J or Esc [ J |
|
|
Erase from beginning of screen to cursor Esc [ 1 J |
|
|
Erase entire screen Esc [ 2 J |
|
|
|
|
|
The VT100 responds to receiving the DA (Device Attributes) control |
|
|
|
|
|
Esc [ c (or Esc [ 0 c) |
|
|
|
|
|
by transmitting the sequence |
|
|
|
|
|
Esc [ ? l ; Ps c |
|
|
|
|
|
where Ps is a character that describes installed options. |
|
|
|
|
|
The VT100's cursor location can be read with the DSR (Device Status |
|
|
Report) control |
|
|
|
|
|
Esc [ 6 n |
|
|
|
|
|
The VT100 reports by transmitting the CPR sequence |
|
|
|
|
|
Esc [ Pl ; Pc R |
|
|
|
|
|
where Pl is the line number and Pc is the column number (in decimal). |
|
|
|
|
|
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ |
|
|
/ |
|
|
|
|
|
The complete document describing the standard, "ANSI X3.64-1979: |
|
|
Additional Controls for Use with the American National Standard |
|
|
Code for Information Interchange," can be ordered for $13.50 (plus |
|
|
$4 postage) from |
|
|
|
|
|
Standards Sales Department |
|
|
American National Standards Institute |
|
|
1430 Broadway |
|
|
New York, NY 10018 |
|
|
212/354-3300 |
|
|
|
|
|
It's best to read the full standard before using it. It also helps |
|
|
to have copies of the related standards "X3.4-1977: American |
|
|
National Standard Code for Information Interchange" (the ASCII |
|
|
standard) and "X3.41.1974: Code-Extension Techniques for Use with |
|
|
the 7-Bit Coded Character Set of American National Standard for |
|
|
Information Interchange." |
|
|
|
|
|
See also the chapter "Using Extended Screens and Keyboard Control" |
|
|
in the IBM PC-DOS manuals, especially for the coding for character |
|
|
attributes. |
|
|
|
|
|
The specification for the DEC VT100 is document EK-VT100-UG-003. |
|
|
|
|
|
(Copyright 1984 BYTE Publications, subsidiary of McGraw-Hill Inc.) |
|
|
(Permission granted to reproduce for noncommercial uses.) |
|
|
(This file prepared by Richard S. Shuford.) |
|
|
|
|
|
|