Date: Mon, 31 Jan 2000 09:24:53 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: JP Morris cc: djgpp AT delorie DOT com Subject: Re: IRQ 5, CWSDPMI and PMODETSR In-Reply-To: <3894ABFC.C8B3F695@bigfoot.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com Errors-To: dj-admin AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Sun, 30 Jan 2000, JP Morris wrote: > Ah, but in certain circumstances DOS4GW and it's ilk will only > operate if they receive IRQs revectored to something strange like > 0x80 onwards. CWSDPMI also reprograms the PIC to move the IRQs up, but it tries several possible values until it finds one that is available. See the function init_controllers in the file exphdlr.c in CWSDPMI sources. If you have Turbo C, you could play with that code and see if some changes help. (If you do that, please report the results to Charles Sandmann, so he could make the next CWSDPMI release better.) However, this reprogramming of the PIC is transparent for the applications, at least in my experience. > First, Allegro. > At first I assumed it was an Allegro problem so I went through > each block of the sound driver code and inserted printf statements > except for the IRQ handler, which I made count the number of times > it was called. > > This was always 0, except when another sound card was installed, or > PMODETSR is used instead of CWSDPMI. > This shows that the IRQs are not reaching the handler, except when > PMODETSR is used. This seems to imply that the card and/or the driver do something strange with the interrupts. I don't know enough about Allegro's sound code to make a more intelligent guess. Anyone? Just to make sure whether this is or isn't an IRQ problem, you could try to connect some other device to the same IRQ 5, and see if the handler gets the interrupts.