[comp.os.os2.programmer] How to control VGA registers?

tanith@csd4.csd.uwm.edu (Michael D Kretzer) (01/07/91)

I have a burning desire to use the 256-color modes of my Super-VGA card.
My first goal is simple--to write a program to display graphics in the
320 x 200 - 256 color mode.  Upon taking a delightful journy through my
OS/2 Toolkit manuals, it doesn't seem very simple.  Here are the facts--I have
OS/2 1.1, Extended Edition (my 1.3 update will be in my greedy little
hands by the end of January, I hope)--I know that this version does not 
support any 256-color mode in Presentation manager and to my knowledge in
full-screen mode either.  It seems that one must use the function VioScrLock
to "lock" the screen so one's program can directly modify the screen
buffer after using VioGetPhysBuf.  From there I only see that you then
must set the video mode via the hardware registers and then directly 
manipulate the buffer to display graphics.

Unfortunately, I do not have a copy of the VGA technical reference manual,
so I don't know how to go about this.  First, is attempting to write this
program worth my effort, or does this latest version of OS/2 clear up the
problem totally?  Second, how does one display graphics in 320 x 200,
256-color mode (source code for Microsoft C would be greatly appreciated,
but any other language is fine also).