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

Reply via email to