DOS Days

Plug & Play

The basic premise behind "Plug & Play" is to ease the burden on PC owners who are fitting new hardware to have to understand the technicalities of I/O addresses, IRQs and DMA channels. Instead, a user should be able to purchase a new peripheral or expansion card, physically install it into the PC, and the card will be automatically recognised by the operating system and be instantly usable.

Early expansion cards were often inflexible and could only use a specific IRQ and DMA channel - memory expansion cards, network cards and some early sound cards were like this. From the mid-to-late-80s, the market boomed with many more third parties producing expansion cards, and PCs would often have a multitude of these installed, thus increasing the chance of resource conflicts.

Some of the more common conflicts are listed in the table below:

  Device #1 Device #2 Remedy
IRQ3 Serial port Early ISA sound card Set your sound card to use IRQ5 instead. If your sound card is a very early one and cannot be configured via jumpers, try changing the IRQ of your serial port or disable it in the BIOS.
IRQ5 Second parallel port (LPT2) ISA sound card Set your sound card to use IRQ5 instead. If your sound card is a very early one and cannot be configured via jumpers, try changing the IRQ of your parallel port or disable it in the BIOS.
IRQ7 First parallel port (LPT1) Early ISA sound card Set your sound card to use IRQ5 instead. If your sound card is a very early one and cannot be configured via jumpers, try changing the IRQ of your parallel port or disable it in the BIOS.
IRQ10 Network card SCSI host adapter or ACPI Usually your SCSI host adapter will be able to be configured to use a different available IRQ. ACPI (Advanced Configuration and Power Interface) will sometimes use IRQ10, so if you must have your network card or SCSI card on IRQ10, disable power management in your BIOS.
DMA1 Sound card SCSI host adapter Usually your SCSI host adapter will be able to be configured to use a different available DMA channel. DMA channel 1 is the most common setting for sound cards.
DMA3 Sound card Network card or SCSI host adapter Usually your SCSI host adapter will be able to be configured to use a different available DMA channel. Set you sound card to use DMA channel 1 and retry.
I/O Address 300h MIDI device Network card Configure your MIDI device to use 330h, allowing the network card to remain on 300h.
I/O Address 330h MIDI device SCSI host adapter Configure your SCSI host adapter to use 320h, 330h or 340h, allowing the MIDI device to remain on 300h.

Intel and Microsoft took the first stab at Plug & Play with the PnP ISA specification on May 28, 1993.

Later, Compaq, Phoenix and Intel developed the BIOS specification for Plug & Play, first released on November 1, 1993. Plug & Play requires three elements of the system be written to its standards:

  • The motherboard BIOS
  • The operating system
  • The boards and peripherals attached to the PC.

Devices that don't conform to the Plug & Play standard are considered legacy devices.

Retro computing enthusiasts tend to dislike Plug and Play devices such as sound cards, as it means far less control over device I/O address, IRQ, and DMA channel assignments. With non-PnP cards, these are usually configurable by jumpers on the card. This means you can avoid hardware conflicts more easily because you have physical control over a card's configuration.

If your BIOS supports Plug & Play, there will be a dedicated page for setting this up.


An early BIOS PnP screen

If you tend to run pure DOS (not DOS command line in Windows), you will likely have your BIOS configured with the first two settings in the image above set to 'No' and 'Manual'. You can then specify which IRQs and DMA channels to reserve for your non-PnP cards.

If you run Windows alongside DOS, you can still prevent Windows from assigning PnP devices to a given IRQ or DMA channel by setting those values to 'Legacy ISA'. In the screenshot above, IRQ3 and 4 will not be assigned to any PnP devices in Windows, but all the rest are 'fair game' for it to assign as it sees fit.

For more information on which IRQs, DMA channels and I/O addresses are used by devices, see my dedicated page on this topic

How Does ISA Plug & Play Work?

On power-up, your PnP-compatible BIOS detects all the PnP-compatible cards in your ISA slots and assigns them an available I/O address, IRQ and DMA channel, avoiding any that are set to be reserved for 'Legacy ISA' in the BIOS. These details are then provided to Windows.

ISA PnP cards will often have an EEPROM chip onboard which is used to store/retrieve the identifiers for the card (Manufacturer, Device Name, Device ID, etc) and in some cases its default settings for I/O address, IRQ number and DMA channel, as well as things like the number and type of logical devices a card is exposing. For pure DOS, the card typically requires a driver to be loaded which sets these values according to command-line arguments you provide (and then store them in the card's EEPROM) or retrieve them from the EEPROM and set up the card accordingly.

You can read the ISA Plug & Play Specification v1.0a document here.

Plug & Play doesn't guarantee zero resource conflicts but certainly goes some way to avoiding what it can for those who are not technically-minded.