Posted: Sat Dec 16, 2006 8:26 am
The two alternatives are
1: Virtual 8086 mode
2: Software Emulation
1: Virtual 8086 mode
2: Software Emulation
The Place to Start for Operating System Developers
http://f.osdev.org/
Yes, with VBE 3, you can do it in PMODE. The basic idea is this: you copy all the functions to a location in memory that is read/write, then you set the Pmode bit, switch to 16-bit pmode, and call the functions from the pmode interface. There are specs for the interface online, just google them. Just keep in mind, you need to run in 16-bit pmode to use this, and it will only work on vbe3 supporting cards.Steve the Pirate wrote:Is there no way to do this in protected mode? Like with VBE 3?
I need source code about VBE 3 PM InterfaceReady4Dis wrote:Yes, with VBE 3, you can do it in PMODE. The basic idea is this: you copy all the functions to a location in memory that is read/write, then you set the Pmode bit, switch to 16-bit pmode, and call the functions from the pmode interface. There are specs for the interface online, just google them. Just keep in mind, you need to run in 16-bit pmode to use this, and it will only work on vbe3 supporting cards.Steve the Pirate wrote:Is there no way to do this in protected mode? Like with VBE 3?
Problem is many emulators don't include support for VBE 3, You have a card that has the new extensions available?MarkOS wrote:I need source code about VBE 3 PM Interface
New? From http://www.vesa.org/public/VBE/vbecore3.pdf on the first page:Brynet-Inc wrote:Problem is many emulators don't include support for VBE 3, You have a card that has the new extensions available?
It is old. Strange that so few implements it. The VBE Core 2.0 standard is from november 1994.VESA BIOS EXTENSION (VBE)
Core Functions
Standard
Version: 3.0
Date: September 16, 1998
yesBrynet-Inc wrote:Problem is many emulators don't include support for VBE 3, You have a card that has the new extensions available?MarkOS wrote:I need source code about VBE 3 PM Interface
In a word,the BIOS interface provides us with a uniform abstraction which we can use to access the video without knowing everything implemented on a lower layer,so we don't have to care too much about facing different hardware implementations.JJeronimo wrote:Can you explain why poeple don't set the VESA video mode directly, instead of using the BIOS interface?
JJ
Well...m wrote:In a word,the BIOS interface provides us with a uniform abstraction which we can use to access the video without knowing everything implemented on a lower layer,so we don't have to care too much about facing different hardware implementations.
People do... Hobby OS' don't do it because that would mean having a better device driver interface and writing at least a full driver for there own graphics card. Every card does it differently so the simplest way to do it is to use the BIOS calls or VBE which you can depend upon until you are able to do it directly with the card.JJeronimo wrote:Can you explain why poeple don't set the VESA video mode directly, instead of using the BIOS interface?
JJ
VESA is the company that releases the standards. SVGA refers to virtually any card that can do high resolution modes, and is VGA compatible. SVGA cards themselves are not compatible with each other. They generally only adhere to the VBE standard.JJeronimo wrote: VESA, which is the same as Super VGA (correct me if I'm saying garbage!), is a hardware standard, so shouldn't all the card manufacturers follow the standard and thus have compatible hardware interfaces, just as in VGA?
Ok... You've just undone one of my greatest doubts concerning graphics standards... really, I didn't understand what refered to what!Combuster wrote:VESA is the company that releases the standards. SVGA refers to virtually any card that can do high resolution modes, and is VGA compatible.
But is there any standard for SVGA hardware interfaces that should be followed but is not?SVGA cards themselves are not compatible with each other. They generally only adhere to the VBE standard.
Ok... Thanks...Try googling for "VGADOC" for information about several (S)VGA cards, and see for yourself how different they are.
Yes, there is acceleration only for 2D. With VBE/AFJJeronimo wrote:And... VBE doesn't provide support for 3D acceleration, for example... because of that, if one wants to do 3D accelerated operations on the card (s)he needs to support it directly, right?