delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/12/20/13:32:23

From: Charles Sandmann <sandmann AT new-orleans DOT NeoSoft DOT com>
Subject: Re: Interrupts and GO32.EXE
To: bardiria AT isis DOT curtin DOT edu DOT au (Aaron Ardiri)
Date: Tue, 20 Dec 1994 07:54:53 -0600 (CST)
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu

>   the old version used the _go32_dpmi_set_protected_mode_vecter, ... routines
>   to install the keyboard handler - but when i issued a [CRTL]+[C] or a 
>   [CRTL]+[BRK], i got the usual termination that go32.exe gives you :
> 
>   earlier today i edited the routines a bit - optimized them further and used
>   the _go32_dpmi_set_real_mode_interrupt_vector(),... etc. routines.
>   now the blasted things works ? how is that so ? does anyone have any idea

Under GO32, hooking protected mode interrupts will only call your routine if
the interrupt occured in protected mode.  If the interrupt occurs in real
mode (during any call to DOS, for example) it would not be seen.  Under 
real DPMI, all HW interrupts are reflected back to you in protected mode,
even if they occured in real mode.

Since PM interrupt are reflected to RM if not handled there, setting the
real mode interrupt vector would always catch them all.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019