[comp.os.msdos.misc] What is Ansi.sys??

bchs1b@jetson.uh.edu (12/21/90)

What is Ansi.sys (and its workalikes, Fansi, Nansi etc)? What do they really
let you do. I am not a programmer but an application user? Is there something
useful here that I am missing?

thanks,
mike benedik
benedik@uh.edu

baird@nosc.NOSC.MIL (John M. Baird) (12/21/90)

From article <8069.2770a6a0@jetson.uh.edu>, by bchs1b@jetson.uh.edu:
> What is Ansi.sys (and its workalikes, Fansi, Nansi etc)? What do they really
> let you do. I am not a programmer but an application user? Is there something
> useful here that I am missing?
> 
See the attached description of ANSI.SYS.  The same applies to the other xANSI
device drivers, but they come from individuals rather than from Microsoft or
IBM.  The attached is from HELPSB, available on simtel20 in <msdos.sysutl>.
HELPSB is an on-line help system for DOS and OS/2.

John Baird, Naval Ocean Systems Center, San Diego, CA USA
-------
: DEVICE=[d:][pathname]ANSI.SYS
: 				[/L] [/K] [/X]			[new DOS 4.0]
: 
: ANSI.SYS is a device driver that provides enhanced control of the screen and
: keyboard. It is normally on your DOS system disk, but is only used when this 
: line is present in the CONFIG.SYS file. If DEVICE=DISPLAY.SYS in also used, 
: it must appear after this line. 
: 
: Enhanced screen and keyboard control is supported by the PROMPT, ECHO, and ESC
: commands, and DOS function calls from within a program. See the "PROMPT",
: "ECHO", and "ESC" topics for more information. Enhancements include:
: 
: More prompt features    Erase/insert lines     More screen mode control
: Cursor positioning      Screen color control   Key (re)assignment capability
: 
: /L ignores requests by programs to change the number of lines displayed on
:     the screen, and retain the value set by the MODE command.
: 
: /K disables duplicated function keys (101-key keyboards only) 
: 
: /X allows the duplicated function keys to be differentiated (101-key keyboards
:     only).
:

silver@xrtll.uucp (Hi Ho Silver) (12/23/90)

In article <8069.2770a6a0@jetson.uh.edu> bchs1b@jetson.uh.edu writes:
$What is Ansi.sys (and its workalikes, Fansi, Nansi etc)? What do they really
$let you do. I am not a programmer but an application user? Is there something
$useful here that I am missing?

   ansi.sys is a device driver that implements some of the ANSI control
sequences.  It allows you to move the cursor, set colours, etc. by putting
escape sequences in your output rather than by doing seperate BIOS calls.
It also slows your system's screen output quite badly, which is one reason
why workalikes exist - they generally do it faster.

   Is it useful?  As anything other than a gimmick to allow you to have
a multi-coloured DOS prompt, not terribly; since it's an optional device
driver that isn't used by the majority of DOS users, there isn't much
software written that uses it; most software goes with the BIOS or direct
hardware methods, which not only work regardless of whether ansi.sys
is installed, but also work much faster.
-- 
 __            __  _  | ...!nexus.yorku.edu!xrtll!silver |  always
(__  | | |  | |_  |_) >----------------------------------< searching
 __) | |_ \/  |__ | \ | if you don't like my posts, type |    for
_____________________/  find / -print|xargs cat|compress |   SNTF

userAKDU@mts.ucs.UAlberta.CA (Al Dunbar) (12/24/90)

In article <8069.2770a6a0@jetson.uh.edu>, bchs1b@jetson.uh.edu writes:
>
>What is Ansi.sys (and its workalikes, Fansi, Nansi etc)? What do they really
>let you do. I am not a programmer but an application user? Is there something
>useful here that I am missing?
>
>thanks,
>mike benedik
>benedik@uh.edu
 
Further proof that MSDOS "manuals" are not "automatically"
understood!
 
As an application user, you will only need ANSI.SYS if the
application requires it - check the manual. If it is required
and you don't have it loaded, you will see lots of square
brackets, numbers, and semi colons. If it is not required
and you do have it loaded, you won't be able to tell.
 
-------------------+-------------------------------------------
Al Dunbar          |
Edmonton, Alberta  |  "this mind left intentionally blank"
CANADA             |          - Manuel Writer
-------------------+-------------------------------------------
 

tcs@mailer.jhuapl.edu (Carl Schelin) (12/26/90)

