Hi,
zack wrote:could it be that vmware don't support 32bit color?
but i've also tested 0x11A - 1280*1050*24... also bad sollution..
what make vmware different than the others?
VMware doesn't support 32 bit colour - you have to use 24 bit colour instead.
IMHO your OS should detect what is supported and use that (some real video cards don't support 32 bit colour either, just like VMware).
I also wouldn't assume that the modes 0x112, 0x115, 0x118, etc correspond to those video modes - IIRC this stopped being a "requirement" for VBE 2.0 and later.
The "correct" method is to get a list of supported video mode numbers, then for each supported video mode check what resolution, colour depth, etc it is, and select the video from that.
Specifically, start with:
http://www.ctyme.com/intr/rb-0273.htm
Then check each mode with:
http://www.ctyme.com/intr/rb-0274.htm
And if a suitable mode is supported, you'd use:
http://www.ctyme.com/intr/rb-0275.htm
But it's also possible to write generic code that handles all video modes, based on the information from "Get Mode Information" function. For e.g:
[tt]19h BYTE number of bits per pixel
1Fh BYTE red mask size
20h BYTE red field position
21h BYTE green mask size
22h BYTE green field size
23h BYTE blue mask size
24h BYTE blue field size[/tt]
This can be a good idea, because some unusual video cards use "BGR" instead of the much more common "RGB". I'd at least use these fields to make sure a video mode is "RGB" before allowing it to be selected.
Cheers,
Brendan