VOGONS


SBEMU: Sound Blaster emulation on AC97

Topic actions

Reply 280 of 1419, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
Kamerat wrote on 2023-03-25, 14:22:
crazii wrote on 2023-03-24, 22:15:
Kamerat wrote on 2023-03-23, 16:35:
The power state changed from 0x33 to 0x30 with the new version, but still no sound without running HDAplay first. […]
Show full quote

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

I updated another build, can you try this one: Re: SBEMU: Sound Blaster emulation on AC97

Thanks crazii. Unfortunately power state control is still at 0x30.

Hey, I just modified the power state code, hope it'll work this time. 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 281 of 1419, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
georgel wrote on 2023-03-25, 14:25:
crazii wrote on 2023-03-25, 04:11:

Interesting suggestion but I'm not sure yet how/whether it could be done, probably another io trapping of speaker port.

You have to trap port 61h and PIT channel 2, so corresponding ports and behavior too. All trapped ports most likely should be passed to the real ports too. More info can be found here https://wiki.osdev.org/PC_Speaker

But so far Gravis Ultrasound would be much more interesting to be implemented -- its source code is already in dosbox which you are already using anyway.

That should be the basic part. guess a PCM sine wave need to be generated based on the PIT frequency. This can be done later.

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 282 of 1419, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie
crazii wrote on 2023-03-25, 21:35:
Kamerat wrote on 2023-03-25, 14:22:
crazii wrote on 2023-03-24, 22:15:

I updated another build, can you try this one: Re: SBEMU: Sound Blaster emulation on AC97

Thanks crazii. Unfortunately power state control is still at 0x30.

Hey, I just modified the power state code, hope it'll work this time. Re: SBEMU: Sound Blaster emulation on AC97

Yes, it works and reporting power state control 0x0.

Thank you very much. 😁

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

Reply 283 of 1419, by stamasd

User metadata
Rank l33t
Rank
l33t

Tested SBEMU today on an Acer Aspire One 722 mini-laptop. AMD C60 APU, with MSDOS 6.22, SBEMU beta2 and JEMMEX 5.84.
It recognizes and enables sound (both OPL3 and SB emulation) as Intel HDA
However, no sound works under DOS at all. Neither OPL nor SB emulation, in any game I tried.
No errors, just no sound at all.

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 284 of 1419, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++

crazii - where are you located? If in the USA, I would be willing to give and ship you some hardware so you could do debugging on your end.

Haven't read the whole thread. What hardware are you needing for debugging?

Yamaha modified setupds and drivers
Yamaha XG repository
YMF7x4 Guide
Aopen AW744L II SB-LINK

Reply 285 of 1419, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
stamasd wrote on 2023-03-26, 01:03:
Tested SBEMU today on an Acer Aspire One 722 mini-laptop. AMD C60 APU, with MSDOS 6.22, SBEMU beta2 and JEMMEX 5.84. It recogniz […]
Show full quote

Tested SBEMU today on an Acer Aspire One 722 mini-laptop. AMD C60 APU, with MSDOS 6.22, SBEMU beta2 and JEMMEX 5.84.
It recognizes and enables sound (both OPL3 and SB emulation) as Intel HDA
However, no sound works under DOS at all. Neither OPL nor SB emulation, in any game I tried.
No errors, just no sound at all.

you can try this one that fixes HDA power states. Re: SBEMU: Sound Blaster emulation on AC97 it's just posted above.

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 286 of 1419, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
cyclone3d wrote on 2023-03-26, 01:38:

crazii - where are you located? If in the USA, I would be willing to give and ship you some hardware so you could do debugging on your end.

Haven't read the whole thread. What hardware are you needing for debugging?

No, I'm not in US. I can buy the hardware from my local online flea market, but I didn't bother to. it's a waste if only used for debugging. 🤣
EDIT: currently I don't have a VT8233/8235/8237, I only got HPT5710 (VT82C686) /5720 and another VT82C686 laptop, and a Pentium M ICH4 laptop.

