VOGONS


SBEMU: Sound Blaster emulation on AC97

Topic actions

Reply 300 of 1415, by stamasd

User metadata
Rank l33t
Rank
l33t

More findings.

I did some tests with DOS32a.exe as well.
Neither of the programs tested (listed above) liked it. They behaved exactly as with DOS4GW 1.95

One more interesting finding. The sound setup program for Duke3D already uses DOS4GW 1.97, probably embedded within the binary because there is no separate executable in the directory. It will use an external DOS4GW binary if placed there. The DOS4GW binary that I used for that makes the sound setup not complain of DMA, even though it's the same 1.97 as the one embedded.

Not only that but - running that setup program with the appropriate external DOS4GW enables OPL3 emulation under SBEMU in other games/programs as well.
I said previously that OPL emulation did not work in any games/programs. Just after rebooting the computer and loading SBEMU, this is still the case.

Running OPL440.com (a small program that generates a 440Hz sound directly through OPL) gives no sound if run immediately after that. However, if I then run the Duke3d setup program and select/test OPL music, then exit the setup and run OPL440 again, this time it will make the 440Hz sound.

One more thing, the volume of both the emulated SB sounds and OPL sounds on this machine is very low, barely audible. It's not the sound card, because the same machine in Windows can be very loud. (system is again an Acer Aspire One AO722)

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 302 of 1415, by wbahnassi

User metadata
Rank Member
Rank
Member

Intel X58 chipset with Integrated Intel/Realtek HD ALC262 Audio (HP Z400 workstation) now works great on Doom/Doom2. On Skyroads all is good but there is a noticeable delay between action and sound. On Crusader No Remorse immediate hang when installation program wants to test the sound card (tried SB/SBPRO/SB16, all same). Isn't Crusader No Remorse a protected mode game too?

Reply 303 of 1415, by urbanus

User metadata
Rank Newbie
Rank
Newbie
Bruno128 wrote on 2023-03-27, 15:09:

Ok I am really confused by versioning scheme now, what is the number for the newest testing one

Pretty sure this is the latest version: Re: SBEMU: Sound Blaster emulation on AC97
He has been updating it.

Reply 304 of 1415, by L4MD4

User metadata
Rank Newbie
Rank
Newbie
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

You can use HDPMI32(I) to load Win3x. It will essentially be Standard Mode, without the option to run a Dos Prompt. I have ran WfW3.11 that way, on Win9x's Dos, without patching Dos.

Change to the Windows directory and run "SYSTEM\DOSX".

It is very unlikely a "WIN16" SoundBlaster driver will work with SBEMU. Chances are better with the 1.0, 1.5, 2.0, and Pro drivers. I would not get my hopes up.

HxDos Extender can probably use SBEMU. So "inside" DosBox-X audio will work. Dos has no video acceleration. The DosBox-X 3D video card emulation, will rely completely on the CPU. So DirectX/OpenGL games, in WIndows, will probably run poorly. However, I am just assuming that DosBox-X relies on native O.S. video acceleration.

Reply 305 of 1415, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++
L4MD4 wrote on 2023-03-28, 01:33:
You can use HDPMI32(I) to load Win3x. It will essentially be Standard Mode, without the option to run a Dos Prompt. I have ran W […]
Show full quote
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

You can use HDPMI32(I) to load Win3x. It will essentially be Standard Mode, without the option to run a Dos Prompt. I have ran WfW3.11 that way, on Win9x's Dos, without patching Dos.

Change to the Windows directory and run "SYSTEM\DOSX".

It is very unlikely a "WIN16" SoundBlaster driver will work with SBEMU. Chances are better with the 1.0, 1.5, 2.0, and Pro drivers. I would not get my hopes up.

HxDos Extender can probably use SBEMU. So "inside" DosBox-X audio will work. Dos has no video acceleration. The DosBox-X 3D video card emulation, will rely completely on the CPU. So DirectX/OpenGL games, in WIndows, will probably run poorly. However, I am just assuming that DosBox-X relies on native O.S. video acceleration.

Back in the day, mid 90s, I remember "16 bit" soundcards being sold for $10 in the baggie at computer fairs, no box, no disk, no manual, and teh interwebs was not what it was even a couple of years later for finding drivers... and anyway, they worked in a default SBPRO 2.0 mode in DOS and folks got them working on generic-ish SB drivers in windows 3.1 for 8 bit only. Anyway, thinking there should be a way to do it like that, rather than try a deflection shot off 2 cast iron pans into your foot like a comedy western.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 306 of 1415, by L4MD4

User metadata
Rank Newbie
Rank
Newbie
BitWrangler wrote on 2023-03-28, 02:14:

Anyway, thinking there should be a way to do it like that, rather than try a deflection shot off 2 cast iron pans into your foot like a comedy western.

There is already AC97 and HDA drivers, for Win3x.

Trying to use SBEMU, for Win3x, isn't really needed. Using JEMMEX and HDPMI32(i) will probably prevent Win3x from even loading. If that is the case, then I set up the comedic screen play, for them.

EDIT: The most generic drivers "probably" already come with Win3x. WfW3.11 has a 1.0 and 1.5 driver.

