VOGONS


SBEMU: Sound Blaster emulation on AC97

Topic actions

Reply 700 of 1257, by VenomSpark

User metadata
Rank Newbie
Rank
Newbie

im so happy for SBEMU but i hope a new versions will come out in future.. the real main problem, for me at least, is JeMMEX.. still lot of games don't works or crash, like for example Theme Park, Alone in The Dark (all) and a lot more gives me the Jemmex error 🙁

Reply 702 of 1257, by Maryoo

User metadata
Rank Newbie
Rank
Newbie

Yesterday I tested the operation of SBEMU with the sound chip on the Gigabyte GA-G31M-ES2L motherboard and three Sound Blaster Live! With the motherboard sound everything worked fine but with SBLive! there were problems. In two cards, the sound under DOS worked, but in one card only the left sound channel worked, in the second - the right channel and in the third there was no sound at all, but the card was detected correctly. However, the biggest problem of SBEMU in my case was that when this driver is loaded, Windows 98 throws protection errors and therefore does not start. JEEMEX itself also prevents Win98 from starting. Despite everything, I hope that SBEMU will be refined in the future and will be able to run Windows 98 with driver loaded.

Reply 703 of 1257, by VenomSpark

User metadata
Rank Newbie
Rank
Newbie
Maryoo wrote on 2023-05-28, 08:42:

Yesterday I tested the operation of SBEMU with the sound chip on the Gigabyte GA-G31M-ES2L motherboard and three Sound Blaster Live! With the motherboard sound everything worked fine but with SBLive! there were problems. In two cards, the sound under DOS worked, but in one card only the left sound channel worked, in the second - the right channel and in the third there was no sound at all, but the card was detected correctly. However, the biggest problem of SBEMU in my case was that when this driver is loaded, Windows 98 throws protection errors and therefore does not start. JEEMEX itself also prevents Win98 from starting. Despite everything, I hope that SBEMU will be refined in the future and will be able to run Windows 98 with driver loaded.

why would you need SBEMU with FDOS and WIN98? or with a SB Live! and WIN98 at all... (?) if you have Win98 AND a SB Live, just go for the LIVEINIT.bat drivers, the same I use on my retro pc, they are SB16 emulation for real dos mode of W98, it just needs EMM386 for it, despite works not perfectly (for me in some\most games the sound lags a bit).

I am also using a SB Live, have two of them, on my Asus M2N and it works fine by far, the only issue is that some games crash (thank you JEMMEX...) or don't play anything at all. The one i am using is the model SB0060 (i think a lot depends on which model of the card you have), the other is a SB0100 but is mounted on my other real retro PC and didn't tested yet. A issue I had was with Blood, which for some reason it had FX sounds effects (voices, guns ecc) all high pitched like chipmunks, but in Duke 3D this didn't happened (despite they are the SAME engine). Change the sound card type under the FDAUTO.BAT settings (they are the last line, like "sbemu -i5 -d1 -t3") in T3 (which is a Sound Blaster 2.0, while T6 is Sound Blaster 16 and so on) fixed it. Maybe try it too, i think not all SB Live models works the same, mine two for example have a different EMU10k chip and other minor difference on the card, also try the T3 trick.

For the channels i don't know, maybe is some setting, how many speakers do you have? some games have the swap\slip stereo thing, maybe it could work.

Last for this damned JEMMEX i don't really know. I don't know why FDOS relies on this crappy memory managment, when there are\was QEMM or EMM386.. and i am sure or afraid (this memory thing still gives me headache and confusion at 32yo) that SBEMU works ONLY with JEMMEX or JEMM386, right? no way to use another managment, real or emulated, that can make lot of my favourite games NOT crashing?

Reply 705 of 1257, by truemaster

User metadata
Rank Member
Rank
Member

chipsets newer than ich5 doen not provide legacy dma and did not support nmi. that makes sblive and all creative pci cards unusable in dos. a chipset idipented pci card is aureal vortex 2 it can provide sbpro emulation without ems!!!! and can work on every mobo that has pci interface confirmed working on my ga-z97m-d3h. while sblive fails. but sbemu can make both my mobo hda work and the live pci card

Reply 706 of 1257, by VenomSpark

User metadata
Rank Newbie
Rank
Newbie
Maryoo wrote on 2023-05-28, 12:30:

I used SBEMU because LIVEINIT only activated FM sound on this motherboard and the SB16 emulation just didn't work. The configuration program reported that DMA mode was not available.