Last edited by crazii on 2023-03-26, 02:06. Edited 1 time in total.

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 287 of 1419, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
KormaX wrote on 2023-03-24, 18:13:
Okay, I didn't have much time in these weeks, but I kept testing the program even though I didn't give a feedback. […]
Show full quote

Okay, I didn't have much time in these weeks, but I kept testing the program even though I didn't give a feedback.

Now, on my computer (Dell Inspiron 15, Intel HDA: Intel PCH (Panther Point) (80861E20) -> Realtek (10EC0282) (max 19
2kHz/24bit/8ch)), I didn't see any improvement since 3 or 4 test versions in context of these issues (although, I'm glad and it's impressive that at the meantime you've addressed other issues successfully):

Sound effects (AdLib and SB respectively) doesn't work with some games.

Shanghai 2: SB SFX tries to play once, produces only distorted noise and never tries to play again, ever. Every time a sound effect should play one voice of the music goes silent until the loop starts again. With AdLib, only the muting-of-a-channel issue occures, but still no SE.

Wacky Wheels: The setup finds the sound card, plays music, but no sound effects. If I try to adjust their volume, the system hangs. If I execute the game, the system hangs.

WWF Wrestlemania: Similar to Wacky Wheels.

Interestingly, Japheth's version performs better with Wacky Wheels, because it doesn't hang the system. One can play the game with music using Japheth's version, although, without sound effects.

Maybe some of his changes would worth being incorporated into the main project, becuase of its stability, also, an unloader would be very VERY useful for SBEMU, because once any other program touches the HDA, SBEMU should be reloaded, and while Japheth's simplified version can be unloaded an reloaded properly, yours can only be unloaded using active non-verbal violence, which is bad.

Interesting experiences:
1. SBEMU does things to the chipset that don't even reset by cold reboot, at least not on my computer. Once a game crushes badly, SBEMU seaces to work properly, will crush many other games, freezes, etc. until I boot up Windows7 and then reboot to DOS. Strange.
2. I could never get a no-Jemm, HDPMI32i-only setup work. Others reported it works for PM games. Not for me. Jemm is always required to work. Doesn't bother me, I just mentioned it.

For other users: Instead of JemmeX, Jemm386 is also usable. You have to compile the proper version of it, with the same version number Crazii's JemmeX has, it will have the same functionality. I compiled one for myself and posted it in the original thread of SBEMU, I have been testing SBEMU with both and they behave exactly the same way. I prefer Jemm386 because I primarily use an UMBPCI+XMGR setup and that CAN be extended with Jemm386 from the command line and Jemm386 can be theoretically unloaded once I'm done. In practice, this is currently only possibly with Japheth's version, because Crazii's original can only be unloaded via tricks and then Jemm386 doesn't feel like unloading anymore.

Would it be possible to include an optional IBM-speaker emulation in the future? Many computers with HDA don't have an actual PC-speaker, but a widget in the HDA in order to act as one. But if the HDA is "transformed" into a Sound Blaster, this won't work anymore and for games that use AdLib or SoundBlaster for music but beeper speaker for SE, SE no longer plays.

Tested Shanhai 2, it uses 8bit Direct mode (Non-DMA), it's not supported. the noise is due to incorrect handling of direct mode commands. I fixed the bug but since direct mode is not supported, now the game won't have any sound effects.
I tried Wacky Wheels with SB16 (/t6 option of SBEMU), the setup plays music & digital audio fine, but freeze in the game. It should be another compatibility issue.

EDIT: just added direct mode support, tested working in Shanghai 2. will be on next release.

Last edited by crazii on 2023-03-28, 05:27. Edited 3 times in total.

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 288 of 1419, by L4MD4

User metadata
Rank Newbie
Rank
Newbie
crazii wrote on 2023-03-25, 21:35:

Hey, I just modified the power state code, hope it'll work this time. Re: SBEMU: Sound Blaster emulation on AC97

crazii, this last fix has caused setblaster to work, on ICH6 AC97 (previously failed). I've yet to test anything else.

Vendor 8086, Device 266e, Subsystem 834c10f7, revision 04

MPXPLAY -SCT output: ICH : Intel ICH6 found on port : 18C0 irq:9 (type:ICH4, bits:16,20)

