[comp.sys.ibm.pc] Interrupt List - IRQ2

jmbj@whuts.ATT.COM (BITTMAN) (01/25/89)

I downloaded the interrupt list posted about 2 months ago, and was
looking through it when I noticed that IRQ2 was defined as the
EGA vertical retrace interrupt.  I looked in my IBM-AT tech ref., and
they say that IRQ2 is the interrupt for the IRQ8-IRQ15 PIC, one
of which I believe was for the EGA, others were the real-time clock
a couple reserved, etc.

What am I missing here?

Thanks in advance!  (I'll sleep better when I know the truth...)

Jim Bittman, whuts!jmbj

izumi@violet.berkeley.edu (Izumi Ohzawa) (01/25/89)

In article <5303@whuts.ATT.COM> jmbj@whuts.ATT.COM (BITTMAN) writes:
>looking through it when I noticed that IRQ2 was defined as the
>EGA vertical retrace interrupt.  I looked in my IBM-AT tech ref., and
>they say that IRQ2 is the interrupt for the IRQ8-IRQ15 PIC, one
>What am I missing here?

Both are correct.

On the PC and XT with the 8-bit bus, EGA's V-sync interrupt is
indeed connected to IRQ2 and to the corresponding input of PIC.
And EGA is an 8-bit addon card.

On the AT's 16-bit bus, the same physical bus line(connector) is
now designated as IRQ9 which goes through the 2-nd PIC and then
into IRQ2 of the 1-st PIC.

I thought, when I noticed this first, that this might break the
hardware interrupt handler I wrote (for old PC) that used IRQ2,
and that I would have to modify the driver to use IRQ9.

It turns out that you can use the old interrupt handler that uses
IRQ2 without modification on PC, XT, and AT if you use Function 25H
of INT21H DOS service to install interrupt vector.

Izumi Ohzawa,  izumi@violet.berkeley.edu