> environment. Even better would be a good explanation for why the problem > only manifests itself with that specific environment and application.
I've looked into the Qemu BIOS code for int 15h, ah=C2. Usually the code found in "real" BIOSes is programmed very "defensively", that is, if a piece of code is executed inside an interrupt handler which shouldn't be interrupted, the IF is explicitely cleared, no assumptions are made about the current state of IF. And, after done with the critical code, the IF usually is set again as soon as possible. This is not true for the Qemu/Bochs BIOS, at least not for Int 15h, ah=C2. It expects IF to be cleared, doesn't change it and starts to poll the PS/2 device. Now if IF is set on entry to Int 15h for whatever reason, and IRQ 12 is not masked, it may then poll "forever". ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel