[Open-graphics] From PCI to VGA registers
Michael Meeuwisse
mickeymeeuw at gmail.com
Wed Aug 8 17:12:27 EDT 2007
Hello all,
I'm trying to get a better picture of everything that's needed for a
video card, so I can hopefully help out in the near future with well,
something. I'm willing to document a whole lot of things (as soon as
I understand it myself).
Right now I convinced myself I 'get' how PCI works, but right after
that I'm stuck. I'm hoping somebody can answer (some of) the
following questions;
a) How do plain VGA registers (lots of documentation talks about
things like address 3B4h) get 'mapped' to the correct PCI device? Is
address 3B4h in C/BE#'s 'I/O Space', 'Memory Space', or some added
fields to the configuration space?
b) If I plug in a PCI device which identifies with Base Class 03h,
Sub Class 00h and Interface 00h, will the PCI BIOS and/or 'main' BIOS
use this automagically or is some action from the PCI cards' point of
view required? How tightly is this coupled with question a? Do I (the
PCI card) need to request any mapping?
c) What's all this talk about VGA BIOS? Where is it located
(motherboard or PCI card) and if this contains code which is executed
by any other BIOS calls and/or interrupts, what does it (as a bare
minimum) need to support?
d) All registers seem to be explained, but I can't figure out how you
switch the graphics mode. Every document seems to say 'just switch to
mode 3', but from a PCI card perspective, how is this done? Is this a
specific register? VGA BIOS instruction?
That were the more fundamental questions for now, I got a few 'less
tricky' ones as well :)
d) How is OGD1 doing this whole VGA BIOS thing, and why can't I find
anything of it in the CVS?
e) Is there a movie available of OGD1 working at OSCON? Really
curious, that's all. :)
Thanks!
Mike
www.wacco.mveas.com
More information about the Open-graphics
mailing list