You are here

Installing PC Soundcards On Windows '95

Tips & Tricks By Martin Walker
Published December 1996

Many people have trouble adding new hardware cards to a PC. If your slots are full to overflowing, and every card is fighting for its own resources, you will almost certainly encounter problems. Fortunately, Martin Walker is here to lead you through the minefield...

Despite major advances in PC technology, the platform still has some stumbling blocks that trip up most people sooner or later. Installing and setting up soundcards, floppy and hard disk controllers, SCSI controller cards, MIDI interfaces, modems and graphics cards in a machine with a typical maximum of six or seven slots is bad enough, but juggling the resources needed to get these devices working properly, such as IRQs and DMA channels (see the 'Jargon Buster' box elsewhere in this article for explanations of these and other terms), is something that may at times defeat even the most experienced PC guru. There are solutions to most problems, but often, in the absence of clear and detailed technical information, it is easier to negotiate a refund on a piece of hardware than battle on to resolve a problem.

The arrival of Windows 95 was heralded as the 'cure‑all' for hardware installation problems, by incorporating so‑called 'plug and play' facilities into the PC's software and BIOS which could then automatically interrogate plug and play‑compatible cards for information related to installation and resources required. Since Windows would know the facilities already used by previously‑installed plug and play hardware, it was supposedly a simple matter for it to allocate appropriate resources from the pool of remaining choices. That was the theory! In practice, legacy (ie. pre‑Windows 95) devices still often have to be installed by hand, and whilst it is a laudable effort to streamline things, plug and play will only be totally effective in several years time, when the majority of hardware devices conform to its requirements. In the interim, some devices are recognised, and some are not. However, with the multiplicity of devices attached to the modern PC, the pool of resources is rapidly drying up, and additional approaches need to be tried which make the most of the ever‑dwindling set of IRQs and DMAs.

Traditionally, there have been two routes to try if you need further information when a resource drought threatens. Unfortunately, the first of these, namely the manual supplied with Windows 95, has proved a non‑starter, as it is of pamphlet proportions, and is more a token gesture than a serious attempt at a handbook. The second approach is to search out one of the many excellent reference books on Windows 95, but these can be very expensive (going up to over £50), and many require a course in the gym before you can lift them! What is needed is something in the middle ground, collecting together all the essential things that a MIDI musician using Windows 95 will need to hand when setting up a new soundcard or MIDI interface. Here, then, is the Sound On Sound guide to installing add‑on cards.

The Resource Settings List

First of all, here is a way to access something useful that many people don't know they already have. Six months after installing Windows 95, and bemoaning the fact that it was so tedious mapping out the full list of computer resources already in use by installed devices, I happened to be browsing through one of the heavyweight manuals in a bookshop and came across the following gem, which gives a complete listing of every resource currently used by the computer. I had had no idea that such a listing existed, but here's how to find it. Open the Control Panel, and double‑click on System. Then select the 'Device Manager' tab to display a comprehensive list of connected devices, with the symbol of the computer itself at the very top. Now the bit that many people will find new — Double‑click on this computer symbol, and hey presto — a new Computer Properties box appears, with options to show current IRQ, DMA and I/O usage (see the screenshot, on the previous page). The only drawback is that any legacy (pre‑Windows 95) drivers will not declare their usage to the system, giving rise to the entry 'In use by unknown device'. This simply means that something is using it, but Windows 95 does not know what.

With this list to help you, the best thing you can do before installing any more hardware is to create a list of currently‑used settings. After all, when something goes wrong, it is far easier to have this list to hand, especially if you also note down your existing choices for legacy hardware that do not show up on the computer's list. To change hardware settings, you will need to do one of two things. Older hardware cards come with small plastic 'jumpers' which clip between two metal contacts on the circuit board in a selection of positions. Changing hardware options is a simple matter of moving the jumper to a different position. Many modern cards have a small section of non‑volatile memory onboard which uses a supplied utility program to change settings. Once the settings have been changed by software, you simply reboot the computer and the new hardware settings are activated. This method is easier to use, as future changes can be made without opening up the computer to get at the jumpers (which often also means removing the card to access them!) Plug and play devices, by their very nature, are also configurable from software.

Base Address Choices

Every piece of hardware will need to use a set of I/O addresses, so that information can be written to and read from it. Manufacturers of cards will provide a selection of possible Base Addresses (the starting or first byte used) in order that each device gets a unique set of addresses. Various default addresses are used for specific functions. For instance, MIDI interfaces often use 330h (hexadecimal), and if you have two or more interfaces in your machine, at least one will need to be changed. If two devices end up with the same or overlapping addresses, then commands sent to either of them will be gibberish to the other, and the computer will probably have a minor fit. It is always safest to note down which of the small provided selection you end up choosing for future reference .

IRQ Choices

