Vesa SetDisplayStart() doesn't work in VMware?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
flash
Member
Member
Posts: 29
Joined: Sun Feb 04, 2007 6:33 am

Vesa SetDisplayStart() doesn't work in VMware?

Post 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?
User avatar
Combuster
Member
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:

Post 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)
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
ces_mohab
Member
Member
Posts: 77
Joined: Wed Oct 18, 2006 3:08 am

Post 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 :?:
To write an OS you need 2 minds one for coding and other for debugging.
flash
Member
Member
Posts: 29
Joined: Sun Feb 04, 2007 6:33 am

Post 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..
User avatar
ces_mohab
Member
Member
Posts: 77
Joined: Wed Oct 18, 2006 3:08 am

Post 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.
To write an OS you need 2 minds one for coding and other for debugging.
User avatar
Combuster
Member
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:

Post by Combuster »

AX=4F07 designates a VESA function, not a video mode... :roll:
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
Post Reply