delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/07/04/15:07:37

Date: Thu, 4 Jul 1996 12:03:23 -0700 (PDT)
From: Jag <gaghon AT nevada DOT edu>
To: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
cc: djgpp AT delorie DOT com
Subject: Re: Quake and Win95...
In-Reply-To: <Pine.SUN.3.91.960704162241.24511E-100000@is>
Message-ID: <Pine.OSF.3.91.960704115103.12111A-100000@pioneer.nevada.edu>
MIME-Version: 1.0


On Thu, 4 Jul 1996, Eli Zaretskii wrote:

> You mean `F' like the letter F (not F1 function key or something)?

Yes its the letter 'F'.  I found out that the same thing happens in 
onother game, Masters of Orion.  Maybe even others, but I have not tested it.

 
> Don't forget that the DPMI host (in this case, Win95) sees the keystroke 
> *before* your program (who do you think makes happen the interrupt 
> reflection from real to protected mode?).  So in principle, it could act 
> on a keystroke instead of passing the interrupt to your app.  I just 
> wouldn't expect it to do so for a key as simple as F...
> 
> Do you install a protected-mode handler, or a real-mode one (or both)?

I am using the Allegro keyboard handler, it looks like a PM handler.


key - is an array
my_keyint - is the keyboard handler routine.

Keyboard_Int = 9;
static _go32_dpmi_seginfo key_oldint;
static _go32_dpmi_seginfo key_int;

..................../   /..................


Lock_Variable(key);
Lock_Function(my_keyint); 

key_int.pm_offset = (int)my_keyint;
_go32_dpmi_allocate_iret_wrapper(&key_int);
key_int.pm_selector = _go32_my_cs();
_go32_dpmi_get_protected_mode_interrupt_vector(Keyboard_Int, &key_oldint);
_go32_dpmi_set_protected_mode_interrupt_vector(Keyboard_Int, &key_int);


Thanks

Vince

- Raw text -


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