Mail Archives: djgpp/1995/12/06/21:09:49
The DPMI specification states that hardware interrupts which happen in
real mode will be reflected to protected mode if a PM handler is installed.
I don't know what your program does while waiting for characters, but if
this waiting is in PM then you should almost never see a RM handler called
anyway. If you are worried about response, your PM handler would handle
the interrupt, EOI the controller, then IRET (and no mode switches would
be needed at all).
The PM interrupt hook procedure modifies the PM IDT to point to your routine
and also modifies the RM vectors to point to a reflection routine. If you
set the RM interrupt second, it would not reflect, and you should be able to
have a routine which buffers the characters in low memory. Make sure you
are setting the right RM interrupt - the primary PIC is sometimes
revectored. There may be some glitch in CWSDPMI which prevents the RM
routine from being hooked, but it should work elsewhere if this is the
only problem.
- Raw text -