[net.micro.pc] ANSI.SYS & emulation

seaburg@uiucdcs.UUCP (01/25/85)

If this is a dumb question, please excuse my ignorance.

Does the ANSI.SYS device driver that comes with IBM DOS resemble
anything else?  In other words, is this a standard set of escape
sequences that could be used to emulate a terminal?

(What I really want to know is, is there a termcap around which will
let an IBM PC running say, PC-TALK III, emulate some common terminal 
so I can use vi or whatever?) 

Please respond via mail, and thanks for your help.

Gunnar P. Seaburg
Engineering Psychology Research Lab
University of Illinois at Urbana-Champaign
...{ihnp4,pur-ee}!uiucdcs!seaburg
(217) 333-7116

west@sphinx.UChicago.UUCP (Steve Westfall) (01/26/85)

PC-TALK will NOT take advantage of ANSI.SYS because
IBM PC's basic bypasses it and does its own screen driving.
(Perhaps a compiled PC-TALK would.)

Some other communications packages for the IBM PC, such as
Kermit, will use it, although in Kermit's case you don't
really need to, since Kermit emulates a vt52.
-- 
			Steve Westfall, Staff Analyst
			University of Chicago Computation Center
			uucp:     ihnp4!gargoyle!sphinx!west
			Mailnet:  staff.westfall@UChicago.Mailnet

geller@rlgvax.UUCP (David Geller) (01/29/85)

> If this is a dumb question, please excuse my ignorance.

That's what the net is for - the promulgation of information.

> Does the ANSI.SYS device driver that comes with IBM DOS resemble
> anything else?

I believe that the IBM ANSI driver provides the same terminal character-
istics and capabilities as a DEC VT-52. Please check the DOS manual to
make sure - mine isn't handy. On the same subject there is a program
called FANSICON floating around on some of the PC bulletin boards that
fully replaces the ANSI driver provided with DOS as well as the screen
ROM BIOS code. You should seek this product out (freeware, I think).

> (What I really want to know is, is there a termcap around which will
> let an IBM PC running say, PC-TALK III, emulate some common terminal 
> so I can use vi or whatever?) 

The termcap facility in Unix was designed to allow the system as well
as the application code to know the characteristics of your terminal
and be able to know what paramters need passing to terminal to accomplish
a particular task. Unless PC-TALK can recognize sequences to CLEAR the
screen, ERASE a character in a line, MOVE to col,ro, etc., then the
best you could do would be to create a termcap for the most basic of
functions - backspace - etc. However - it would be far easier to just
use PC-TALK with your Unix system assuming it is a dumb terminal. If you
do have TERM set to, say, VT-100 just make sure you don't try to run
any applications which you know will need to do things with the screen
that PC-TALK can't control/understand. You might consider purchasing
such terminal programs as CROSSTALK or InterConnect for they both provide
VT-100 emulation. I have PC-TALK - I even contributed to the author -
I don't use it though because it is only good for dial-up and its slow.
But we can't be picky with freeware - it still has its merits.

					David P. Geller
					{seismo}!rlgvax!geller

