www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/03/05/10:34:37

Message-Id: <199603051517.KAA15210@delorie.com>
Date: Tue, 05 Mar 96 14:58:14 LIT
From: Martynas Kunigelis <martynas DOT kunigelis AT VM DOT KTU DOT LT>
Subject: mkkbd1.zip patch
To: DJGPP mailing list <djgpp AT delorie DOT com>


        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 -


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