ROM Chips with BIOS
BIOS can be put on the hardware device itself. Many new add-on boards such as display adapters, network interfaces, and sound cards have their own on-board ROM chip. Since the system BIOS doesn't have a clue about how to talk to the device, this card brings its own BIOS.
Loading Device Drivers
Did you ever wonder why (almost) every newly purchased device comes with an installation disk? Did you ever notice the line(s) DEVICE= in the CONFIG.SYS file (a text file found in the root directory of the hard disk drive) or how often a program writes information to Windows 98 or 2000 Registry?
Using device drivers is the most popular way to provide BIOS support for hardware. A device driver is a program that acts as an interface between the operating system and the control circuits that operate the device. For example, Windows has "generic" code that opens a file, but the driver for the disk drive takes care of low-level tasks like positioning the read head, reading or writing blocks of data, and so on. Thus, applications programmers don't usually have to worry about these details and can assume that any hardware supported by a device driver will work. Every time the computer is booted up, the CONFIG.SYS file is read and the device drivers are loaded from the hard disk drive into RAM.
Some examples of device drivers in CONFIG.SYS are:
Loading device drivers in CONFIG.SYS is a requirement for machines running MS-DOS. The Windows 95, 98, and 2000 operating systems have their own drivers that are loaded as part of startup. (Drivers are covered in more detail in "Software: MS-DOS and Windows 3.x," and "Windows 95 and Beyond.") Occasionally, drivers become outdated or have problems. You can obtain new drivers directly from the device manufacturer (frequently from their Web sites).
Even hardware that installs without a setup disk can be changing the registry if it is a Plug and Play device that is recognized by the operating system. Erratic problems can occur if a device is improperly identified. Under Windows 95, 98, or 2000, check under the System section of Control Panel to identify possible conflicts.