Using the "/k" switch, after initialization, clears the BLASTER variable. I think you've already mentioned something about that.

I'll update, if I find something unique to my experience.

By the way, you are a good sport for taking this on. Wading in murky waters, while in the midst of grand expectations. Many a good persons, have done less.

Reply 289 of 1419, by zyzzle

User metadata
Rank Member
Rank
Member
Baron von Riedesel wrote on 2023-03-24, 19:22:

That's even more interesting. These little tools just set/reset the PVI bit in CR4. In theory this should have no effect at all in v86-mode. So if the screen goes blank just by running SETPVI.EXE, it's a pretty weird system...
( btw, doom requires setpvi.exe, not respvi.exe ).

This is an important point. I've an HDA card in a Dell Inspiron laptop. Interestingly, I've *always* been running setpvi.exe in my batch files to run SBEMU. I've two such batch files, which load setpvi, load HDPMI32i, run SBEMU, etc. One for protected mode games, one for real mode games. With protected mode games, I don't need jemmex loaded at all; games work fine with SBEMU using a small XMS manager called QHIMEM2.SYS, with no EMS and no pageframe, even in v-86 mode. I find that often the system freezes entirely without setpvi being run first- In protected mode *and* real mode games, oddly.

Game compatibility with SBEMU seems much better with setpvi run. Is that just my imagination? I've never run respvi.exe. Is there any reason that I should or should not be running either setpvi.exe or respvi.exe for an HDA card?

Reply 290 of 1419, by th3bar0n

User metadata
Rank Newbie
Rank
Newbie
crazii wrote on 2023-03-25, 21:35:
th3bar0n wrote on 2023-03-25, 12:19:
I have a Vt8233 in an HP T5520 thin client. I don't get any of the DMA conflict errors, but otherwise similar - MPXPlay works pe […]
Show full quote
MBH wrote on 2023-03-22, 20:18:

I´m sorry, but still exactly the same problem. Nothing has changed. Duke3d setup complains about DMA and FM music ist disorted/too slow.

I have a Vt8233 in an HP T5520 thin client. I don't get any of the DMA conflict errors, but otherwise similar - MPXPlay works perfectly, but with SBEMU beta 2 no sound at all and with the VT8233FIX build, horribly slow and distorted sound for music and slightly less so for digital. This is for real mode (PlanetX3, Wolf3d) and protected mode (Descent). It reports as follows with /SCL (sorry for the shaky cam!).

y4mjZDHNrkM8wV5dcs3hqvM-fXb3KcNz57NnIAucIbPevHmPohjOw8d2Rku_hXi0HdUH_FCrQ_LKdvD2O5X8VIiny_PgJep4g6jpEuGkescBsksuFgPKxvhJL5vCak6c1j1V7ZXr3oHuEDlbGg-kokAvENrHfcnlbB4QrQ_FuIa12anDMFEVm6HRm122xXpLFf_?encodeFailures=1&width=620&height=240

Is there any new build I can try/test?

I should add beta 2 works absolutely perfectly on my daily driver (MSI B250i, HDA, i7-6600K)... just incredible!

Yes, I just updated the zip : Re: SBEMU: Sound Blaster emulation on AC97
the problem is I don't have a hardware to debug, so currently only blind guess, hope it could be figured out this way.

No problem, appreciate remote debugging is never the easiest! Thank you for your amazing efforts so far!

New build is definitely a step in the right direction. I've attached a couple of short recordings of the PlanetX3 adlib theme tune, b2 (previous build) c2 (latest build).

Attachments

  • Filename
    sbemu_b2_8233.m4a
    File size
    77.73 KiB
    Downloads
    60 downloads
    File license
    Fair use/fair dealing exception
  • Filename
    sbemu_c2_8233.m4a
    File size
    75.78 KiB
    Downloads
    59 downloads
    File license
    Fair use/fair dealing exception

Reply 291 of 1419, by stamasd

