Page 1 of 1
Vesa SetDisplayStart() doesn't work in VMware?
Posted: Sun Feb 11, 2007 10:11 am
by flash
I wrote a video driver with VBE, and I implemeted the 0x4f07 call, I can call this function to set the display start position, for switching video pages.
The function call works well in Qemu and Bochs, but it doesn't work in VMware, it always returns failure except I give it 0 value.
I don't konw why. Does not VMware support this way to change the display start, or Ive something not done?
Posted: Mon Feb 12, 2007 12:11 pm
by Combuster
Scrolling screens (and page flipping, which is an instantiation of it) are an capability of the video card, which might or might not be supported. IIRC VMWare has a rather minimalistic video card and for that reason apparently doesnt support it, while Bochs/QEmu emulate a VGA compatible which does contain that support.
VBE 3.0 spec wrote:As a general case, if a requested Display Start is not available, fail the Function and make no changes
In any case, you should check AX when your bios call returns to see wether everything worked out properly. (maybe there are some other indicators wether this feature is supported or not, but I haven't looked through the specs that much)
Posted: Tue Feb 13, 2007 10:08 am
by ces_mohab
I wrote a video driver with VBE, and I implemeted the 0x4f07 call, I can call this function to set the display start position, for switching video pages.
The function call works well in Qemu and Bochs, but it doesn't work in VMware, it always returns failure except I give it 0 value.
I don't konw why. Does not VMware support this way to change the display start, or Ive something not done?
Personally modes with 256 colors worked only on Vmware while 16-bit and true color didn't work but they worked on Bochs Qemu and MS virtual machine.
Try to use 0x0f07 instead so use banked frame buffer instead of linear frame buffer but i am not sure.
I have a question why you set 3 reserved bits 0x4F07 instead u can use 0x4107
Posted: Tue Feb 13, 2007 10:21 am
by flash
ces_mohab wrote:
I have a question why you set 3 reserved bits 0x4F07 instead u can use 0x4107
The vesa standard and the book "Display-VBE3_Specification" told me to use 0xF07..
Posted: Wed Feb 14, 2007 11:38 am
by ces_mohab
flash wrote:ces_mohab wrote:
I have a question why you set 3 reserved bits 0x4F07 instead u can use 0x4107
The vesa standard and the book "Display-VBE3_Specification" told me to use 0xF07..
from vbe3 standards:
d0-d8 mode no.
d9-d12 reserved
so only 9 bits are avaliable.
mode: 0x107 for 1280*1024*256.
Posted: Wed Feb 14, 2007 3:17 pm
by Combuster
AX=4F07 designates a VESA function, not a video mode...