delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/04/03/07:35:52

Date: Mon, 3 Apr 2000 10:45:32 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: Trancelucid <trancelucid AT videotron DOT ca>
cc: djgpp AT delorie DOT com
Subject: Re: keyboard interrupt
In-Reply-To: <38E7E9C9.56474257@videotron.ca>
Message-ID: <Pine.SUN.3.91.1000403104511.26246A-100000@is>
MIME-Version: 1.0
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Sun, 2 Apr 2000, Trancelucid wrote:

> Eli Zaretskii wrote:
> > 
> > On Mon, 27 Mar 2000, Jonathan Meunier wrote:
> > 
> > > DJGPP doesn't allow reentrant interrupts..
> > 
> > It doesn't?  Could you explain why?  I'm not aware of any such
> > limitation for hardware interrupt handlers in DJGPP.
> 
> Err, not DJGPP itself, but rather handlers written in C.. DJGPP function
> _go32_dpmi_chain_protected_mode_interrupt_vector chains the original
> handler automatically. Is there a way to call the original handler only
> when I want it to?

Yes, you could call the original handler (saved during initialization)
instead of chaining.

> What I want to do is to handle the keyboard interrupt
> (faster for games), but when I want to (ie: with a flag), I'd like the
> DOS keyboard handler to handle it instead. Is this possible to do this
> in C, or do I have to do it all in assembly?

I see no problems doing this in C: you just need a function call.

> Read all of the above except for the sources, but it doesn't go in
> details.. So I'll go download the sources now :)

You can always ask questions here, if something in the sources is
unclear.  That's what's great with DJGPP: you can talk to the
developers whenever you need to.

- Raw text -


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