VOGONS


SBEMU: Sound Blaster emulation on AC97

Topic actions

Reply 1760 of 1772, by Baron von Riedesel

User metadata
Rank Member
Rank
Member
Garehard wrote on 2025-02-15, 13:07:

great Project, but i got with my SB Live only a high pitched sound. opl3 music is fine.
changed irq from 5 to 7, but that doesnt solve the problem. any ideas?

There might be a fix.

The SB Live/Audigy speed seems to depend on what value has been stored in the TIMER register. During SBEMU's test phase it has been given the value 0x200 ( that was found out just by trial and error ).
For SBEMU, the value has later been changed to 0x1A, for VSBHDA the value is still 0x200.

While fixing vsbhda for FastTracker 2, it has turned out that value 0x200 is problematic and value 0x1A makes the sound "too fast" (high pitched). A good compromise seems value 0x11A - both FastTracker 2 and TheDig sound ok with that.

I attached a little tool that displays SBLive/Audigy's current status, including the TIMER register.

You can experiment on your own, no need to recompile SBEMU/VSBHDA: with FD DEBUG you can change the value on the fly, for example with "OW B81A 11A" (assuming the Emu10kx base port is 0xB800).

Reply 1761 of 1772, by DarthSun

User metadata
Rank Member
Rank
Member
Baron von Riedesel wrote on 2025-09-12, 02:26:
There might be a fix. […]
Show full quote
Garehard wrote on 2025-02-15, 13:07:

great Project, but i got with my SB Live only a high pitched sound. opl3 music is fine.
changed irq from 5 to 7, but that doesnt solve the problem. any ideas?

There might be a fix.

The SB Live/Audigy speed seems to depend on what value has been stored in the TIMER register. During SBEMU's test phase it has been given the value 0x200 ( that was found out just by trial and error ).
For SBEMU, the value has later been changed to 0x1A, for VSBHDA the value is still 0x200.

While fixing vsbhda for FastTracker 2, it has turned out that value 0x200 is problematic and value 0x1A makes the sound "too fast" (high pitched). A good compromise seems value 0x11A - both FastTracker 2 and TheDig sound ok with that.

I attached a little tool that displays SBLive/Audigy's current status, including the TIMER register.

You can experiment on your own, no need to recompile SBEMU/VSBHDA: with FD DEBUG you can change the value on the fly, for example with "OW B81A 11A" (assuming the Emu10kx base port is 0xB800).

Thanks, I downloaded it, Audigy2 PPro will be included in X299, just in case I need it.

The 3 body problems cannot be solved, neither for future quantum computers, even for the remainder of the universe. The Proton 2D is circling a planet and stepping back to the quantum size in 11 dimensions.

Reply 1762 of 1772, by Cyberdyne

User metadata
Rank Oldbie
Rank
Oldbie

945G chipset, Realtek codec, Atom CPU desktop mini PC. All works great. Only mutes PC speaker output from speakers. Even SBMIX does not help. Only restart restores PC speaker volume. And interferes with Windows 3.1 HDA sound drivers. And only one of my favorite game crashes with digitized sound: Supaplex. And DooM has a minute delay at the start, but all works fine.

I am aroused about any X86 motherboard that has full functional ISA slot. I think i have problem. Not really into that original (Turbo) XT,286,386 and CGA/EGA stuff. So just a DOS nut.
PS. If I upload RAR, it is a 16-bit DOS RAR Version 2.50.

Reply 1763 of 1772, by Falcosoft

User metadata
Rank l33t
Rank
l33t
Cyberdyne wrote on Yesterday, 13:41:

945G chipset, Realtek codec, Atom CPU desktop mini PC. All works great. Only mutes PC speaker output from speakers. Even SBMIX does not help. Only restart restores PC speaker volume. And interferes with Windows 3.1 HDA sound drivers. And only one of my favorite game crashes with digitized sound: Supaplex. And DooM has a minute delay at the start, but all works fine.

If PC speaker muting bothers you then try VSBHDA isnstead. In new versions it leaves the PC speaker alone.
https://github.com/Baron-von-Riedesel/VSBHDA/releases

Website, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper
x86 microarchitecture benchmark (MandelX)

Reply 1764 of 1772, by mkarcher

User metadata
Rank l33t
Rank
l33t
Cyberdyne wrote on Yesterday, 13:41:

And only one of my favorite game crashes with digitized sound: Supaplex.

I had exactly that experience when working on dosemu's SoundBlaster emulator more than 20 years ago. Supaplex uses the original binary code provided by Creative Labs to play back digital samples on SoundBlaster cards. That code uses an arcane feature of the SoundBlaster card to patch two very essential bytes of the driver code, and does not actively check if that arcane feature worked, but blindly crashes the system if it does not. The only reasonable explanation for the presence of that feature and the behaviour of the Creative Labs driver is that this is meant to make producing clone cards harder (possibly even suing them if they clone that arcane feature), so the original Creative Labs DSP firmware inside the SoundBlaster card is used like a copy protection dongle to prevent the Creative Labs driver from working on unlicensed Soundblaster clones.

As VSBHDA and SBEMU are both open source, I checked the respective GitHub repositories:

So Supaplex is likely going to work with VSBHDA.

Reply 1765 of 1772, by Cyberdyne