There are a total of 16 available IRQs, numbered from 0 to 15 inclusive. Many are already allocated for use by other computer functions such as scanning the keyboard and mouse, controlling the flow of data to and from floppy and hard disks, and updating various timers and clocks used by the system. Six IRQs are commonly available to choose from when installing hardware such as soundcards and SCSI controller cards: 5, 7, 9,10,11, and 12. You may see references to IRQ 5 or 7 being allocated to the parallel ports (normally used by a printer, but also by the new breed of external MIDI interface such as the MOTU PC‑Flyer or Pocket Express, reviewed on page 205 in this issue). By default, Windows 95 does not allocate any IRQ to the parallel port, since it is rare for any printer to need an interrupt, so these remain in our pool of choices. IRQ 15 is sometimes used if you have two IDE disk drives installed, but, again, is normally an option.

IRQ 2 can be confusing. In early PCs, only eight interrupts existed, and to extend this to 16 in later machines, IRQ 2 was used by internal hardware, but mapped onto IRQ 9. Choosing IRQ 2 is therefore not a problem, but it will actually be IRQ 9 that carries out the work. This is why you may see references to IRQ 2/9 in many places; they are effectively the same thing. Isn't technology wonderful?

DMA Choices

DMA is used in conjunction with interrupts to move around chunks of data such as sound automatically, without tying up the PC's processor. Most soundcards use DMA, as well as many SCSI controller cards and certain enhanced IDE disk controllers. There are eight channels of DMA available, numbered from 0 to 7 inclusive (0 to 4 are 8‑bit, and 5 to 7 are 16‑bit channels). As you might expect, the 16‑bit channels can move data faster, and so give better performance with those devices that can use them. Unfortunately, since there are only three of them, it can be hard to work out the best way to allocate DMA resources. If you use a SCSI drive for audio, and have a controller card which uses a DMA channel (such as the Adaptec 1542), it is best to put the controller card on DMA 7 and the soundcard on DMA 5 or 6. DAL CardD Plus users should use DMA 5 for playback and DMA 6 for record. This is because DMA channels are prioritised, and if you give the highest priority (number 5 for 16‑bit channels) to the soundcard, clicks and pops should not occur because the SCSI controller is hogging the majority of the finite DMA time. Most PCI SCSI controller cards do not use DMA channels, and also provide better drive performance than those using DMA, so this becomes a prime consideration when choosing a controller card. Some soundcards, such as some of the Turtle Beach range (Monterey, Tahiti and Multisound) do not use DMA channels to shift audio data about, but a faster proprietary architecture called Hurricane, which is claimed to be up to eight times faster than DMA. This allows them to run more tracks of audio mixed down to stereo than the common‑or‑garden soundcard, although they are comparatively more expensive.

Installing Multiple Soundcards

Sooner or later, you will find that adding a second soundcard may solve an existing problem. You may, for example, want to use a card with higher‑quality audio circuitry for hard disk recording, but maintain a previous card because you are still using its onboard CD‑ROM interface, MIDI interface or WaveBlaster socket for a daughter board such as the Yamaha DB50XG. Another reason might be that your existing card only supports half‑duplex operation, and by adding another half‑duplex card, you will be able to record and play back simultaneously. If both cards support full‑duplex operation, you will have the option of 4‑track simultaneous record and playback, although the overhead in computer terms may be considerable. A useful compromise is to use one card for mono or stereo recording (one or two channels), and both together for playback of four simultaneous channels with independent outputs to an external mixer. Don't forget, though, that high‑powered computers such as a Pentium 90MHz (or above) will have enough processor time to mix 4‑8 channels down to one stereo pair in real time, so unless you need more than two completely independent outputs, a single soundcard will suffice.

Installing two soundcards is perfectly possible (I have a couple in my own PC), but trying to allocate non‑conflicting resources for them both can be a great source of problems. Since most soundcards will use one IRQ setting and one or two DMA channels, as well as extras for onboard MIDI or CD‑ROM interfaces, you may have a lot of juggling to do before you can arrange it so that they will not interfere with each other, or with other hardware items already installed.

Plug Into The Future

Many PCs now have every single slot occupied, and most of their IRQs in use. In order to free resources for further expansion, the best way forward is to forget the piecemeal approach adopted so far and try to rationalise it. In my case, having two soundcards (one with a WaveBlaster daughterboard and CD‑ROM interface) and a separate MIDI interface gives me a total of three MIDI Ins and Outs, as well as 4‑channel simultaneous record/playback of 16‑bit audio — in theory! However, by using one of the latest external multi‑port MIDI interfaces, you can get up to eight Ins and Outs, save a slot, and get LED readout as well. For the same reason (ie. it saves on slots), more and more people are turning to SCSI devices, simply because up to seven of them can be externally attached to a single PC card, and can potentially be shared by your sampler or another computer.

As mentioned above, if you make use of the faster processors in the latest Pentium PCs, you will be able to mix down four to eight channels of audio in real‑time to the single stereo output present on any soundcard — so unless you need access to additional EQ or effects facilities before mixdown (plenty of software already exists to do this off‑line, and some is beginning to arrive capable of real‑time operation on high‑powered machines), a better bet would be to invest in a single high‑quality soundcard and let the software do the mixing.

