|
From: Antonino D. <ad...@po...> - 2003-03-12 22:41:25
|
On Thu, 2003-03-13 at 02:16, Jon Smirl wrote: > --- Antonino Daplas <ad...@po...> wrote: > > Unless I missed some imported BIOS calls or other > > methods to do this or > > something similar in real-mode... > > You missed something. The address of the VBIOS ROM can > be controlled by writing to the PCI config space. You > can make the ROM appear anywhere you want it to. > > This happens even for the boot video device. > Somewhere very early in the boot the system BIOS > enabled the VBIOS ROM and copied it to C000. This is > the "shadow BIOS" option. > So the steps needed would be: 1. scan for pci devices looking for the vga controller type 2. if 1 is found other than the primary, disable the current controller 3. write to PCI config space of secondary controller the address you want it to appear (ie C000:0000). Can I use other addresses? 4. enable the controller 5. far call c000:0003 6. disable the controller 7. repeat Besides the finer points, did I miss anything obvious? Tony |