Fw: Device drivers

Chris Hanson chanson@mcs.com
Fri, 2 May 1997 01:48:21 -0500

At 12:05 AM -0500 5/2/97, Marcus G. Daniels wrote:
>>>>>> "ET" == Emergent Technologies Inc <emergent@eval-apply.com> writes:
>ET> If we wrote the appropriate supporting code, we could use the
>ET> Windows device drivers directly and get the hardware manufacturers
>ET> to write device drivers for us for free.
>And these hardware manufacturers provide source code?

What I think Emergent's saying you need to do is make LispOS look as much
like the Win95/NT4[1] graphic driver architecture to the video card as
possible.  That way, the card thinks it's runnig on Win95 or NT4 and all
our OS needs is the proper code in its Intel-side[2] driver architecture to
make us look like Win95.

Isn't there a VESA standard that most Super VGA video boards follow,
though?  Why not just support that under our own display driver
architecture, along with one of the popular Ethernet cards and IDE to
start?  Shouldn't that cover the 90% case and obviate the need for Unix
underneath if you don't want to run Unix apps side-by-side with LispOS ones?

386BSD 0.0 initially supported Adaptec 1542 SCSI controllers, a 386 with
387 coprocessor, and a couple other specific things.  This was back when
hardware was expensive and it *still* took off.

[1] Pick whichever one has a more stringent architecture that would require
us to provide less of an API.  For example, it was pointed out that a card
driver in XFree86 is pretty free to make any Unix system call; this means
that we'd have to implement all of Unix. PCI card drivers on the Mac, on
the other hand (from what I gather), have a restricted set of operations
they can perform so it'd be easier to clone the API for use in a non-MacOS
operating system.

[2] Since I'm a Mac weenie mostly, at some point I think it'd be cool to
try a version to run on some sort of PowerPC hardware as well.  I'm sure
the Alpha-lovers will want their chance too.  Of course, that depends on
compilers and device drivers *after* the rest of the OS is done...