Last edited by L4MD4 on 2023-03-28, 17:21. Edited 1 time in total.

Reply 307 of 1415, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
jtchip wrote on 2023-03-27, 00:21:
Thanks @crazii for developing SBEMU and keeping it open source. Haven't seen a compatibility report for Nvidia chipsets so far s […]
Show full quote

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.

The BLASTER env is fixed just now, wait for the next release. 😁. It's a bug that can be reproduced in FreeDOS. In MS-DOS the problem exists but covered by the CMDLINE env.
SBEMU fixes some bugs that MPXPLAY have for the IHD driver.
VT8233/8235/8237 remains unfixed, as reported by former testers, I'm gonna buy a laptop/thinclient that has VT8233 to debug.

Last edited by crazii on 2023-03-28, 10:55. 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 308 of 1415, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
wbahnassi wrote on 2023-03-27, 18:43:

Intel X58 chipset with Integrated Intel/Realtek HD ALC262 Audio (HP Z400 workstation) now works great on Doom/Doom2. On Skyroads all is good but there is a noticeable delay between action and sound. On Crusader No Remorse immediate hang when installation program wants to test the sound card (tried SB/SBPRO/SB16, all same). Isn't Crusader No Remorse a protected mode game too?

which version are you testing with skyroads? I think 1.0 beta2b will improve on the latency problem. never tested Crusader No Remorse, I'll check it 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 309 of 1415, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
stamasd wrote on 2023-03-27, 13:35:
More findings. […]
Show full quote

More findings.

I did some tests with DOS32a.exe as well.
Neither of the programs tested (listed above) liked it. They behaved exactly as with DOS4GW 1.95

One more interesting finding. The sound setup program for Duke3D already uses DOS4GW 1.97, probably embedded within the binary because there is no separate executable in the directory. It will use an external DOS4GW binary if placed there. The DOS4GW binary that I used for that makes the sound setup not complain of DMA, even though it's the same 1.97 as the one embedded.

Not only that but - running that setup program with the appropriate external DOS4GW enables OPL3 emulation under SBEMU in other games/programs as well.
I said previously that OPL emulation did not work in any games/programs. Just after rebooting the computer and loading SBEMU, this is still the case.

Running OPL440.com (a small program that generates a 440Hz sound directly through OPL) gives no sound if run immediately after that. However, if I then run the Duke3d setup program and select/test OPL music, then exit the setup and run OPL440 again, this time it will make the 440Hz sound.

One more thing, the volume of both the emulated SB sounds and OPL sounds on this machine is very low, barely audible. It's not the sound card, because the same machine in Windows can be very loud. (system is again an Acer Aspire One AO722)

What's the volume if MPXPlay? I'll compare the volume handling with MPXPLAY to see if anything is missing.

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 310 of 1415, by stamasd

User metadata
Rank l33t
Rank
l33t

I have not used mpxplay on this system yet. Will do and report back

(edit) I just tested. The sound volume in mpxplay is zero. Media files appear to play but no sound comes out. The volume in mpxplay is set to 100%.
(the same media files with the same mpxplay in DOSbox play fine at a good volume)

(edit2) tested on another system where SBEMU works (mostly) properly, the volume in mpxplay is good but for some reason the media files play at twice the speed and with the pitch shifted up by the same amount so they sound like chipmunks. 😀 Than is not a SBEMU problem however.

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 311 of 1415, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
stamasd wrote on 2023-03-28, 09:55:
I have not used mpxplay on this system yet. Will do and report back […]
Show full quote

I have not used mpxplay on this system yet. Will do and report back

(edit) I just tested. The sound volume in mpxplay is zero. Media files appear to play but no sound comes out. The volume in mpxplay is set to 100%.
(the same media files with the same mpxplay in DOSbox play fine at a good volume)

(edit2) tested on another system where SBEMU works (mostly) properly, the volume in mpxplay is good but for some reason the media files play at twice the speed and with the pitch shifted up by the same amount so they sound like chipmunks. 😀 Than is not a SBEMU problem however.

OK, you can try /vol9 to set the volume to maximum.

There're many reports on low OPL volume with high digital sound, I found it the same with my TP T540p, but don't have any clues 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 312 of 1415, by RayeR

User metadata
Rank Oldbie
Rank
Oldbie

Nice you find and fixed BLASTER env. bug. I observed it in MSDOS 6.22 not FreeDos. What's means "covered by CMDLINE env."?

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

Reply 313 of 1415, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
RayeR wrote on 2023-03-28, 12:38:

Nice you find and fixed BLASTER env. bug. I observed it in MSDOS 6.22 not FreeDos. What's means "covered by CMDLINE env."?