User metadata
Rank l33t
Rank
l33t
crazii wrote on 2023-03-26, 01:54:
stamasd wrote on 2023-03-26, 01:03:
Tested SBEMU today on an Acer Aspire One 722 mini-laptop. AMD C60 APU, with MSDOS 6.22, SBEMU beta2 and JEMMEX 5.84. It recogniz […]
Show full quote

Tested SBEMU today on an Acer Aspire One 722 mini-laptop. AMD C60 APU, with MSDOS 6.22, SBEMU beta2 and JEMMEX 5.84.
It recognizes and enables sound (both OPL3 and SB emulation) as Intel HDA
However, no sound works under DOS at all. Neither OPL nor SB emulation, in any game I tried.
No errors, just no sound at all.

you can try this one that fixes HDA power states. Re: SBEMU: Sound Blaster emulation on AC97 it's just posted above.

Here is what happens with that version.

OPL3 emulation still doesn't work in any program I tried.
SB emulation works in some games but not others. For instance I get full sound effects in XCOM, but trying Duke3D I can't get the SB sound to work properly in the setup program - complains of DMA conflicts. I set the parameters to the ones that SBEMU reports, 220/7/1, but the 16-bit DMA I tried all of those that Duke3D supports (5, 6 and 7) and it still complains.

Moreover, in XCOM despite the sound working, the mouse doesn't work now. I use CuteMouse, and I tried various options including preventing it from loading in UMB and use low memory instead. Still doesn't work. (cutemouse works well with SBEMU on other systems, but not on this one)
Again the system is an Acer Aspire One AO722 laptop with AMD C60 SOC.

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 292 of 1419, by retrogamerguy1997

User metadata
Rank Member
Rank
Member

Something I thought about last night when laying in bed is a bit convoluted, but I wonder if it would work. Basically my idea is could this be used to to emulate a soundcard that the dos version of dosbox-x can use, and then using dosbox-x run windows 3.1 and have working sound for that? or hell perhaps even running windows 95 with sound? So basically Windows 3.1/95 (with windows sb drivers) in dosbox-x on a newer pc running DOS + SBEMU (+ mouse and CD drivers). Or is it possible to get sound with windows 3.1 on a modern machine without dosbox-x on top of dos+sbemu? Because it's my impression that SBEMU is only for dos and won't work for getting sound in windows 3.1

Reply 293 of 1419, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
th3bar0n wrote on 2023-03-26, 12:18:
crazii wrote on 2023-03-25, 21:35:
th3bar0n wrote on 2023-03-25, 12:19:
I have a Vt8233 in an HP T5520 thin client. I don't get any of the DMA conflict errors, but otherwise similar - MPXPlay works pe […]
Show full quote

I have a Vt8233 in an HP T5520 thin client. I don't get any of the DMA conflict errors, but otherwise similar - MPXPlay works perfectly, but with SBEMU beta 2 no sound at all and with the VT8233FIX build, horribly slow and distorted sound for music and slightly less so for digital. This is for real mode (PlanetX3, Wolf3d) and protected mode (Descent). It reports as follows with /SCL (sorry for the shaky cam!).

y4mjZDHNrkM8wV5dcs3hqvM-fXb3KcNz57NnIAucIbPevHmPohjOw8d2Rku_hXi0HdUH_FCrQ_LKdvD2O5X8VIiny_PgJep4g6jpEuGkescBsksuFgPKxvhJL5vCak6c1j1V7ZXr3oHuEDlbGg-kokAvENrHfcnlbB4QrQ_FuIa12anDMFEVm6HRm122xXpLFf_?encodeFailures=1&width=620&height=240

Is there any new build I can try/test?

I should add beta 2 works absolutely perfectly on my daily driver (MSI B250i, HDA, i7-6600K)... just incredible!

Yes, I just updated the zip : Re: SBEMU: Sound Blaster emulation on AC97
the problem is I don't have a hardware to debug, so currently only blind guess, hope it could be figured out this way.

No problem, appreciate remote debugging is never the easiest! Thank you for your amazing efforts so far!

New build is definitely a step in the right direction. I've attached a couple of short recordings of the PlanetX3 adlib theme tune, b2 (previous build) c2 (latest build).

