> The basic problem is that INT 15.4F is a BIOS function that can be > called by any program at any time. completely wrong.
int 15.4f is supposed to be called from the BIOS from the INT 09 handler, and NOBODY else. > It's true that it is always > supposed to be called by the INT 09 handler (though even that > doesn't necessarily always happen, such as in Windows or certain > other programs that provide their own INT 09 handler). For a long > time, people have assumed that INT 15.4F can ONLY be called by INT > 09, and that is simply not true. MS itself gives an example of > issuing an INT 15.4F from outside the INT 09 handler here: > http://support.microsoft.com/kb/67929 that it can be called from a batch file to boot the system is a nice trick, nothing else. > Because it can be called from outside the INT 09 handler, there are > all kinds of issues that must be taken into account in the > implementation, including the fact that it must be fully-re-entrant why in hell do you think it must be reentrant ? no single DOS or BIOS call is 'fully' reentrant, but suddenly INT 15.4F is 'fully reentrant' because you can use it to boot your system ? the logic of this escapes me. > and it must never issue any I/O requests to the keyboard controller > or the PIC or anything else. that's why it was created in the first place: to free the KEYB implementation from the burden of supporting micro channel machines, where it's not as easy as 'handling INT 09' > In short, INT 15.4F must only do what > the IBM Technical Reference (and RBIL) say it should do: translate > one scan code to another, or return a flag indicating that the > scancode should be ignored. INT 15.4F is not supposed to actually > "process" any scancodes at all (modify the BDA, insert keys into the > keystroke buffer, issue INT 05 if <PrintScreen> is pressed, handle > the <Pause> key, handle Power/Sleep/Wakeup and multimedia keys > (Volume Controls, Play/Pause/etc.) for keyboards that have them, > etc.). Only the INT 09 handler proper is supposed to do that. if you show me the point in the IBM Technical Refence, I might consider this. otherwise I tell you that MKEYB does all of these nasty things mentioned above, and it works beautifully. Tom ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 _______________________________________________ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user