Hello. "Vlad Romascanu (LMC)" wrote: > For Doom and the like it should be easy to incorporate a workaround into > DosEmu (it's tougher to do in WinNT because NT's NTVDM.EXE does not > expose a proper interface for what is needed, but anyway). According to this, it would be easier to patch doom itself: http://www.jsiinc.com/dl/SoundFX.txt
> If interrupts have been > disabled for more than a certain amount of time (easy to detect from within > the emulated IRQ0 generator, maybe coupled with the CLI/STI trap handler), > DosEmu could force the enabling of interrupts. Then Doom should then get > past the "Initializing timer..." lockup and work properly. Can someone test > that? Yes, it should, because it works when I commented out a dpmi_cli() call from where it must be so that ints are not disabled at all. Wait for a certain period and reenable ints could probably be a good workaround, but there are seem to be some problems: this cli/popf sequence really *locks* dosemu, it's timer stops, it eats 100% CPU, it doesn't receive signals anymore, nothing, only kill -9. And if it was suid-root and started under console with RAW keyboard access enabled, then only magic keys helps because keyboard stays in the RAW mode. I don't know where the problem is, maybe someone from dosemu developers knows this, but it seems that cli in PM does something more than just disabling an emulated ints under dosemu. There was a similar problem for realmode (and for DPMI's realmode callbacks as well, that is why I described it when it was not necessary to, sorry:), but it appears to be a bug in the linux kernel and was fixed in 2.4.7. But as PM dpmi code executes in the userspace, now the problem is elsewhere. BTW, you suggested me to visit your page to find out undocumented DSP commands. One very old game called Millenium writes to DSP the following commands: 0x06, 0x6b and 0xe2. Then it reads from a Reset address, while Creative's manuals claims that it is Write-only. I failed to find in your code something that could give me a hint such as what this program expects from DSP... How bad the fact that there is no a pc-speaker driver for NT so that I could try your code out. Thanks. - To unsubscribe from this list: send the line "unsubscribe linux-msdos" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
