[comp.windows.ms] Programming Palettes in Win 3.0

papa@pollux.usc.edu (Marco Papa) (08/18/90)

A Microsft source told me that Palettes are "programmable" ONLY with drivers
and hardware that support 256 colors  (or more).  This seems to be quite
restrictive considering that VGA can really have a huge palette (256K). 
Now the question comes up:  is this an "inherent" misfeature of
Windows, or could somebody write a 16 color VGA driver, in which the
16 colors CAN be changed by changing the system palette?

-- Marco
-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
"Xerox sues somebody for copying?" -- David Letterman
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

kensy@microsoft.UUCP (Ken SYKES) (08/20/90)

In article <26680@usc.edu> papa@pollux.usc.edu (Marco Papa) writes:
>A Microsft source told me that Palettes are "programmable" ONLY with drivers
>and hardware that support 256 colors  (or more).  This seems to be quite
>restrictive considering that VGA can really have a huge palette (256K). 
>Now the question comes up:  is this an "inherent" misfeature of
>Windows, or could somebody write a 16 color VGA driver, in which the
>16 colors CAN be changed by changing the system palette?

It should be possible to write a palette-based 16 color driver but it is
questionable whether one would want to do this.  Remember that there are
reserved colors that windows uses to draw windows, icons, etc.  In order to
actually set the colors you would also have to issue an escape saying that
you are taking over the entire palette - this is a very unsocial thing to 
do.  And after all of this you would have 14 palette entries to work with
(windows keeps two for b/w.)  These would have to be shared by all the
palette apps and your main windows will look cruddy most likely.  A 16
color palette just doesn't give you too much breathing room.  
A move intermediate solution is to change the driver default colors to
something more specialized, say all grey scales for instance.  This will
allow windows to run (although the window colors will still be messed up)
but you get some interesting results.  This would require the DDK to do
this or some creative NORTONing in the .drv file ;-)

Hope this answers your question.

Ken Sykes
Disclaimer: These opinions are mine, all mine!