[net.info-terms] ASCII and ANSI terminals, what is the difference??

wa371@sdcc12.UUCP (Senior Gnome) (12/12/85)

Can someone please explain the difference between ASCII and ANSI protocol
terminals?  Do ANSI terminals not use the ACSII character set and 
encoding?
Thanks

Bernd <bear-nd>           *** hooray for USENET ***
UUCP: ...!ucbvax!sdcsvax!sdcc12!wa371,   ARPA: sdcsvax!sdcc12!wa371@nosc

vch@rruxo.UUCP (Kerro Panille) (12/15/85)

>Can someone please explain the difference between ASCII and ANSI protocol
>terminals?  Do ANSI terminals not use the ACSII character set and 
>encoding?

ANSI is an acronym (I'm not sure what), but it's a standard like ASCII,
except that ASCII refers to the character encoding, and ANSI is a standard
for such things as cursor addressing. It was an attempt to remove the 
problem of termcaps and terminfos by making all terminals act the same.
Too bad most terminal manufacturers haven't taken this up. A vt100 is
an ANSI terminal, as well as any vt100 compatible. Note that the vt52
isn't ANSI, but it is ASCII. BTW, I've never heard of an ANSI terminal
that wasn't ASCII.

-- 
Vince Hatem          	               ----------------		           A
Bell Communications Research           | UZI          |----------|_ _ _\/  T
Raritan River Software Systems Center  |              |----------|     /\  &
444 Hoes Lane                          ----------------  ROGER GUTS 	   T 
4D-360                                   /     /\  DON'T NEED NO STINKIN' 
Piscataway, NJ 08854                    /     /           NECKTIES
(201) 699-4869                         /-----/
...ihnp4!rruxo!vch

   TRUE GRIT MYSTERIES - The detective series for those who NEVER eat quiche!
         (WARNING - MAY BE EMOTIONALLY DISTURBING TO HAMSTER LOVERS)

madmonk@chinet.UUCP (William M. Fischer) (12/15/85)

In article <138@rruxo.UUCP> vch@rruxo.UUCP (Kerro Panille) writes:
>>Can someone please explain the difference between ASCII and ANSI protocol
>>terminals?  Do ANSI terminals not use the ACSII character set and 
>>encoding?
>
>ANSI is an acronym (I'm not sure what), but it's a standard like ASCII,
>Vince Hatem          	               ----------------		           A
American National Standards Institute (ANSI). I think the current standard is
called ANSI X3.64.
--

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
"Nemo me impune lacessit"				Bill Fischer
							madmonk@chinet.UUCP	
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

barmar@mit-eddie.UUCP (Barry Margolin) (12/16/85)

When people say that a terminal uses the ANSI protocol, they are
generally referring to ANS X3.64, which defines an extension to ASCII.
ASCII defines a single-byte character set (originally 7-bit, but
recently extended to 8-bit).  It defines the meanings of various escape
sequences, multiple-byte sequences of codes beginning with ESC, which
provide operations like cursor positioning, character/line
insert/delete, erasing, and color/attribute selection.  ASCII primarily
defines printing characters and a few basic controls (e.g. carriage
return, line feed, XON/XOFF, plus ESC and DLE which allow for
extension).
-- 
    Barry Margolin
    ARPA: barmar@MIT-Multics
    UUCP: ..!genrad!mit-eddie!barmar

gwyn@brl-tgr.ARPA (Doug Gwyn <gwyn>) (12/16/85)

Strictly speaking, ASCII is the American Standard Code for
Information Interchange, of which there is actually more
than one version (I think the last one was in 1968, but I'm
not sure).  This is a character code used almost everywhere
except in mainframe markets (although IBM was a participant
in establishing the first ASCII spec, they went off and
introduced EBCDIC instead of conforming to the standard).

ANSI is the American National Standards Institute.  The
appellation "ANSI" applied to terminals is normally short
for "ANSI X3.64-conforming", and indicates at least a subset
of the X3.64 escape sequences are supported by the terminal.
This in itself doesn't mean much, but for marketing reasons
most so-called "ANSI" terminals are nearly compatible with
the DEC VT-100.

hes@ecsvax.UUCP (Henry Schaffer) (12/16/85)

> >Can someone please explain the difference between ASCII and ANSI protocol
> >terminals?  Do ANSI terminals not use the ACSII character set and 
> >encoding?
> 
> ANSI is an acronym (I'm not sure what), but it's a standard like ASCII,

   American National Standards Institute has many standards, one of
   which is the American Standard Code for Information Interchange,
   and another one (something like X3.64 ?) is for cursor control, etc.
   including the proper escape sequences.
> 
> -- 
> Vince Hatem          	               
   --henry schaffer

neal@weitek.UUCP (Neal Bedard) (12/17/85)

In article <138@rruxo.UUCP>, vch@rruxo.UUCP (Kerro Panille) writes:
> >Can someone please explain the difference between ASCII and ANSI protocol
> >terminals?  Do ANSI terminals not use the ACSII character set and 
> >encoding?
> 
> ANSI is an acronym (I'm not sure what), but it's a standard like ASCII,

	ASCII = American Standard Code for Information Interchange

ASCII codes are the binary values for a predefined 128-character set. 

	ANSI = American National Standards Institute (i.e., the organization
	       that promulagates the standard, not the stanard itself.)

The actual standard(s) in question are ANSI X3.64-1977 and ANSI X3.41-1974.

The ANSI *protocol* referred to is a command set of built out of ASCII
characters (is ASCII actually spelled out in the ANSI standard, or is the
character set arbitrary?) I've never seen a non-ASCII `ANSI' terminal,
anyway... 

Actually, the ANSI command set is basically a major subset of that for a
VT100 (there are a few `DEC private' codes.) `VT100-compatible' terminals
are sometimes referred to as `ANSI' terminals (probably to avoid having to
state that VT is a DEC trademark... :-)) There are other commonly used
terminal command protocols, but I believe the VT100 set (and therefore ANSI)
is the most popular among ASCII terminal vendors.

The ANSI protocol centers around a `control sequence introducer' (CSI), a
string of decimal parameters and a `final character'. For example, to move
the cursor forward a ten spaces on a VT100, the sequence is:

			<ESC>[10C

(`<ESC>' is the ASCII character `escape', value 27 decimal)

`<ESC>[' is the CSI, `10' is a numeric parameter, `C' is the final character.
Note that the terminal doesn't really know what to do until it processes the
final character. If the final character were instead `D', the cursor would move
*backward* by the same amount.

A complete desciption of the ANSI protocol may be obtained by contacting:

		Sales Department
		American National Standards Institute
		1430 Broadway
		New York, New York 10018

or just rip off someone's VT100 manual :-)

Hope this helps.

-Neal
-- 
55. It's a law we can do away with.
UUCP: {turtlevax, resonex, cae780}!weitek!neal

barmar@mit-eddie.UUCP (Barry Margolin) (12/20/85)

In article <346@weitek.UUCP> neal@weitek.UUCP (Neal Bedard) writes:
>The actual standard(s) in question are ANSI X3.64-1977 and ANSI X3.41-1974.
>
>The ANSI *protocol* referred to is a command set of built out of ASCII
>characters (is ASCII actually spelled out in the ANSI standard, or is the
>character set arbitrary?) I've never seen a non-ASCII `ANSI' terminal,
>anyway... 

ANS X3.64 is an extension of ANS X3.41 (ASCII), so an ANSI terminal is
by definition an ASCII terminal.  ANS X3.64 is a particular control
sequence repertoire defined using the scheme described in another
standard (whose number I do not recall), titled something like "Code
Extension Techniques for American Standard Code for Information
Interchange".  This latter standard is the one that defines the syntax
of escape sequences.  ANS X3.64 specifies the semantics of a particular
set of escape sequences which use that syntax.
-- 
    Barry Margolin
    ARPA: barmar@MIT-Multics
    UUCP: ..!genrad!mit-eddie!barmar

henry@utzoo.UUCP (Henry Spencer) (12/20/85)

> Actually, the ANSI command set is basically a major subset of that for a
> VT100 (there are a few `DEC private' codes.)...

Sorry, wrong, it's the other way around.  ANSI X3.64 is an *immense* shopping
list of escape sequences; no device on Earth implements more than a modest
subset of them.	 The VT100 implements a modest subset (too modest, they forgot
some important ones) plus using a few "reserved for private use" sequences for
DEC-specific things.

Saying that something is an "ANSI" terminal is strictly meaningless, since
X3.64 was *intended* to be a shopping list:  "*if* you implement function X,
this is the escape sequence to use for it".  In practice, what "ANSI" usually
means is that it implements approximately the same subset as the VT100,
often with a few additions to fix some of the VT100's botches.
-- 
				Henry Spencer @ U of Toronto Zoology
				{allegra,ihnp4,linus,decvax}!utzoo!henry

robert@gitpyr.UUCP (Robert Viduya) (12/20/85)

>neal@weitek.UUCP (Neal Bedard) (neal@weitek.UUCP, <346@weitek.UUCP>):
> 
> The actual standard(s) in question are ANSI X3.64-1977 and ANSI X3.41-1974.
> 
> The ANSI *protocol* referred to is a command set of built out of ASCII
> characters (is ASCII actually spelled out in the ANSI standard, or is the
> character set arbitrary?) I've never seen a non-ASCII `ANSI' terminal,
> anyway... 
> 

I read the X3.64 standard a few months ago and I don't believe that ASCII is
explicitly spelled out in all it's gory detail.  Rather, the document has as
prerequisites a couple of other ANSI standards (X3.41 was one of them).  I
guess this means that an ANSI X3.64 terminal is, by definition, an ASCII
terminal as well.

As for availability of the document, you might try a library.  I found the
documents in the GaTech library.  I also recommend looking up the ISO 6429
standard, which is ISO's version of X3.64.  The two standards are almost
identical as far as control sequences go, with the sole exception that 6429
has added provisions for setting color by extending the Set-Graphic-Rendition
control sequence.  I'm not completely sure, but I believe that the ISO standard
is a superset of the ANSI standard.  I also found the ISO standard a lot easier
to read than the ANSI standard.

				robert
-- 
Robert Viduya							01111000
Office of Computing Services
Georgia Institute of Technology

UUCP:	..gatech!gitpyr!robert
	..gatech!gt-oscar!robert
	..gatech!gt-felix!robert
BITNET:	CC100RV @ GITVM1

gat@inuxd.UUCP (G Taylor) (12/30/85)

> 
> ANS X3.64 is an extension of ANS X3.41 (ASCII), so an ANSI terminal is
> by definition an ASCII terminal.  ANS X3.64 is a particular control
> sequence repertoire defined using the scheme described in another
> standard (whose number I do not recall), titled something like "Code
> Extension Techniques for American Standard Code for Information
>
Just to set the record straight, the ASCII character set is defined by
the ANSI X3.4 standard ("American National Standard Code for
Information Interchange") and NOT by X3.41 ("American National
Standard Code Extension Techniques for Use with the 7-Bit Coded
Character Set of American National Standard Code for Information
Interchange").  Thus X3.4 defines the basic 7-bit ASCII character set,
X3.41 defines a technique for extending that character set, and X3.64
provides a standard coding for a HUGE array of controls for
2-dimensional imaging devices.  Incidentally, X3.64 really only pays
lip service to X3.41 since it uses a code extension technique that
isn't really within the spirit of that standard (and they say as much
in the introduction to the X3.64 standard).

One point that several people have questioned here is whether X3.64
requires the use of ASCII.  The answer is simply YES; the title of
X3.64 is "American National Standard Additional Controls for Use with
American National Standard Code for Information Interchange."  Notice
that the final 7 words of the title are the proper name for ASCII.

The ANSI standards are not entertaining reading but they are
interesting.  There are several other standards that pertain to this
general discussion that haven't been dragged into the fray, but rather
than prolong this discussion on the net I would invite those
interested to find a good library and browse through the standards for
themselves.

Glen A. Taylor
AT&T (Consumer Products Division)
Indianapolis, IN 
(317) 845-3709   inuxd!gat