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/