crazii wrote on 2023-02-22, 09:40:
I think those need more investigations, like incompatible games. Not sure I can fix it but I'll try.
Happy to report further success on several fronts with the latest (22-Feb) binary.
1. 16-bit audio now works! (mostly, somewhat finicky), and the emulated card detects as SB16 DSP v. 4.0 and I tested common games like Duke 3D, Quake, Doom, Descent, Descent 2, and all work. With high-quality 16-bit stereo sound, and emulated OPL3 music at port 0x388. Internal speakers work in HDA. Hooray! Hoever, I still can't get Screamer, Screamer 2, or Need for Speed SE working with any sound. They're all DOS4gw protected mode racing games. Tried restubbing with DOS32A and d3x to no avail. Sound works OK in their setup programs but the games freeze or produce no sound upon startup.
2. I got OpenMPT to output 16-bit, 44100 stereo sound from my module files! Fabulous, not sped up any longer
3. DMP v. 3.01 worked once or twice in real mode to also produce 16-bit, 44100 audio from Protracker .mod files. Great!
4. DSS still does not work. It seems to detect the SB16, but still plays using PC-speaker mode, even though I modifyed its .cfg file to specifically change from PC speaker to SB16, with correct IRQ, DMA settings.
5. Open Cubic Player = same story as with Digitial Sound System. I'm using v. 1.6 (protected mode, pmode and also re-stubbed with D3x and / or dow4gw / DOS32A). It seems to detect emulated SB16 of SBEMU, but either freezes or plays static (random noise) with 16-bit signed 44100 PCM .wav files. If I change the .cfg file to tell it to use SB Pro instead, I get the sped-up audio again, and no way to slow it down except to cut speed to 50% manually through Cubic Player.
6. MikMod v. 3.2.9 still doesn't work in SB16 mode -- says "Detection problem", But will work still with sped-up sound in Sb Pro mode. Could be IRQ / DMA problem?
I've not yet found a simple DOS .wav file player which is compatible with SBEMU. MpxPlay doesn't detect the emulated SB16 or any SB at all with SBEMU loaded. It *does* detect the raw HDA sound card, but again, due to its bugs that *you fixed* it doesn't play .wav or .flac files using its native drivers, either.
The Amiga sound .MODs / XM / S3ms all play great using players for these types of files, but those .MOD players don't play regular .wav or .flac or .mp3 files as well (that's *not* fault of SBEMU, but fault of those .mod playing programs for not having ability to play uncompressed .pcm audio as well as .mods).
Can anyone report success on getting simple uncompressed 16-bit/44100/stereo PCM audio playing? What is another great DOS program which will work with just playing .WAVs, .flacs, and .mp3s / AAC that I might try?
And, BTW: I tried "The Last Eichoff" again, and its audio is still speed up! And goes silent once you get past the title screen, and start the game. Strange.
Also, I figured out / verified:
- You don't need to load JEMMEX (or any EMS memory) manager at all to use SBEMU in *protected* mode games / programs. Then, MTRRLFBE and LFB writecombining works as normal. Problem solved
- As recommended, it is better to *not* enable both protected mode and real mode at the same time using SBEMU. Use one or the other. Real mode SB-emulation requires JEMMEX to enter v86 mode.
- I've created seperate "turnkey" .bat files to quickly enable the settings I need for either /rm0 or /pm0 and volume, speaker internal vs headphone, etc.
I report still these bugs / problems which still appear in latest (22-Feb binary).
- I can't run SBEMU.EXE again after I've run it the initial time, in order to change settings / modify values. It does run *once*, regardless of settings, regardless of protected mode or real mode emulation. However, all future attempts to run it again / change settings result in a SIGFAULT generated CWSDMPI / DPMI. The only way to reconfigure is to reboot the machine. This behavior occurs on all three of my HDA systems, with no other DOS TSRs except either JEMMEX or HimemSX running. Not sure of this is an HDPMI32 problem, or what?
-I've also experienced random keyboard errors / problems / freezes when using SBEMU and, especially when exiting games. The keyboard can be "stuck", not register keys, or register erratic or "random" letters. The same happens sometimes within programs. Ex: PCAE, the excellent (real mode) Atari 2600 emulator for DOS, works perfectly with emulated SB sound, but the keyboard keys are messed up. (arrow keys don't work properly in the program playing the emulated Atari 2600 games like Dark Cavern, ET, Ms. Pacman, etc). Frustrating. Even using its "remap" keyboard program doesn't fix.
-After quitting some programs, the sound is not silent, ie. it gives a loud buzz or beep or random dissonance. It persists until I either run another game / program using SBEMU or reboot. Seems that SBEMU doesn't "reset" the emulated SB card to "silent" after quitting some games. Running SBMIX, volume setting utility and setting master volume to "0" fixes that random disharmonious sound as well.