Viktor Pracht wrote:
I just downloaded and read the VESA VBE and VBE/AF specs. Basically, the requirements for us is squeezing more functionality into the same 32 KB of ROM.
Note that's there's no need for the ROM to be only 32K. Historically, a VGA ROM was indeed 32K, but the majority of cards on the market today have a larger ROM. Linux 2.6 will tell you in /proc/iomem:
$ grep -i video /proc/iomem 000a0000-000bffff : Video RAM area 000c0000-000cafff : Video ROM
(2.4 always shows 32K -- it just hardcodes that)
Since we already have to invent something to do text mode and less than 32 bpp in Protected Mode, VBE should be pretty easy to add even in ROM (the specs explicitly mention implementing it as TSR too).
A "TSR" as a term only makes sense for DOS though. Certainly for Linux, you do not want (or can, really, without some gross stuff like limiting the memory linux sees and loading a driver into the hidden bit from your bootloader) load a memory resident driver before the OS. It's going to want to be in ROM.
A problem may be that if we want to be _really_ VGA compatible, then the ROM will already be full.
64K (or even 32K) is not all that tiny, certainly not when it is going to be in assembly language which is the most natural fit for a PC BIOS anyway. Bochs, Plex86 and Qemu use:
http://savannah.nongnu.org/projects/vgabios
which is probably a good start.
VBE/AF defines a low-level 2D hardware abstraction layer, which is supposed to be implemented as a portable 32 bit x86 binary driver. Interesting things are only that filling of trapezoids with flat top and bottom is a possible primitive, and a specification about storing the driver on the card's ROM is supposedly in the works. The list of primitives is also a nice check-list for 2D things we should accelerate.
OT: A cool thing I found in the VBE spec is support for 3D liquid crystal shutter glasses. We can have it for free because we already have generic I/O pins :) Does anybody know how those glasses are controlled (pinout, voltage)?
I'd very much advice to keep gunk like that out. It may have been cool back when we were playing Duke Nukem in DOS, but these days, at runtime only X has called into my VGA BIOS for some hardware information (which this card would provide directly, not via a real-mode BIOS) in quite some time.
vesafb you'll probably want to be able to run, but not doing anything special either, since this card will have its own fb driver. vesafb is VBE 2.0.
Rene. _______________________________________________ Open-graphics mailing list [email protected] http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)
