Exploiting Your Resources

Pages: 1 2 3 4 5

System Configuration

System configuration is the process of setting up your hardware devices and assigning resources to them so that they work together without problems. A properly-configured system will allow you to avoid nasty resource conflict problems, and make it easier for you to upgrade your system with new equipment in the future. An improperly-configured system will lead to strange errors and problems, and make upgrading a nightmare.

Many devices have fixed resource assignments that cannot be changed. Most system devices are like this. In addition, it is generally best not to change (or try to change) the resource settings for standard devices like IDE hard disk controllers unless you both really know what you are doing and there is a compelling reason to change them. The following devices usually have hard-coded resource settings that cannot be changed: system devices, keyboard, PS/2 mouse, floppy disk controller, primary IDE controller, video card. Others can generally be changed, although it makes more sense for some devices than for others.

There are several different ways that are generally used to set or change resource settings for devices:

  • Hardware Settings: Resource assignments on some cards, especially older ones, is done by hardware on the device itself. This involves changing the settings of jumpers and switches, usually on the circuit board of the device, to tell it what resources to use. This is similar to the way most motherboards are configured. Hardware configuration has the great disadvantage of being a pain if you ever want to change the resources: you have to open the box and usually pull out the card to get to the jumpers. It has one great advantage however: certainty. You always know that if you put the jumper on say IRQ7, the card will try to use IRQ7 (if it isn’t busted of course.) You can always open the box and look at the card and get visual confirmation of how it is set up. You cannot do this with software-based configuration.
  • Software Configuration Programs: Many newer cards are configured using special software configuration programs that come with them. You run the program and select the resources you want to use, and the program writes the information into a special rewriteable EEPROM placed on the device for that purpose. This is similar to the way a flash BIOS is used to upgrade the system BIOS using software, on a smaller scale. Devices that use configuration programs like these are much more convenient than those that use hardware settings, because you can change the resources without opening the box. However, they have the disadvantage of being dependent on the configuration program; if you lose the disk you’ll need to get another copy of the program to change the settings. You also sometimes can’t tell what the settings are with the power off, and you run the slight risk of scrambling the card’s settings if you say, lose power while it writes new settings to the card.
  • Plug and Play: Newer devices that subscribe to the Plug and Play standards can be automatically configured under certain conditions when used in a machine that supports Plug and Play, with an operating system that supports it. Plug and Play is an attempt to eliminate the large amount of work in assigning resources to devices and resolving conflicts. When it works properly, resources are dynamically and automatically assigned and reassigned and you don’t have to worry about making everything work together.

In addition, the use of a PnP operating system like Windows 95/98 will normally allow you to change device resource settings using the built-in Device Manager, giving you override control if you don’t like what PnP chose for your device, and eliminating the need for special configuration utilities. However, often problems result from the system making poor resource choices or having difficulties dealing with devices in the system that are not themselves PnP-compatible. Incidentally, it is always a good idea, once you have your system configured in a way that makes sense and works for you, to record the system configuration for future reference.

The table below contains a summary line for each of the major device types in a typical PC, showing the major resources that they typically use. It is a summary table containing the information from the summary tables for IRQ, DMA channel and I/O address usage. You can use this as a handy quick reference when looking to add a new device to your PC, or to assist in debugging a resource problem. Circle or highlight the devices you currently have and the resources they are using, and then you’ll be able to see at a glance what resources are still available or possible ways that you could shuffle assignments to fit in a new peripheral.

Note that the resources listed below are a guideline, and aren’t the hard and fast rule for all devices; consult your manual to see the exact resources used by your hardware. The entries in bold represent the default resource usage in a typical PC; entries in regular text are optional resource allocations, or resources used by optional or non-standard devices:

Device Type



DMA Channels

I/O Addresses


System reserved

0, 2, 8, 13

0, 4

000-0FFh (except 060h and 064h) and 100-12Fh and 20C-20Dh and 270-277h

PCI devices

9, 10, 11, 12


(depends on device)

Serial Ports










2/9, 4, 5, 7




2/9, 3, 5, 7



Parallel Ports



1, 3 (if ECP)

378-37Fh, 3BC-3BFh


5, 7

1, 3 (if ECP)

278-27Fh, 378-37Fh



1, 3 (if ECP)


Input Devices

Keyboard controller



060h and 064h (shared with PS/2 mouse)

PS/2 mouse



060h and 064h (shared with keyboard)

Joystick port




Floppy disk controller




Primary IDE controller



1F0-1F7h and 3F6-3F7h

Secondary IDE controller

15, 10


170-177h and 376-377h

Tertiary IDE controller

11, 12


1E8-1EFh and 3EE-3EFh

Quaternary IDE controller

10, 11


168-16Fh and 36E-36Fh

SCSI host adapter

9, 10, 11, 12, 14, 15

1, 3, 5

130-14Fh, 140-15Fh, 220-23Fh, 330-34Fh, 340-35Fh

Tape accelerator card

3, 4, 5, 6, 7

1, 2, 3

360h, 370h, 3E0h, 3F0h

Old PC/XT hard disk controller





VGA video card

11, 12


3B0-3BBh and 3C0-3DFh

EGA video card






2/9, 3, 4, 5, 7

1, 3 (voice modems)

(uses COM port)

Sound cards

Sound card

3, 4, 5, 7, 9, 10, 11, 12

(1, 3) and
(5, 6, 7)

(220-22Fh, 240-24Fh, 260-26Fh, 280-28Fh) and (300-301h, 330-331h) and 388-38Bh


Non-NE2000 network card

3, 4, 5, 7, 9, 10, 11, 12, 15

1, 3, 5, 6, 7

240-243h, 260-263h, 280-283h, 2A0-2A3h, 300-303h, 320-323h, 340-343h, 360-363h

NE2000 network card

3, 4, 5, 7, 9, 10, 11, 12, 15

1, 3, 5, 6, 7

240-25Fh, 260-27Fh, 280-29Fh, 2A0-2BFh, 300-31Fh, 320-33Fh, 340-35Fh, 360-37Fh

Pages: « Prev  1 2 3 4 5  

Be the first to discuss this article!