User metadata
Rank Oldbie
Rank
Oldbie

Yep. Everything works with VSBHDA. No more delays in DOOM. Supaplex works. PC speaker sounds do not mute. And I got a nice 6MB MT-32 SF2 file for the MIDI emulation core. Everything works.

I am aroused about any X86 motherboard that has full functional ISA slot. I think i have problem. Not really into that original (Turbo) XT,286,386 and CGA/EGA stuff. So just a DOS nut.
PS. If I upload RAR, it is a 16-bit DOS RAR Version 2.50.

Reply 1766 of 1772, by matze79

User metadata
Rank l33t
Rank
l33t

Oh thanks for the Tip, VSBHDA does very well on my Siemens Lifebook.
SBEMU did not work here.

Reply 1767 of 1772, by Cyberdyne

User metadata
Rank Oldbie
Rank
Oldbie

One bonus thing I can say. Ess Solo1 pci does not work in 945G. Not even in Windows 95. It can not configure DMA. So it is just a glorified PCI Adlib card all around.

I am aroused about any X86 motherboard that has full functional ISA slot. I think i have problem. Not really into that original (Turbo) XT,286,386 and CGA/EGA stuff. So just a DOS nut.
PS. If I upload RAR, it is a 16-bit DOS RAR Version 2.50.

Reply 1768 of 1772, by DarthSun

User metadata
Rank Member
Rank
Member

Report : Both SBEmu and VSBHDASF are fine on X299. Motherboard : X299 Taichi XE.

The 3 body problems cannot be solved, neither for future quantum computers, even for the remainder of the universe. The Proton 2D is circling a planet and stepping back to the quantum size in 11 dimensions.

Reply 1769 of 1772, by ntalaec

User metadata
Rank Member
Rank
Member

In my computer (Intel Atom N280, 1 GB RAM, Intel 945 graphics, Intel HDA) I have better results with VSBHDASF: less conventional memory used, sound in more games and PC speaker active. But I'm not able to load the driver for real mode support with VSBHDASF or SBEMU, only the 32 bit/protected mode.

Reply 1770 of 1772, by DarthSun

User metadata
Rank Member
Rank
Member
ntalaec wrote on Today, 06:48:

In my computer (Intel Atom N280, 1 GB RAM, Intel 945 graphics, Intel HDA) I have better results with VSBHDASF: less conventional memory used, sound in more games and PC speaker active. But I'm not able to load the driver for real mode support with VSBHDASF or SBEMU, only the 32 bit/protected mode.

So far, both real and protected mode work fine on 7 machines, 5 desktops and 2 laptops.

The 3 body problems cannot be solved, neither for future quantum computers, even for the remainder of the universe. The Proton 2D is circling a planet and stepping back to the quantum size in 11 dimensions.

Reply 1771 of 1772, by ntalaec

User metadata
Rank Member
Rank
Member

Should JEMMEX.EXE be used with any parameters? With SBEMU real mode games do not detect the Sound Blaster, with VSBHDASF real mode games detect the Soundblaster but there is no sound at all.

Reply 1772 of 1772, by DarthSun

User metadata
Rank Member
Rank
Member
ntalaec wrote on Today, 07:20:

Should JEMMEX.EXE be used with any parameters? With SBEMU real mode games do not detect the Sound Blaster, with VSBHDASF real mode games detect the Soundblaster but there is no sound at all.

For example on X299 machine
UEFI : above 4GB IOOM : disabled
Config :

DEVICE=C:\CONFIG\LIMITMEM.SYS 256
SHELL=C:\COMMAND.COM C:\ /E:1024 /P
LASTDRIVE=Z
STACKS=9,256
SWITCHES=/F
FILES=20
BUFFERS=20
DEVICE=C:\SBEMU104\JEMMEX.EXE noems
DOS=HIGH,UMB,AUTO

Autoexec :

C:\DOS\SHARE.EXE /l:500 /f:5100
SET BLASTER=A220 I5 D1 H5 P330
PATH C:\QEMM;C:\DOS;C:\UTIL;C:\NC;C:\DN
SET MIDI=SYNTH:1 MAP:E MODE:0
SET PATH=%PATH%;C:\UTIL\FASTVID;
C:\DOS\SMARTDRV.EXE /L /X
SET NC=C:\NC
SET DN=C:\DN
SET TMP=C:\TMP
SET TEMP=%TMP%
PROMPT [DOS_7.1] $P$G
LH C:\UTIL\CTMOUSE.EXE
LH C:\SBEMU104\JLOAD C:\SBEMU104\QPIEMU.DLL
rem LH C:\SBEMU104\HDPMI32I
LH C:\SBEMU104\HDPMI32I -R -X2
LH C:\SBEMU104\SBEMU.EXE
LH NC

CPU type and SBEmu output :

The attachment SNARF000_1.jpg is no longer available

Memory map :

The attachment SNARF001_1.jpg is no longer available
The attachment SNARF002_1.jpg is no longer available

VSBHDA/VSBHDASF similarly. SBEmu is not started, but startP4 for example, and for the SF version, specify the soundfont to be loaded according to the description.

The 3 body problems cannot be solved, neither for future quantum computers, even for the remainder of the universe. The Proton 2D is circling a planet and stepping back to the quantum size in 11 dimensions.