CHECK_HIRES_MODE (Function 35)

Call With

AL: Contains the Interrupt 10h video mode.

EBX: Contains the VM handle to inquire about.

EBP: Points to the Windows VM's Client Registers.

Return Values

Save everything that you use. CY returned means that the VM is in a hi-res mode. NC returned means that the VM is in a standard VGA mode.

Remarks

In many cases, a hi-res video BIOS does not indicate that it is running in a hi-res mode except by reading states contained in extended registers. For example, the BIOS data area of a VM (at virtual address 0:449H) might indicate that the VM is in VGA mode 3 (80x25 text mode) while the hardware is actually in 1024x768 graphics mode. Therefore, whenever the Main VDD needs to know if a VM is running in hi-res mode, it checks first for a VESA mode, then for an Interrupt 10h BIOS mode above 13h, and then queries the mini-VDD to see if it is running a hi-res mode.

If you determine whether or not you are running in a hi-res mode by looking at the ROM BIOS mode number at 0:449H, you should use the value passed in AL rather than reading 0:449H yourself since Far East Windows changes the data passed in AL to compensate for Japanese text modes 72H and 73H. If the Main VDD sees that Japanese Windows 95 is running, it passes these modes as modes 02H and 03H instead of 72H and 73H. By using the data in AL, you can avoid "false readings" of hi-res mode in Japanese Windows 95

See the ATI mini-VDD for a sample of how this routine works.