Page 1 of 1

VBE 3 and PMODE

Posted: Sun Jul 30, 2006 6:13 am
by AndrewAPrice
This question must be as popular as the 'why does my OS reboot when I enable interrupts' question..

After looking through the VESA documentation and several websites and newsgroups, I have not been able to find anything on how to gaining access to VBE 3 functions from protected mode.

I have VBE 2 switching screenmodes before entering pmode in my kernel, but let's just say from the point of curiousity our kernel enters in protected mode and we cannot use a Virtual 8086 call or switch back to real-mode. Would it be possible to gain access to VBE3?

I have read several claims that it's possible, yet nobody has given an examples or said how.

Posted: Sun Jul 30, 2006 8:23 am
by urxae
http://www.vesa.org/Public/VBE/vbe3.pdf page #21 (page 29 of the pdf) and further should be of help.

Basically you need to set up some 16-bit segments, search the BIOS for a certain data block, modify it, and call an address it contains with a 16-bit CS.
From then on, you should be able to call another address to access VBE functions.

Unfortunately, I'm not sure if I got all that right since I haven't been able to run code on anything that actually supports this :(.

Posted: Sun Jul 30, 2006 3:50 pm
by Dex
You still need to go to 16bit pmode, so its not worth the effort, i have never seen or heard of anyone doing it, i use the going back to realmode and back method and it works fine.

Posted: Tue Aug 01, 2006 2:34 am
by Toaster
or you use the vm86, like i do