From: aml@world.std.com (Andrew M Langmead)
Subject: Re: DVANSI Help needed
Organization: The World @ Software Tool & Die
Date: Sun, 24 Jan 1993 15:53:41 GMT

bergman@panix.com writes:
-I don't seem to be able to load dvansi.com in a window as
-per the manual. Opening a MKS Kornshell shell window (my
-normal environment) and then executing DVANSI.COM promptly
-hangs the machine. No combination of DEVICE.COM statements
-works: using DEVICE DVANSI in the window causes a complaint
-about DVANSI being a block device that must be loaded in my
-config.sys. Various combinations of DEVICE and DVANSI
-statements in my config.sys either lock up the machine,
-usually after appearing to dump the contents of the
-executable to the screen and often producing Exception 13
-errors, or are simply rejected as incorrect statements.
-
-When I use a 
-        DEVICE=c:\qemm\loadhi.sys /r:2 c:\etc\drivers\tansi.sys
-statement in my config.sys to load the ansi driver supplied
-with my vidio card, it apparently load, and MFT reports the
-driver in memory. However, the driver does not appear to be
-available in a DV window. Running a program that requires an
-driver in memory. However, the driver does not appear to be
-available in a DV window. Running a program that requires an
-ANSI driver produces a screen full of control sequences.

The same set up (MKS Shell, tansi driver loaded high)
without DV lets me run this program correctly.

Any suggestions? The manual is very skimpy re. DVANSI, 1
paragraph without an example isn't much help.


I think that your two choices is either to try to get DVANSI to run
(are you sure that MKS Kornshell is the one causing the problem) or to
use DEVICE.COM to load tansi.sys in a window.

The big problem that DESQview has with ANSI.SYS is that it keeps state
of the characters it has seen written to the screen. ("I've seen an
ESCAPE, I've seen a '[', I might do something depending on the next character
I see") Picture what DESQview and QEMM-386 do to this, if another program
is timesliced in between the ESCAPE and the '[', the ANSI driver might not 
see the proper character sequecnce. (or it might wind up seeing a charater
sequence it wasn't meant to.) So since ANSI.SYS is broken under DESQview,
they disable ANSI.SYS, but because ANSI.SYS is needed by some people, the
made the DVANSI.COM TSR, which can be loaded into each window that needs it.
(It still saves state, but being a TSR loaded in an individual window, the
state is saved on a per-window basis.) Later they made DEVICE.COM to
load character based device drivers into an individual DESQview window
(either to save memory, or for other non-re-enterant device drivers)
Note that DVANSI.COM can't be loaded in the CONFIG.SYS or by DEVICE.COM
because it was never intended on being a device driver. The comment
that DEVICE.COM gives about DVANSI being a block device driver and needs
to be loaded into CONFIG.SYS is probably because it can tell that it
is not a character device driver, but assumes that it is a device driver
(bad assumption in this case) and block mode device drivers can only be loaded
in the CONFIG.SYS file.

As I said before, check if MKS Kornshell is causing the problem. (remove
other memory resident programs and device drivers and see if it still
happens, or create a boot floppy which the SHELL= line points to
the Korn shell on your hard drive.)

If that doesn't work, (or even if it does, you might want tansi.sys over
DVANSI) try loading tansi.sys into a Korn shell by the command line using 
DEVICE.COM. Since TANSI is a device driver, it is capable of being loaded
by DEVICE.COM.
-- 
----
Newsgroups: comp.os.msdos.desqview