VOGONS


SBEMU: Sound Blaster emulation on AC97

Topic actions

Reply 240 of 1347, by retrogamerguy1997

User metadata
Rank Member
Rank
Member

Did a quick test earlier on a c2d dell. I booted dos 6.22, loaded everything up, and did a quick test with Ultimate Doom. I was able to get sound effects and music working

Last edited by retrogamerguy1997 on 2023-03-25, 20:47. Edited 1 time in total.

Reply 241 of 1347, by stamasd

User metadata
Rank l33t
Rank
l33t

I have tested SBEMU (beta2 version) in another Zotac Zbox, this time the Zbox-MA760 Plus. I have had the exactly same successes and failures with the games I've tested as with the other Zbox, the ID80 (see earlier in the thread). Not surprising, because despite the MA760 being an AMD platform (and the ID80 being Intel) they use the same realtek codec and controller.

Actually I take that back. I have had only partial success with Duke3D. The sound setup program works properly including all tests. Starting the game I got music. But during one of the loading screens just before the game actually starts, it froze with a stuck note and I had to hard-reboot to recover.

(and the reason for testing the MA760 was, beside curiosity, the fact that this one has a real serial port which I think would be useful for DOS gaming in conjunction with SoftMPU and an external midi module - making it a better candidate for my small DOS gaming PC of choice)

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 242 of 1347, by Baron von Riedesel

User metadata
Rank Member
Rank
Member
Kamerat wrote on 2023-03-21, 23:07:

Based on the symptom that SBEMU can work with HDAplay without any modification, I think MPXPlay may miss some compatibility setup steps for some chipsets.
Just checked the MPXPlay's source code, the link stream register is written by MPXPlay already, but involves parsing HDA DAC nodes, not just a simple write to register with a raw value. I'm not sure I can handle it right now.
The power state is not touched by MPXPlay, I can try to set it, but not sure if it works.

hdaplay indeed sets the power state, and probably sbemu should do as well:

sc_inthd.c

