VOGONS


Juggling between two sound cards in DOS

Topic actions

Reply 60 of 76, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
Shponglefan wrote on 2025-12-13, 00:59:

I don't understand how one card would take precedence over the other. If they're both configured with their own separate hardware settings (address, IRQ, DMA), they should be able to run concurrently. Then it's just a matter of choosing the respective settings in game setup programs for the card you want to use.

I might test out running an SB Live! and a Yamaha-based card concurrently in DOS to see how this works.

I even tried adding the SET BLASTER command in a game’s custom BAT file, hoping it would ‘overwrite’/ignore the one in the autoexec file, but it didn’t work.

Also tried re-configuring the sound options for a game. With the DOS version of Simon 1, it had the I/O and IRQ in red at 220 and 5 respectively, but the only thing it allows me to change when I try to reconfigure is DMA. But no matter which I change, I won’t get audio from the SB unless I switch the audio cable from the Yamaha to the SB. And I get no audio, except speech, from the Yamaha.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
HDD: C, D - IDE 1, CD-ROM - IDE 2, E - IDE 3

Reply 61 of 76, by Shponglefan

User metadata
Rank l33t
Rank
l33t

I tried testing out my own SB Live card (model SB0060). Unfortunately I didn't have much success getting it to work under DOS. I downloaded and installed the DOS drivers from Phil's Computer lab on a pure DOS 6.22 setup. Accordingly to the readme file in the driver pack on Phil's, he has tested this under DOS 6.22 and with this model of SB Live.

Testing on three different systems including 440LX, 440BX, and i865 motherboards all had the same results.

FM sound worked with games like Simon the Sorcerer, Arkanoid 2, and Wolfenstein 3D. Digital sound also worked with Wolf3D.