By generally streamlining your current setup, you will probably free up resources, as well as getting much better overall quality. Good luck!

System DMA Usage

0 8‑bit

1 8‑bit

2 Floppy disk controller

3 8‑bit

4 DMA controller

5 16‑bit

6 16‑bit

7 16‑bit

Problem Indicators

If you are having problems, look in the Control Panel under System Properties — there are two possible indications of driver problems. Firstly, a yellow exclamation mark on the driver symbol means that the hardware has been recognised, but that there is some type of system conflict, such as two devices with identical IRQ or I/O settings. This can happen when using the automatic installation option suggested by Windows 95, since its default settings for a particular device may conflict with another existing device already using the same settings. The easiest way to remedy this is to remove the driver via the Device Manager page, and then reinstall it by hand, using a more sensible set of options.

The second indicator is a red 'X' over the driver symbol, which means that the driver has been disabled and is not loading. To enable the driver, go into the Device Manager and double‑click on the appropriate driver symbol. Under the 'General' tab, at the bottom of the screen in the Device Usage section, check the box in front of 'Original Configuration (current)'.

System IRQ Usage

0 Timer clock

1 Keyboard

2 Programmable interrupt controller

3 COM2 (normally modem)

4 COM1 (normally mouse)

5 usable

6 Floppy disk controller

7 usable

8 Real Time Clock

9 usable

10 usable

11 usable

12 usable

13 Maths co‑processor

14 Hard disk controller

15 normally usable

Typical Usage Of Resources By Hardware

 BASE ADDRESSIRQDMA
CD‑ROM driveyes0/10/1
Game port (joystick etc.)yes
MIDI Interfaceyes1
SCSI controller cardyes10/1
Wave Audio (half duplex)yes11
Wave Audio (full duplex)yes12
WaveBlaster daughterboard

Jargon Buster

  • BIOS (BASIC INPUT/OUTPUT SYSTEM)
    This is a chip on the computer's motherboard that contains all of the software routines commonly used to talk to the rest of the hardware.
  • DMA (DIRECT MEMORY ACCESS)
    This is used by soundcards to transfer sound directly from memory to output socket or vice versa, without using the computer processor. Although this allows software to carry on whilst sounds are being processed 'behind the scenes', there is a finite time allocated for total DMA. 16‑bit soundcards normally use two DMA channels (one 8‑bit and one 16‑bit; although some like to use two 16‑bit channels).
  • DRIVER
    A piece of software that handles the exchange of information between applications like sequencers (normally via Windows 95) and a particular piece of hardware. A driver needs to be able to send commands and data to the soundcard, and receive any data arriving at the hardware from the outside world.
  • DUPLEX
    Literally 'having two states'. Half‑duplex soundcards can only record or play back, but not both at once. Full‑duplex soundcards can perform these two operations simultaneously, which is almost a necessity for digital audio recording.
  • GAMEPORT
    Often provided on general‑purpose soundcards to attach a joystick, but whether you have one or not, conflicts may arise with more than one soundcard using the default base address of 201h. For this reason, most cards have facilities to disable this port. If your card has this disabler option, it is often easier to take advantage of it if you are not going to use the joystick port.
  • HEXADECIMAL
    A numbering system based on units of 16. Numbers in this format are followed by a small 'h' eg. 330h. As long as each device has a unique base address, you don't need to work out the equivalent decimal values.
  • I/O (INPUT/OUTPUT) ADDRESS
    Every piece of hardware will have some bytes of PC memory mapped to it, so that software can send or receive information to and from the hardware by just sending a value to this PC memory address. In effect, the hardware overlays the equivalent bytes of RAM, so that 'talking' to the hardware is identical to reading and writing to the same RAM address in memory.
  • IRQ (INTERRUPT REQUEST)
    Interrupts are a means of allowing regularly occurring operations to be automated. Suppose that we want to know whether a new MIDI note has arrived at the In port. Rather than constantly checking to see whether anything has happened, the MIDI Interface is designed such that the arrival of any MIDI data automatically generates an interrupt. When this happens, the computer processor remembers its current state, stops whatever it is doing at the time, deals with the note data, and then carries on where it left off.
  • ISA (INDUSTRY STANDARD ARCHITECTURE)
    The standard buss (card slot arrangement) used by most PCs for the last few years.
  • NON‑VOLATILE
    A type of memory whose contents remain even after the power is switched off.
  • PCI (PERIPHERAL COMPONENT INTERCONNECT)
    The new standard for plug‑in hardware used in most Pentium computers, and in the Apple PowerPC Mac.
  • PLUG AND PLAY
    The new standard for PC hardware cards containing onboard logic which stores the capabilities and resource requirements. These cards can be used both on new Pentium machines and older computers, because the specification does not require any change to ISA busses. The Plug and Play part of Windows 95 can interrogate the cards during installation, assign each a unique device ID and serial number, find the possible resource settings, and then report on any conflicts with existing devices, as well as changing the available settings automatically in many cases. In essence, Plug and Play is designed so that adding a device requires nothing more than taking it out of the box and plugging it in (famous last words!).