If I understand you correctly, then JEMM386, but not JEMMEX,
clears the ext keyboard flag at 40:96, but should not. Have
you tested whether this depends on which options you use when
loading JEMM386?

The JEMM386 source code (some old version I had around) has
the following in JEMM32.ASM which might be relevant, as part
of the int 15, function 4f handler for scancode 53 (DEL)...

    and word ptr ds:[@KB_FLAG],not 01100001100b ;reset Ctrl+Alt status
and byte ptr ds:[496h],not 1111b ;reset Ctrl,Alt,E0,E1 status

RBIL says:

MEM 0040h:0096h - KEYBOARD STATUS BYTE 1
Size:   BYTE
SeeAlso: MEM 0040h:0097h,INT 16/AH=11h

Bitfields for keyboard status byte 1:
Bit(s)  Description     (Table M0033)
 7      =1 read-ID in progress
 6      =1 last code read was first of two ID codes
 5      =1 force Num Lock if read-ID and enhanced keyboard
 4      =1 enhanced keyboard installed
 3      =1 Right Alt pressed
 2      =1 Right Ctrl pressed
 1      =1 last code read was E0h
 0      =1 last code read was E1h

So in theory, this write access to 40:96 should not affect
the enhanced keyboard installed flag. Maybe the version of
JEMM386 used by Willi implements this part in a broken way?

Regards, Eric




_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to