VOGONS


SBEMU: Sound Blaster emulation on AC97

Topic actions

Reply 1462 of 1500, by rasz_pl

User metadata
Rank l33t
Rank
l33t
wierd_w wrote on 2024-06-15, 08:12:

It's the DPMI host issue. WIndows wants to BE *THE* DPMI host, and this is NOT compatible with SBEMU.

implementing Re: SBEMU: Sound Blaster emulation on AC97 TRS instead of trapping DMA would let Windows/emm386 handle dpmi stuff.

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

Reply 1464 of 1500, by C64

User metadata
Rank Newbie
Rank
Newbie
Neufena wrote on 2024-05-08, 10:41:

Is it possible that this could be extended to provide better support for old soundcards with bad SB support? I have an IBM Thinkpad 755c which would be a lovely dos gaming machine but the soundcard, CS4248, has a terrible TSR to provide SB compatibility. It takes up loads of memory and sounds horrible! It would be amazing if SBEMU would work for older cards like that. The card does have a Linux driver.

I also have quite a few vintage ThinkPad and yes, some of the SB emulation is really poor (I have a 390 which is also poor). The higher end machines with MWave DSP are better (755CD/760CD/etc) but the software TSRs required chews up a lot of RAM under DOS.
I'm doubtful though that SBEmu for such old machines is practical. I mean 486's don't exactly have a lot of power available to run additional SW processing overhead and run many games that actually could benefit from SoundBlaster support. Most "multimedia" games from back in the day really needed a Pentium to run properly. SMEmu is awesome on slightly "newer" ThinkPad's from around early 2000 with Pentium 4. I have a few T42/R51's which have full driver support for Windows 98SE and now with SBEmu I can also run native games under pure DOS.

Reply 1465 of 1500, by bmwsvsu

User metadata
Rank Member
Rank
Member

