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
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel