"Ronald G. Minnich" wrote:
My question to you: if I enable the address/IO bits to enable 'VGA', and then I do VGA-style commands to the card, will the card initialize or sit there and do nothing?
Is there really no way short of calling the video bios to init the card?
Each video card has a _lot_ of knowledge stored in the video BIOS.
When a card is made, an OEM takes a video chip and sticks it on their board. The only way for the chip to know how to correctly access board memory, and other crucial details, are stored in the video BIOS.
The rule is: if you do not init video BIOS, then you must init the video on a per-chipset basis (ie. no generic VGA)
Next question then: what's the offset in video bios of the init routine, or how do you find it, and what's it expect? working stack? return address in bx? Does it walk the PCI bus to find itself, and then init itself? what should I expect?
Read the PCI spec on ROMs. Basically it can be an x86 code image, Open Firmware code image, or something else.
You will always have the problem of having to deal with x86 code images in expansion ROMs. Video BIOS is only one example.