From: drew@kinglear.cs.colorado.edu (Drew Eckhardt)
Subject: Re: vertical retrace inte
Organization: University of Colorado at Boulder
Date: Wed, 19 Aug 1992 06:15:17 GMT

In article <BstLns.Lw0@news.cso.uiuc.edu> tmkk@uiuc.edu (Khan) writes:
>
>In article <1992Aug11.104012.1134@colorado.edu> drew@ophelia.cs.colorado.edu (Drew Eckhardt) writes:
>>
>>If you are talking about microchannel machines,you are correct.  However, 
>>if you are talking about "normal" XT and ISA bus PC's, you have no understanding
>>of the bus, and should stop spreading lies.
>
>Spreading lies? Hmm... Is it a lie to report what I have seen with my
>own eyes? Perhaps I was hallucinating when I saw two of my COM ports, one
>on the motherboard and one on a separate add-in card, share an IRQ level.

My definition of sharing interrupts, as well as most of the other
netters, is that two devices on the same IRQ line can have their 
drivers enabled at the same time, generate interrupt conditions
at the same or different times, and have those interrupts seen
by the PIC and serviced.  This definition is consistient to what 
you used in your theoretical example - if you were making different
assumptions, you wouldn't have proposed chaining interrupt handlers
because it wouldn't gain you anything - you'd just enable one handler
when that board was in use.

The PC designers hooked the out2 signal on the UART  (controlled from the 
MCR) so that it could enable/disable drivers.  Generally, when a serial 
port is not being used in an interrupt driven application, it disables
the IRQ line driver, and is electrically disconnected from it.  So, 
you can have some other serial port use that IRQ.  Problems only arise
when BOTH enable drivers at the same time, as I stated in my example. 

>>THERE IS A HARDWARE PROBLEM THAT PREVENTS THE SHARING OF INTERRUPTS.
>
>Whatever you say. ;-)
>
>Your explanation does make sense, but my observations would appear to
>disagree with it. Perhaps there is an alternate explanation? Might some
>clone makers have realized that this "flaw" existed in the original PC
>bus design, and designed their bus to correct it? Such things are not
>unprecedented; the original IBM printer port required a hardware
>modification to become bidirectional, but most clone boards are
>bidirectional right out of the box.

>Before you start flaming someone as a liar, you might want to check your
>own facts.

Why don't you check your facts?  The general, and correct, consensus 
among netters is that the PC hardware prevents sharing of interrupts.
Since you are in the minority, it is your burden to prove yourself 
correct.  

Set OUT 2 on both of the UARTs "on the same IRQ line", enable 
the transmit empty interrupt in IER of one, and write a character 
to it.  You'll never see the interrupt that comes off of it.

I've tried it, and yes, it doesn't work.  People have tried
it with hardware mods involving resistors on the IRQ line,
and it "sort of works".

My PC crap and National Semi databook is in transit, so I can't give the 
exact bits to twidle, or actual code, but if you don't have a reference I'm 
sure some of the other netters will be more than happy to provide the 
information in the interest of truth.
-- 
Microsoft is responsible for propogating the evils it calls DOS and Windows, 
IBM for AIX (appropriately called Aches by those having to administer it), but neither is as bad as AT&T.  Boycott AT&T, and let them know how you feel. 

Newsgroups: rec.games.programmer