(its all mine - even the mistakes - don't even think for a minute that
I'm representing the opinions of my employer or anyone else - so there)

guy@rlgvax.UUCP (Guy Harris) (01/29/85)

> I believe that the IBM ANSI driver provides the same terminal character-
> istics and capabilities as a DEC VT-52.

VT100, more likely - a VT52 isn't an ANSI X3.64 terminal.

	Guy Harris
	{seismo,ihnp4,allegra}!rlgvax!guy

seaburg@uiucdcs.UUCP (01/30/85)

I've successfully (I think) modified PC-Talk III to use the ANSI.SYS
driver , thanks to a tip from johnston@uiucdcsb:

	"PCTALK III is written in BASIC and uses BASIC's primitive
I/O which does not utilize CON:.  Therefore, the ANSI.SYS driver is
not involved.  You could fix this by modifying PCTALK III.  First,
you have to open CON: for output (as a file).  Then, change all PRINTS
statements which take characters from the ASYNC input buffer and
print to the screen so that they print to the file CON:.
	You still have to find a termcap for the ANSI.SYS driver."

Well, ...



"Here is the termcap entry I use when running Lotus Symphony.  The major
difference between ANSI.SYS and true ANSI is that some escape sequence
parameters default to 0 when omitten in true ANSI, but are required by
ANSI.SYS.  (Specifically, end standout {se} and end underline {ue}.)  You
can use a standard ansi/ANSI terminal type (if your termcap has it) if
you don't mind staying in reverse video or underline mode constantly
once you enter one or the other.

Ip|ibmpc|IBM PC using ANSI driver:\
	:am:bs:cd=\E[J:ce=\E[K:cl=\E[1;1H\E[2J:cm=\E[%i%d;%dH:co#80:li#24:\
	:do=\E[B:up=\E[A:nd=\E[C:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:\
	:se=\E[0m:so=\E[7m:ue=\E[0m:us=\E[4m:

Ted Hopp	{seismo,umcp-cs}!nbs-amrf!hopp"



It works great.  Thanks everyone.

johnl@ima.UUCP (01/30/85)

> Does the ANSI.SYS device driver that comes with IBM DOS resemble
> anything else?  In other words, is this a standard set of escape
> sequences that could be used to emulate a terminal?

ANSI has promulgated a standard for terminal control escape sequences.  Many
terminals adhere to it, most notably the DEC VT-100 (not VT-52) and IBM 3101.
Unfortunately, the ANSI standard was designed by a large committee so it has
escape sequences designed for every conceivable eventuality as well as for
many inconceivable ones.  This means that every ANSI terminal you see actually
implements a subset of the ANSI standard, and usually includes some vendor-
specific additions.

As far as PC-TALK goes, this means you're more or less in luck.  I hacked
PC-TALK in about 20 minutes to use the ANSI driver, and it worked adequately
with several termcap programs when I set TERM to vt100.

The changes to PC-TALK are quite simple -- open CON: as an output file and
change all the PRINT statements to PRINT #n to that file.  Works fine.  I'd
send out the changes except that I lost them in a frenzy of disk cleanup.

John Levine, ima!johnl

PS:  I think PC-TALK is certainly worth what it costs (it's free) but I use
either PC/InterComm with my Hayes at work, and the Microcom ERA2 package with
my Microcom at home.  Both are much nicer to use than PC-TALK.

derek2@garfield.UUCP (Derek S Keeping) (01/31/85)

	Hello.
    
	I tried opening con: as a device and found it still bypassed ANSI.SYS
	This was on a old motherboard PC with DOS 2.0 so it may work with 2.1
	or whatever.

	The problem which has been mentioned before is that Basic does its own
	I/O. (at least as far as the screen is concerned.) The way I finally
	got around this was to write a small routine that took a string and
	displayed it using a DOS function call. That way ANSI.SYS got a chance
	to process the string.

	This is not to say that this is a great way to do this. From what I have
	read, BIOS is terribly slow for displaying things on the screen.
	Perhaps that's why it was bypassed for Basic.

	Also as I recall, the Basic compiler did not fix the problem. It also
	does its own screen handling. (Again this applies to the version I
	used.)

          Derek S. Keeping.
          {allegra,inph4,utcsrgv}!garfield!derek2

dr@duke.UUCP (Dietolf Ramm) (02/01/85)

I suspect that the confusion between ANSI and the VT52 comes from
the Heath/Zenith H19/Z19 terminal.  It has two modes: one is a VT52
compatibility mode and the other is an ANSI mode.
-- 
Dietolf Ramm

west@sphinx.UChicago.UUCP (Steve Westfall) (02/02/85)

David Geller (geller@rlgvax.UUCP) writes:

>I believe that the IBM ANSI driver provides the same terminal character-
>istics and capabilities as a DEC VT-52. Please check the DOS manual to
>make sure - mine isn't handy.

The IBM ANSI.SYS driver implements some of the escape sequences of
the Ansi 3.64 standard, which are used in the DEC vt-100, not the
vt-52.

>You might consider purchasing
>such terminal programs as CROSSTALK or InterConnect for they both provide
>VT-100 emulation. I have PC-TALK - I even contributed to the author -
>I don't use it though because it is only good for dial-up and its slow.

Kermit for the IBM PC is cheap, has excellent file transfer ability,
and it does h19/vt52 emulation.  AND, if you turn off its h19/vt52
emulation, it will use the ANSI.SYS driver if you loaded it in your
config.sys file; therefore it will provide vt100 emulation (to the
extent that ansi.sys does that).

Also, one other advantage of Kermit over Pc-Talk is that it will
work at baud rates up to 9600.

-- 
Steve Westfall			     uucp:  ihnp4!gargoyle!sphinx!west
Staff Analyst			   bitnet:  staff.westfall%chip@UChicago.bitnet
U. of Chicago Computation Center

robert@gitpyr.UUCP (Robert Viduya) (02/03/85)

>< 
> ANSI has promulgated a standard for terminal control escape sequences.  Many
> terminals adhere to it, most notably the DEC VT-100 (not VT-52) and IBM 3101.

Excuse me, but we've got a few IBM 3101's around here and I know their control
codes look nothing like the ANSI standard.

			robert
-- 
Robert Viduya
Georgia Institute of Technology

...!{akgua,allegra,amd,hplabs,ihnp4,masscomp,ut-ngp}!gatech!gitpyr!robert
...!{rlgvax,sb1,uf-cgrl,unmvax,ut-sally}!gatech!gitpyr!robert