mmh sounds strange, i know sadly that is a bit tricky to use liveinit, because it was all a pain for configuration, also you need to point where CTSYN.cfg is on SET= variable and all that kind of stuff that is a still a pain for me 🙁

the fun is SBEMU make it lot easier, autoexecuted (with real dos i had to run liveinit.bat manually everytime) and also more fast as i said, two example i got in my mind now is that Duke 3D theme music test on setup was somehow "slow", i mean it worked but you could hear the tempo struggling, hard to explain but with SBEMU it runs perfectly at right tempo and all. Also idk why on Wolfenstein 3D with LIVEINIT mode when i move throught walls and that annoying sound appears, all the music starts to struggle, slow ecc. while, with SBEMU again, don't happens. I think because it is also based on DosBOX OPL3 files, so is basically an extraction of it, under real FreeDOS. Anyway if you can tell me all your SB Live models (they are numbered SB#### on the very top right corner in front of the card), maybe i could help you more. For now just use the one who works best (mine is SB0060 and is working very well without any touch, just change it as Sound Blaster Pro 2.0 emulation, which is -T3 on fdauto.bat) while for the W98 boot error I don't really know sadly, again i will not stop my complain for Jemmex and why it is so bad 🙁

Reply 707 of 1257, by digger

User metadata
Rank Oldbie
Rank
Oldbie

If you're having so many problems with Jemmex, have you considered reporting them upstream on GitHub? You can also check there whether the issues you've encountered have already been reported, and whether people found workarounds for them.

As for Jemm not working with Win9x, that's a known issue, since Jemm does not currently support GEMMIS, which is needed in order to start Windows 3.x in 386 Enhanced mode or Windows 9x from DOS while the EMM is loaded.

It would be great if we could convince Baron von Riedesel to add GEMMIS support to Jemm. He's been skeptical about the need for this feature so far, but I still hope he can be convinced to add it. It would be a great improvement to FreeDOS overall in terms of Windows compatibility.

Reply 708 of 1257, by Baron von Riedesel

User metadata
Rank Member
Rank
Member
VenomSpark wrote on 2023-05-28, 11:47:

Last for this damned JEMMEX i don't really know. I don't know why FDOS relies on this crappy memory managment, when there are\was QEMM or EMM386.. and i am sure or afraid (this memory thing still gives me headache and confusion at 32yo) that SBEMU works ONLY with JEMMEX or JEMM386, right? no way to use another managment, real or emulated, that can make lot of my favourite games NOT crashing?

Well, you genius, instead of whining I suggest to read the SBEMU docs:

