Mail Archives: djgpp/2014/07/11/09:45:04
On 07/11/2014 02:48 PM, Mateusz Viste wrote:
> I have to admit I had no occasion yet to play with interrupts in DOS
> (other that from a user point of view). What you write sounds very
> convincing. And I have read in some MPU401 documentation that it is
> likely to emit INT 9 at some occasions.
>
> For a test, I tried to handle the INT 9 with a "do nothing" function in
> Turbo C, and now when my program ends, I have no keyboard anymore (ie. I
> can press keys, but no reaction happens at all). :) Haven't tried to
> catch the interrupt in protected mode yet, as it looks somewhat complex
> (according to the DJGPP docs) - way more convoluted than doing it in
> real mode at least.
>
> In any case, thanks for the hint! I will try to play with interrupts
> this weekend and see what happens.
>
> cheers,
> Mateusz
>
>
Interrupt 9 is not necessarily interrupt 9 in dos_setvect.. I believe
there was an offset involved...
That's me setting a handler for the parport interrupt:
_dos_setvect( pp->intr+0x08, ex_isr );
(using Openwatcom, though.. there may be differences)
seems there's 0x08 to be added...
Interrupt vector 0x09 is the keyboard interrupt(IRQ 1) in DOS. You
hooked it and forgot to restore it to previous value....
- Raw text -