From: Jon S. <jon...@ya...> - 2003-03-12 23:36:34
|
--- Antonino Daplas <ad...@po...> wrote: > 1. scan for pci devices looking for the vga > controller type BIOS provide this via INT for find-pci-device-by-class = 3 > 2. if 1 is found other than the primary, disable > the current controller Must disable VGA ports. ROM should already be disabled. The reset program I sent you had the code for doing the disable properly. You need to poke some output ports. No need to diable primary ROM it is not enabled. C000 is a copy of it. > 3. write to PCI config space of secondary > controller the address you > want it to appear (ie C000:0000). Can I use other > addresses? The ROM will need to appear in an address space hole. Look in your BIOS for where it is leaving a hole in the 1MB. Map the VBIOS into the hole and then copy it to C000. The PC has RAM mapped to C000 so you can't map the ROM there. I believe there is a standard place for this hole probably E000 or A000 but I would need to reboot to look. > 4. enable the controller > > 5. far call c000:0003 This will set up INTs to work on secondary controller. Now call INT to get EDID data and stick it somewhere FB can find it. > 6. disable the controller > > 7. repeat 8) Move the default one back and copy it's ROM back. You will also need to fix up the INT 10 vectors to point to the correct entry points for the primary ROM. The reset code did this too. > > Besides the finer points, did I miss anything > obvious? > > Tony > ===== Jon Smirl jon...@ya... __________________________________________________ Do you Yahoo!? Yahoo! Web Hosting - establish your business online http://webhosting.yahoo.com |