VOGONS


Juggling between two sound cards in DOS

Topic actions

Reply 80 of 98, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie

Okay, so, after a bit of experimenting, I think the switches weren't quite right to how I had them. The dash needed to be up close to 'f0'. It was difficult to tell with how it was structured in the post. ^^; It's now playing, not displaying the player, and continuing on. 😁

The autoexec file is still adding the SB16 INIT command though, so I can only hope that finishing up my custom boot menu prevents that from happening.

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 81 of 98, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie

Custom boot menu still isn't quite working right, but I've noticed it still adds the SBEINIT at the beginning, so not sure how to get around 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 82 of 98, by NeoG_

User metadata
Rank Member
Rank
Member

Maybe you can use SBESET before SBEINIT to set the SB16 emulation to disabled before SBEINIT is called. Hopefully the fact that SBEINIT is still in the file but now loading a disabled config means it won’t get added again at the top.

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 83 of 98, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on 2025-12-17, 21:18:

Maybe you can use SBESET before SBEINIT to set the SB16 emulation to disabled before SBEINIT is called. Hopefully the fact that SBEINIT is still in the file but now loading a disabled config means it won’t get added again at the top.

Hmm. It's worth a shot. Although if I try to disable it through SBESET, it says it always requires a restart, so I'm not sure it will do much for the current session. We'll see.

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 84 of 98, by NeoG_

User metadata
Rank Member
Rank
Member

My understanding is that as long as you call SBESET before the card is initialised with SBEINIT, it should follow the updated settings

If it’s called after SBEINIT the settings won’t apply until the card is reset by rebooting the machine

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 85 of 98, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on 2025-12-17, 21:27:

My understanding is that as long as you call SBESET before the card is initialised with SBEINIT, it should follow the updated settings

If it’s called after SBEINIT the settings won’t apply until the card is reset by rebooting the machine

Just tried it and the same thing happens.

The attachment IMG_5175.JPG is no longer available

Whether it comes first or it's run with/without SBEINIT, it'll say the PC needs to restart for changes to take affect and it'll still initialise the SB anyway if it isn't commented out.

The EK1M and MPXPlayer still initialise without issue even if both sound cards are configured though. Though, how exactly can you tell if things are working correctly? That you can juggle between them?
When I tested the DOS version of Simon the Sorcerer it still wasn't playing any MT-32 music via the SB16. The setup wizard doesn't seem to allow me to change any audio device properties either. The only option it gives me is the DMA for the Sound Blaster. With Doom, despite the Yamaha being initialised on boot, and in the game's custom BAT file, the music is... 'tinny'. Really poor. Not the usual GM you get from the sound canvas. So the SB was still taking priority.

I also added 'mix' at the end of '-as' but it gave me an unauthorised error. This is what my EK1M.ini looks like:

; ekm config, ver. 106
; ------------------------------------------------------
-boot

; mix matrix
; input afront dfront rear acenter dcenter spdif2
; ------------------------------------------------------
-io ac97 0 0 0 0 0 0
-io spdif0 68 68 68 68 68 68
-io spdif1 68 68 68 68 68 68
-io spdif2 68 68 68 68 68 68
-io i2s0 68 68 68 68 68 68
-io i2s1 68 68 68 68 68 68
-io i2s2 68 68 68 68 68 68
-io wave 0 0 0 0 0 0
-io synth 0 0 0 0 0 0

; output levels
; afront dfront rear acenter dcenter spdif2
; ------------------------------------------------------
-o 100 100 100 100 100 100

; ac97
; ------------------------------------------------------
-as line
-ai line 50
aux 0
cd 50
tad 0
mic 0
beep 0

Also, I might have misunderstood regarding the 2-pin digital audio. I don't think I have or use digital audio, but analog...? Via the S/PDIF from the sound card to the CD-ROM.

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 86 of 98, by NeoG_

User metadata
Rank Member
Rank
Member

I just want to clarify, do you have any use for the SB16 emulation in DOS from the SB Live! card? Do you want to use it for any music/sfx or just as a passthrough device so you can hear the yamaha card while leaving the speakers plugged into the SB Live card?

The 'tinny' music you are hearing is probably from the SBLive DOS drivers default 2MB MIDI soundfont

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 87 of 98, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on Yesterday, 01:34:

I just want to clarify, do you have any use for the SB16 emulation in DOS from the SB Live! card? Do you want to use it for any music/sfx or just as a passthrough device so you can hear the yamaha card while leaving the speakers plugged into the SB Live card?

The 'tinny' music you are hearing is probably from the SBLive DOS drivers default 2MB MIDI soundfont

The latter - a pass through device. I mainly use the Yamaha, but there’s only a few games I’d use the SB for.

I’ve yet to deep-dive into sound fonts for the card, but I take it there’s a collection out there that’s recommended? A way of getting them working in DOS? Thanks.

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 88 of 98, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie

Yeah, I just can't find anything regarding preventing the SBEINIT command from being added. I came across a forum post of someone wanting the SET BLASTER variables from being added, though that I don't mind, but they never found a solution. Something somewhere is triggering the SBEINIT command to be added to the autoexec.bat file, after restarting/shutting down from Windows, and I would really love for it to not be. I've checked WIN.INI, SYSTEM.INI and MSDOS.SYS but haven't seen anything in there that's calling it.

If it initialises the SB16 it seems impossible to unload it and it ends up affecting games. No amount of disabling or initialising another card works. 🙁

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 89 of 98, by Shponglefan

