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?
Vesa SetDisplayStart() doesn't work in VMware?
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
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.
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)VBE 3.0 spec wrote:As a general case, if a requested Display Start is not available, fail the Function and make no changes
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.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?
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
To write an OS you need 2 minds one for coding and other for debugging.
so only 9 bits are avaliable.flash wrote:from vbe3 standards: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..d0-d8 mode no.
d9-d12 reserved
mode: 0x107 for 1280*1024*256.
To write an OS you need 2 minds one for coding and other for debugging.