[pmmail-list] Display Drivers (was Re: Any thought of developing...)

Tim Roberts pmmail-list@blueprintsoftwareworks.com
Thu, 26 Sep 2002 10:30:31 -0700


On Thu, 26 Sep 2002 09:59:55 +0100, Brian Morrison wrote:

>On Thu, 26 Sep 2002 08:28:00 +0100 (BST), Simon Bowring wrote:
>
>>On Wed, 25 Sep 2002 08:49:01 +0100, Brian Morrison wrote:
>>
>>>Although I've never understood why, drivers simply process blocks of
>>>pixels don't they, which by their very definition are arbitrary in
>>>nature.

Not really.  Most display driver interfaces include things like "draw line", 
"draw rectangle", "draw polygon", "draw arc", "draw dotted line", "fill 
path", "render text", with various mixing modes, line styles, patterns, 
clipping, and colors.  There are lots of ways to get it wrong, especially 
when the interface is as rich as the OS/2 PM model.

>>OS/2 display drivers used to use a parrticularly complicated software
>>model and were very hard work to develop and debug, ...
>
>OK, I'd always wondered about this, but I think now that I can see what
>you're saying. I certainly find that XFree86 video is a lot better than
>OS/2 was even quite recently (my OS/2 box died a few weeks ago and I
>have not resurrected it, so I think that will be the end of OS/2 for me
>and I am rather sad but these things happen) once one has sorted out
>the snags with recent hardware (Thanks Tim for the Savage driver
>patches!)

Here are some interesting data points for you.

The current Savage driver for XFree86 is about 9,000 lines of C.

The very first Windows display driver I worked on was an 8514/A driver for 
Windows 3.0.  It was about 30,000 lines of x86 assembler.

The very first OS/2 PM driver I did was also for the 8514/A.  It was 150,000 
lines of assembler.  "Complicated" is not an overstatement in any way...

--
- Tim Roberts, timr@probo.com
  Providenza & Boekelheide, Inc.

- pmmail-list - The PMMail Discussion List ---------------------------
To POST to the list, send your message to:
pmmail-list@blueprintsoftwareworks.com

To UNSUBSCRIBE, send a message to mdaemon@bmtmicro.com 
with the first line of the message body being...
UNSUBSCRIBE pmmail-list@blueprintsoftwareworks.com
---------------------------------------------------------------------