[comp.os.msdos.programmer] VGA programming

jst@cca.ucsf.edu (Joe Stong) (01/12/91)

Can anyone refer me to some good books or software collections
that include C code for doing direct hardware operations on a VGA?

I have the Norton/Wilton Displays book, and most of the examples are
in assembler.  I don't like the way that book is organized, either.

In particular I need to understand the "drill" necessary to access 
the display memory pages, and all of the crtc register settings necessary
to get the board into 800x600 or 1024x768 mode, WITHOUT using the BIOS
(I'm writing in Xenix, folks).  I got it right for the crtc registers
on a Hercules board, but I'm not even quite sure where to start on
the VGA (too many fiddily registers).

I also have the technical manual from Highland Technology, the
manufacturer of the VEGA VGA (8 bit) that I'm using.  I wasn't able
to understand from it how the "plane" scheme works, and what the
memory maps are in the various modes.  It also appears to gives
general description but not specific register settings for how to
set up for the high res modes.  Part of the problem is that I want
to have both a monochrome display adapter AND the VGA running at
the same time, for text menus, and graphic display, and it appears
that the VGA wants to try to do monochrome emulation, which I need
to disable.

Gee, what ever happened to the old days when someone would design
a I/O devies with a minimum of control registers, and considerations
for non-interference with other devices.  I guess I got raised on
some simple DEC I/O interfaces (that did their own DMA and didn't
try to emulate everything else they had ever built).

Please MAIL responses to me as well as posting, as I have trouble
keeping up with the _volume_ of messages in this section.

     Joe Stong   jst@cca.ucsf.edu

tcs@mailer.jhuapl.edu (Carl Schelin) (01/28/91)

In article <cbc54GO00Vpg84nUYG@andrew.cmu.edu>, gw1e+@andrew.cmu.edu (Gabriel M. Wachob) says:
>
>I just got what seems to be an excellent book on programming VGA
>(including super VGA)... Its called "The Programmer's Guide to EGA and
>VGA" I don't have it here in front of me, but I remember the author's
>name is something like Forester (It began with an F)...
>The book has separate chapters on different super VGA cards, Tseng
>Labs(mine), C&T, Paradise, Video 7, and a couple others....
>Neat book with C and Assembly source code. The thing about programming
>VGA cards is that you often need to use assembly if you want things to
>go quickly enough... Assembly does have its uses...
>(Although, I have found that Turbo C++'s asm inline assembly command
>assembles all the assembly language examples in the book, so this really
>shouldn't be a problem...).
>-gmw

I picked up "The Programmer's Guide to SuperVGA" and I like it too. This
is supposed to be the Volume two to the one above. I have two complaints:
1) is that my ATI board seems to be too new for this book. Maybe I just don't
have the correct one. Mine is an ATI OEM product with ATI's 28800 VLSI and
18810 Dot Graphics something or other but they talk about the 18800 in the
book. 
2) TAsm will not compile the examples they have on disk. The Draw.Exe
demo that is supposed to be for the ATI dies on the fourth screen or so with
little circles in the upper left corner.

Other than these, I think it's a great source of information.

Of course, who am I?

Carl Schelin
tcs@mailer.jhuapl.edu