VOGONS


SBEMU: Sound Blaster emulation on AC97

Topic actions

Reply 1940 of 1955, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
vico wrote on 2026-08-24, 14:54:

I tested the new version of SBEMU with VDPMI on my PC with a VT82C686 southbridge. I encountered some problems: the keyboard LEDs don't light up, the EMS memory doesn't seem to be working properly because some programs like DOSZip don't detect it, and I'm experiencing distortion and crashes with some games

Thank for the feedback and yes, there is a lot to be done to improve compatibility. I will spend time on those problems.

UPDATE: I tested a little bit of DOSZip, because by default EMS provided by VDPMI is low (4M) it seems a strategy of DOSZip not pre-alloc on low EMS. if you open a txt file and exit to main menu, the EMS is allocated.
or if your specify /EMS=8 or /EMSX=8 (8MB) then the initial EMS allocation is not 0.
If the situation you encountered is not like that, please give me more details on it. Thanks.

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 1941 of 1955, by ntalaec

User metadata
Rank Member
Rank
Member
crazii wrote on 2026-08-27, 02:41:

I think it could be better adding a VCPI whitelist so that some games' VCPI requests are blocked, because some games prefer VCPI to DPMI, even if both they supports. but VCPI is a ring0 protected mode interface providing a whole separated PM space, making original PM port trapping invalid.

Many thanks for keep improving this utility.

Tested more software in SBEMU with VDPMI:
This utility to reduce frequency and voltage of Intel Atom CPUs crashes: SSTEP
Norton Commander 5.51 hangs when trying to extract files from ZIP.

Games:
MDK (1997): Works great. No issues.
Lotus: The Ultimate Challenge (1993): Unplayable. Keyboard doesn't work.
Theme Hospital (1997): SETSOUND.EXE detects MIDI hardware but no sound hardware. Game runs in slow motion.

Reply 1942 of 1955, by vico

User metadata
Rank Member
Rank
Member
crazii wrote on 2026-08-27, 02:43:

UPDATE: I tested a little bit of DOSZip, because by default EMS provided by VDPMI is low (4M) it seems a strategy of DOSZip not pre-alloc on low EMS. if you open a txt file and exit to main menu, the EMS is allocated.
or if your specify /EMS=8 or /EMSX=8 (8MB) then the initial EMS allocation is not 0.
If the situation you encountered is not like that, please give me more details on it. Thanks.

The /EMS=8 and EMSX=8 options don't work for me; DOSZip can't open text files when I press F4, I only get the message "Not enough space," a typical message when EMS isn't loading, the Joe & Mac - Caveman Ninja game doesn't work either; when I run it, it takes me to a black screen and the system freezes. it's a game that needs EMS, maybe that's why.

Reply 1943 of 1955, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
ntalaec wrote on 2026-08-27, 09:13:
Many thanks for keep improving this utility. […]
Show full quote
crazii wrote on 2026-08-27, 02:41:

I think it could be better adding a VCPI whitelist so that some games' VCPI requests are blocked, because some games prefer VCPI to DPMI, even if both they supports. but VCPI is a ring0 protected mode interface providing a whole separated PM space, making original PM port trapping invalid.

Many thanks for keep improving this utility.

Tested more software in SBEMU with VDPMI:
This utility to reduce frequency and voltage of Intel Atom CPUs crashes: SSTEP
Norton Commander 5.51 hangs when trying to extract files from ZIP.

Games:
MDK (1997): Works great. No issues.
Lotus: The Ultimate Challenge (1993): Unplayable. Keyboard doesn't work.
Theme Hospital (1997): SETSOUND.EXE detects MIDI hardware but no sound hardware. Game runs in slow motion.

I've added VCPI support and tested game wizard recently (GW v2.50, v3.0a always freezes) , but it is a very weird piece that works in real mode, and with EMM386. but not for VDPMI, it can install (but freezes sometimes) but the activation hotkey doesn't work.
After some debugging and conversation with google AI, I found that it remaps master PIC (08h to 50h), not via the VCPI interface DE0A/DE0B but probably via port IO (20,21,A0,A1).
with EMM386 the PIC is actually remapped. I think EMM386 does a lot of work for those weird cases.

The other problem will be fixed after some features are complete. Please wait, and thank you.

vico wrote on 2026-08-30, 01:57:
crazii wrote on 2026-08-27, 02:43:

UPDATE: I tested a little bit of DOSZip, because by default EMS provided by VDPMI is low (4M) it seems a strategy of DOSZip not pre-alloc on low EMS. if you open a txt file and exit to main menu, the EMS is allocated.
or if your specify /EMS=8 or /EMSX=8 (8MB) then the initial EMS allocation is not 0.
If the situation you encountered is not like that, please give me more details on it. Thanks.

The /EMS=8 and EMSX=8 options don't work for me; DOSZip can't open text files when I press F4, I only get the message "Not enough space," a typical message when EMS isn't loading, the Joe & Mac - Caveman Ninja game doesn't work either; when I run it, it takes me to a black screen and the system freezes. it's a game that needs EMS, maybe that's why.

Thank you for the feedback.
I have found some bugs in EMS allocation and I will write some more test cases to find more bugs. Thanks for your patience.

A quick update (without any binaries yet):

1) A config file is added to support cmdline options, and a whitelist of programs to hack GDT, tested with CPUSPD.EXE and MTRRLFBE.EXE now both works.
the options in config file will be overridden by options in CONFIG.SYS or DOS command line, if any exists.

2) A builtiin XMM is added so that VDPMI doesn't need HIMEMX.EXE or HIMEM.SYS. the builtin XMM is optional, and will be auto disabled if HIMEMX.EXE/HIMEM.SYS installed before VDPMI.
but it is recommended to use builtin XMM because it saves 2K conventional memory used by HIMEMX.EXE/HIMEM.SYS.