I have a question I'm hoping somebody can answer. I'm using a CMI8738 sound card (specifically, a PCI card made by AOPEN - the AW840). I have SBEMU working just fine and am getting audio as expected, but my 15-pin gameport is not correctly configured for use as a joystick port (games won't recognize joysticks). If I run the original driver initializer for the card, then that gets the gameport working with a joystick, but then the sound stops working. I've tried loading everything in various orders but no matter what I do I end up with either non-working sound or a non-working joystick. Any suggestions?

Reply 1468 of 1500, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

I know the very latest releases let you redirect mpu401 to serial port.

SBEMU with protected mode MPU401 UART support

You could do that, and just have nothing there on com1.

Plz use crazii's mainline. The functionality was merged.

Reply 1469 of 1500, by bmwsvsu

User metadata
Rank Member
Rank
Member

No luck - it is still breaking joystick compatibility.

I downloaded the latest version and used the /MCOM1 flag. Upon using that, the summary screen said that the MPU address was still 380 (my understanding of how it is supposed to work is that it should have defaulted to 3F8). So I used the /P flag and forced it to address 3F8, which was reflected on the summary screen correctly, but joystick still not detected.

In my autoexec, I run the original CMI initializer and then SBEMU. Again - running just the initializer gets the joystick port working, but then running SBEMU, even as described above, is still breaking my joystick detection.

Reply 1471 of 1500, by psaez

User metadata
Rank Member
Rank
Member
crazii wrote on 2023-03-05, 06:13:
Hi, I'm happy to announce that SBEMU is ready for more tests. :D […]
Show full quote

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

Purpose: for PCs with AC97/Intel High Definition Audio sound cards that doesn't have Sound Blaster support (vintage PCs after 2000 era, or modern PCs with HDA).
Supported PCI soundcards:

  • Intel ICH
  • nForce (nForce2 tested working)
  • Intel High Definition Audio
  • VIA VT8233 & VT82C686
  • SB Live/Audigy (thanks to Baron von Riedesel for debugging)

Emulated cards: SB 1.0, 2.0, Pro, 16, 8 bit DMA & 16 bit DMA.
Notes: All on chip AC97 mother boards including Intel ICH and nForce both will reported as ICH. And it doesn't report the actual codec (e.g. realtek), but only the board (ICH). For HDA codec its the same.

Supported both real mode and protected mode games. Requirements:
HDPMI32i is needed for protected mode support, which is included in the zip file.
QEMM or JEMM is needed for real mode support. JEMMEX is included in the zip. It's optional, SBEMU can run without it and so without real mode support.

For more information, read the readme.txt in the zip and use /? in the command line.

Thanks to:

  • MPXPlay's: sound card drivers
  • DOSBox: DBOPL emulation
  • HDPMI & JEMM: Port traps
  • Folks in the forum that helped guiding & testing & improving the emulation

The original discussion can be found here: Possibility to write OPL3 sound driver for protected mode games, which initially intended for RetroWave OPL3 but then led to a pure soft emulation of SB & OPL.
The source code of SBEMU can be found here: https://github.com/crazii/SBEMU

Thanks to Brun128, here's a compatibility list of reported hardware:
SBEMU compatibility reports list | Navigation thread

Known issues: some games might not work properly, need more tests & improvement. 16 bit protected mode games are not supported - this remains a challenge so far.
Some games prefer VCPI over DPMI, need use "JEMMEX NOVCPI" AFTER loading HDPMI, or remove QEMM/JEMM and run the system without VCPI (also no real mode support).
Use /t6 to enable SB16 emulation.
Use /i5 to change the virtual IRQ if you get an IRQ conflict error, or adjust IRQ assignment in the BIOS.
Any suggestion and bug report are welcomed.

1.0 beta4 (Latest)
Special Thanks to veelstekel for the testing.

Build: add CI/CD pipeline, build FreedDOS image and zip file, by volkertb (Volkert de Buisonjé).
Build: Add Makefile (RHIDE project files deprecated), by thp (Thomas Perl).
Drivers: AC97: Add support for SIS7012, by thp (Thomas Perl).
Drivers: Add support for ICH5/AD1980 sound output, by thp (Thomas Perl).
CD-Audio mixer support, by thp (Thomas Perl).
Runtime debugging over serial port, by thp (Thomas Perl).
Text-mode UI: Nice display of sound card name, and highlight important messsge with color, by thp (Thomas Perl).
move "fix time constant for exact 11/22/44 kHz" to the option, by wbcbz7
improve SB direct mode audio quality, by wbcbz7
Drivers: Add PIO support to Intel HDA, by jiyunomegami.
Drivers: Ensoniq ES1371 supported.
MPU-401 UART emulation with serial MIDI output, by jiyunomegami.
Drivers: C-Media CMI 8338/8738 supported, by crazii & jiyunomegami.
Expermimental: IRQ assignment if PCI sound card IRQ is invalid or above 15.
Drivers: YAMAHA YMF supported, by jiyunomegami.
PCM resampling improvements and fix low-frequency interpolation (Skyroads SFX).
HDPMI: PCI IRQ client bypass, send to SBEMU/BIOS directly and hide from games - fix freeze for DOOM. Thanks to veelstekel for testing.
Build: enable -O2 and -flto optimizations.
Command line: /I9 supported for IRQ9 if IRQ5/7 not working due to IRQ conflicts, by jiyunomegami.
Command line: options support decimals, i.e. /K22050 and other arbitrary values, by jiyunomegami.
Add /SCFM and /SCMPU for cards that have builtin FM and MPU (not enabled by default, need specify in command line), by jiyunomegami.
Drivers: /SCFM /SCMPU for CMI cards, by jiyunomegami.
Drivers: MMIO fix for ICH4 boards, by jiyunomegami.
Drivers: new set of Linux sound card drivers ported, by jiyunomegami. New dirvers:

  • ALS4000
  • EMU10K1X (Dell SB0200)
  • X-Fi (both EMU20K1 and EMU20K2)
  • OXYGEN(CMI8788) (Only tested with Asus Xonar DG)
  • ESS Allegro-1 (ES1988S/ES1989S)
  • Trident 4D Wave

IRQ guard to prevent the virtual SB IRQ sending to BIOS.
Bugfix: crash on calling HDPMI functions, and crash on error exiting.
Bugfix: DMA address mapping using DPMI_MapMemory/DPMI_UnmapMemory that doesn't work properly and cause leaks.
Bugfix: SB16: IRQ/DMA mixer registers not initialized properly, seen in TOMBRAIDER's SETUP.
Add high DMA check, force /Hx=/Dx when /Hx uses low DMA for 16 bit PCM.
Bugfix: prevent compiler optimization on MMIO reads/writes.
Bugfix: fix for some Intel HDA chips that mutes the sound for unkown reason.
Add README.txt & CHANGLOG.txt, shipped with binaries in zip file.
Compatibility: make /H option working if /T6 not set.
Some trivial bugfixes and improvements.
SBEMU-1.0beta4.zip

1.0 Beta3:
Merge commit from HDPMI: add -x[n] option to limit memory further, -x1 limit mem to 128MB, -x2 limit mem to 64MB. this may help some games that do work with large memory. - thanks to @Baron von Riedesel.
Remove debug message for HDPMI.
Fix Epic Pinball sound spedup.
Add delay to DSP command 0Fh (IRQ request) to make Dynablaster work, and potentially other games.
Add DSP commands: 0E4h/0E8h (test read/write), 0E2h (DMA id), 045h (continue auto DMA).
Fix /Tn bug, /t2 as SBPro, instead of SB2.0. Thanks to @jtchip
Bugfix on VIA VT8233/8235/8237
SBEMU 1.0beta3.zip

1.0 Beta2c:
Add "/R" option to reset sound card driver, in case the soundcard is touched by other utilities.
Add SB direct mode handling (non-DMA, DSP command 10h) previously requested by @Bondi. tested game: Shanghai 2 - experimental, may have noises.
Bugfix on BLASTER env set. (seen on FreeDOS or MSDOS prior to 7.0)
Set power states for Intel HDA, fix compatibility issues for some PCs.
Bugfix on volume settings, disable mixer resetting on DSP resetting, make volume consistent among games and can be set properly by SB utilities.
Hack: double the "volume" of OPL so that it sounds near to the digital volume.
Other bugfixes that may fix functionality or improve stability.
SBEMU 1.0beta2c.zip

1.0 Beta2b:
Fix SB Live/Audigy interrupt.
Add option "/SCL" to list sound cards, use "/SC[n]" to select sound card.
Experimental: adjust sound buffer to reduce latency. (1/8 to original).
This is a single binary of SBEMU. You need HDPMI32i and JEMMEX in the 1.0 Beta2 zip.
SBEMU1.0beta2b.zip

1.0 Beta2:
SBEMU.zip

Hi, does this work with a DFI CA64-TC? I'm using it under W95 and w98, how can I make this work under those OS? I need something like this because games are not playing music or SFX due to the integrated sound card incompatibility.

Sorry to ask for help but I can't see a step to step guide here about how to make this work.

Thank you

Reply 1472 of 1500, by vico

User metadata
Rank Newbie
Rank
Newbie
psaez wrote on 2024-06-26, 13:55:
Hi, does this work with a DFI CA64-TC? I'm using it under W95 and w98, how can I make this work under those OS? I need something […]
Show full quote
crazii wrote on 2023-03-05, 06:13:
Hi, I'm happy to announce that SBEMU is ready for more tests. :D […]
Show full quote

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

Purpose: for PCs with AC97/Intel High Definition Audio sound cards that doesn't have Sound Blaster support (vintage PCs after 2000 era, or modern PCs with HDA).
Supported PCI soundcards:

  • Intel ICH
  • nForce (nForce2 tested working)
  • Intel High Definition Audio
  • VIA VT8233 & VT82C686
  • SB Live/Audigy (thanks to Baron von Riedesel for debugging)

Emulated cards: SB 1.0, 2.0, Pro, 16, 8 bit DMA & 16 bit DMA.
Notes: All on chip AC97 mother boards including Intel ICH and nForce both will reported as ICH. And it doesn't report the actual codec (e.g. realtek), but only the board (ICH). For HDA codec its the same.

Supported both real mode and protected mode games. Requirements:
HDPMI32i is needed for protected mode support, which is included in the zip file.
QEMM or JEMM is needed for real mode support. JEMMEX is included in the zip. It's optional, SBEMU can run without it and so without real mode support.

For more information, read the readme.txt in the zip and use /? in the command line.

Thanks to:

  • MPXPlay's: sound card drivers
  • DOSBox: DBOPL emulation
  • HDPMI & JEMM: Port traps
  • Folks in the forum that helped guiding & testing & improving the emulation

The original discussion can be found here: Possibility to write OPL3 sound driver for protected mode games, which initially intended for RetroWave OPL3 but then led to a pure soft emulation of SB & OPL.
The source code of SBEMU can be found here: https://github.com/crazii/SBEMU

Thanks to Brun128, here's a compatibility list of reported hardware:
SBEMU compatibility reports list | Navigation thread

Known issues: some games might not work properly, need more tests & improvement. 16 bit protected mode games are not supported - this remains a challenge so far.
Some games prefer VCPI over DPMI, need use "JEMMEX NOVCPI" AFTER loading HDPMI, or remove QEMM/JEMM and run the system without VCPI (also no real mode support).
Use /t6 to enable SB16 emulation.
Use /i5 to change the virtual IRQ if you get an IRQ conflict error, or adjust IRQ assignment in the BIOS.
Any suggestion and bug report are welcomed.

1.0 beta4 (Latest)
Special Thanks to veelstekel for the testing.

Build: add CI/CD pipeline, build FreedDOS image and zip file, by volkertb (Volkert de Buisonjé).
Build: Add Makefile (RHIDE project files deprecated), by thp (Thomas Perl).
Drivers: AC97: Add support for SIS7012, by thp (Thomas Perl).
Drivers: Add support for ICH5/AD1980 sound output, by thp (Thomas Perl).
CD-Audio mixer support, by thp (Thomas Perl).
Runtime debugging over serial port, by thp (Thomas Perl).
Text-mode UI: Nice display of sound card name, and highlight important messsge with color, by thp (Thomas Perl).
move "fix time constant for exact 11/22/44 kHz" to the option, by wbcbz7
improve SB direct mode audio quality, by wbcbz7
Drivers: Add PIO support to Intel HDA, by jiyunomegami.
Drivers: Ensoniq ES1371 supported.
MPU-401 UART emulation with serial MIDI output, by jiyunomegami.
Drivers: C-Media CMI 8338/8738 supported, by crazii & jiyunomegami.
Expermimental: IRQ assignment if PCI sound card IRQ is invalid or above 15.
Drivers: YAMAHA YMF supported, by jiyunomegami.
PCM resampling improvements and fix low-frequency interpolation (Skyroads SFX).
HDPMI: PCI IRQ client bypass, send to SBEMU/BIOS directly and hide from games - fix freeze for DOOM. Thanks to veelstekel for testing.
Build: enable -O2 and -flto optimizations.
Command line: /I9 supported for IRQ9 if IRQ5/7 not working due to IRQ conflicts, by jiyunomegami.
Command line: options support decimals, i.e. /K22050 and other arbitrary values, by jiyunomegami.
Add /SCFM and /SCMPU for cards that have builtin FM and MPU (not enabled by default, need specify in command line), by jiyunomegami.
Drivers: /SCFM /SCMPU for CMI cards, by jiyunomegami.
Drivers: MMIO fix for ICH4 boards, by jiyunomegami.
Drivers: new set of Linux sound card drivers ported, by jiyunomegami. New dirvers:

  • ALS4000
  • EMU10K1X (Dell SB0200)
  • X-Fi (both EMU20K1 and EMU20K2)
  • OXYGEN(CMI8788) (Only tested with Asus Xonar DG)
  • ESS Allegro-1 (ES1988S/ES1989S)
  • Trident 4D Wave

IRQ guard to prevent the virtual SB IRQ sending to BIOS.
Bugfix: crash on calling HDPMI functions, and crash on error exiting.
Bugfix: DMA address mapping using DPMI_MapMemory/DPMI_UnmapMemory that doesn't work properly and cause leaks.
Bugfix: SB16: IRQ/DMA mixer registers not initialized properly, seen in TOMBRAIDER's SETUP.
Add high DMA check, force /Hx=/Dx when /Hx uses low DMA for 16 bit PCM.
Bugfix: prevent compiler optimization on MMIO reads/writes.
Bugfix: fix for some Intel HDA chips that mutes the sound for unkown reason.
Add README.txt & CHANGLOG.txt, shipped with binaries in zip file.
Compatibility: make /H option working if /T6 not set.
Some trivial bugfixes and improvements.
SBEMU-1.0beta4.zip

1.0 Beta3:
Merge commit from HDPMI: add -x[n] option to limit memory further, -x1 limit mem to 128MB, -x2 limit mem to 64MB. this may help some games that do work with large memory. - thanks to @Baron von Riedesel.
Remove debug message for HDPMI.
Fix Epic Pinball sound spedup.
Add delay to DSP command 0Fh (IRQ request) to make Dynablaster work, and potentially other games.
Add DSP commands: 0E4h/0E8h (test read/write), 0E2h (DMA id), 045h (continue auto DMA).
Fix /Tn bug, /t2 as SBPro, instead of SB2.0. Thanks to @jtchip
Bugfix on VIA VT8233/8235/8237
SBEMU 1.0beta3.zip

1.0 Beta2c:
Add "/R" option to reset sound card driver, in case the soundcard is touched by other utilities.
Add SB direct mode handling (non-DMA, DSP command 10h) previously requested by @Bondi. tested game: Shanghai 2 - experimental, may have noises.
Bugfix on BLASTER env set. (seen on FreeDOS or MSDOS prior to 7.0)
Set power states for Intel HDA, fix compatibility issues for some PCs.
Bugfix on volume settings, disable mixer resetting on DSP resetting, make volume consistent among games and can be set properly by SB utilities.
Hack: double the "volume" of OPL so that it sounds near to the digital volume.
Other bugfixes that may fix functionality or improve stability.
SBEMU 1.0beta2c.zip

1.0 Beta2b:
Fix SB Live/Audigy interrupt.
Add option "/SCL" to list sound cards, use "/SC[n]" to select sound card.
Experimental: adjust sound buffer to reduce latency. (1/8 to original).
This is a single binary of SBEMU. You need HDPMI32i and JEMMEX in the 1.0 Beta2 zip.
SBEMU1.0beta2b.zip

1.0 Beta2:
SBEMU.zip

Hi, does this work with a DFI CA64-TC? I'm using it under W95 and w98, how can I make this work under those OS? I need something like this because games are not playing music or SFX due to the integrated sound card incompatibility.

Sorry to ask for help but I can't see a step to step guide here about how to make this work.

Thank you

You can try this, although it is with an older version of SBEMU 1.0beta3
https://archive.org/details/ms-dos-mode-jemm

Reply 1473 of 1500, by psaez

User metadata
Rank Member
Rank
Member
vico wrote on 2024-06-26, 16:31:
psaez wrote on 2024-06-26, 13:55:
Hi, does this work with a DFI CA64-TC? I'm using it under W95 and w98, how can I make this work under those OS? I need something […]
Show full quote
crazii wrote on 2023-03-05, 06:13:
Hi, I'm happy to announce that SBEMU is ready for more tests. :D […]
Show full quote

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

Purpose: for PCs with AC97/Intel High Definition Audio sound cards that doesn't have Sound Blaster support (vintage PCs after 2000 era, or modern PCs with HDA).
Supported PCI soundcards:

  • Intel ICH
  • nForce (nForce2 tested working)
  • Intel High Definition Audio
  • VIA VT8233 & VT82C686
  • SB Live/Audigy (thanks to Baron von Riedesel for debugging)

Emulated cards: SB 1.0, 2.0, Pro, 16, 8 bit DMA & 16 bit DMA.
Notes: All on chip AC97 mother boards including Intel ICH and nForce both will reported as ICH. And it doesn't report the actual codec (e.g. realtek), but only the board (ICH). For HDA codec its the same.

Supported both real mode and protected mode games. Requirements:
HDPMI32i is needed for protected mode support, which is included in the zip file.
QEMM or JEMM is needed for real mode support. JEMMEX is included in the zip. It's optional, SBEMU can run without it and so without real mode support.

For more information, read the readme.txt in the zip and use /? in the command line.

Thanks to:

  • MPXPlay's: sound card drivers
  • DOSBox: DBOPL emulation
  • HDPMI & JEMM: Port traps
  • Folks in the forum that helped guiding & testing & improving the emulation

The original discussion can be found here: Possibility to write OPL3 sound driver for protected mode games, which initially intended for RetroWave OPL3 but then led to a pure soft emulation of SB & OPL.
The source code of SBEMU can be found here: https://github.com/crazii/SBEMU

Thanks to Brun128, here's a compatibility list of reported hardware:
SBEMU compatibility reports list | Navigation thread

Known issues: some games might not work properly, need more tests & improvement. 16 bit protected mode games are not supported - this remains a challenge so far.
Some games prefer VCPI over DPMI, need use "JEMMEX NOVCPI" AFTER loading HDPMI, or remove QEMM/JEMM and run the system without VCPI (also no real mode support).
Use /t6 to enable SB16 emulation.
Use /i5 to change the virtual IRQ if you get an IRQ conflict error, or adjust IRQ assignment in the BIOS.
Any suggestion and bug report are welcomed.

1.0 beta4 (Latest)
Special Thanks to veelstekel for the testing.

Build: add CI/CD pipeline, build FreedDOS image and zip file, by volkertb (Volkert de Buisonjé).
Build: Add Makefile (RHIDE project files deprecated), by thp (Thomas Perl).
Drivers: AC97: Add support for SIS7012, by thp (Thomas Perl).
Drivers: Add support for ICH5/AD1980 sound output, by thp (Thomas Perl).
CD-Audio mixer support, by thp (Thomas Perl).
Runtime debugging over serial port, by thp (Thomas Perl).
Text-mode UI: Nice display of sound card name, and highlight important messsge with color, by thp (Thomas Perl).
move "fix time constant for exact 11/22/44 kHz" to the option, by wbcbz7
improve SB direct mode audio quality, by wbcbz7
Drivers: Add PIO support to Intel HDA, by jiyunomegami.
Drivers: Ensoniq ES1371 supported.
MPU-401 UART emulation with serial MIDI output, by jiyunomegami.
Drivers: C-Media CMI 8338/8738 supported, by crazii & jiyunomegami.
Expermimental: IRQ assignment if PCI sound card IRQ is invalid or above 15.
Drivers: YAMAHA YMF supported, by jiyunomegami.
PCM resampling improvements and fix low-frequency interpolation (Skyroads SFX).
HDPMI: PCI IRQ client bypass, send to SBEMU/BIOS directly and hide from games - fix freeze for DOOM. Thanks to veelstekel for testing.
Build: enable -O2 and -flto optimizations.
Command line: /I9 supported for IRQ9 if IRQ5/7 not working due to IRQ conflicts, by jiyunomegami.
Command line: options support decimals, i.e. /K22050 and other arbitrary values, by jiyunomegami.
Add /SCFM and /SCMPU for cards that have builtin FM and MPU (not enabled by default, need specify in command line), by jiyunomegami.
Drivers: /SCFM /SCMPU for CMI cards, by jiyunomegami.
Drivers: MMIO fix for ICH4 boards, by jiyunomegami.
Drivers: new set of Linux sound card drivers ported, by jiyunomegami. New dirvers:

  • ALS4000
  • EMU10K1X (Dell SB0200)
  • X-Fi (both EMU20K1 and EMU20K2)
  • OXYGEN(CMI8788) (Only tested with Asus Xonar DG)
  • ESS Allegro-1 (ES1988S/ES1989S)
  • Trident 4D Wave

IRQ guard to prevent the virtual SB IRQ sending to BIOS.
Bugfix: crash on calling HDPMI functions, and crash on error exiting.
Bugfix: DMA address mapping using DPMI_MapMemory/DPMI_UnmapMemory that doesn't work properly and cause leaks.
Bugfix: SB16: IRQ/DMA mixer registers not initialized properly, seen in TOMBRAIDER's SETUP.
Add high DMA check, force /Hx=/Dx when /Hx uses low DMA for 16 bit PCM.
Bugfix: prevent compiler optimization on MMIO reads/writes.
Bugfix: fix for some Intel HDA chips that mutes the sound for unkown reason.
Add README.txt & CHANGLOG.txt, shipped with binaries in zip file.
Compatibility: make /H option working if /T6 not set.
Some trivial bugfixes and improvements.
SBEMU-1.0beta4.zip

1.0 Beta3:
Merge commit from HDPMI: add -x[n] option to limit memory further, -x1 limit mem to 128MB, -x2 limit mem to 64MB. this may help some games that do work with large memory. - thanks to @Baron von Riedesel.
Remove debug message for HDPMI.
Fix Epic Pinball sound spedup.
Add delay to DSP command 0Fh (IRQ request) to make Dynablaster work, and potentially other games.
Add DSP commands: 0E4h/0E8h (test read/write), 0E2h (DMA id), 045h (continue auto DMA).
Fix /Tn bug, /t2 as SBPro, instead of SB2.0. Thanks to @jtchip
Bugfix on VIA VT8233/8235/8237
SBEMU 1.0beta3.zip

1.0 Beta2c:
Add "/R" option to reset sound card driver, in case the soundcard is touched by other utilities.
Add SB direct mode handling (non-DMA, DSP command 10h) previously requested by @Bondi. tested game: Shanghai 2 - experimental, may have noises.
Bugfix on BLASTER env set. (seen on FreeDOS or MSDOS prior to 7.0)
Set power states for Intel HDA, fix compatibility issues for some PCs.
Bugfix on volume settings, disable mixer resetting on DSP resetting, make volume consistent among games and can be set properly by SB utilities.
Hack: double the "volume" of OPL so that it sounds near to the digital volume.
Other bugfixes that may fix functionality or improve stability.
SBEMU 1.0beta2c.zip

1.0 Beta2b:
Fix SB Live/Audigy interrupt.
Add option "/SCL" to list sound cards, use "/SC[n]" to select sound card.
Experimental: adjust sound buffer to reduce latency. (1/8 to original).
This is a single binary of SBEMU. You need HDPMI32i and JEMMEX in the 1.0 Beta2 zip.
SBEMU1.0beta2b.zip

1.0 Beta2:
SBEMU.zip

Hi, does this work with a DFI CA64-TC? I'm using it under W95 and w98, how can I make this work under those OS? I need something like this because games are not playing music or SFX due to the integrated sound card incompatibility.

Sorry to ask for help but I can't see a step to step guide here about how to make this work.

Thank you

You can try this, although it is with an older version of SBEMU 1.0beta3
https://archive.org/details/ms-dos-mode-jemm

and what is that and how can use it to have sound in windows 95 with my integrated sound card?

Reply 1474 of 1500, by vico

User metadata
Rank Newbie
Rank
Newbie
psaez wrote on 2024-06-26, 22:29:
vico wrote on 2024-06-26, 16:31:
psaez wrote on 2024-06-26, 13:55:

Hi, does this work with a DFI CA64-TC? I'm using it under W95 and w98, how can I make this work under those OS? I need something like this because games are not playing music or SFX due to the integrated sound card incompatibility.

Sorry to ask for help but I can't see a step to step guide here about how to make this work.

Thank you

You can try this, although it is with an older version of SBEMU 1.0beta3
https://archive.org/details/ms-dos-mode-jemm

and what is that and how can use it to have sound in windows 95 with my integrated sound card?

In short, it is a shortcut to reboot into MS-DOS mode with jemm and sbemu configured.
With this you can play your DOS games in real MS-DOS mode.
Just follow the instructions in the readme file.

More about MS-DOS mode in windows 9x at https://www.philscomputerlab.com/ms-dos-mode-super-easy.html

Reply 1475 of 1500, by psaez

User metadata
Rank Member
Rank
Member
vico wrote on 2024-06-26, 23:25:
In short, it is a shortcut to reboot into MS-DOS mode with jemm and sbemu configured. With this you can play your DOS games in r […]
Show full quote
psaez wrote on 2024-06-26, 22:29:
vico wrote on 2024-06-26, 16:31:

You can try this, although it is with an older version of SBEMU 1.0beta3
https://archive.org/details/ms-dos-mode-jemm

and what is that and how can use it to have sound in windows 95 with my integrated sound card?

In short, it is a shortcut to reboot into MS-DOS mode with jemm and sbemu configured.
With this you can play your DOS games in real MS-DOS mode.
Just follow the instructions in the readme file.

More about MS-DOS mode in windows 9x at https://www.philscomputerlab.com/ms-dos-mode-super-easy.html

well, maybe it's not what I'm searching for, I'm trying to make games work with sound in W95 and 98 with the integrated card

Reply 1476 of 1500, by DarthSun

User metadata
Rank Member
Rank
Member
psaez wrote on 2024-06-27, 14:39:
vico wrote on 2024-06-26, 23:25:
In short, it is a shortcut to reboot into MS-DOS mode with jemm and sbemu configured. With this you can play your DOS games in r […]
Show full quote
psaez wrote on 2024-06-26, 22:29:

and what is that and how can use it to have sound in windows 95 with my integrated sound card?

In short, it is a shortcut to reboot into MS-DOS mode with jemm and sbemu configured.
With this you can play your DOS games in real MS-DOS mode.
Just follow the instructions in the readme file.

More about MS-DOS mode in windows 9x at https://www.philscomputerlab.com/ms-dos-mode-super-easy.html

well, maybe it's not what I'm searching for, I'm trying to make games work with sound in W95 and 98 with the integrated card

Under Win9x SBEMU will not work. Dos is good. On my modern machine, too, under Dos, but Ryzen needed a Win98 for a SBLive card, with Driver Win98.

225621_xkfiwmtzya5zboa2_zen2finaledgefront.jpg
Filename
225621_xkfiwmtzya5zboa2_zen2finaledgefront.jpg
File size
285.71 KiB
Views
268 views
File license
Fair use/fair dealing exception

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 1477 of 1500, by MoneySquirrel

User metadata
Rank Newbie
Rank
Newbie

SBEMU may work in the future with win98, but it doesn't now. You have to be in Dos with Jemm as your memory manager. The sblive can work in win98 and also with sbemu in Dos. I use a Yamaha ymf724 card in much the same way.

Reply 1478 of 1500, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

The dealbreakers are 'windows will ONLY ALLOW emm386 as EMS provider' and 'Windows will ONLY ALLOW VMM32 as HDPMI host'.

Sadly, we need a non-black-box memory manager that we can finagle into port trapping, and an HDPMI host we control to do far-calls with.

In the future, if we dont actually need port trapping and pals, we might be able to escape this nasty issue, but until then, 'windows is off the menu'.

Reply 1479 of 1500, by RayeR

User metadata
Rank Oldbie
Rank
Oldbie

Maybe in 2050 will M$ release sources of Win98 and it will be possible to modify it's memory manager to cooperate with SBEMU 😀

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