Hi,
I started converting the VGA bios from the "lgpl vga bios" project ( http://savannah.nongnu.org/projects/vgabios/ ) a couple of years ago. I converted the base code, but did not have time to convert the "VBE" or the "cirrus" code.
qemu uses the lgpl vga bios too, slightly modified version, git tree is at git://git.qemu.org/vgabios.git
I am currently working on a emulated graphic adapter for Xen and I would like to implement a VBE driver for it. This VGA BIOS seems to be a good base for that kind of work. Would that be possible ?
It should work. Ideally, someone would complete the port of the "lgpl vgabios". This involves translating the remaining 16bit assembler to C code and then doing lots of testing on the result.
Just curious: What kind of graphic adapter do you plan to create?
The vgabios+qemu have two different ways to handle VBE support: One is the cirrus emulation, where the vgabios programms the cirrus like real hardware. The other one is the bochs vbe support. That is basically a side channel which allows the bios to program video modes in a very simple way using special I/O ports. All non-cirrus vga cards emulated by qemu (std, vmware, qxl) support that.
Supporting the bochs vbe interface for one more model is just a matter of adding a few lines with the PCI IDs to the vgabios.git Makefile. If you don't want or don't can go this route it is most likely easier to go with the C version in the seabios.git tree than touching the vgabios.git assembly code.
HTH, Gerd