Windows Support Menu
Plug and Play BIOS Functionality and Windows 9X
A Plug and Play computer system consists of: a Plug and Play BIOS Version 1.0a, Plug and Play Hardware, and a Plug and Play operating system. The role of Plug and Play computer system is to allow the computer’s BIOS, hardware components and operating system software (in this case, Windows “95”) to automatically install, configure, and use any combination of cards, devices and configuration environments. To qualify for the Windows “95”-Compatible Logo, one of the requirements for the computer is a Plug and Play BIOS ver. 1.0a. The Plug and Play BIOS addresses two areas that are very important in setting up a conflict-free or Plug and Play ready system, they are: Resource Management and Run-time Configuration.
The Plug and Play BIOS helps ensure that system resource conflicts, during the system’s bootup, are resolved so that the operating system can launch successfully. The system resources include IRQs, DMA, Input/Output and memory addresses. Non-Plug and Play systems, that do not have uniform interfaces for storing and retrieving resource information, can experience frequent conflicts because the resources have been over-allocated by many different devices.
Besides resolving conflicts with systemboard-level devices, the Plug and Play BIOS may also resolve conflicts with Plug and Play cards during the boot process when you first power-on the computer. Once the system has completed the boot process, configuration/control of the Plug and Play devices is transferred from the BIOS to the operating system.
The Plug and Play BIOS also provides configuration services even after the POST process has been completed - also known as Run-time Configuration or Services.
Run-time services is a new Plug and Play component that has been incorporated into the system’s BIOS. This now allows for resources to be allocated dynamically even after the operating system has been loaded. The operating system can change the resource allocation and configure the devices to prevent conflicts and provide “run-time” configuration.
Plug and Play BIOSs, through the Run-time Services, can also provide “dynamic event management” or the configuration of devices dynamically as they are installed - such as the insertion of a laptop into its docking station - which can reconfigure the system automatically.
BIOS Functionality - Ensuring Plug and Play BIOS Compliance:
Required functions of a Plug and Play BIOS depend on your system characteristics such as whether your platform is mobile or not, whether it a desktop, has an ISA bus, and so forth. To enable the interaction of a Plug and Play BIOS with the operating system, you must support the $PnP installation check structure, and return FUNCTION_NOT_SUPPORTED for any function defined in the Plug and Play BIOS specification which isn’t supported.
Information on System Board Devices:
Some functions of the Plug and Play BIOS allow reporting of devices on the motherboard along with the resources they use, and changing those resource allocations if there is such support in the underlying hardware. Therefore if your system has devices on the motherboard that use resources (either static or configurable), you must support functions 0, 1, and 2 (Get Number, Get, and Set System Device Node)
Information on ISA Bus Support
The Plug and Play BIOS also has specific support for the ISA bus, which may contain Plug and Play ISA cards. (See “Microsoft Windows and the Plug and Play Framework Architecture” for more details about Plug and Play ISA cards.) Therefore if your system has an ISA bus, the BIOS is responsible for isolating and initializing any Plug and Play ISA cards required to boot. You must also support the Plug and Play BIOS function 40h (Get Plug and Play ISA Configuration Structure).
Information on Dynamic Events
The remaining area of required support is necessary if your system has dynamic events. One type of event is Advanced Power Management (APM), and another type is a docking event. (The usefulness of docking events is explained further in the “Microsoft Windows and the Plug and Play Framework Architecture.”) Therefore if your system supports APM, you must support function 0Bh (Get APM 1.1 ID Table). If your system supports docking to an expansion base, you must support functions 3, 4, and 5 (Get Event, Send Message, Get Docking Station Information).
BIOS Functionality - Additional
There are at least two more things that can be supported, but they are optional. One is that systems with an ISA bus can store information concerning resource usage by “legacy” ISA cards. The method of implementing such support depends on whether you want to store information on the “overall” resource usage, or whether you want to store specific “individual” resource usage for every device in the system. To support the first option, support functions 9 and 0Ah (Set, Get Statically Allocated Resource). If you choose the second option (individual resource usage: ESCD style), you will need to support functions 41h, 42h, and 43h (Get, Read, Write Extended System Configuration Data). The Configuration Manager/Utility from Intel requires that at least one (or both) of the options for the storing of resources is implemented.
Plug and Play BIOS with MS-DOS and Windows 3.x
The remaining optional support is for partial Plug and Play on MS-DOS and Windows 3.x. This limited support can be achieved with the Plug and Play BIOS on systems with an ISA bus by using Intel’s ISA Configuration Utility (version 1.2 or later) along with their Configuration Manager (version 1.2 or later) VxD or MS-DOS driver (shown in Figure 1). Figure 2 points out that Windows “95” uses the same interfaces (except it calls with a 32-bit stack).
Note: A Plug and Play BIOS needs to accommodate both cases (16-bit stack and 32-bit stack BIOS calls to be compatible with Windows 3.x, Windows “95” and Windows NTtm 3.x.)
To implement a Plug and Play BIOS (ver. 1.0a) into your personal computer systems, you have a few avenues to choose from. One option is to obtain a Plug and Play BIOS from a BIOS vendor who already has one ready for implementation. Or, if you have a close working relationship with a particular BIOS vendor, you can request them to incorporate the Plug and Play functionality into your current BIOS offering. If you design your own system BIOS, you can easily implement the Plug and Play capabilities by reading the Plug and Play BIOS Specification.
The first Beta of Windows “95” fully supports the Plug and Play BIOS 1.0a specification and can serve as a good platform for testing compatibility with this specification.
Question and Answer
"I was given BIOS extensions and informed that they were necessary for Plug and Play capability under Windowstm 3.x/MS-DOS®? Isn't Plug and Play BIOS only for Windows "95?"
No. Plug and Play BIOS will work with Windows 3.x, Windows “95” and Windows NTtm. As in Figure 1, the configuration manager/utility (CM/CU) for MS-DOS/Windows 3.x will work with the Plug and Play BIOS ver. 1.0a.
By implementing a Plug and Play BIOS (ver. 1.0a) you can have Plug and Play functionality today while allowing for the future Plug and Play ability of Windows "95." Having only one BIOS implementation (Plug and Play BIOS ver. 1.0a) can save you time and money by requiring you to only test one BIOS configuration with your computers. Having two BIOS implementations would require two separate compatibility testing sweeps.
Also, the only way to receive the Windows "95" compatibility logo for a computer system, is to have a Plug and Play BIOS (ver 1.0a) installed in the computer. Many BIOS vendors already offer the ability to upgrade your BIOS to the full Plug and Play BIOS (ver 1.0a) functionality.
Will Windows "95" work on my legacy computer (non-Plug and Play BIOS (ver. 1.0a))?
Yes, but not with all the Plug and Play benefits. While Windows "95" will still work on a "non" Plug and Play BIOS-based computer (i.e. legacy computers), you will not be able to obtain the full ability and benefits of a true Plug and Play system.
To achieve the highest level of Plug and Play compatibility and the benefits of automatic conflict resolution, with little or no user intervention, a computer with Plug and Play BIOS version 1.0a is necessary. Also, the only way to achieve great docking solutions is via the Plug and Play BIOS 1.0a event and runtime services.
In Figure 1, is an example of a system using a Plug and Play BIOS version 1.0a, Configuration Manager version 1.2, and Windows 3.x/MS-DOS to provide an increased level of Plug and Play support while allowing for the future enhancements provided by the Plug and Play operating system, Windows “95.”
(Note: In Windows “95” MS-DOS/Windows 3.x drivers are supported by the interface which is based on the Plug and Play Device Driver Interface for Microsoft Windows 31/MS-DOS specification.)
In Figure 2, is an example of a complete Plug and Play hardware and software solution. The Plug and Play operating system configures the “software” drivers, while interacting with the Plug and Play BIOS to allow for the automatic configuration of the “hardware” through a standard interface.
You can achieve this Plug and Play configuration by simply “upgrading” your current operating system to Windows “95,” a Plug and Play operating system.