That's really good news! now I apply a sample rate fix, hope it works: 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 294 of 1419, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
retrogamerguy1997 wrote on 2023-03-26, 14:47:

Something I thought about last night when laying in bed is a bit convoluted, but I wonder if it would work. Basically my idea is could this be used to to emulate a soundcard that the dos version of dosbox-x can use, and then using dosbox-x run windows 3.1 and have working sound for that? or hell perhaps even running windows 95 with sound? So basically Windows 3.1/95 (with windows sb drivers) in dosbox-x on a newer pc running DOS + SBEMU (+ mouse and CD drivers). Or is it possible to get sound with windows 3.1 on a modern machine without dosbox-x on top of dos+sbemu? Because it's my impression that SBEMU is only for dos and won't work for getting sound in windows 3.1

win3.x and win9x has DPMI host of their own, They are not compatible to HDPMI.

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 295 of 1419, by Baron von Riedesel

User metadata
Rank Member
Rank
Member
zyzzle wrote on 2023-03-26, 11:02:

Game compatibility with SBEMU seems much better with setpvi run. Is that just my imagination?

I also have the best results with SETPVI. In theory, there should be no difference between SETPVI active and HDPMI suppressing CLIs inside the client - but my test so far revealed problems in some games in the latter case: Duke3D, ROOT and Stargunner; they "tend" to freeze after some time. That means that there's a small inconsistency in hdpmi - perhaps somehow the IF is copied from real-mode on certain occations. Needs some investigation ...

I've never run respvi.exe. Is there any reason that I should or should not be running either setpvi.exe or respvi.exe for an HDA card?

Interestingly, DosBox doesn't run under HX if the PVI bit is set - one has to launch RESPVI first. That's just for fun, I wanted to hear how Zone66 and Tyrian2000 sound with DosBox + SBEMU ...

Reply 296 of 1419, by th3bar0n

User metadata
Rank Newbie
Rank
Newbie
crazii wrote on 2023-03-26, 15:58:

That's really good news! now I apply a sample rate fix, hope it works: Re: SBEMU: Sound Blaster emulation on AC97

Latest build seems slightly better again (attachment sbemu_d2_8233).

However, some possibly useful extra info - I've been testing these builds using the adlib music running at the PlanetX3 title screen. When I quit the game from the title screen back to DOS, the "music" carries on playing. Given the noise I've just been rebooting straight away. However while playing around I noticed that just pressing a key on the keyboard is enough to stop the sound instantly. Then I tried pressing keys while it's playing on the title screen and it causes the distortion and the volume to change. Finally on a hunch I tried just holding a key down.. and some actual music! (attachment sbemu_d2_8233_KB).

Attachments

  • Filename
    sbemu_d2_8233_KB.m4a
    File size
    103.69 KiB
    Downloads
    59 downloads
    File license
    Fair use/fair dealing exception
  • Filename
    sbemu_d2_8233.m4a
    File size
    87.07 KiB
    Downloads
    56 downloads
    File license
    Fair use/fair dealing exception

Reply 297 of 1419, by jtchip

User metadata
Rank Member
Rank
Member

Thanks @crazii for developing SBEMU and keeping it open source.
Haven't seen a compatibility report for Nvidia chipsets so far so here's mine: An Asus X50GL (F5GL) laptop with MCP79MVL (Geforce 8200M G mGPU) and a C2D T7500 2.2GHz. SBEMU /SCL detects it as:

Intel HDA: NVidia MCP79 (10DE0AC0) -> Realtek (10EC0663) (max 192kHz/24bit/8ch)

