The requirements in this section apply for every device, whether present on the system board or as an expansion device provided by the OEM in a default system configuration. Most general device requirements are related to Plug and Play capabilities.
11. Each device and driver meets PC 98 device requirements
Consumer PC 98
Office PC 98
Entertainment PC 98
Required
Required
Required
Each device must comply with all PC 98 requirements for the related device class, whether the device is provided in the PC system as an expansion card or as an external device.
Drivers must be provided for both Windows and Windows NT operating systems. The manufacturer does not need to supply a driver for a device if the device passes PC 98 compliance testing using a driver provided with the operating system. Notice that not all drivers provided with Windows or Windows NT comply with the basic and device-specific requirements for drivers as defined in this guide.
In addition to the device requirements in this section, see also the specific requirements for each device class in Part 4 of this guide.
12. Each bus and device meets Plug and Play specifications
Consumer PC 98
Office PC 98
Entertainment PC 98
Required
Required
Required
Each bus and device provided in a PC 98 system must meet the current Plug and Play specifications related to its class, including requirements defined in Section 6 of the ACPI 1.0 specification and clarifications published for some Plug and Play specifications. This includes requirements for automatic device configuration, resource allocation, and dynamic disable capabilities.
For information about new Plug and Play support under Windows NT 5.0, see the Windows NT 5.0 DDK.
The following shows current version numbers for all Plug and Play specifications:
Plug and Play specifications for IEEE 1394 are defined in this guide. For information, see the “IEEE 1394” chapter in Part 3 of this guide.
Note: Standard system devices are excluded from this requirement. The system can reserve static resources for devices such as programmable interrupt controllers (PICs) 1 and 2, timer (8254-2), keyboard controller (8042), real-time clock, DMA page registers, DMA controllers 1 and 2, and math coprocessor. For systems based on Intel Architecture processors, these fixed resources are located at I/O addresses under 100h and can also include a Nonmaskable Interrupt (NMI). For more information, see the “Legacy Support” appendix in the References part of this guide.
In addition, systems designed to run only on Windows NT are not required to meet PC 98 requirements for legacy Plug and Play support. If the system is designed to run either Windows 98 or Windows NT, it must meet all PC 98 requirements for legacy Plug and Play support.
13. Unique Plug and Play device ID provided for each system device and add-on device
Consumer PC 98 | Office PC 98 | Entertainment PC 98 |
Required | Required | Required |
Each device connected to an expansion bus must be able to supply its own unique ID, as defined in the current Plug and Play specification for the bus that it uses. The following defines the specific requirements for Plug and Play device IDs:
CardBus devices must meet the requirements defined in the “PC Card” chapter in Part 3 of this guide.
The following are exceptions to this requirement:
In addition, for Office PC 98 and Net PC systems, if an OEM uses a proprietary mechanism to assign asset or serial numbers to hardware, this information must be available to the operating system using Windows hardware instrumentation technology, as defined in the Network PC System Design Guidelines.
14. Option ROMs meet Plug and Play requirements
Consumer PC 98 | Office PC 98 | Entertainment PC 98 |
Required | Required | Required |
This requirement applies only for devices that might use option ROM on systems based on Intel Architecture processors, whether the device is present on the system board or provided through an expansion card.
Option ROMs are usually located on cards used as system boot devices. During the boot process, option ROMs initialize the boot devices, which provide the primary input, primary output, and IPL device to boot the system. However, Plug and Play option ROMs can be used to supply the Plug and Play expansion header to devices other than boot devices, enabling them to initialize both devices when the system boots.
To design an option ROM with Plug and Play capabilities, follow the requirements described in the Plug and Play BIOS Specification, Version 1.0a, and Clarification to Plug and Play BIOS Specification, Version 1.0a, which describe the Plug and Play expansion header and the interaction between the system BIOS and the option ROM. In particular, note the following points from the specifications:
Option ROM requirements for specific devices are defined in the “IDE and ATAPI” and “SCSI” chapters in Part 3 of this guide and in the “Graphics Adapters” and “Storage and Related Peripherals” chapters in Part 4.
Note: Systems designed to run only on Windows NT are not required to meet PC 98 requirements for legacy Plug and Play support.
15. “PNP” vendor code used only to define a legacy device’s CompatibleID
Consumer PC 98 | Office PC 98 | Entertainment PC 98 |
Required | Required | Required |
All legacy devices not enumerated by the system-board interface must not use “PNP” in their vendor and device codes. The PNP vendor code is reserved for Microsoft and for vendors whose hardware is specifically assigned a particular ID. Other hardware can use a PNP code only when defining a device’s CompatibleID and only after first indicating the device’s HardwareID in the Plug and Play header.
Use of CompatibleIDs is strongly recommended for devices that use device drivers provided with the Windows operating system, such as a Standard PC COM Port (PNP0500) or Sound Blaster 16-compatible Sound Device (PNPB003).
For information about using PNP CompatibleIDs, see the “Device Identifiers” appendix in the References part of this guide. To obtain a unique PNP vendor ID, please send a request by e-mail to pnpid@microsoft.com.
16. Device driver and installation meet PC 98 requirements
Consumer PC 98
Office PC 98
Entertainment PC 98
Required
Required
Required
Each device must have drivers for both Windows and Windows NT to ensure correct support under both operating systems. For some device classes, this support can be provided using a WDM driver, as defined in the related device requirements in Part 4 of this guide.
General driver requirements. The manufacturer does not need to supply a driver for a device if the device passes PC 98 compliance testing using a driver provided with the operating system. If the manufacturer supplies a driver, the device drivers and installation requirements include the following:
Notice that for the Windows operating system, the display driver file is a Win16 module.
The driver must also include correct provider, version, and copyright entries. This information is displayed in the user interface, such as Device Manager in Windows.
For manufacturer-provided files, the vendor must not be identified as Microsoft and all other copyright and version information must be correct for the manufacturer.
The device driver must be able to be removed using Windows-based software, which can be managed using either the Windows Control Panel option for removing devices or its own remove utility. For information, see “Driver Installation” in the Windows NT 5.0 DDK and “Windows 95 Class Installers and Network Driver Installers” in the Windows 95 DDK.
However, any software applications included with the device can be installed using an alternate Windows-based installation method as defined in the Win32 SDK.
Also, any software components and registry entries installed during driver installation must be removed during driver uninstallation.
System-specific requirements. For systems that come pre-installed with either Windows 98 or Windows NT 5.0, the following requirements apply:
For systems that come with Windows NT pre-installed, only 32-bit protected-mode components are installed. No real-mode or 16-bit protected-mode components can be provided in order to operate under Windows NT.
For systems that come pre-installed with Windows, the following requirements apply for drivers:
17. Minimal user interaction needed to install and configure devices
Consumer PC 98 | Office PC 98 | Entertainment PC 98 |
Required | Required | Required |
After physically installing the device, the user must not be required to perform any action other than to insert the disks that contain drivers and other files. The user should have to restart the system only for devices that do not support hot plugging.
As specified in the requirement, “Hot-plugging capabilities for buses and devices meet PC 98 requirements,” later in this section, devices that use USB, IEEE 1394, or PC Card must support hot plugging. For devices that use other buses, detection occurs when the system is powered on after the device is inserted.
The following requirements must be met:
It is acceptable to require rebooting for primary system devices such as the primary graphics adapter and the primary hard disk controller. In all cases, however, changing configuration settings must not require the end user to make jumper changes.
All buses and devices on both the system board and all expansion cards must be capable of being configured by the operating system and by software (such as Device Manager in Windows) so that the user does not need to open the PC case to change the configuration. DIP switches on boot devices can be used for an initial power-on default state or for non-Plug and Play system compatibility, but such settings must be capable of being overridden by software configuration after power on occurs under Plug and Play operating systems.
Note: This requirement does not apply for jumper settings used by the OEM to set CPU speed, select a keyboard, or make other basic system-related settings in the factory. This requirement applies only for settings that the end user must make to configure the hardware.
All devices must be capable of being automatically disabled by the system. Also, disabling the device must result in the freeing of all its resources for use by other devices.
The following devices are exempt from this requirement: all legacy devices using the I/O range under 100h, keyboard controller, FDC, hard disk controller, video graphics array (VGA) memory and I/O addresses, and any BIOS memory ranges required for legacy boot support.
18. Connections use icons plus keyed or shrouded connectors
Consumer PC 98 | Office PC 98 | Entertainment PC 98 |
Required | Required | Required |
This requirement helps ensure that the end user can correctly make the physical connections required for adding a device to a system. This requirement includes the following:
The physical design of the connector must ensure that the user cannot mistakenly insert the connector into the wrong port. For specific requirements related to keyed connectors and cables for I/O controllers and peripherals, see the “IDE and ATAPI” and “SCSI” chapters in Part 3 of this guide.
The icons can be molded, printed, or affixed as permanent stickers (which can include text). Icons can be based on existing vendor designs or on the examples listed in the “Icons” appendix in the References part of this guide.
PC 98 does not specifically require color coding of connectors and other cable markings, but the PC designer is free to implement color coding in order to enhance user accessibility.
Note: It is recognized that the design for legacy ports, such as the PS/2-compatible mouse and keyboard ports, analog audio and video jacks, and the microphone and speaker jacks, will not change and therefore cannot fully meet this requirement. However, icons and labels must be provided wherever possible to help the user make the correct connections.
19. Hot-plugging capabilities for buses and devices meet PC 98 requirements
Consumer PC 98 | Office PC 98 | Entertainment PC 98 |
Required | Required | Required |
Recommended: A locking mechanism to ensure that devices are removed only under operating system control or during sleep or off states.
To ensure reliable support for hot-plugging capabilities, the following PC 98 requirements must be met:
When designed under their respective specifications, USB, IEEE 1394, and PC Card all support hot plugging. Any device designed to use any of these connections must support being added or removed while the system is fully powered on.
The exception to this requirement is any device required for booting such as the primary graphics adapter. For information about supporting multiple graphics adapters, see the “Graphics Adapters” chapter in Part 4 of this guide.
Windows 98 and Windows NT 5.0 support dynamic enumeration, installation, and removal of PCI devices only if there is a supported hardware insert/remove notification mechanism.
The notification mechanism is defined as part of the bus standard for CardBus bus controllers. For other solutions, such as those required for docking stations or other devices, the hardware insert/remove notification mechanism must be implemented as defined in Section 5.6.3 of the ACPI 1.0 specification.
In order to properly function with the native support in the operating system, developing industry standards such as those referred to as PCI Hot Plug and Compact PCI must use ACPI-based methods for supporting hardware insertion and removal as defined in the ACPI 1.0 specification.
The media status notification requirements for CD-ROM, DVD-ROM, IDE, and ATAPI removable devices are defined in the “Basic PC 98 Storage and Related Peripherals” section later in this chapter. The Device Bay implementation guidelines are defined in the following requirement.
It is strongly recommended that designers ensure that surprise removal of any swappable device should not cause a system failure. A failure related to surprise removal of a swappable device includes any spontaneous reboot, system stall, or blue screen. At a minimum, the device driver should ensure that the PC system does not fail if the user accidentally pulls the device out of its socket. The only absolute way to ensure against system failure is to prevent surprise removals by including a locking mechanism, which is strongly recommended for PC 98 systems.
Another method of protection is to have the driver check whether its device is present when it receives certain interrupts. For example, CardBus cards share the same PCI interrupt as their socket controller, so interrupt handlers for both the card driver and socket driver are chained to the same PCI interrupt request (IRQ). To prevent a system fault after surprise removal of the CardBus card, its driver must check whether its device is still present whenever it reads a value such as 0xFFh in its status register, and then it must be able to recover gracefully when this occurs.
In all cases, for any failure that might occur, the PC system as a whole must be able to recover gracefully and report the condition to the end user.
For information related to implementation details and for additional design guidelines, see the article about hot-plugging support on the web site at http://www.microsoft.com/hwdev/devdes/.
20. Device Bay-capable bay and peripherals meet Device Bay specification
Consumer PC 98 | Office PC 98 | Entertainment PC 98 |
Required | Required | Required |
If implemented in a PC 98 system, Device Bay capabilities must meet the following requirements:
Any Device Bay peripherals provided with a PC 98 system must meet the following requirements:
21. Multifunction add-on devices meet PC 98 device requirements for each device
Consumer PC 98 | Office PC 98 | Entertainment PC 98 |
Required | Required | Required |
Multifunction add-on devices can contain more than one device. They must meet the requirements defined earlier in this section for automated software-only settings for device configuration, device drivers, and Windows-based installation. In addition, the following requirements must be met:
The exception to this requirement is a device such as a multifunction PCI device, which supports several functions but uses only a single set of relocatable resources. When each device is not individually enumerated, there is no requirement to provide separate IDs and separate resources for each function on the device.
22. All devices support correct 16-bit decoding for I/O port addresses
Consumer PC 98 | Office PC 98 | Entertainment PC 98 |
Required | Required | Required |
Each device must support a unique I/O port address in the 16-bit address range. This requirement means that, at a minimum, the upper address lines (A10–A15) can be used as the device enable address, so that the device does not respond to addresses outside of the 10-bit address range. CardBus controllers and cards must meet the requirements defined in the “PC Card” chapter in Part 3 of this guide.
Devices that use less than 16-bit I/O decode create conflicts that cannot be resolved by a Plug and Play operating system. Phantom (alias) addressing is not supported by the Windows operating system and cannot be used to meet PC 98 requirements.
Notice, however, that this requirement does not apply for the three ISA auto-configuration registers used during device enumeration and configuration. The ADDRESS, WRITE_DATA, and READ_DATA registers will continue to use 12-bit decoding as described in the ISA Plug and Play Specification, Version 1.0a.
23. System-board devices use ISA-compatible addresses
Consumer PC 98 | Office PC 98 | Entertainment PC 98 |
Required | Required | Required |
This requirement does not apply for RISC-based PCs. This requirement is unchanged under the plan for migration away from ISA.
This requirement includes devices with I/O port addresses within the reserved range 0h–0xFFh. For information about legacy system I/O addresses, see the “Legacy Support” appendix in the References part of this guide.