In article <1990Dec22.190906.6442@xrtll.uucp>, silver@xrtll.uucp (Hi Ho Silver) says:
>
>In article <8069.2770a6a0@jetson.uh.edu> bchs1b@jetson.uh.edu writes:
>$What is Ansi.sys (and its workalikes, Fansi, Nansi etc)? What do they really
>$let you do. I am not a programmer but an application user? Is there something
>$useful here that I am missing?
>
>   ansi.sys is a device driver that implements some of the ANSI control
>sequences.  It allows you to move the cursor, set colours, etc. by putting
>escape sequences in your output rather than by doing seperate BIOS calls.
>It also slows your system's screen output quite badly, which is one reason
>why workalikes exist - they generally do it faster.
>
>   Is it useful?  As anything other than a gimmick to allow you to have
>a multi-coloured DOS prompt, not terribly; since it's an optional device
>driver that isn't used by the majority of DOS users, there isn't much
>software written that uses it; most software goes with the BIOS or direct
>hardware methods, which not only work regardless of whether ansi.sys
>is installed, but also work much faster.
>-- 
> __            __  _  | ...!nexus.yorku.edu!xrtll!silver |  always
>(__  | | |  | |_  |_) >----------------------------------< searching
> __) | |_ \/  |__ | \ | if you don't like my posts, type |    for
>_____________________/  find / -print|xargs cat|compress |   SNTF

