Discussion:
ANSI.SYS - why driver?
(too old to reply)
muta...@gmail.com
2020-10-09 16:46:01 UTC
Permalink
Why does MSDOS have a DEVICE=ANSI.SYS
to activate the ANSI escape sequences? Why
was it made a driver, instead of just extra
functionality, perhaps signaled by:

ANSI=YES

in the config.sys.

I'm trying to understand when we need to
create drivers and when we need to just
add functionality to the OS.

Thanks. Paul.
Grant Taylor
2020-10-09 17:38:14 UTC
Permalink
Why does MSDOS have a DEVICE=ANSI.SYS to activate the ANSI
escape sequences?
Because the base OS doesn't support ANSI escape sequences.
Why was it made a driver, instead of just extra functionality,
Because the base functionality didn't exist when DOS was created. It
was later /added/ as an /optional/ module (via ANSI.SYS driver) so that
it could be enabled by those that wanted it's support.

Remember, additional functionality requires additional resources. Also
remember that DOS is a resource constrained OS.
I'm trying to understand when we need to create drivers and when we
need to just add functionality to the OS.
Can you add functionality to the (base) OS? Do you have legal access to
the DOS source code? (Most people do not.) Further, can you compile
new versions and distribute it? (I'm betting not.)

Anybody that wants to can create drivers to add functionality to an
operating system that they can't realistically change.
Thanks. Paul.
:-)
--
Grant. . . .
unix || die
muta...@gmail.com
2020-10-10 13:22:43 UTC
Permalink
Because the base functionality didn't exist when DOS was created. It
was later /added/ as an /optional/ module (via ANSI.SYS driver) so that
it could be enabled by those that wanted it's support.
Is MSDOS written with special hooks in the screen
output functions that enable a device driver to hook
into?

It just seems a bit odd that a device driver (designed
to drive alien hardware) is also able to intercept
MSDOS before it does BIOS calls to write to the
screen.

Thanks. Paul.
muta...@gmail.com
2020-10-10 14:05:16 UTC
Permalink
Post by ***@gmail.com
Is MSDOS written with special hooks in the screen
output functions that enable a device driver to hook
into?
Or does the device driver hook into INT 21H and
redirect the DOS screen writes to be handled itself?

Thanks. Paul.
NimbUs
2020-10-12 18:26:18 UTC
Permalink
Post by ***@gmail.com
Post by ***@gmail.com
Is MSDOS written with special hooks in the screen
output functions that enable a device driver to hook
into?
Or does the device driver hook into INT 21H and
redirect the DOS screen writes to be handled itself?
No. ANSI.SYS is just a DOS console driver (aka CON) replacement.
It adds itself to the DOS driver chain upon installation, and
thereafter replaces the standard CON (built-in, part of IO.SYS aka
IBMBIO.COM) completely. It is a standard mechanism of DOS (2+), not
any "special hook".
--
Nim'
Grant Taylor
2020-10-10 17:17:54 UTC
Permalink
Is MSDOS written with special hooks in the screen output functions
that enable a device driver to hook into?
I have no idea.

You might look for one of the purported leaks of the MS-DOS source code
and look through it to find the answer.
It just seems a bit odd that a device driver (designed to drive alien
hardware) is also able to intercept MSDOS before it does BIOS calls
to write to the screen.
Or does the device driver hook into INT 21H and redirect the DOS
screen writes to be handled itself?
I don't know.

My speculation is that there are provisions to allow such things to happen.
Thanks. Paul.
:-)
--
Grant. . . .
unix || die
Bill Cunningham
2020-10-13 11:53:26 UTC
Permalink
Post by ***@gmail.com
Why does MSDOS have a DEVICE=ANSI.SYS
to activate the ANSI escape sequences? Why
was it made a driver, instead of just extra
ANSI=YES
in the config.sys.
I'm trying to understand when we need to
create drivers and when we need to just
add functionality to the OS.
Thanks. Paul.
I miss those old drivers. ansi.sys and cdrom.sys. I have a msdos 3.x copy of dos. Are there any older ones out there? Versions of msdos and drivers?
Grant Taylor
2020-10-13 20:59:25 UTC
Permalink
Post by Bill Cunningham
Are there any older ones out there? Versions of msdos and drivers?
Yes, there are absolutely older versions of MS-DOS / PC-DOS / DR-DOS to
be found in archives scattered all over the Internet.

I do wonder how functional something older than 3.0 will be. I say that
thinking that many things that we take for granted, even in DOS, have a
requirement on 3.<something>.

My understanding is that CD-ROM drivers even use something meant for
networking that was introduced in 3.<something>. (I have long assumed
this to be functionality used for drive letters that don't correspond to
local physical devices.)
--
Grant. . . .
unix || die
Continue reading on narkive:
Loading...