[comp.os.msdos.programmer] IRQ lines?

TOMIII@MTUS5.BITNET (Thomas Dwyer III) (07/26/90)

Is it possible for a program to detect which IRQs are being used and
which are not?  It would be nice to have a program tell me which IRQs
are available when I install various cards in our machines here.

Thanks,
Thomas Dwyer III                            TOMIII   @ MTUS5.BITNET
Network Programmer                          DWYERIII @ MTUS5.BITNET
Computing Technology Services
Michigan Technological University

kelly@iuvax.cs.indiana.edu (Kelly Keller) (07/26/90)

TOMIII@MTUS5.BITNET (Thomas Dwyer III) writes:

>Is it possible for a program to detect which IRQs are being used and
>which are not?  It would be nice to have a program tell me which IRQs
>are available when I install various cards in our machines here.

This is possible. There are several programs available that help you to
manage your resources and IRQ's. One such program is Manifest (MFT) by 
Quarterdeck. I received it bundled with Quarterdeck's Memory Management
program QRAM, that enables you to manage your memory in extendend and
expanded fashions. MFT is a real help.
-- 
   BELL: +1 812 855 6991
   UUCP: iuvax!kelly 
   Internet: kelly@iuvax.cs.indiana.edu

steveq@natmlab.dap.csiro.au (Stephen Quigg) (07/27/90)

In article <90206.194111TOMIII@MTUS5.BITNET> TOMIII@MTUS5.BITNET (Thomas Dwyer III) writes:
>Is it possible for a program to detect which IRQs are being used and
>which are not?  It would be nice to have a program tell me which IRQs
>are available when I install various cards in our machines here.
>
There's a program in the public domain called SYSID which is VERY useful
for sorting out your hardware. I,ve got v4.4a, which even comes with
sources (in C), and it should be easy to find on any good BB, archive, etc.

david@csource.oz.au (david nugent) (07/27/90)

In <90206.194111TOMIII@MTUS5.BITNET> TOMIII@MTUS5.BITNET (Thomas Dwyer III) writes:

> Is it possible for a program to detect which IRQs are being used and
> which are not?  It would be nice to have a program tell me which IRQs
> are available when I install various cards in our machines here.

Quite easily.

You read the Programmable Interrupt Controller's interrpt enable mask;
any bit NOT set means that the corresponding IRQ is active.

So, for a PC machine with 8 IRQ levels, you would simply read it with an

	in  AL,20H
	
However, this doesn't mean that a particular IRQ is "available" for use
any another device.  It only means that the PIC has been programmed with
that IRQ active, which indicates that there is software in the system
servicing it.  There may well be add-on cards in your system configured
to use an IRQ, but they don't happen to be active at the time you read
the PIC.

Printer and communications ports are a good example of that.  They may
well be configured to run on a particular IRQ, but since MS-DOS doesn't
use them "interrupt driven" it doesn't activate the IRQ.  Placing another
card on your system which requires use of that IRQ may well cause a
clash.

-- 

        Fidonet: 3:632/348   SIGnet: 28:4100/1  Imex: 90:833/387
               Data:  +61-3-885-7864   Voice: +61-3-8266711
 Internet/ACSnet: david@csource.oz.au    Uucp: ..!uucet!munnari!csource!david