When I saw that Menuet OS (http://www.menuetos.org/) could support 1024x768 mode, I wondered how it was done. From what I understand, while VGA was standardized, SVGA never was. So when you made something that needed SVGA access, you would need to do videocard specific actions. Presumably an amateur OS dev doesn't want to go out of his/her way to support numerous cards. I guess they use VESA... How does that work?

If an amateur OS dev chooses to go VGA, what are some resources you can recall off hand? I know one can do a net search, but it's real nice to avoid that :-)
Posted on 2004-10-01 20:44:24 by Al_Leitch
Vesa Bios Extensions (VBE) are the primary source of universal access to VGA/SVGA chipsets. The chipsets themselves are just like any majorly manufactured product, they have their own little quirks. Quite a few, thankfully, at least support VBE.

There a few ways to access VBE. They are essentially extensions of the BIOS and thus are Real Mode (16-bit) interrupt vector subroutines. To access them you will have to be in Real Mode, Virtual 8086 Mode, or "Unreal" Mode in order to access VBE routines.

A fourth option is to use the VBE3 interface. The upside is you don't have to go into Real/V8086/Unreal Mode in order to access Vesa, the downside is the Video Card has to support the VBE 3.0 Interface. Search Vesa's Website for more information.

Any further work done would have to involve a individual chipset driver. In the case of further OS development, individual drivers are preferable but full hardware specs and useful technical documentation are rarely released for anything less than a commercial reason. If you can locate a source, utilize it.
Posted on 2004-10-03 07:51:48 by SpooK
For those who don't want to spend too much time developing video core of system, it's possible to use Scitech SNAP (http://scitechsoft.com/products/dev/sdk_download/snap_sdk_download.html)
Posted on 2004-10-03 13:08:18 by arafel