www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/03/13/09:12:14

Message-Id: <199603131402.JAA26174@mv.mv.com>
Date: Wed, 13 Mar 96 14:54:54 LIT
From: Martynas Kunigelis <martynas DOT kunigelis AT VM DOT KTU DOT LT>
Subject: CWSDPMI
To: DJGPP mailing list <djgpp AT delorie DOT com>

  This goes to Charles Sandmann:
I think there is a bug in CWSDPMI with hardware interrupts reflecting from
Real Mode to Protected Mode. Some time ago I found, that if I write a no-op
keyboard handler that just resets keyboard and interrupt controllers, I am
*still* able to break my program with ctrl-c if I enter a loop of switching
to real mode (e.g. time() function). Now, I wrote a so-called _example_
(I'd say, bug-example :( ) keyboard handler, which checks some (locked)
variable and chains to default handler if the variable is non-zero.
Well, everything works on my PC, but I have lots of people reporting me, that
their machines hang when they call scanf() with my handler installed and
chaining flag set. But this happens only under CWSDPMI, under Windows it worx
for everyone. Assuming, that scanf() switches to Real Mode, and having
noticed the problem I described earlier, I dare to suspect there *might* be a
bug in CWSDPMI. If you found a little time, I'd also appreciate if you'd
agree to have a look at my code and see what might be wrong. Just let me know
and I'll post it to you (DJ's got it also).
  Now to people, who have downloaded the bad-known `mkkbd2.zip': I am going
crazy trying to
find a bug in such a small peace of code, and nothing comes out. Except for
a line in a routine _keyboard_key_down, where movl should be replaced with
movzbl, but that definetly would not hang your PC. I hope C. Sandmann could
help us all with that. Please, Charlie!..

 Martynas Kunigelis

- Raw text -


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