static int parse_output_path(struct intelhd_card_s *card,struct hda_gnode *node, int dac_idx)
{
int i, err;
struct hda_gnode *child;

if(node->checked)
return 0;

#if 1 /* set power state, seems necessary on (some?) notebooks */
snd_hda_codec_write(card, node->nid, 0, AC_VERB_SET_POWER_STATE, 0 );
#endif
node->checked = 1;
if(node->type == AC_WID_AUD_OUT) {

Tried that on 1 laptop with HDA, it works.

Reply 243 of 1347, by C64

User metadata
Rank Newbie
Rank
Newbie

This is an awesome piece of software. Been testing on an IBM ThinkPad R50e and it's working well! The machine is running Windows 98SE and I've been playing DOS games under a DOS window which gives some basic Sound Blaster Emulation but quite a few DOS games don't like to run under Windows, one game in particular, Nascar racing has an issue with not enough conventional memory under a DOS window but it's working perfectly in DOS mode with SBEMU to provide sound. While a ThinkPad from circa 2005 is not exactly period correct for DOS games, it's at least got a 4:3 aspect screen and a retro enough feel while still having enough horsepower for more demanding DOS games. Now with SBEMU it's even better with having pure DOS sound support. I'm really excited to throw some more of my DOS games catalogue at this setup. Thanks to the SBEMU and associated components developers!

Reply 244 of 1347, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
Baron von Riedesel wrote on 2023-03-23, 03:30:
hdaplay indeed sets the power state, and probably sbemu should do as well: […]
Show full quote
Kamerat wrote on 2023-03-21, 23:07:

Based on the symptom that SBEMU can work with HDAplay without any modification, I think MPXPlay may miss some compatibility setup steps for some chipsets.
Just checked the MPXPlay's source code, the link stream register is written by MPXPlay already, but involves parsing HDA DAC nodes, not just a simple write to register with a raw value. I'm not sure I can handle it right now.
The power state is not touched by MPXPlay, I can try to set it, but not sure if it works.

hdaplay indeed sets the power state, and probably sbemu should do as well:

sc_inthd.c

static int parse_output_path(struct intelhd_card_s *card,struct hda_gnode *node, int dac_idx)
{
int i, err;
struct hda_gnode *child;

if(node->checked)
return 0;

#if 1 /* set power state, seems necessary on (some?) notebooks */
snd_hda_codec_write(card, node->nid, 0, AC_VERB_SET_POWER_STATE, 0 );
#endif
node->checked = 1;
if(node->type == AC_WID_AUD_OUT) {

Tried that on 1 laptop with HDA, it works.

This was discussed in another post in this thread, it is done, code not committed yet.
This build should contain the fix
Re: SBEMU: Sound Blaster emulation on AC97

Toshiba Satellite Pro 4300 - YMF744, Savage IX
Toshiba Satellite 2805-S501 - YMF754, GeForce 2Go
IBM Thinkpad A21p - CS4624, Mobility Radeon 128
main: Intel NUC11PHKi7C Phantom Canyon: i7-1165G7 RTX2060 64G 2T760PSDD

Reply 245 of 1347, by Bruno128

User metadata
Rank Member
Rank
Member
crazii wrote on 2023-03-23, 07:33:

This build should contain the fix

Hi crazii thanks for your work. The VT8233 fix is not merged in the OP version yet? Could it also fix VT8237A problem I report here?

Now playing: Red Faction on 2003 Acrylic build


SBEMU compatibility reports

Reply 248 of 1347, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie
crazii wrote on 2023-03-23, 07:33:
This was discussed in another post in this thread, it is done, code not committed yet. This build should contain the fix Re: SB […]
Show full quote
Baron von Riedesel wrote on 2023-03-23, 03:30:
hdaplay indeed sets the power state, and probably sbemu should do as well: […]
Show full quote
Kamerat wrote on 2023-03-21, 23:07:

Based on the symptom that SBEMU can work with HDAplay without any modification, I think MPXPlay may miss some compatibility setup steps for some chipsets.
Just checked the MPXPlay's source code, the link stream register is written by MPXPlay already, but involves parsing HDA DAC nodes, not just a simple write to register with a raw value. I'm not sure I can handle it right now.
The power state is not touched by MPXPlay, I can try to set it, but not sure if it works.

hdaplay indeed sets the power state, and probably sbemu should do as well:

sc_inthd.c

static int parse_output_path(struct intelhd_card_s *card,struct hda_gnode *node, int dac_idx)
{
int i, err;
struct hda_gnode *child;

if(node->checked)
return 0;

#if 1 /* set power state, seems necessary on (some?) notebooks */
snd_hda_codec_write(card, node->nid, 0, AC_VERB_SET_POWER_STATE, 0 );
#endif
node->checked = 1;
if(node->type == AC_WID_AUD_OUT) {

Tried that on 1 laptop with HDA, it works.

This was discussed in another post in this thread, it is done, code not committed yet.
This build should contain the fix
Re: SBEMU: Sound Blaster emulation on AC97

The power state changed from 0x33 to 0x30 with the new version, but still no sound without running HDAplay first.

Cold boot        0/ 16/0F05/0  - power state control=0x433
SBEMU only old 0/ 16/0F05/0 - power state control=0x33
SBEMU only new 0/ 16/0F05/0 - power state control=0x30
HDAplay + SBEMU 0/ 16/0F05/0 - power state control=0x0

DOS Sound Blaster compatibility: PCI sound cards vs. PCI chipsets
YouTube channel

Reply 249 of 1347, by keenmaster486

User metadata
Rank l33t
Rank
l33t

Just tested the new build.

Latency now imperceptible in Commander Keen. Sounds great. No stuttering on my Pentium M (maybe there would be on a slower CPU, who knows).

Edit: Epic Pinball still works great. Jazz Jackrabbit and Tyrian return "Loader Error 25".

A custom DRO player written by me in FreeBasic (a 32-bit program that uses DPMI) crashes the entire computer, just FYI.

World's foremost 486 enjoyer.

Reply 250 of 1347, by RayeR

User metadata
Rank Oldbie
Rank
Oldbie

I tried SBEMU 1.0 beta 2b with Wolfenstein 3D. It started nicely with music but as I first shot the SFX sound scattered the screen by some unreadable error, speaker shortly beep and system hanged... Quake DOS version works fine.

Attachments

Last edited by RayeR on 2023-03-24, 02:25. Edited 1 time in total.

Gigabyte GA-P67-DS3-B3, Core i7-2600K @4,5GHz, 8GB DDR3, 128GB SSD, GTX970(GF7900GT), SB Audigy + YMF724F + DreamBlaster combo + LPC2ISA

Reply 251 of 1347, by Kenpachi

User metadata
Rank Newbie
Rank
Newbie

Tested and working perfectly on Realtek ALC282.
Ran out of time with the IDT92HDxxx, was going to try a few other ac97 config utils such as Unmute mentioned in previous thread, maybe even modify it's asm source for config verbs as per the IDT datasheet, but it'll be 3 weeks until I'm back home from work.

Reply 252 of 1347, by Bondi

User metadata
Rank Oldbie
Rank
Oldbie
RayeR wrote on 2023-03-24, 01:29:

I tried SBEMU 1.0 beta 2b with Wolfenstein 3D. It started nicely with music but as I first shot the SFX sound scattered the screen by some unreadable error, speaker shortly beep and system hanged... Quake DOS version works fine.

I had exactly the same error with ZSNES Re: SBEMU: Sound Blaster emulation on AC97
But couldn't find a solution unfortunately.

PCMCIA Sound Cards chart
archive.org: PCMCIA software, manuals, drivers

Reply 253 of 1347, by mikedebian

User metadata
Rank Newbie
Rank
Newbie
Bondi wrote on 2023-03-24, 07:31:
RayeR wrote on 2023-03-24, 01:29:

I tried SBEMU 1.0 beta 2b with Wolfenstein 3D. It started nicely with music but as I first shot the SFX sound scattered the screen by some unreadable error, speaker shortly beep and system hanged... Quake DOS version works fine.

I had exactly the same error with ZSNES Re: SBEMU: Sound Blaster emulation on AC97
But couldn't find a solution unfortunately.

It's the same problem I have with doom opening. It starts the music, then when the first SFX is about to hit, it "skews" or messes up the screen and hangs.

Reply 254 of 1347, by Baron von Riedesel

User metadata
Rank Member
Rank
Member
RayeR wrote on 2023-03-24, 01:29:

I tried SBEMU 1.0 beta 2b with Wolfenstein 3D. It started nicely with music but as I first shot the SFX sound scattered the screen by some unreadable error, speaker shortly beep and system hanged

I remember that kind of error, but thought it has been fixed long ago. Perhaps it's a different cause ...

Try the attached sbemu variant ( it's not compatible with the standard sbemu, so do not mix them ) and tell if the error occurs there as well.

Attachments

Reply 255 of 1347, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
RayeR wrote on 2023-03-24, 01:29:

I tried SBEMU 1.0 beta 2b with Wolfenstein 3D. It started nicely with music but as I first shot the SFX sound scattered the screen by some unreadable error, speaker shortly beep and system hanged... Quake DOS version works fine.

I had the same crash/freeze (sometimes with errors) on my VT2C686 laptop, but it is fixed after the doom freeze was fixed. There might be similar problems on your PC that's not fixed yet.

Toshiba Satellite Pro 4300 - YMF744, Savage IX
Toshiba Satellite 2805-S501 - YMF754, GeForce 2Go
IBM Thinkpad A21p - CS4624, Mobility Radeon 128
main: Intel NUC11PHKi7C Phantom Canyon: i7-1165G7 RTX2060 64G 2T760PSDD

Reply 256 of 1347, by RayeR

User metadata
Rank Oldbie
Rank
Oldbie

>Baron von Riedesel
Thx, I will try at night.

>crazii
In my case Doom plays fine, SFX and music (SB Audigy).
I could try redirect stderr to file but I doubt it will save more than just a blank file as it hangs and leave data in cache/internal buffers...

Gigabyte GA-P67-DS3-B3, Core i7-2600K @4,5GHz, 8GB DDR3, 128GB SSD, GTX970(GF7900GT), SB Audigy + YMF724F + DreamBlaster combo + LPC2ISA

Reply 257 of 1347, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
Bruno128 wrote on 2023-03-22, 20:40:
Test report, Realtek ALC888 @ VT8237A MS-DOS 6.22 SBEMU ver.1.0b2 […]
Show full quote

Test report,
Realtek ALC888 @ VT8237A
MS-DOS 6.22
SBEMU ver.1.0b2

Output:

DEVICE=JEMMEX.EXE
JEMMEX v5.84 [02/06/23]
System memory found at e000-efff, region might be in use
JemmEx loaded
JLOAD QPIEMU.DLL
JLoad: QPIEMU.DLL loaded successfully.
HDPMI32I -r -x
HDPMI32 now resident
Internal stack overflow
System Halted

Could this be fixed? Thanks.

You can test the latest one that tries to fix interrupt problem. Re: SBEMU: Sound Blaster emulation on AC97

Toshiba Satellite Pro 4300 - YMF744, Savage IX
Toshiba Satellite 2805-S501 - YMF754, GeForce 2Go
IBM Thinkpad A21p - CS4624, Mobility Radeon 128
main: Intel NUC11PHKi7C Phantom Canyon: i7-1165G7 RTX2060 64G 2T760PSDD

Reply 258 of 1347, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
RayeR wrote on 2023-03-24, 14:49:
>Baron von Riedesel Thx, I will try at night. […]
Show full quote

>Baron von Riedesel
Thx, I will try at night.

>crazii
In my case Doom plays fine, SFX and music (SB Audigy).
I could try redirect stderr to file but I doubt it will save more than just a blank file as it hangs and leave data in cache/internal buffers...

Yes, my case was the same before the fix, wolf3d freeze on play digital sound, but now works fine after the fix.
Just tested again, it works fine using jemmex, but got a black screen after press ESC in game using QEMM. 🤣

Toshiba Satellite Pro 4300 - YMF744, Savage IX
Toshiba Satellite 2805-S501 - YMF754, GeForce 2Go
IBM Thinkpad A21p - CS4624, Mobility Radeon 128
main: Intel NUC11PHKi7C Phantom Canyon: i7-1165G7 RTX2060 64G 2T760PSDD

Reply 259 of 1347, by Bruno128

User metadata
Rank Member
Rank
Member
crazii wrote on 2023-03-24, 15:19:

You can test the latest one that tries to fix interrupt problem.

Test report,
Realtek ALC888 @ VT8237A
MS-DOS 6.22
SBEMU ver.1.0b2-8233fix

No change:
Internal stack overflow
System Halted

Now playing: Red Faction on 2003 Acrylic build


SBEMU compatibility reports