The bug happens when BLASTER env is the last one in the list. With CMDLINE recording the last exe executed, e.g. "SBEMU.exe", appended to the list as the last, BLASTER never becomes the last one, so the bug not reproduceable. I checked wiki that CMDLINE env exist since MS-DOS 7.0 (https://en.wikipedia.org/wiki/Environme ... #%CMDLINE%), that explains your situation too.

Last edited by crazii on 2023-03-29, 01:50. 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 314 of 1415, by sergio_prado

User metadata
Rank Newbie
Rank
Newbie
crazii wrote on 2023-03-28, 11:08:
stamasd wrote on 2023-03-28, 09:55:
I have not used mpxplay on this system yet. Will do and report back […]
Show full quote

I have not used mpxplay on this system yet. Will do and report back

(edit) I just tested. The sound volume in mpxplay is zero. Media files appear to play but no sound comes out. The volume in mpxplay is set to 100%.
(the same media files with the same mpxplay in DOSbox play fine at a good volume)

(edit2) tested on another system where SBEMU works (mostly) properly, the volume in mpxplay is good but for some reason the media files play at twice the speed and with the pitch shifted up by the same amount so they sound like chipmunks. 😀 Than is not a SBEMU problem however.

OK, you can try /vol9 to set the volume to maximum.

There're many reports on low OPL volume with high digital sound, I found it the same with my TP T540p, but don't have any clues yet.

On my system, i noticed that running SBMIX with SBEMU make it run more consistent and with less errors.

For example, on a game (Actua Soccer) that the setup have the function of auto detect Address, IRQ and etc, it always detected the wrong IRQ(even manually setting it up it gave errors), and to successfully run It, i had to mess with the setup everytime before starting the game. But with SBMIX, the setup now detect the IRQ correctly and the game run directly like it should.

Besides, with SBMIX i was able to increase the overall volume a bit.

https://www.bttr-software.de/products/sbmix/

My system: Libretto U100 (ICH4 AC97).

Reply 315 of 1415, by wbahnassi

User metadata
Rank Member
Rank
Member
crazii wrote on 2023-03-28, 09:41:

which version are you testing with skyroads? I think 1.0 beta2b will improve on the latency problem. never tested Crusader No Remorse, I'll check it later.

Just tested with beta2c, it's now snappy and immediate, no delays sensed. However, the explosion sound is clipping hard in Skyroads. Generally all digital SFX is too high compared to FM in all games. I think digital sfx are over-boosted. I tried using the Sound Blaster Pro tools (sbp-set.exe / sbp-mixer.exe) to set mixer levels but it was only able to control FM a bit, making it a little louder.. but VOC channel is not affected even if I try to mute it.

Reply 316 of 1415, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
wbahnassi wrote on 2023-03-29, 04:22:
crazii wrote on 2023-03-28, 09:41:

which version are you testing with skyroads? I think 1.0 beta2b will improve on the latency problem. never tested Crusader No Remorse, I'll check it later.

Just tested with beta2c, it's now snappy and immediate, no delays sensed. However, the explosion sound is clipping hard in Skyroads. Generally all digital SFX is too high compared to FM in all games. I think digital sfx are over-boosted. I tried using the Sound Blaster Pro tools (sbp-set.exe / sbp-mixer.exe) to set mixer levels but it was only able to control FM a bit, making it a little louder.. but VOC channel is not affected even if I try to mute it.

Does it happen in beta2? I didn't change anything related to volume. but there're enough cases reported the volume problem, I'm now looking into it.

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 317 of 1415, by stamasd

User metadata
Rank l33t
Rank
l33t
crazii wrote on 2023-03-28, 11:08:
stamasd wrote on 2023-03-28, 09:55:
I have not used mpxplay on this system yet. Will do and report back […]
Show full quote

I have not used mpxplay on this system yet. Will do and report back

(edit) I just tested. The sound volume in mpxplay is zero. Media files appear to play but no sound comes out. The volume in mpxplay is set to 100%.
(the same media files with the same mpxplay in DOSbox play fine at a good volume)

(edit2) tested on another system where SBEMU works (mostly) properly, the volume in mpxplay is good but for some reason the media files play at twice the speed and with the pitch shifted up by the same amount so they sound like chipmunks. 😀 Than is not a SBEMU problem however.

OK, you can try /vol9 to set the volume to maximum.

There're many reports on low OPL volume with high digital sound, I found it the same with my TP T540p, but don't have any clues yet.

That didn't do anything, the volume was already set to max.
And on the other system the double fast playback problem persists. Perhaps mpxplayer doesn't like 256kbit .mp3 files, I should test with 128kbit too but I don't have any. Should transcode some of them to lower bitrate.

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 318 of 1415, by L4MD4

User metadata
Rank Newbie
Rank
Newbie
stamasd wrote on 2023-03-29, 12:14:

That didn't do anything, the volume was already set to max.
And on the other system the double fast playback problem persists. Perhaps mpxplayer doesn't like 256kbit .mp3 files, I should test with 128kbit too but I don't have any. Should transcode some of them to lower bitrate.

It would be strange, if the bitrate caused that issue. It would seem more like a sample rate bug.

It seems clear enough, that you are using Mpxplayer and SBEMU separate. But I get myself into trouble when I assume things. You are having this issue with Mpxplay itself, when SMEMU has not been loaded?

Reply 319 of 1415, by stamasd

User metadata
Rank l33t
Rank
l33t

If I try to use mpxplay without loading SBEMU, it will not do anything.

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