I finally got my hands on a machine that shows the symptom of BDA 40:96 getting 
changed, and I was able to identify the problem.

When the PC starts, BDA 40:96 is initially zero. As soon as the users enters 
some specific keys (like the arrow keys), the value at 40:96 changes to 0x10. 
So the BIOS seems to do some keyboard auto detection.

I modified EDIT accordingly so that the value at 40:96 is checked before every 
INT16 call. That fixed the problem that EDIT sometimes swallowed some 
characters like {} on a german keyboard layout. This was the case when on EDIT 
launch 40:96 was still zero (40:96 was queried only on startup).

EDIT treats every ALT+something combination as a menu command, and therefore 
directs these keystrokes to the menu handler. However, on 40:96=0, EDIT uses 
INT16.02 to query the keyboard state instead of INT16.12. INT16.02 however maps 
AltGr to ALT. So AltGr+something was mis-detected as a menu command.

Bernd



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

Reply via email to