;
; 1998-2000 Piotr Ulaszewski
;

	Short info about porting the page flipping system to any other 3d or 2d
 drawing engines that support virtual screen:


	I wrote this doc to ease the development and use of high speed VESA
 drawing interface.

	What you need to do in your module is as simple as:
		1. Call CheckVESA only once at the begining of your program.
		2. Call InitVESAMode every time you want to set a VESA mode.
		3. Call SetVBEMode to set the previously inited VESA mode.
		4. Call CloseVBEMode if you want to switch to another mode.

	Concerning the virtual screen:
 Important memory locations that hold crucial info are defined as follows.
 -------------------------------------------------------------------------
 You must declare them as external in your module:
 -------------------------------------------------

	VBE_VirtualScreenAddress - This is a dword value that points to
                                 the start of your current virtual screen.
                                 Under VESA 1.2 or when there is only one
                                 page available this value is constant.
                                 Under VESA 2.0 with Linear Frame Buffering
                                 this value is changed when a flip occurs.
	
	VBE_FirstByteBeyondVirtualScreen - This is the first byte beyond your
                                         current virtual screen and it is
                                         changed in the same way as the
                                         VBE_VirtualScreenAddress pointer.

	VBE_XResolution - Your current X resolution.  It is changed when you
                        switch to another VESA mode.

	VBE_YResolution - Your current Y resolution.  It is changed when you
                        switch to another VESA mode.

	VBE_BitsPerPixel - Your current bits per pixel (4/8/15/16/24/32)
                         It is changed when you switch to another bits per
                         pixel field mode.

	VBE_CurrentPageMappingSize - the difference between the start and the
                                   end of virtual screen.

	VBE_TotalMappingSize - total video RAM in bytes.

	VBE_TotalMemory - this is a word value and it describes the size of
                        video RAM in Kb.

	VBE_BytesPerScanLine - the length in bytes of one scanline.

	VBE_LFBAvailable - byte value, when 1 the Linear Frame Buffering
                         is available, and therefore double buffering.

	VBE_PMODEInterface - byte value, when 1 the fast protected mode
                           interface for VESA functions is available.

