Basic PC 98 General Device Requirements

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:

  • PCI Local Bus Specification, Revision 2.1 (PCI 2.1)

  • Plug and Play External COM Device Specification, Version 1.0

  • Plug and Play Industry Standard Architecture (ISA) Specification, Version 1.0a

  • Clarification to Plug and Play ISA Specification, Version 1.0a

  • Plug and Play Parallel Port Device Specification, Version 1.0b

  • Plug and Play Small Computer System Interface Specification, Version 1.0

  • Universal Serial Bus Specification, Version 1.0

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:

  • Each separate function or device on the system board must be separately enumerated; therefore, each must provide a device ID in the manner required for the bus it uses.

  • If a device on an expansion card is enumerated by the BIOS, it must have a unique ID and its own resources according to the PC 98 device ID requirements for the bus to which the card is connected. This includes devices that are separately enumerated on multifunction cards or multifunction chips.

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:

  • Legacy devices attached to the ISA bus on the system board do not have unique Plug and Play IDs—for example, serial ports, parallel ports, or PS/2-compatible port devices. The method for device identification is defined in the Plug and Play ISA Specification, Version 1.0a, and the ACPI 1.0 specification.

  • Some multifunction devices (such as Super I/O) might include devices that do not have unique Plug and Play IDs or unique PCI subsystem IDs, but that are supported by drivers provided with the Windows operating system.

  • A device such as a multifunction PCI device that supports a number of functions but uses only a single set of relocatable resources does not have to provide separate IDs for each function included on the device.

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:

  • The header contains information that identifies the type of boot device connected to the expansion card. This information allows the system BIOS to prioritize the boot devices. Shadowed copies of the option ROM must also contain the Plug and Play expansion headers.

  • A Plug and Play option ROM must be able to determine whether the system BIOS complies with Plug and Play. If the system ROM is not Plug and Play-compliant, the option ROM should immediately initialize the card and hook the proper interrupt as though it were a non-Plug and Play option ROM. This allows the expansion card to be used in non-Plug and Play systems.

  • An option ROM can use the system BIOS run-time functions, but these functions are not available until after the POST process has completed and Int 19 has been called. In particular, an option ROM must not hook the following interrupts until the system BIOS calls the boot connection vector contained in the Plug and Play expansion header: Int 9h, Int 10h, Int 13h, Int 18h, or Int 19h. Option ROM routines must not try to use these run-time functions until that time, because the results can be unpredictable.

    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:

  • All devices and drivers must pass PC 98 compliance testing. Each device included in a PC 98 system must comply with the PC 98 requirements and must have supporting 32-bit device drivers for the CPU platform and operating system.

Notice that for the Windows operating system, the display driver file is a Win16 module.

  • All configuration settings are stored in the registry. The driver must not use INI files for configuration settings.

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.

  • The correct minidriver, virtual device drivers (VxDs), or any other manufacturer-supplied files specified in the device’s INF file must be installed in the correct location.

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.

  • Driver installation and removal must use Windows-based methods as defined in the Windows and Windows NT DDKs.

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.

  • Driver files provided by the vendor must not use the same file names as used by files included in Microsoft operating systems and provided as either retail or OEM products, unless specifically agreed upon with Microsoft.

  • It must be possible for the device’s driver to be installed using a mechanism, such as a script or special software, for supplying required parameters without the user being present.

  • In order to ensure that the user can correctly change settings, a Windows Help file must be provided if special driver parameters are used. The device’s installation routine must install the Help file as part of the setup program. The user interface for the device’s dialog boxes must display the correct Help file, and the Help file must contain relevant information to assist the user. The guidelines for implementing a Help file are defined in the Windows NT DDK.

System-specific requirements. For systems that come pre-installed with either Windows 98 or Windows NT 5.0, the following requirements apply:

  • For any device for which WDM-based support is provided in the operating system, the driver supplied by the manufacturer must be a WDM minidriver.

  • Every driver (or minidriver) must support Plug and Play and power management I/O request packets (IRPs).

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:

  • Every VxD must support Plug and Play and power management messages.

  • The driver must provide power management support as required by any device class power management reference specification.

  • Any real-mode components provided for backward compatibility should use separate installation procedures. Although installation of Windows-based components must not make entries in Autoexec.bat or Config.sys, the separate real-mode installation program can make such entries but must not modify the registry, Win.ini, or System.ini.

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:

  • The device is immediately functional without restarting the system.

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.

  • Software settings are available for configuring all resources.

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.


  • Dynamic disable capabilities are supported for all devices.

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:

  • Wherever possible, keyed or shrouded connectors or other configurations should be used to prevent misconnection.

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.

  • Icons are provided for all external connectors.

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:

  • Devices and buses must support hot plugging if using USB, IEEE 1394, or PC Card.

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.

  • Hot plugging for PCI devices must use ACPI-based methods.

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.

  • Removable media must support the appropriate media status notification method to ensure that no loss of data or system failure results when such media is removed from the system.

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:

  • A Device Bay Controller (DBC) compliant with Device Bay Interface Specification, Version 1.0 or higher, and implemented as an ACPI device object on the system board, as defined in Section 8 of the Device Bay specification

  • One USB controller and one IEEE 1394 controller to support all Device Bay-capable bays in the system

  • One USB port and one IEEE 1394 port for each Device Bay-capable bay in the system

Any Device Bay peripherals provided with a PC 98 system must meet the following requirements:

  • Compliant with Device Bay Interface Specification, Version 1.0 or higher

  • Interface with either the USB bus, IEEE 1394 bus, or both

  • Support relevant USB device class specifications

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:

  • Each function or device on the multifunction add-on device that is individually enumerated by the BIOS must provide a device ID for the bus it uses.

  • The system must be able to separately access each logical device that is individually enumerated by the BIOS, configure the device resources independently, and disable individual devices in the event of a conflict.

  • For each individually enumerated device, resource configuration requirements are the same as for an equivalent device on a separate expansion card. This means that registers cannot be shared among individually enumerated devices on a multifunction add-on device, but does not supersede device requirements among different bus classes.

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.