User metadata
Rank l33t
Rank
l33t
DustyShinigami wrote on Yesterday, 10:54:

The latter - a pass through device. I mainly use the Yamaha, but there’s only a few games I’d use the SB for.

I'd definitely look into getting a compact mixer if this is the case. Much simpler than dealing with pass thru.

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

Reply 90 of 98, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
Shponglefan wrote on Yesterday, 16:00:
DustyShinigami wrote on Yesterday, 10:54:

The latter - a pass through device. I mainly use the Yamaha, but there’s only a few games I’d use the SB for.

I'd definitely look into getting a compact mixer if this is the case. Much simpler than dealing with pass thru.

If that works straight out of the box with DOS, with no tinkering or driver setup, I think you're right.

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 91 of 98, by Shponglefan

User metadata
Rank l33t
Rank
l33t
DustyShinigami wrote on Yesterday, 16:15:

If that works straight out of the box with DOS, with no tinkering or driver setup, I think you're right.

A basic audio mixer is just going to mix audio. It doesn't care about the audio source, so there are no drivers or anything else to worry about.

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

Reply 92 of 98, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
Shponglefan wrote on Yesterday, 16:21:
DustyShinigami wrote on Yesterday, 16:15:

If that works straight out of the box with DOS, with no tinkering or driver setup, I think you're right.

A basic audio mixer is just going to mix audio. It doesn't care about the audio source, so there are no drivers or anything else to worry about.

Perfect. I think that would be the best option then. Thanks. 😀

As an aside, regarding the SB16 Emulation, I've tried removing the command from DOSSTART - it puts it straight back again on reboot. I've tried enabling and disabling it via SBEINIT -d0 and -d1. Zero is what should disable it, but after rebooting - it initialises again. No disabling happens at all. 😒 And despite setting up a custom boot menu with expanded memory - I have DOS=UMB, HIMEM.SYS, EMM386 in the config.sys - whenever I try to load a game, such as Doom, it complains there isn't enough memory. Checked the memory. If I'm honest, the memory in DOS, and the various commands for getting more, still confuses me.

The attachment IMG_5177[1].JPG is no longer available

The only temporary solution at the moment is to disable SB16 Emulation via the Device Manager. That stops the command from appearing.

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 93 of 98, by NeoG_

User metadata
Rank Member
Rank
Member

I wonder if the driver is smart enough to figure out if the initialisation is inside a jump

So if you do;

GOTO SKIPSB
[line that the driver keeps putting back]
:SKIPSB

It won’t execute the lines between the goto command and the :label

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 94 of 98, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on Yesterday, 21:07:
I wonder if the driver is smart enough to figure out if the initialisation is inside a jump […]
Show full quote

I wonder if the driver is smart enough to figure out if the initialisation is inside a jump

So if you do;

GOTO SKIPSB
[line that the driver keeps putting back]
:SKIPSB

It won’t execute the lines between the goto command and the :label

Hmm. Interesting. Again - worth a shot. I'll give it a try a bit later. 😀 It's been smart at avoiding everything I've tried so far though. Even when I tried adding the Unisound command above it, in the hopes it would initialise the Yamaha first, the sneaky son of a bitch pushed it down. 😒

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 95 of 98, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on Yesterday, 21:07:
I wonder if the driver is smart enough to figure out if the initialisation is inside a jump […]
Show full quote

I wonder if the driver is smart enough to figure out if the initialisation is inside a jump

So if you do;

GOTO SKIPSB
[line that the driver keeps putting back]
:SKIPSB

It won’t execute the lines between the goto command and the :label

Yep. Just like with Unisound. Had:

goto SkipSB
*automated command*
:SkipSB

...and it pushed them down, the sneaky sod. 🤣

*automated command*
goto SkipSB
:SkipSB

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 96 of 98, by NeoG_

User metadata
Rank Member
Rank
Member

OK time to play hardball

I created a dummy SBEINIT.COM file that does nothing when run

Rename the existing SBEINIT.COM file to SBLDOS.COM and put this one in the same folder, so when the dos drivers insist on putting the line in, it runs nothing instead. You can call SBLDOS.COM when you want to from another location in the autoexec file.

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 97 of 98, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on Today, 02:58:

OK time to play hardball

I created a dummy SBEINIT.COM file that does nothing when run

Rename the existing SBEINIT.COM file to SBLDOS.COM and put this one in the same folder, so when the dos drivers insist on putting the line in, it runs nothing instead. You can call SBLDOS.COM when you want to from another location in the autoexec file.

Haha. Crafty. I'll give it a test a bit later. Thanks. 😀

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 98 of 98, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on Today, 02:58:

OK time to play hardball

I created a dummy SBEINIT.COM file that does nothing when run

Rename the existing SBEINIT.COM file to SBLDOS.COM and put this one in the same folder, so when the dos drivers insist on putting the line in, it runs nothing instead. You can call SBLDOS.COM when you want to from another location in the autoexec file.

Hurray! Success! It works a treat. 😁 Also, I think that's sorted all audio configuration problems, too. Including issues I was having with the DOS version of Simon the Sorcerer and getting music, speech, and SFX in BASS. I think the final piece of the puzzle would be a sound mixer, but at the moment, I need to have my speakers plugged into the Sound Blaster primarily. Especially if I want to use the SB's limited MT-32 capabilities. Otherwise with the Yamaha, I won't get music in those games.

Now I'm off to make some notes for future reference. Thanks for all your help. 😀

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