VOGONS


SBEMU: Sound Blaster emulation on AC97

Topic actions

Reply 1080 of 1386, by dr.zeissler

User metadata
Rank l33t
Rank
l33t

thx, need to test the new builds. I forgot to mention that:
- has sbemu-(x) a switch what sound to use? (if I have AC97 active and an additional PCI soundcard? normally the (working) AC97 is ignored and the PCI Soundcard is used. SBlive works bad, sweeping noises, one channel, only some Adlib, soundblaster mostly hangs the machine.

Thx guys for your work.

Retro-Gamer 😀 ...on different machines

Reply 1081 of 1386, by RayeR

User metadata
Rank Oldbie
Rank
Oldbie

BTW when I try compile SBEMU under my DOS DJGPP toolchain (gcc 4.8.5) I got 3 warnings about naked attribute. Is this some new feature of gcc or do I need just to set some -std= switch?

CC output/qemm.o
qemm.c:30:1: warning: 'naked' attribute directive ignored [-Wattributes]
{//al=data,cl=out,dx=port
^

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

Reply 1082 of 1386, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
RayeR wrote on 2023-12-20, 05:35:
BTW when I try compile SBEMU under my DOS DJGPP toolchain (gcc 4.8.5) I got 3 warnings about naked attribute. Is this some new f […]
Show full quote

BTW when I try compile SBEMU under my DOS DJGPP toolchain (gcc 4.8.5) I got 3 warnings about naked attribute. Is this some new feature of gcc or do I need just to set some -std= switch?

CC output/qemm.o
qemm.c:30:1: warning: 'naked' attribute directive ignored [-Wattributes]
{//al=data,cl=out,dx=port
^

I use the 9.3.0 from here: https://www.delorie.com/djgpp/zip-picker.html and it doesn't have such warning, theoretically you can ignore this warning as this function has no parameters and local variables, gcc won't generate stack frame instructions.

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 1083 of 1386, by vico

User metadata
Rank Newbie
Rank
Newbie

I tried sbemu-x with my M748MR Rev:1.3 motherboard, which has an integrated HT8338A/PCI chip and which I understand is a variant of CMI8338 but unfortunately sbemu-x freezes.

I have also tested with mpxplay and I was able to verify that it works correctly with it.

https://theretroweb.com/motherboards/s/pcchips-m748mr

Reply 1085 of 1386, by tauro

User metadata
Rank Member
Rank
Member
vico wrote on 2023-12-22, 15:22:

I tried sbemu-x with my M748MR Rev:1.3 motherboard, which has an integrated HT8338A/PCI chip and which I understand is a variant of CMI8338 but unfortunately sbemu-x freezes.

I have also tested with mpxplay and I was able to verify that it works correctly with it.

https://theretroweb.com/motherboards/s/pcchips-m748mr

I can confirm that the latest SBEMU bundle is not working with a M748LMRT Rev. 1.5, sound chip "Sound PRO MR / 8738AM / MA931-033D / 9946UPJD"

The card is detected as "CMI", but after starting the emulation immidiatelly crashes with a message such as:

JemmEx: exception 0D ocurred at CS:EIP=0820:00003048, ERRC=00000000 
SS:ESP=11A9:0000E908 EBP=00000000 EFL=00033017 CR0=80000013 CR4=00000000
EAX=0000DE0C EBX=000000B9 ECX=00000000 EDX=00000021 ESI=0000B136 EDI=0000FFFF
DS=0000 ES=0000 FS=0000 GS=0000 [CS:IP]=AF 00 B7 00 00 00 0F 00

Reply 1087 of 1386, by Demolition-Man

User metadata
Rank Member
Rank
Member

Hello everyone... I was trying Sbemu and I had problems when trying to run Zsnes 1.51, and I had to restart the PC... Has the same thing happened to anyone?

Thought I was the only one using ZSNES under DOS, cool. But yes, unfortunately it doesn't work with SBEMU. I therefore had to switch to the SNES emulators for Windows on the thin client t5710.

Reply 1088 of 1386, by ludicrous_peridot

User metadata
Rank Member
Rank
Member

Gosh - only learned about this the other day, and there's 55 pages of feedback to go through, still ... hats off and huge thanks to @crazii for this tool!

I tried a more exotic configuration for SBEMU and with some success. I am using ICH7 motherboard (in sig) with SB Pro emulation via SBEMU and Labway ALS-4000-based PCI soundcard for non-emulated FM music and MPU-401 port, which is hooked to an external GM synthesizer. No soundcard mixer here to bring the three sources of sound together - all done outside of the PC.

After about an hour tinkering with autoexec/config.sys for all the required memory extender/DMPI stuff, I was able to get this working in DMKit 150 for testing. I have tried X-Wing (B-Wing, from GOG) in SoundBlaster plus General MIDI mode and Kyrandia 2: Hand of Fate (CDROM) in both Sound Blaster only and Sound Blaster and General MIDI and that worked! Amazing - as Westwood games were something I was unable to get running fine with my PC ever before!

EDIT:
Sharing testing results so far, which are, if I may say, phenomenally good!
The good:
--------
With SB Pro emulation:
X-Wing (B-Wing, GOG, SB+GM)
Dune (Cryo, CD-ROM, SB+FM)
Inherit the Earth (CD-ROM, SB+MT-32)
Kyrandia 2 (CD-ROM, SB+GM)
Dune 2 (CD-ROM, SB+GM)
Lands of Lore (CD-ROM, SB+GM+FM (!!) )
Monkey Island 2 (Floppy with MT32/SB patch, SB+MT-32)
Wolfenstein 3D (Shareware, SB+FM)
Gobliins 2 (Floppy, SB+FM)
Doom (1.1 Shareware, SB+GM)
Ultimate Doom (GOG, SB+GM)
Doom II (GOG, SB+GM)
Final Doom (GOG, SB+GM)
Heretic (1.0 Shareware, SB+GM)
Heretic (GOG, SB+GM)
Hexen (GOG, SB+GM)
ChexQuest (Download, SB+GM)
Raptor (Shareware, SB+GM)
Electroman (CC version, SB)
Heartlight (CC version, SB)
Adventures of Robbo (CC version, SB)

With SB16 emulation:
Tie Fighter CD-ROM (GOG, SB16+GM)
Dark Forces (GOG, sB16+GM)
Rebel Assault (GOG, SB16)
Rebel Assault 2 (GOG, SB16)
Dungeon Keeper (GOG, SB16)
Quake (Beth.net) via Engoo, (SB16, no music)
Hexen II (Steam... or GOG?, SB16) via Hammers of Thyrion
Rise of the Triad (Shareware, SB+GM)

The bad:
-------
Goblins 3 (Floppy, SB+FM) works in principle, but sounds seem weird; maybe playing with frequency timing could help
Wacky Wheels (Shareware, SB+GM) sound works in setup (but only in 8-bit mixing mode; 16-bit is garbage) but the game itself crashes
Whizz (CD-ROM, SB+GM) - no sound effects, although I am getting GM music in my setup.
FastDoom does not even start with Sound Blaster selected for sound.
MBF 2.04 crashes (even with no sound configured) and so does the Allegro sound setup tool.

The ugly:
-------
Well, nothing, really 😉 I previously reported issues with Doom, but these were due to DMX getting confused with my PCI card. Fooling around a bit more with its settings has helped get it work purely for FM music and MPU-401 port.

I have also tested Kyrandia 1 (CD-ROM, SB+FM) and Kyrandia 3 (CD-ROM, SB) and both have issues with sound effects on my system - but I believe they are system-specific, and not SBEMU related, as I had those isseue with virtually every sound card I tried.

EDIT5:
The result of testing of Allegro/DJGPP-based Doom source ports is that:
1. With latest HDPMPI32I build from last January they work but SBEMU crashes on startup
2. With SBEMU bundled forked version, games and Allegro sound setup program crash, but SBEMU can start with PM support
3. With VSBHDA (the April build) they do not crash, SBPro and SB16 are both picked up by Allegro drivers, and even FM and GM music works in my setup, but... there seems to be a latency I do not hear with the games I tried with SBEMU, which makes this less viable option for me.
Is there any hope for this to be resolved via some HX convergence to cover both use cases?
Apologies, I stopped being lazy and did some research, which suddenly brought some significance to what has been discussed couple of pages above already. My bad 😁

Last edited by ludicrous_peridot on 2024-01-05, 20:11. Edited 7 times in total.

GA-G41M-Combo G41/ICH7 - Core 2 Quad Q9550 - DDR3 1033 - Radeon RX570 - YMF744 (Cobra) - X3MB (Buran)

Reply 1089 of 1386, by dr.zeissler

User metadata
Rank l33t
Rank
l33t

I tried "sbemu" and "sbemu-x" on my Scovery 212 AMD K6 with PCI ES1371.

Dos:
- original pci-sounddrivers = > no sound at all/muted
- qemm386+sb-emu/sb-emu-x => system-lockup with strange noise "grr/grr/grr"
- jemmex +sb-emu/sb-emu-x => lockup with the error-code in the screenshot

Win9x:
- no sound in dos-window/dos fullscreen

What do you think is the problem? I would love to get sound with sb-emu-x in Dos.

Attachments

  • IMG_1714.jpeg
    Filename
    IMG_1714.jpeg
    File size
    1.55 MiB
    Views
    1374 views
    File license
    Public domain
  • IMG_1717.jpeg
    Filename
    IMG_1717.jpeg
    File size
    1.84 MiB
    Views
    1374 views
    File license
    Public domain
  • IMG_1715.jpeg
    Filename
    IMG_1715.jpeg
    File size
    1.94 MiB
    Views
    1374 views
    File license
    Public domain

Retro-Gamer 😀 ...on different machines

Reply 1090 of 1386, by Macrofeet

User metadata
Rank Newbie
Rank
Newbie

Hi, I'm happy to announce that SBEMU is ready for more tests. 😁

Tested on: Celoron P3 600mhz, 256mb, MSI MS-6178 https://theretroweb.com/motherboards/s/msi-ms-6178-wh5,
Pure DOS 7.1, beta3 build

Using onboard intel graphics and ac97 chip SBEMU works fine

After instaling a PCI graphics card s3 trio for better video mode support, system VERY laggs in duke nukem 3d etc

Installed PCI Audigy 1 alongside S3 now SFX plays maybe 10% to quickly, duke has anti aged to a teenager

For anyone looking to try X-fi (5th Jan) using beta3 build, X-Fi PCI is likely not enabled yet i tried X-Fi SB0460.

Reply 1091 of 1386, by Macrofeet

User metadata
Rank Newbie
Rank
Newbie
Macrofeet wrote on 2024-01-05, 20:38:

Hi, I'm happy to announce that SBEMU is ready for more tests. 😁

Tested on: Celoron P3 600mhz, 256mb, MSI MS-6178 https://theretroweb.com/motherboards/s/msi-ms-6178-wh5,
Pure DOS 7.1, beta3 build

Using onboard intel graphics and ac97 chip SBEMU works fine

After instaling a PCI graphics card s3 trio for better video mode support, system VERY laggs in duke nukem 3d etc

Installed PCI Audigy 1 alongside S3 now SFX plays maybe 10% to quickly, duke has anti aged to a teenager

For anyone looking to try X-fi, i tried X-Fi SB0460 (5th Jan) using beta3 build & github build, X-Fi PCI is likely not enabled yet as stated on github .

Github much newer build fixed issues: https://github.com/crazii/SBEMU/releases/tag/ … 023.12.25_19-41

Reply 1092 of 1386, by ludicrous_peridot

User metadata
Rank Member
Rank
Member

I continued experimenting with SBEMU - this time I wanted to see if I could use it to have SB16 emulation side by side with FM and MPU-401 via a Yamaha PCI card. (Apparently SBPro emulation is already provided by Yamaha card and TSR itself, so I did not try that - although, as I mentioned before on my machine SBEMU is useful for running Westwood games).

Results were mixed: with SBEMU I was only able to get sound and music working as intended in setup utilities of Dark Forces and Rise of the Triad. The games crashed, however. DMKit worked.

Interestingly, I tried the same list of games as in my previous post with VSBHDA in this configuration, and the games all worked! Actually, even Wacky Wheels did work this time (it crashed with SBEMU in my previous configuration). As before, however, I keep getting an impression of sound latency with VSBHDA, so would like to be able to use SBEMU in this scenario eventually.

I am starting to wonder if anything could be done with SBEMU's bundled HDPMI32I for better compatibility with protected mode games to avoid those crashes...

EDIT: ...ended up building a custom version of VSBHDA from trunk with sample buffer size reduced to 5k from 16k for now; would have posted in the corresponding thread, but found no dedicated thread for that tool. I mean no disrepect to neither of the authors but I am not keen to open a github account just to discuss the percieved latency in my testing scenarios.

GA-G41M-Combo G41/ICH7 - Core 2 Quad Q9550 - DDR3 1033 - Radeon RX570 - YMF744 (Cobra) - X3MB (Buran)

Reply 1093 of 1386, by crazii

User metadata
Rank Oldbie
Rank
Oldbie
dr.zeissler wrote on 2024-01-04, 22:20:
I tried "sbemu" and "sbemu-x" on my Scovery 212 AMD K6 with PCI ES1371. […]
Show full quote

I tried "sbemu" and "sbemu-x" on my Scovery 212 AMD K6 with PCI ES1371.

Dos:
- original pci-sounddrivers = > no sound at all/muted
- qemm386+sb-emu/sb-emu-x => system-lockup with strange noise "grr/grr/grr"
- jemmex +sb-emu/sb-emu-x => lockup with the error-code in the screenshot

Win9x:
- no sound in dos-window/dos fullscreen

What do you think is the problem? I would love to get sound with sb-emu-x in Dos.

I just fixed the ES1371, the interrupt must be enabled and an IRQ handler needed to be added, because SBEMU uses sound card's interrupt to feed new data to it.
I believe now it should work.

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 1094 of 1386, by crazii

User metadata
Rank Oldbie
Rank
Oldbie

Also I tried to fix the CMI driver, it needs test too.

Latest build can be found here: https://github.com/crazii/SBEMU/releases/tag/ … 024.01.13_05-22

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 1095 of 1386, by dr.zeissler

User metadata
Rank l33t
Rank
l33t

Thank you here are my results:
- jemmex with sbemu => lockup with colorfull textcharacters all over the screen
- qemm386 with sbemu => soundoutput "grr/grr/grr/grr"

sorry, I think that must be related to the alladin-chipset and PCI soundcards not working in dos on it.
I will force the IRQ settings next. ccurrently the bios shows that ES1371 is IRQ11, I will force
it to 5 or 7 and switch the LPT1 settings. Perhaps this helps a bit.
(btw. ESS-SOLO is working in Dos but I have to force it to IRQ7 (LPT to 5) in order to make it work.)

EDIT: I tested every possible solution (disabling all internal-components, changing the irq's manually, deactivate IRQ sharing) but it's all the same. Must be something chipset related.

Retro-Gamer 😀 ...on different machines

Reply 1096 of 1386, by crazii

User metadata
Rank Oldbie
Rank
Oldbie

No, there's serious bug that I've overlooked, and it's fixed. 🤣 sorry for the inconvenience.
try this one: https://github.com/crazii/SBEMU/releases/tag/ … 024.01.13_12-14

EDIT: still not working, tested by github users. I'll check code and in the meantime try to get a card to debug.

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 1098 of 1386, by DarthSun

User metadata
Rank Member
Rank
Member

I tested it on a couple of machines, under DOS6.22.
775/6800GT AGP+RagePro PCI/SB060
AM3/GTX580PCIe/motherboard sound
AM3+/GTX1060PCIe/motherboard sound
X99/GTX1650+HD6850/motherboard sound
Zen2/GTX1650+7900GS/SB060+motherboard sound

A very good rate of success, it plays on all of them, most of the programs/games.
I made a menu-driven, bootable flash drive with HDD emulation, adding the settings of each machine.
SBEmu is huge, without it this crazy project of mine would not have been possible.
Thanks for your great work Crazii !!!
++To everyone who participated in it and tested it, as well as to the creators of the still used utilities.

X99 output :

SBEMUnX99.jpg
Filename
SBEMUnX99.jpg
File size
113.27 KiB
Views
737 views
File license
Fair use/fair dealing exception

The flash drive with menus :

Menu_final.jpg
Filename
Menu_final.jpg
File size
38.61 KiB
Views
737 views
File license
Fair use/fair dealing exception

Reply 1099 of 1386, by crazii

User metadata
Rank Oldbie
Rank
Oldbie

Update: The ES1371 (aka Ensoniq AudioPCI, same chip used by SB16 PCI) now is working. confirmed by github user. @dr.zeissler you can test to confirm too. You may need to set volume higher than 7, i.e. /VOL8 or /VOL9
BTW with some good people's help the CMI driver is working too, except that it doesn't work on model 'CMI8738-PCI-SX'.
Download link: https://github.com/crazii/SBEMU/releases/tag/ … 024.01.14_11-11

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