This article is from the comp.sys.ibm.pc.hardware.video Frequently Asked Questions, by Michael Scott with numerous contributions by others. (v1.0).
While some vendors of video hardware decided to provide support for 8514/a or XGA standards set by IBM, most defined their own 'SVGA' modes. As a result, no common programming interface was available which would allow generic SVGA code to be written. In order for programmers to be able to write code which would work on a wide range of 'SVGA' hardware, VESA (Video Electronics Standard Association) defined a standard interface for SVGA functions. It's more correct title is 'VESA VGA BIOS Extensions' and it incorporates functions which allow a program to determine what video modes (pixel addressabilities and number of colours) and other functions are available and how the video memory is accessed.
Because many vendors already had proprietary extensions to the VGA standard implemented in their hardware, VESA VGA extensions use a software interrupt to access all of the programming routines. This means that a video card vendor can provide a VESA video driver (also called a TSR - Terminate and Stay Resident program) which can fill the role of inter- preter between VESA VGA compliant software and proprietary SVGA hardware. As a result, programmers can now write software that will work on a range of SVGA hardware, taking advantage of more colours and higher pixel addressabilities than are available with VGA. The video modes defined by VESA are:
Mode # Pixel Colours Addressability 100h 640x400 256 101h 640x480 256 102h 800x600 16 103h 800x600 256 104h 1024x768 16 105h 1024x768 256 106h 1280x1024 16 107h 1280x1024 256
Nuts & Bolts
Specifically, the VESA VGA extension provides information and hardware setup to the application program. It has six functions: Function 0 - Return Super VGA Information Function 1 - Return Super VGA mode information Function 2 - Set Super VGA video mode Function 3 - Return current video mode Function 4 - Save/Restore Super VGA video state Function 5 - CPU Video Memory Window Control
These functions are all accessed by placing 4Fh in the AH CPU register, the desired function in the AL register, then generating an interrupt 10h.
While this VESA standard doesn't define how 'accelerated' functions like hardware mouse cursors, BITBLT or typical GUI windowing operations should be accessed, it does provide a common set of instructions for determining information about and programming of higher pixel addressabilities and colour depths for video cards that have a superset of standard VGA functions.
For more information, contact VESA at:
Video Electronics Standard Association 2150 North First Street San Jose, CA 95131-2029 (408) 435-0333 (408) 435-8225 http://www.vesa.org/
 
Continue to: