Mail Archives: djgpp/1996/03/05/10:34:37
Everyone who has downloaded a file `mkkbd1.zip' from v2tk directory,
should apply the following patch to the file `keyboard.s' from the zip:
----<cut here<------(keyboard.dif)-----------------------------------------
105a106,108
> movl $1, _keyboard_chain_flag
>
> movw %cs, %cx
----<cut here<-----(end of keyboard.dif)-----------------------------------
You must do:
C:\>patch keyboard.s keyboard.dif
The followig bugs are fixed by the patch:
[1] keyboard_init() routine now sets the keyboard_chain_flag to 1 to
assure chaining after initialization. Though the initial value of
keyboard_chain_flag was still 1, the new approach is more ellegant (it also
prevents from problems that might be caused by gas'es bugginess).
[2] CX now gets loaded with handler's code selector before a call to DPMI
function 0x0205 (set PM interrupt vector). This bug caused no problems
( did it? ) because CX remained loaded with value returned by DPMI
function 0x0204 (get PM interrupt vector), code selector of the default
DJGPP keyboard handler, which resides in the same segment as our handler.
I hope this would fix problems reported to me. There's still one thing
I am not absolutely sure of. Do I need to `cli' in the beginning of a Protected
mode interrupt handler? I hope someone from DJGPP team can answer that...
Sorry for bugs -- they're just so hard to get rid of..
Martynas DOT Kunigelis AT vm DOT ktu DOT lt
- Raw text -