VOGONS


SBEMU: Sound Blaster emulation on AC97

Topic actions

Reply 1760 of 1766, 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 1766, 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 1766, 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 1766, 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 1766, 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 1766, 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 1766, 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.