Mon, 12 Jan 1998

Here's a way to make your new hardware talk to the system

By Zatni Arbi

JAKARTA (JP): Last week, as I was reviewing the delectable SCENIC Multimedia eXtension Board (MXB) from Siemens Nixdorf, I inadvertently left you with a small puzzle. I just told you that, without any warning, the SNI PCI TV suddenly loaded without crashing the system.

One of my esteemed readers has reminded me about it and asked me what I actually did to coerce the board to finally work. Well, I guess it was half magic, half technical. I might be able to give you some explanation on the technical side. For the magical part, what I could say is that computers work in a mysterious way.

First, let's learn a little about this thing called IRQ, an abbreviation of Interrupt Request.

It's a means by which the microprocessor in the computer system recognizes and communicates with the devices that are attached to it.

An IRQ works like an exclusive signal that both the system and the device use to draw the attention of each other.

IRQs are just one type of what is called "system resources". The other types of resources are the Direct Memory Access (DMA), Input/Output (I/O) and memory addresses.

Unfortunately, we don't have enough space to discuss these here today. Suffice it to say that the attached devices to your PC may require one or more of these resources.

To give you an idea of the problems we may have as we add a new device to our PC, let's focus on the IRQ again. In each PC, we normally have a certain number of IRQs.

In the old XT systems -- the PCs that people used in the late 1970s and early 1980s, there were only 8 IRQs available.

These were IRQ 0 to IRQ 7. IRQ 1, for example, was used by the keyboard to get the attention of the system.

IRQ 7 was used by the system to tell the parallel port (Printer port, or LPT1) that it had something to send to the attached printer.

As the XT architecture evolved into the AT, seven more IRQs were added. Today, in a typical Pentium PC, we still have 15 IRQs.

Some are dedicated for certain devices and cannot be reassigned, others can be allocated to additional devices such as a sound card and an MPEG playback card.

Conflicts

So, when you add a new device, you have to assign a free IRQ to it. But, how do you know which IRQ is free?

In Windows 95, it's very easy. Just open the Control Panel folder, and double-click on the System icon. You'll have the System Property dialog box that looks like window 2 in the accompanying picture.

Click on the Device Manager tab, and you'll have a list of all devices that your system has. While the word Computer is still highlighted, click on the Properties button at the bottom (or double-click on the Computer itself).

You'll see a list of all IRQs in your system, and you'll also find out which device each of them has been assigned to. All you have to do now is find the unused IRQ.

As I was installing the SCENIC MXB, for instance, I found that the driver for this device was using IRQ 11, which was also being used by another device. I also found out that no device used IRQ 10, which meant that this one was free.

So, what I did next was change the IRQ of the MXB from 11 to 10.

To do this, I clicked on the Sound, video and game controllers item on the list. As you can see in window 3, the MXB device fell under this category.

I double-clicked on the name of this device, and I got the Multimedia eXtension Board Properties dialog box. I clicked on the Resource tab, and I had dialog box 4.

When a device driver is first installed on a system, usually the resources are automatically set.

However, when the resources set in this manner are already used by another device, a conflict will happen.

If this is the case, it will usually be indicated in the Conflict box located at the bottom of this dialog box. To resolve it, we have to set the resources manually.

To accomplish this, first we have to inactivate the automatic setting feature by clicking on this option.

Then we click on the Change setting button. If the IRQ is being shared by a competing device, we have to first make sure that it is highlighted in the list of resources before we click on this button.

Like the IRQ, there are also cases when the DMA channel or the memory addresses are already used by another device, so we have to change them.

Again, as I was trying to get the MXB working, I learned that the device had a conflict with the PC's video graphics cards because they were using the same memory areas.

I also read in the README file that I had downloaded, together with the new software driver that I need to have, more than 64 kb free memory between the MXB and the VGA memory.

You see, when you're frustrated, the README file can save you from hitting your head against the wall!

The problem that really took me a lot of time to resolve was that I didn't have very much space in the memory areas to move the setting for the MXB device driver.

If I move it too high, it will conflict with another device. If I move it down, I will have even less free area between it and the VGA memory.

It was when I got to the right spot, i.e. 000CC000-000CCIFF, that the MXB suddenly worked.

If I change the memory address, the system will crash or the SNI PCI TV program will not load.

So, that was it. And the next time you have problems installing a new device on your own, such as a sound card, an MPEG card, a modem, or a video capture board, and it fails to work the first time, you basically know what to do.

Also, if you're installing a new modem, it's always a good idea to check first whether or not the system has already recognized it.

This is also very easy to do in Windows 95. Open the Control Panel folder, double-click on the Modem icon, and then you'll get the Modem dialog box.

If you see the new modem listed there, it means that your system does recognize it. If you want to check whether the modem is working or not, click on the Diagnostics tab.

Select it from the list, and click on More info. After a minute or two, the system should come back to you with the information it has retrieved from the modem hardware. If it encounters problems, it will give you an error message.

Then you'll have to go the Device Manager in the System dialog box and follow the procedure I described above.

The problem is that, like our country's natural resources, there are also only a limited number of resources in each system.

I recently helped a cousin set up the PC Card modem on his new Toshiba 440CDT, and, boy, all the IRQs were already used.

I had to disable the Universal Serial Bus in order to free one IRQ for the modem. It was very frustrating, but once I managed to get it working it was really so much fun.