Doom, Doom 2, and Warcraft (including the latter's setup program) would just lock up. Lost Vikings crashed with a General Protection Fault. Did the usual troubleshooting including switching PCI slots, changing IRQs, reserving things in the BIOS, etc., etc. Nothing made a difference.

Don't know if it's an issue with this specific card or a broader symptom of SB Live cards being finicky under DOS on certain motherboards. Regardless I don't have another SB Live to compare with.

Pentium 4 Multi-OS Build
486 DX4-100 with 6 sound cards
486 DX-33 with 5 sound cards

Reply 62 of 76, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
Shponglefan wrote on 2025-12-13, 20:11:
I tried testing out my own SB Live card (model SB0060). Unfortunately I didn't have much success getting it to work under DOS. I […]
Show full quote

I tried testing out my own SB Live card (model SB0060). Unfortunately I didn't have much success getting it to work under DOS. I downloaded and installed the DOS drivers from Phil's Computer lab on a pure DOS 6.22 setup. Accordingly to the readme file in the driver pack on Phil's, he has tested this under DOS 6.22 and with this model of SB Live.

Testing on three different systems including 440LX, 440BX, and i865 motherboards all had the same results.

FM sound worked with games like Simon the Sorcerer, Arkanoid 2, and Wolfenstein 3D. Digital sound also worked with Wolf3D.

Doom, Doom 2, and Warcraft (including the latter's setup program) would just lock up. Lost Vikings crashed with a General Protection Fault. Did the usual troubleshooting including switching PCI slots, changing IRQs, reserving things in the BIOS, etc., etc. Nothing made a difference.

Don't know if it's an issue with this specific card or a broader symptom of SB Live cards being finicky under DOS on certain motherboards. Regardless I don't have another SB Live to compare with.

Ah, man, that sucks. Shame you weren't successful at being able to test it. From my little experience with SB's from 2000+, particularly after the Audigy 2 I had, they seem more finnicky/fussy at working under DOS. I'm certainly glad I went for SB Live! Value from 1998 in the end. Not only are they more period appropriate, but they look to have better DOS support.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
HDD: C, D - IDE 1, CD-ROM - IDE 2, E - IDE 3

Reply 63 of 76, by NeoG_

User metadata
Rank Member
Rank
Member
Shponglefan wrote on 2025-12-13, 20:11:

I tried testing out my own SB Live card (model SB0060). Unfortunately I didn't have much success getting it to work under DOS.

Out of the box, the DOS drivers are designed to work in conjunction with the windows SB16 emulation driver. The windows drivers will create a CTSYN.INI file that contains all the information to initialize the card based on what resources are assigned in windows. If you don't have the windows component (a la DOS 6.22), CTSYN.INI would need to be edited manually. The location of CTSYN.INI is set by the CTSYN environment variable (e.g. SET CTSYN=C:\SBLIVE\DOSDRV)

Of particular note is the PCI address of the card, which is easy to find in windows and the windows SB16 driver fills in the value automatically - but I'm not sure where you would find that value in DOS 6.22. If all the vlaues are set up correctly it should initialize.

98/DOS Rig: BabyAT AladdinV, K6-2+/550, V3 2000, 128MB PC100, 20GB HDD, 128GB SD2IDE, SB Live!, SB16-SCSI, PicoGUS, WP32 McCake, iNFRA CD, ZIP100
XP Rig: Lian Li PC-10 ATX, Gigabyte X38-DQ6, Core2Duo E6850, ATi HD5870, 2GB DDR2, 2TB HDD, X-Fi XtremeGamer

Reply 64 of 76, by Shponglefan

User metadata
Rank l33t
Rank
l33t
NeoG_ wrote on 2025-12-13, 23:08:

Out of the box, the DOS drivers are designed to work in conjunction with the windows SB16 emulation driver. The windows drivers will create a CTSYN.INI file that contains all the information to initialize the card based on what resources are assigned in windows. If you don't have the windows component (a la DOS 6.22), CTSYN.INI would need to be edited manually. The location of CTSYN.INI is set by the CTSYN environment variable (e.g. SET CTSYN=C:\SBLIVE\DOSDRV)

Of particular note is the PCI address of the card, which is easy to find in windows and the windows SB16 driver fills in the value automatically - but I'm not sure where you would find that value in DOS 6.22

When I initialize the card in DOS, it says it's at port e400, IRQ 12.

I tried putting those values into the CTSYN.INI file as follows:

PCIPORT=e400
PCIIRQ=12

Everything I left as default for SB16 emulation (220, 330, irq 7, etc). Unfortunately I still get lockups when trying the aforementioned games.

I also tried uppercase E400 as well in case that made a difference. But it did not.

Pentium 4 Multi-OS Build
486 DX4-100 with 6 sound cards
486 DX-33 with 5 sound cards

Reply 65 of 76, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie

I noticed yesterday that the SBEINIT line had been 'un-commented' by the PC. I remember putting REM at the beginning and it disappeared. Presumably after I loaded back into Windows. When I do get around to putting a custom boot menu together, I'm guessing the main autoexec file will be used still...? Because even if I set a specific menu option for DOS to use the SB, I'm sure the command will be added at the start again. 🙁

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
HDD: C, D - IDE 1, CD-ROM - IDE 2, E - IDE 3

Reply 66 of 76, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on 2025-12-11, 00:57:
You can use the ek1m tool from PARUS to enable the audio jacks on the SB Live when using the Yamaha card Multichannel DOS mixer […]
Show full quote

You can use the ek1m tool from PARUS to enable the audio jacks on the SB Live when using the Yamaha card
Multichannel DOS mixer for DOS sound builds v0.49 for Live, v1.01 for Audigy

The tool is a bit buggy and was never completed so it's generally a good idea to first play a blank audio file to the card using MPXPLAY which can initialize the card properly then run the ek1m tool. This solves the issue where EK1M doesn't work from a cold boot.
Re: SB Live and Orpheus not playing nice together!

You would run MPXPLAY and EK1M (they are not memory resident so no issues there) before or after initializing the Yamaha card and then you would daisy chan the yamaha to the SB Live line input. Your speakers would always be connected to the SB Live audio output. This also will produce sound from both cards in Windows.

Yeah, so, unsurprisingly, I've tried setting up the autoexec.bat the same as in the MPXPLAY thread/post, but it doesn't work. I'm not seeing the files those commands list. Such as MPXPLAY.EXE. So I'm not sure if there's a specific version I need to download instead or if I need to do something else to get those files. I tried downloading the DOS4G version at the bottom and the first link under Program Sources, which lists it as MMC v3.24/MPXPLAY v1.68.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
HDD: C, D - IDE 1, CD-ROM - IDE 2, E - IDE 3

Reply 67 of 76, by Baron von Riedesel

User metadata
Rank Member
Rank
Member
Shponglefan wrote on 2025-12-13, 23:27:
I tried putting those values into the CTSYN.INI file as follows: […]
Show full quote

I tried putting those values into the CTSYN.INI file as follows:

PCIPORT=e400
PCIIRQ=12

Everything I left as default for SB16 emulation (220, 330, irq 7, etc). Unfortunately I still get lockups when trying the aforementioned games.

I also tried uppercase E400 as well in case that made a difference. But it did not.

The PCI values in ctsyn.ini are ignored by the Creative DOS drivers - I'm tempted to add "of course", because the correct IO base and IRQ are stored in the PCI config space, easy to read and hence much more reliable.

What's really critical is the emulated SB IRQ ( usually 5 or 7 ). This IRQ should NOT be used by any PCI device. If the BIOS offers the option to reserve this IRQ for ISA, use that option. If the BIOS does not offer this option, there's a simple trick to still reserve the IRQ, at least for machines from the 1999-2005 age: enable the parallel port in BIOS (in SPP mode if possible) and assign the SB IRQ to it. Thus the BIOS will regard this IRQ as "used by ISA".

Reply 69 of 76, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie

Okay, I think I've now found the right/same version of MPXPlay that's referred to in that linked thread. Very confusing though considering how many versions there are. Just trying to find where this INIT.WAV is as I'm not seeing that.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
HDD: C, D - IDE 1, CD-ROM - IDE 2, E - IDE 3

Reply 70 of 76, by NeoG_

User metadata
Rank Member
Rank
Member
DustyShinigami wrote on Yesterday, 11:48:

Okay, I think I've now found the right/same version of MPXPlay that's referred to in that linked thread. Very confusing though considering how many versions there are. Just trying to find where this INIT.WAV is as I'm not seeing that.

init.wav is any sound file you please, can be a blank one if you don't want to hear anything. Anything that mpxplay can play works. The particular sound file is irrelevant to the process as it's only there to get MPXPLAY to open a sound channel on the sound card using it's own init routine. The only requirement is that it's a playable file.

Edit: I made a blank sound file in Goldwave that you can use
https://drive.google.com/file/d/1_Z4GHnSAdp1I … iew?usp=sharing

98/DOS Rig: BabyAT AladdinV, K6-2+/550, V3 2000, 128MB PC100, 20GB HDD, 128GB SD2IDE, SB Live!, SB16-SCSI, PicoGUS, WP32 McCake, iNFRA CD, ZIP100
XP Rig: Lian Li PC-10 ATX, Gigabyte X38-DQ6, Core2Duo E6850, ATi HD5870, 2GB DDR2, 2TB HDD, X-Fi XtremeGamer

Reply 71 of 76, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on Today, 08:11:
init.wav is any sound file you please, can be a blank one if you don't want to hear anything. Anything that mpxplay can play wor […]
Show full quote
DustyShinigami wrote on Yesterday, 11:48:

Okay, I think I've now found the right/same version of MPXPlay that's referred to in that linked thread. Very confusing though considering how many versions there are. Just trying to find where this INIT.WAV is as I'm not seeing that.

init.wav is any sound file you please, can be a blank one if you don't want to hear anything. Anything that mpxplay can play works. The particular sound file is irrelevant to the process as it's only there to get MPXPLAY to open a sound channel on the sound card using it's own init routine. The only requirement is that it's a playable file.

Edit: I made a blank sound file in Goldwave that you can use
https://drive.google.com/file/d/1_Z4GHnSAdp1I … iew?usp=sharing

Ahh, I see. But thank you for creating one. 😃 I’m a bit skeptical it’ll work though, but we’ll see. Last I tried it tells me there's no DOS/4G Extension...? Extender...? Putting the DOS/4G application in the same folder and running it separately didn’t help either; I just get a fatal error. And I can't see being able to access EK1M.INI as there's no such file.

This the person’s autoexec from that thread:

REM Initialize the SB16
SET BLASTER=A220 I7 D1 H5 P330 T6
SET SOUND=C:\SB16
SET MIDI=MAP:G MODE:1
C:\SB16\DIAGNOSE.EXE /S
C:\SB16\MIXERSET.EXE /P /Q
REM Start the EK1M mixer for the Sound Blaster Live!
C:\MPXPLAY\MPXPLAY.EXE -scs SBA -f0 C:\MPXPLAY\INIT.WAV -xel
C:\EK1M\EK1M.EXE -f C:\EK1M\EK1M.INI

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
HDD: C, D - IDE 1, CD-ROM - IDE 2, E - IDE 3

Reply 72 of 76, by NeoG_

User metadata
Rank Member
Rank
Member

Use the DOS/32 version of MPXPLAY from this page; MPXP168D.ZIP
https://mpxplay.sourceforge.net/

For EK1M, run it manually once with "EK1M -b", that will intialize it (-b means boot). Then use "EK1M -c > EK1M.INI" to create the default configuration file. Running "EK1M -c" will print out the current DSP configration to screen, putting "> filename.ini" on the end of the command will send the output to a file instead (Works for most DOS commands - can be useful).

The file you make can then be loaded using "EK1M -f filename.ini" on subsequent boots.

You will need to make some changes to the ini file, specifically set the "-as" (AC97 source) to "mix" and then set the -ai values (analog sources) to the desired levels (0-100).

Configuration files can also be loaded at any time after boot - I have game specific configs that control the balance of multiple sources that are loaded in batch files.

Last edited by NeoG_ on 2025-12-16, 11:44. Edited 2 times in total.

98/DOS Rig: BabyAT AladdinV, K6-2+/550, V3 2000, 128MB PC100, 20GB HDD, 128GB SD2IDE, SB Live!, SB16-SCSI, PicoGUS, WP32 McCake, iNFRA CD, ZIP100
XP Rig: Lian Li PC-10 ATX, Gigabyte X38-DQ6, Core2Duo E6850, ATi HD5870, 2GB DDR2, 2TB HDD, X-Fi XtremeGamer

Reply 73 of 76, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on Today, 11:37:
Use the DOS/32 version of MPXPLAY from this page; MPXP168D.ZIP https://mpxplay.sourceforge.net/ […]
Show full quote

Use the DOS/32 version of MPXPLAY from this page; MPXP168D.ZIP
https://mpxplay.sourceforge.net/

For EK1M, run it manually once with "EK1M -b", that will intialize it (-b means boot). Then use "EK1M -c > EK1M.INI" to create the default configuration file. Running "EK1M -c" will print out the current DSP configration to screen, putting "> filename.ini" on the end of the command will send the output to a file instead (Works for most DOS commands - can be useful).

The file you make can then be loaded using "EK1M -f filename.ini" on subsequent boots.

You will need to make some changes to the ini file, specifically set the "-as" (AC97 source) to "mix" and then set the -ai values (analog sources) to the desired levels (0-100)

Configuration files can also be loaded at any time after boot - I have game specific configs that control the balance of multiple sources that are loaded in batch files.

Awesome. Thank you so much. I'll give that a go a bit later. But yeah, I completely downloaded the wrong version each time. ^^;

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
HDD: C, D - IDE 1, CD-ROM - IDE 2, E - IDE 3

Reply 74 of 76, by NeoG_

User metadata
Rank Member
Rank
Member

Addendum: If you have a 2-pin digital cd audio connection, you will also need to set the digital CD volume in the configuration file as opposed to the CD AC97 analog source. The value is in the mix matrix where afront column (analog front output) and spdif0 row (digital CD Audio input) converge. The volume range in the mix matrix is 0-200.

98/DOS Rig: BabyAT AladdinV, K6-2+/550, V3 2000, 128MB PC100, 20GB HDD, 128GB SD2IDE, SB Live!, SB16-SCSI, PicoGUS, WP32 McCake, iNFRA CD, ZIP100
XP Rig: Lian Li PC-10 ATX, Gigabyte X38-DQ6, Core2Duo E6850, ATi HD5870, 2GB DDR2, 2TB HDD, X-Fi XtremeGamer

Reply 75 of 76, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on Today, 11:46:

Addendum: If you have a 2-pin digital cd audio connection, you will also need to set the digital CD volume in the configuration file as opposed to the CD AC97 analog source. The value is in the mix matrix where afront column (analog front output) and spdif0 row (digital CD Audio input) converge. The volume range in the mix matrix is 0-200.

Okay, thanks for the heads-up. I do have a 2-pin digital audio connection. But I'll just try to get everything working first and then I'll see if I can do a deep-dive to find these options. 😀

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
HDD: C, D - IDE 1, CD-ROM - IDE 2, E - IDE 3

Reply 76 of 76, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on Today, 11:37:
Use the DOS/32 version of MPXPLAY from this page; MPXP168D.ZIP https://mpxplay.sourceforge.net/ […]
Show full quote

Use the DOS/32 version of MPXPLAY from this page; MPXP168D.ZIP
https://mpxplay.sourceforge.net/

For EK1M, run it manually once with "EK1M -b", that will intialize it (-b means boot). Then use "EK1M -c > EK1M.INI" to create the default configuration file. Running "EK1M -c" will print out the current DSP configration to screen, putting "> filename.ini" on the end of the command will send the output to a file instead (Works for most DOS commands - can be useful).

The file you make can then be loaded using "EK1M -f filename.ini" on subsequent boots.

You will need to make some changes to the ini file, specifically set the "-as" (AC97 source) to "mix" and then set the -ai values (analog sources) to the desired levels (0-100).

Configuration files can also be loaded at any time after boot - I have game specific configs that control the balance of multiple sources that are loaded in batch files.

Hmm. Weird. Okay, so everything is set up. It initialises EK1M no problem with the generated INI file. However, for some reason, MPXPlay fails. It says 'Unknown soundcard (output module) name: SBA - soundcard init failed!'. I've tried having both sound cards initialised through autoexec.bat. The SB16 Emulation loads up automatically anyway, but I re-added the command to initialise the Yamaha with Unisound, but the same error comes up.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
HDD: C, D - IDE 1, CD-ROM - IDE 2, E - IDE 3