----------104F00----------------------------- INT 10 - VESA SuperVGA BIOS - GET SuperVGA INFORMATION AX = 4F00h ES:DI -> 256-byte buffer for SuperVGA information (see below) Return: AL = 4Fh function supported AH = status 00h successful 01h failed SeeAlso: AX=4F01h Format of SuperVGA information: Offset Size Description 00h 4 BYTEs signature ('VESA') 04h WORD VESA version number 06h DWORD pointer to OEM name 0Ah 4 BYTEs capabilities 0Eh DWORD pointer to list of supported VESA and OEM video modes 12h 238 BYTEs reserved ----------104F01----------------------------- INT 10 - VESA SuperVGA BIOS - GET SuperVGA MODE INFORMATION AX = 4F01h CX = SuperVGA video mode ES:DI -> 256-byte buffer mode information (see below) Return: AL = 4Fh function supported AH = status 00h successful 01h failed SeeAlso: AX=4F00h,AX=4F02h Format of mode information: Offset Size Description 00h WORD mode attributes bit 0: mode supported bit 1: optional information available bit 2: BIOS output supported bit 3: set if color, clear if monochrome bit 4: set if graphics mode, clear if text mode 02h BYTE window A attributes bit 0: exists bit 1: readable bit 2: writable bits 3-7 reserved 03h BYTE window B attributes (as for window A) 04h WORD window granularity in K 06h WORD window size in K 08h WORD start segment of window A 0Ah WORD start segment of window B 0Ch DWORD -> FAR window positioning function (equivalent to AX=4F05h) 10h WORD bytes per scan line ---remainder is optional for VESA modes, needed for OEM modes--- 12h WORD width in pixels 14h WORD height in pixels 16h BYTE width of character cell in pixels 17h BYTE height if character cell in pixels 18h BYTE number of memory planes 19h BYTE number of bits per pixel 1Ah BYTE number of banks 1Bh BYTE memory model type 1Ch BYTE size of bank in K ----------104F02----------------------------- INT 10 - VESA SuperVGA BIOS - SET SuperVGA VIDEO MODE AX = 4F02h BX = mode bit 15 set means don't clear video memory Return: AL = 4Fh function supported AH = status 00h successful 01h failed SeeAlso: AX=4F01h,AX=4F03h Values for VESA video mode: 00h-FFh OEM video modes (see AH=00h) 100h 640x400x256 101h 640x480x256 102h 800x600x16 103h 800x600x256 104h 1024x768x16 105h 1024x768x256 106h 1280x1024x16 107h 1280x1024x256 108h 80x60 text 109h 132x25 text 10Ah 132x43 text 10Bh 132x50 text 10Ch 132x60 text ----------104F03----------------------------- INT 10 - VESA SuperVGA BIOS - GET CURRENT VIDEO MODE AX = 4F03h Return: AL = 4Fh function supported AH = status 00h successful 01h failed BX = video mode (see AX=4F02h) SeeAlso: AX=4F02h ----------104F04----------------------------- INT 10 - VESA SuperVGA BIOS - SAVE/RESTORE SuperVGA VIDEO STATE AX = 4F04h DL = subfunction 00h get state buffer size Return: BX = number of 64-byte blocks needed 01h save video states ES:BX -> buffer 02h restore video states ES:BX -> buffer CX = flags for states to save/restore bit 0: video hardware state bit 1: video BIOS data state bit 2: video DAC state bit 3: SuperVGA state Return: AL = 4Fh function supported AH = status 00h successful 01h failed ----------104F05----------------------------- INT 10 - VESA SuperVGA BIOS - CPU VIDEO MEMORY CONTROL AX = 4F05h BH = subfunction 00h select video memory window DX = window address in video memory (in granularity units) 01h get video memory window Return: DX = window address in video memory (in gran. units) BL = window number 00h window A 01h window B Return: AL = 4Fh function supported AH = status 00h successful 01h failed SeeAlso: AX=4F06h,AX=4F07h,AX=7000h/BX=0004h ----------104F06----------------------------- INT 10 - VESA SuperVGA BIOS 1.1 - GET/SET LOGICAL SCAN LINE LENGTH AX = 4F06h BL = function 00h set scan line length CX = desired width in pixels 01h get scan line length Return: AL = 4Fh if function supported AH = status 00h successful 01h failed BX = bytes per scan line CX = number of pixels per scan line DX = maximum number of scan lines Notes: if the desired width is not achievable, the next larger width will be set the scan line may be wider than the visible area of the screen this function is valid in text modes, provided that values are multiplied by the character cell width/height SeeAlso: AX=4F01h,AX=4F05h,AX=4F07h ----------104F07BH00------------------------- INT 10 - VESA SuperVGA BIOS 1.1 - GET/SET DISPLAY START AX = 4F07h BH = 00h (reserved) BL = 00h set display start CX = leftmost displayed pixel in scan line DX = first displayed scan line = 01h get display start Return: BH = 00h CX = leftmost displayed pixel in scan line DX = first displayed scan line Return: AL = 4Fh if function supported AH = status 00h successful 01h failed Note: this function is valid in text modes, provided that values are multiplied by the character cell width/height SeeAlso: AX=4F01h,AX=4F05h,AX=4F06h ----------104FFF----------------------------- INT 10 - VESA SuperVGA BIOS - Everex - TURN VESA ON/OFF AX = 4FFFh DL = new state (00h off, 01h on)