Plug and play

Other designs provided all resources to all slots, and each peripheral device had its own address decoding for the registers or memory blocks it needed to communicate with the host system.

[5] As microprocessors made mass-market computers affordable, software configuration of I/O devices was advantageous to allow installation by non-specialist users.

Early systems for software configuration of devices included the MSX standard, NuBus, Amiga Autoconfig, and IBM Microchannel.

[6] By 1995, Microsoft Windows included a comprehensive method of enumerating hardware at boot time and allocating resources, which was called the "Plug and Play" standard.

[8] Some early microcomputer peripheral devices required the end user physically to cut some wires and solder together others in order to make configuration changes;[9] such changes were intended to be largely permanent for the life of the hardware.

In 1984, the NuBus architecture was developed by the Massachusetts Institute of Technology (MIT)[11] as a platform agnostic peripheral interface that fully automated device configuration.

However, this agnostic approach increased interfacing complexity and required support chips on every device which in the 1980s was expensive to do, and apart from its use in Apple Macintoshes and NeXT machines, the technology was not widely adopted.

Configuration information was stored on a read-only device on each peripheral, and at boot time the host system allocated the requested resources to the installed card.

The user would install the device, turn on the computer, load the configuration information from the disk, and the hardware automatically assigned interrupts, DMA, and other needed settings.

However, the disks posed a problem if they were damaged or lost, as the only options at the time to obtain replacements were via postal mail or IBM's dial-up BBS service.

Micro Channel did not gain widespread support,[13] because IBM wanted to exclude clone manufacturers from this next-generation computing platform.

[14] At the time, there could be a mix of devices in a system, some capable of automatic configuration, and some still using fully manual settings via jumpers and DIP switches.

Because of this complex operating environment, the autodetection process sometimes produced incorrect results, especially in systems with large numbers of expansion devices.

A third-party serial interface card for the Apple II . The user cut the wire traces between the thinly connected triangles at X1 and X3 and soldered across the unconnected ◀▶ pads at X2 and X4 at the center of the card. Reverting the modification was more difficult.
A NuBus expansion card without jumpers or DIP switches
An MCA expansion card without jumpers or DIP switches
An example of an ISA interface card with extremely limited interrupt selection options, a common problem on PC ISA interfaces.
Kouwell KW-524J dual serial, dual parallel port, 8-bit ISA, manufactured in 1992:
* Serial 1: IRQ 3/4/9
* Serial 2: IRQ 3/4/9
* Parallel 1: IRQ 5/7
* Parallel 2: IRQ 5/7
(There is no technical reason why 3,4,5,7,9 cannot all be selectable choices for each port.)