I'm sorry, I must respond the the "not terribly" useful quote above. In '85 
I was working in a shop where I used a language called MegaBasic. It
was very nice (and doesn't work on my current system) and supported 
1 meg of program and data which no other basic at the time supported 
(at least on the PC and as far as I knew). It was very fast BUT had absolutly
no screen control to it. You had to use ANSI.Sys to clear the screen and
add color to any program along with locate for screen positioning.

Also, as a former (can you ever be former) BBS Sysop, I used ANSI escape
sequences for all my screens. 

Finally, many of the finest "free" software that must be cross compilable (i.e.,
UNIX, DOS, VMS, etc) generally use Termcap which uses Ansi escape 
sequences. (Check out NetHack, Moria, Larn, Omega for examples).

And, there is still the fancy prompt that awes the occasional user "how
did you DO that!?!"

Here's mine:

Prompt $e[0m $h$e[0;34;41;1m<Alt+223>$e[37m<Alt+240><Alt+240>
$e[0;34;1m $t$h$h$h $e[32m($e[33m$p$e[32m)... $e[36m

The <Alt+nnn> means to hold the Alt key down and type the numbers on
your keypad. This should get you an American Flag, The time in blue without
the .seconds, the path in yellow between green parens and all your text in
cyan.

Type it exactly as you see it except the <> and it is all on one line.

Carl Schelin
tcs@mailer.jhuapl.edu

silver@xrtll.uucp (Hi Ho Silver) (12/27/90)

In article <1990Dec26.131046.1236@aplcen.apl.jhu.edu> tcs@mailer.jhuapl.edu (Carl Schelin) writes:
$I'm sorry, I must respond the the "not terribly" useful quote above. In '85 
$I was working in a shop where I used a language called MegaBasic. It
$was very nice (and doesn't work on my current system) and supported 
$1 meg of program and data which no other basic at the time supported 
$(at least on the PC and as far as I knew). It was very fast BUT had absolutly
$no screen control to it. You had to use ANSI.Sys to clear the screen and
$add color to any program along with locate for screen positioning.

   Yes, there are programs that require ansi.sys; I've seen a couple of
vi clones that do.  And some such programs may well be technically
advanced.  But they're still few and far between.

$Also, as a former (can you ever be former) BBS Sysop, I used ANSI escape
$sequences for all my screens. 

   Those are handled by the user's comm software rather than by ansi.sys.

$And, there is still the fancy prompt that awes the occasional user "how
$did you DO that!?!"

   Heck, I put a dollar sign in my prompt (to distinguish it from the usual
COMMAND.COM prompt since I'm using my own homemade substitute) and that's
enough to surprise most people :-)
-- 
 __            __  _  | ...!nexus.yorku.edu!xrtll!silver |  always
(__  | | |  | |_  |_) >----------------------------------< searching
 __) | |_ \/  |__ | \ | if you don't like my posts, type |    for
_____________________/  find / -print|xargs cat|compress |   SNTF

tcs@mailer.jhuapl.edu (Carl Schelin) (12/28/90)

In article <1990Dec27.025815.19617@xrtll.uucp>, silver@xrtll.uucp (Hi Ho Silver) says:
>
>In article <1990Dec26.131046.1236@aplcen.apl.jhu.edu> tcs@mailer.jhuapl.edu (Carl Schelin) writes:
>$I'm sorry, I must respond the the "not terribly" useful quote above. In '85 
>$I was working in a shop where I used a language called MegaBasic. It
>$was very nice (and doesn't work on my current system) and supported 
>$1 meg of program and data which no other basic at the time supported 
>$(at least on the PC and as far as I knew). It was very fast BUT had absolutly
>$no screen control to it. You had to use ANSI.Sys to clear the screen and
>$add color to any program along with locate for screen positioning.
>
>   Yes, there are programs that require ansi.sys; I've seen a couple of
>vi clones that do.  And some such programs may well be technically
>advanced.  But they're still few and far between.
>

Well, I'm definately not saying that they are the most advanced technically,
but I wouldn't call them not terribly useful either.


>
>$Also, as a former (can you ever be former) BBS Sysop, I used ANSI escape
>$sequences for all my screens. 
>
>   Those are handled by the user's comm software rather than by ansi.sys.
>
Hmmm, I don't know if that's true for all packages. I had a few calls from
people wondering why they had all these funny arrows on their screen.
Maybe there are a few modem packages that run the ANSI directly to the
screen rather than try to interpret them. It's been a while since I've been 
modeming... 

There are also the people out in BBS land who want to know how to create 
those type of screens. Why else would there be programs like AnsiAnimator
and TDoodle? I saw a 500k file where someone used an AnsiAnimator to 
create a movie. Very strange and definately not one of your more 
technical programs.

>
>$And, there is still the fancy prompt that awes the occasional user "how
>$did you DO that!?!"
>
>   Heck, I put a dollar sign in my prompt (to distinguish it from the usual
>COMMAND.COM prompt since I'm using my own homemade substitute) and that's
>enough to surprise most people :-)
>-- 
> __            __  _  | ...!nexus.yorku.edu!xrtll!silver |  always
>(__  | | |  | |_  |_) >----------------------------------< searching
> __) | |_ \/  |__ | \ | if you don't like my posts, type |    for
>_____________________/  find / -print|xargs cat|compress |   SNTF

I notice you didn't mention the third item at all. I assume that you are familiar
with programs that run on different platforms? 

:):):)

Still smiling

Carl Schelin
tcs@mailer.jhuapl.edu

silver@xrtll.uucp (Hi Ho Silver) (12/29/90)

In article <1990Dec27.181717.6231@aplcen.apl.jhu.edu> tcs@mailer.jhuapl.edu (Carl Schelin) writes:
$Well, I'm definately not saying that they are the most advanced technically,
$but I wouldn't call them not terribly useful either.

   I didn't either.

$>   Those are handled by the user's comm software rather than by ansi.sys.
$Hmmm, I don't know if that's true for all packages. I had a few calls from
$people wondering why they had all these funny arrows on their screen.

   You're probably right, though it's also possible that they were using
another terminal emulation.

$I notice you didn't mention the third item at all. I assume that you are familiar
$with programs that run on different platforms? 

   Yup.  I've actually met one.  They're not terribly common, either.
-- 
 __            __  _  | ...!nexus.yorku.edu!xrtll!silver |  always
(__  | | |  | |_  |_) >----------------------------------< searching
 __) | |_ \/  |__ | \ | if you don't like my posts, type |    for
_____________________/  find / -print|xargs cat|compress |   SNTF

tcs@mailer.jhuapl.edu (Carl Schelin) (01/02/91)

In article <1990Dec29.001119.23278@xrtll.uucp>, silver@xrtll.uucp (Hi Ho Silver) says:
>
>In article <1990Dec27.181717.6231@aplcen.apl.jhu.edu> tcs@mailer.jhuapl.edu (Carl Schelin) writes:
>$Well, I'm definately not saying that they are the most advanced technically,
>$but I wouldn't call them not terribly useful either.
>
>   I didn't either.

Hmmm, I don't have the original post, but my response to your first message
did say:

$I'm sorry, I must respond the the "not terribly" useful quote above. In '85

I quoted your "not terribly" from your original post.

>
>$>   Those are handled by the user's comm software rather than by ansi.sys.
>$Hmmm, I don't know if that's true for all packages. I had a few calls from
>$people wondering why they had all these funny arrows on their screen.
>
>   You're probably right, though it's also possible that they were using
>another terminal emulation.
>
>$I notice you didn't mention the third item at all. I assume that you are familiar
>$with programs that run on different platforms? 
>
>   Yup.  I've actually met one.  They're not terribly common, either.

Really? Which one was it? I have 8 or 9 just sitting here on my computer. In 
fact I'm using a DOS based Windows News Reader that ports to the MAC 
(Realizing, of course, that it has nothing to do with ansi).

There are four games that I can name that port between UNIX/VMS/DOS/MAC/Amiga
and god knows what else (NetHack and all it's versions, Moria, Larn, and Omega).
Zip is available on UNIX and DOS (and others too). ZOO is available on other 
platforms. 


>-- 
> __            __  _  | ...!nexus.yorku.edu!xrtll!silver |  always
>(__  | | |  | |_  |_) >----------------------------------< searching
> __) | |_ \/  |__ | \ | if you don't like my posts, type |    for
>_____________________/  find / -print|xargs cat|compress |   SNTF


Carl Schelin
tcs@mailer.jhuapl.edu