3) A VCPI interface is added and now in test. because VCPI conflicts with builtin drivers (drivers handles HW reqs and traps IO ports, but not work in VCPI clients. and drivers changes HW states that out of sync with VCPI client), the builtin drivers (PIT/KBD/MOUSE) are disabled in build. It is obvious why Windows does not support VCPI, it is fully out of the control of its VMM.
a VCPI whitelist is also added in config file.
The total VCPI stuff is just experimental yet.

4) DPMI server now is optional. set /DPMIMEM=0 to disable it. when DPMI server is not present, VCPI is fully available, ignoring the VCPI whitelist. in such case VDPMI works only as an EMM.

It is ironic that initially only a DPMI host is needed, but later I found v86 monitor is mandatory for my virtual interrupt (VIF/VIP) implementation, and now every feature is optional except the v86 monitor. 🤣
My plan now is "feature complete" first (XMM+VCPI+VDS+GEMMIS, now with VDS+GEMMIS left), so that no architectural adjustment is needed any more and so no more new bugs caused by that. and then I will focus on the bugs for programs.
Current focus is on VCPI improvements and then full test cases for XMS/UMB/EMS.

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 1944 of 1955, by RayeR

User metadata
Rank Oldbie
Rank
Oldbie

Interesting, so then final version (with gemmis) will be able to lauch windows?

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

Reply 1945 of 1955, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
RayeR wrote on 2026-09-13, 00:34:

Interesting, so then final version (with gemmis) will be able to lauch windows?

Yes, that's the idea/plan, but I'm not sure whether it can be achieved or when it can be done.

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 1946 of 1955, by RayeR

User metadata
Rank Oldbie
Rank
Oldbie

Ok and is somewhere available your recent version with last announced changes? I see still the same old build on github. Is it in sources only?

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

Reply 1947 of 1955, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
RayeR wrote on 2026-09-14, 12:51:

Ok and is somewhere available your recent version with last announced changes? I see still the same old build on github. Is it in sources only?

No, it's not ready yet. Because disabling builtin drivers is a big change on IRQ handling and needs more tests, I will release a public test version after it's more stable.
It could be very soon.

BTW SBEMU also have new features thanks to andersrodrig: PC speaker, Covox and GUS emulations. there's a test build using VDPMI: https://github.com/andersrodrig/SBEMU/releases/tag/sbemu
the GUS emu is not working properly yet.
it will be merged and available on next release.

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 1948 of 1955, by Bondi

User metadata
Rank Oldbie
Rank
Oldbie
crazii wrote on 2026-09-15, 00:24:
BTW SBEMU also have new features thanks to andersrodrig: PC speaker, Covox and GUS emulations. there's a test build using VDPMI: […]
Show full quote
RayeR wrote on 2026-09-14, 12:51:

Ok and is somewhere available your recent version with last announced changes? I see still the same old build on github. Is it in sources only?

BTW SBEMU also have new features thanks to andersrodrig: PC speaker, Covox and GUS emulations. there's a test build using VDPMI: https://github.com/andersrodrig/SBEMU/releases/tag/sbemu
the GUS emu is not working properly yet.
it will be merged and available on next release.

At last! Great to have these new features.
The only thing I’m really missing now is SB direct mode. Which works almost the same way as covox.

PCMCIA Sound Cards chart
archive.org: PCMCIA software, manuals, drivers
68pins.com custom PCMCIA drivers

Reply 1949 of 1955, by veelstekel

User metadata
Rank Newbie
Rank
Newbie
hooddy wrote on 2024-05-16, 11:36:

Guys is it possibly to add AMD CS5536 Geode companion AC'97?

I have managed with the help of AI to create a working version of SBEMU for the CS5536 Chip (found on Wyse SX0 thin clients).
Doom seems to work 😉

Let me know if you are still interested.

Reply 1950 of 1955, by TheNoOne

User metadata
Rank Newbie
Rank
Newbie

Very cool, thanks! Can confirm SFX and music works in Doom on an ALIX 3D3 👍🏻

Reply 1951 of 1955, by ElTentakel

User metadata
Rank Newbie
Rank
Newbie

Works on Advantech UNO‑1150GE, but only once. I assume there are some issues with the deinitialisation. Also the Mixer doesn't work for SFX. Tested with Descent and Duke3D. But hearing those sounds from this kind of device is really great.

Reply 1952 of 1955, by veelstekel

User metadata
Rank Newbie
Rank
Newbie

Hmm, just retested it with doom:
- Running twice: works
- Mixer also seems to work in Doom options (SFX and Music)

Can you retest with Doom to check if it is game or hardware related?

Reply 1953 of 1955, by MAZter

User metadata
Rank Oldbie
Rank
Oldbie

Just added Crystal CS4281 audio driver support to SBEMU with the help of AI for my IBM ThinkPad 240X laptop, tested, works both with protected and real mode!

There is some slight noise when playing sounds, but it's a start.

The attachment CS4281_SBEMU_FIX.zip is no longer available

Doom is what you want (c) MAZter

Reply 1954 of 1955, by vico

User metadata
Rank Member
Rank
Member

I have a Genius PCI sound card with the CS4281-CM EP chip. I wonder if your SBEMU fix works with my card.

Reply 1955 of 1955, by MAZter

User metadata
Rank Oldbie
Rank
Oldbie
vico wrote on Today, 03:47:

I have a Genius PCI sound card with the CS4281-CM EP chip. I wonder if your SBEMU fix works with my card.

It could works, please test it and let me know.

Doom is what you want (c) MAZter