VESA Support

The Windows 95 VDD now has built in support for running VESA hi-res mode applications full-screen. If your mini-VDD allows it, the user can press ALT-TAB and switch away from the VESA hi-res mode application back into Windows or another MS-DOS window. Your mini-VDD can also support proprietary hi-res modes for hi-res applications that have drivers for your hardware. As part of your testing effort, you should obtain games and other applications that run in VESA hi-res modes.

The Main VDD calls helper functions that your mini-VDD hooks out. If your mini-VDD has not hooked out a helper function (or if it fails the call), then the Main VDD will attempt to make the appropriate VESA calls to accomplish the tasks that it needs to (such as changing banks, getting the amount of VRAM on your card, etc.). You should implement as much VESA support in your mini-VDD as possible since this will assure stability when running VESA hi-res mode applications under Windows 95.

You can implement all the VESA support entirely in your mini-VDD. Doing so will cause VESA applications to run more efficiently since all of the VESA support is done at Ring 0. You can expect a 20% speed increase by implementing VESA functionality in your mini-VDD over using a real mode VESA driver.

Following are the VESA functions you can implement in your mini-VDD:

CHECK_HIRES_MODE
CHECK_SCREEN_SWITCH_OK
GET_BANK_SIZE 
GET_CURRENT_BANK_READ
GET_CURRENT_BANK_WRITE
GET_TOTAL_VRAM_SIZE
POST_HIRES_SAVE_RESTORE
PRE_HIRES_SAVE_RESTORE
SET_BANK
SET_HIRES_MODE
VESA_CALL_POST_PROCESSING
VESA_SUPPORT