For a legacy computer system, a multiple-monitor environment is usually achieved by adding one or more PCI display adapters to the system. However, problems can occur when the multiple-monitor environment includes an onboard PCI display adapter (where the chip is on the motherboard and the ROM is integrated into the system ROM). These problems can include:
| • | The motherboard video is hidden from PCI when another display card is detected in the system. In this case, the motherboard video is disabled and PCI cannot enumerate it. This case is indicated when the motherboard display adapter no longer appears in Device Manager. (Not allowed for Windows Logo Program.) |
| • | Windows 98 cannot read the ROM for a motherboard display device when the BIOS power-on self tests (POSTs) a different display to use as the boot device. This happens if the onboard display ROM is not accessible through the PCI ROM base address register (BAR). PCI add-on card ROM images are always accessible through the PCI ROM BAR. This case is indicated when the motherboard graphics adapter still appears in Device Manager but shows a problem. |
No software solution has been found for the first case. A solution to the second case is described in this article.
When a motherboard video device is found that is active and serving as the boot device, the ROM is read from the typical location in upper memory (starting at C000) and written to a file in the root directory. The file created is Videorom.bin, which is marked system, hidden, read-only. When another display adapter is added to the system, the motherboard video device can still be POSTed by using the ROM image written earlier in the file Videorom.bin.
This workaround for legacy devices has these shortcomings:
| • | Windows 98 must boot at least once with only the motherboard video in the system in order for the ROM image to be created. |
| • | The ROM image read from upper memory might be incomplete. |
Provisions have been made in the Windows 98 operating system for these shortcomings by looking for an existing ROM image on the root directory of the boot drive before using Videorom.bin. This is how it works:
| • | If the motherboard video is found, a search is made for an existing ROM image file called Oemrom.bin, and that file is used if it is found. |
| • | If Oemrom.bin is not found, a search is made for Videorom.bin and that file is used if it is found. |
In addition to fixing the problem described above, this approach has the advantage of allowing the IHV to field upgrade a motherboard video ROM BIOS used in a multiple monitor environment. Notice that the format of Oemrom.bin is a direct binary image of the video ROM, and is not to exceed 64K in size.
Summary:
| • | If you are shipping systems with onboard display adapters that do not work correctly with Windows 98 in a multiple monitor environment, you might be able to work around the problem by shipping your systems with an Oemrom.bin file as described in this article. |
| • | If you are shipping laptops that can be docked, Microsoft recommends that you provide a system setup option to ALWAYS boot the onboard video. This will prevent a scenario in which a laptop is docked and, on booting, a PCI card in the docking station becomes primary. In this scenario, the laptop cannot be undocked because it would require removing the VGA device. |
| • | Microsoft recommends that any system, particularly AGP systems, allow the user to choose the device to boot as the VGA device. This can be done in a system setup program. |
| • | For guidelines that define requirements for ensuring system support for multiple adapters and multiple monitors, see What Are the Logo Program Requirements? |