The EGA, VGA and SuperVGA

When the IBM PC and compatibles gained market and became affordable for home applications, the video boards evolved to support a better resolution and (now much more important) a wider number of colors.

Several board standards tried to emerge, some featuring graphics co-processors, others thought for low cost gaming products, but again an IBM product became the new standard: the Enhanced Graphics Adapter.

EGA already had a graphics mode page at segment $A000, capable of 640x350 pixel in 16 colours, plus a CGA compatible color text mode featuring a well readable font.

Then VGA came, still keeping the graphics page at $A000 and though for the highest resolutions possible in a single segment of 64K: 640x480x16 and 320x200x256.  To go even further the SuperVGA boards used a common trick of those days: memory paging.  The same 64K segment was remapped via proprietary I/O mechanisms onto different locations of the graphics memory: the software programmer had to update the display in split slices.

Since then, no one succeded to impose a new standard for the video cards, and the brands had to provide the video drivers for their boards.  The most common software products supported were Autocad, the RIX softworks VGA paint tool, Windows.

Two generic drivers were also normally available: an IBM 8514 emulator and VESA.   The 8514 emulation was in general good but slower than the real hardware.  VESA stands for Video Electronics Standards Association, and had the goal to permit the developers to activate and manage the paging of every SuperVGA board in the same way.

My first SuperVGA was an OAK 077 and the drivers shipped in 1992 didn't include a VESA driver, so I decided to write my own modifying the OAK 067 one.    Later I got an official version from a local BBS, but mine was still better under some aspect, so here it is.   It doesn't check if your card is really an OAK 077, so it will work also on all the other cards from OAK, but for the higher resolutions.

The extra mode 6Ah, 800x600x16, should run on the OAK 067 too.