QEMM (optional, used for real mode games) or JEMM (https://github.com/Baron-von-Riedesel/Jemm)

IOW, both qemm and jemmex are OPTIONAL, meaning, jemmex can be fully replaced by QEMM!!!

Reply 709 of 1257, by mgoulart

User metadata
Rank Newbie
Rank
Newbie
Baron von Riedesel wrote on 2023-05-30, 02:42:

IOW, both qemm and jemmex are OPTIONAL, meaning, jemmex can be fully replaced by QEMM!!!

Is there any tutorial teaching how to install QEMM on FreeDOS for using in a HP t5570 thin client? I'm trying to using SBEMU for playing my games using IPX protocol. When I load my Broadcom driver and SBEMU, JemmEx freezes after few seconds of gameplay. I would like to test if I get the same problem in QEMM but I couldn't make QEMM works properly in my thin client.

Reply 710 of 1257, by digger

User metadata
Rank Oldbie
Rank
Oldbie

A while back, I tried loading QEMM on a more recent system (Intel CPU and motherboard from 2016), and it didn't work well. QEMM would hang, or the keyboard would stop working. I don't exactly remember. I would have to put that system together again and try it out again. But anyway, QEMM does not seem to play nice on newer systems, at least in my experience. Also, QEMM is closed source and was technically never released as freeware, as far as I know. Some people might not care about that, but I do.

Nevertheless, if you happen to have a legal copy of QEMM and a system that is still compatible with it, it would indeed be an option.

Like or dislike Jemm all you want, but it's free and it's being actively maintained.

Reply 712 of 1257, by nach

User metadata
Rank Newbie
Rank
Newbie

I always forgot to mention that I tried it on a Libretto U100 and it works and I'm super happy.

Thank you very much for bringing this.

Roland MT-32, Roland SCP-55, Roland SC-88, Roland MT-90U, Casio GZ-70SP, Casio GZ-50M, Yamaha MU90B, Yamaha MDP-5, Panasonic CF-VEW212, TDK Digital Music Card 9000, Kawai Gmega

Reply 713 of 1257, by seishuku

User metadata
Rank Newbie
Rank
Newbie

I also tested it last night on an HP Pro desk 600 G1 (haswell core i3), works well on quake, but doom crashes when it's about to load the menu like my Ryzen system.
But it happily played audio out of the internal speaker in quake for the few minutes I played.
I'll have to play around with it a bit and see if I can get compatibility better, that was just on the same freedos USB stick I previously used. Might work better in MSDOS with himem and emm386.

This bit of software keeps impressing me, so far it has "just worked" on everything I've ran it on.

Edit:
Did some config tweaking, turns out that it's the classic "too much RAM" problem, set a few limits and everything works perfectly now on these much more modern machines.
Now if only I could get the gigabit ethernet ODI working with IPX on the thin client machines...

Last edited by seishuku on 2023-06-01, 11:38. Edited 1 time in total.

Reply 714 of 1257, by truemaster

User metadata
Rank Member
Rank
Member

for games that work in protected mode use himemx.exe
config.sys
devicehigh=c:\himemx.exe /max=64000
that will limit the ram to ~64mb and leave jemmex alone
also in your bios-uefi disable devices that you dont need
autoexec.bat
lh hdpmi321.exe
lh sbemu.exe
for real mode only jemmex is needed and that can can give some issues

Reply 715 of 1257, by VenomSpark

User metadata
Rank Newbie
Rank
Newbie
truemaster wrote on 2023-05-31, 12:38:
for games that work in protected mode use himemx.exe config.sys devicehigh=c:\himemx.exe /max=64000 that will limit the ram to ~ […]
Show full quote

for games that work in protected mode use himemx.exe
config.sys
devicehigh=c:\himemx.exe /max=64000
that will limit the ram to ~64mb and leave jemmex alone
also in your bios-uefi disable devices that you dont need
autoexec.bat
lh hdpmi321.exe
lh sbemu.exe
for real mode only jemmex is needed and that can can give some issues

I just try as you suggested, downloaded HIMEMX.exe from internet (there wasn't on my local C:\) and added the line as option 3, using himemx instead\removing jemmex386 and it correctly boot up, saying that real mode is disabled and protected mode is enabled. Just fast testing, i noticed few games now runs for example Alone in The Dark and Baby Jo without giving me the JEMM386 error full of numbers and codes, but i don't get any sound at all. AITD setup says it don't even recognize any sound card..

Reply 716 of 1257, by truemaster

User metadata
Rank Member
Rank
Member

if those games are for real mode you will get no sound or soundcard detection. try duke3d blood or shadow warrior those are definetly protected mode games. and any game with dos4gw is running on protected mode. again jemmex must be removed as requirement and be replaced with emm386.exe. but it will also worth to investigate how aureal3d manage to have dos audio tsr on theirs pci cards without the need of ems at all, and more exotic is the fact that their dos driver can work on any chipset. unlike creative dos driver (aquired from ensonic) needs ems and will not work on chipsets newer than ich5.

Reply 717 of 1257, by digger

User metadata
Rank Oldbie
Rank
Oldbie

@truemaster The problem with the port-trapping functionality of Microsoft's EMM386 is that it does not allow ports lower than 0100h to be trapped, which means it cannot be used to intercept access to the I/O ports of the DMA controller.

As I understand it, that's the reason why SoftMPU and ADLiPT support Microsoft EMM386, but VSB and SBEMU do not. Both MPU-401 and Adlib cards use I/O addresses higher than 0100h.

Neither QEMM nor Jemm have this limitation. And I believe that later versions of 386MAX extend the Microsoft EMM386 port-trapping API by adding support for trapping these lower I/O ports as well.

Reply 718 of 1257, by rasz_pl

User metadata
Rank l33t
Rank
l33t
digger wrote on 2023-05-31, 20:04:

@truemaster The problem with the port-trapping functionality of Microsoft's EMM386 is that it does not allow ports lower than 0100h to be trapped, which means it cannot be used to intercept access to the I/O ports of the DMA controller.

for compatibility the perfect solution would be patching out that EMM386 100h limit, as stated at start of this thread Re: Possibility to write OPL3 sound driver for protected mode games

Open Source AT&T Globalyst/NCR/FIC 486-GAC-2 proprietary Cache Module reproduction

Reply 719 of 1257, by truemaster

User metadata
Rank Member
Rank
Member

oh port traping i got it now. yes thats an issue unless emm386.exe can be patched for it as suggested some posts before. but aureal dos sb emulation is still interesting stuff. how they dit it without the need of any ems?