Date: Mon, 10 Oct 1994 22:04:07 -0500 (CDT) From: Aaron Ucko Subject: Re: Interrupt handling To: dtauritz AT WI DOT LeidenUniv DOT NL Cc: djgpp AT sun DOT soe DOT clarkson DOT edu Organization: Rockhurst College; Kansas City, MO >I'm trying to write an interrupt handler in C like the example provided in > djgpp\samples\dpmi\timer.c >In my program everything works when I select software interrupt 8 (timer >interrupt) but not when I select software interrupt 72 (IRQ 10). While I >really have hardcoded an interrupt generation via my soundcard which is >installed for IRQ 10... >In the file sb.c (djgpp/contrib/sblaster) both protected mode and real mode >interrupt handlers are installed. Why is this? I thought DJGPP was a >protected mode only package! Anyway, I wrote something similar to the real & Yes, but suppose the interrupt is called when the computer is simulating a real mode DOS/BIOS call. We wouldn't want to cause a big pile-up, now would we? :-) >protected mode combo used in sb.c, alas, without success, my interrupt >handler installs without giving an error but the installed interrupt routine >is never called... >Any suggestions would be very much appreciated. Well, the only difference I can think of is that with IRQs 8-15 you have to reset both PIC2 and PIC1 (because of the IRQ2 cascade), but even so, you should have been called at least once--or maybe you _were_ called once in the first set of tests and nothing ever reset PIC2 (because no interrupts thru it could be generated--kind of a vicious cycle). Just my demi-nibble. :-) -=-=-"f y cn rd ths tgln, dc lbxym h gyt ntz."-=-=- Finger for PGP pubkey. Geek code 2.1 [finger hayden AT vax1 DOT mankato DOT msus DOT edu]: GCS/M/S d(-) H s g+ p? !au a-- w+ v+ C++(+++)>++++ U-(S+)>++++ P+ L>++ 3(-) E-(----) !N>++ K- W(--) M-(--) V(--) po-(--) Y+(++) t(+) !5 j R G tv--(-) b+++ !D(--) B--(---) e>++++(*) u++(@) h!() f(+) r-(--)>+++ n+(-) y?