Test environment is FreeDOS 1.2 (haven't found the time to upgrade to 1.3 yet) booted from a 4GB USB flash drive, JEMMEX, etc. loaded per SBEMU 1.0beta2 instructions, emulating SB16 with BLASTER=A220 I5 D1 H5 T6.
The usual Wolf3D, Doom (2), Duke 3D, Descent, Quake all work. The BLASTER environment variable disappears after loading SBEMU so had to be manually set again otherwise Wolf3D uses the wrong interrupt and has PCM sounds cut off, and Quake fails to detect a sound card.
Oddly, MPXPLAY doesn't work, it detects IHD but there is no sound and the progress bar doesn't move (interrupt issues?), unlike my next platform which is the opposite (go figure).
The next one is a Jetway J7F2 with C7-D 1.5GHz and a VIA VT8237R+ detected as:

VIA : VT8233 soundcard found on port:F000 irq:11 chiprev:60 model:4170

Same test environment but had to drop DOS=UMB or it will crash on any LOADHIGH. IRQ 5 set to reserved in BIOS, otherwise SBEMU reports an IRQ conflict. Tested both beta2c and beta2d with similar results.
As with the other VT8233 testers, I get mostly noise, the noise changes with a new OPL2 or PCM sound effect so it's trying to play something. This might be helpful: the one time it played something correctly is the level loading progress bar in Wolf3D, I get a couple of OPL2 percussion beats but at a slow tempo (probably half) but that stops as soon as the level starts and it's back to noise. The slow tempo is probably normal, it happens on the Nvidia platform as well.
MPXPLAY works fine, detected as VIA, with or without SBEMU loaded.

Reply 298 of 1419, by digger

User metadata
Rank Oldbie
Rank
Oldbie
stamasd wrote on 2023-03-26, 14:09:
Here is what happens with that version. […]
Show full quote

Here is what happens with that version.

OPL3 emulation still doesn't work in any program I tried.
SB emulation works in some games but not others. For instance I get full sound effects in XCOM, but trying Duke3D I can't get the SB sound to work properly in the setup program - complains of DMA conflicts. I set the parameters to the ones that SBEMU reports, 220/7/1, but the 16-bit DMA I tried all of those that Duke3D supports (5, 6 and 7) and it still complains.

Moreover, in XCOM despite the sound working, the mouse doesn't work now. I use CuteMouse, and I tried various options including preventing it from loading in UMB and use low memory instead. Still doesn't work. (cutemouse works well with SBEMU on other systems, but not on this one)
Again the system is an Acer Aspire One AO722 laptop with AMD C60 SOC.

It's a long time ago, but I do vaguely remember that sound behavior under emulation would improve when the DOS/4GW DOS extender that shipped with the game were upgraded to DOS/4GW 1.97 or higher. This is due to a bug in DOS/4GW vesion 1.95. This was specifically with a Gravis Ultrasound emulating a Sound Blaster with SBOS, but it might affect other emulation scenarios as well.

Wikipedia makes mention of this as well:

Initial versions of DOS/4G had trouble with secondary DMA channels on the ISA bus, which prevented 16-bit devices like Gravis Ultrasound series from normally functioning; Gravis even had to develop PREPGAME, a patch utility which updated the game executable with a new version 1.97 to fix the incompatibility.

In case of problems, DOS/4G or DOS/4GW can be replaced with the newer and free DOS/32; a patch utility can even replace DOS/4G code embedded inside a compiled executable file.

Source: https://en.wikipedia.org/wiki/DOS/4G#History

So maybe it would be a good idea for everyone testing SBEMU on various systems with various physical sound cards to repeat their tests on any problematic games by patching the game to use DOS/4GW 1.97 or higher (at least for games that shipped with DOS/4GW 1.95 or lower), and then repeating the test once more after swapping out DOS/4GW for DOS/32A? And then document any differences in emulation behavior?

Reply 299 of 1419, by stamasd

User metadata
Rank l33t
Rank
l33t

Interesting. I have placed/replaced DOS4/GW version 1.97 in the directories of games (Frontier First Encounters, Duke3D and XCOM). Duke now completes sound setup without any errors and the game plays normally, with full sound (effects+music). FFE: the sound setup utility (which is the one that used DOS4GW) still crashes with 1.97 as it did with 1.95. XCOM: sound setup completes, the game launches with sound effects and music but crashes as soon as I press any key.
NB I have disabled the mouse for these tests as I think cutemouse is not compatible with this system, at least not the version I used. Which was the latest beta.
The tests were done under DOS 6.22, with the SBEMU with VT power fix.

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