VOGONS


Juggling between two sound cards in DOS

Topic actions

Reply 20 of 76, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
Joseph_Joestar wrote on 2025-12-03, 15:09:
DustyShinigami wrote on 2025-12-03, 15:02:

Ah. Okay. What are considered non-PNP ISA cards? Any particular era?

In terms of sound cards, the ones which have jumpers on them for manually configuring all resources. Usually stuff made before 1995.

Creative's first SB16 model (CT1740) is a good example of a non-PNP card.

Ahh, I see. I believe mine is from 1996...? But definitely PNP.

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

User metadata
Rank Oldbie
Rank
Oldbie

Bugger. Looks like the 'correct' HPT drivers I installed still give me the same BSOD error. 🙁

EDIT: Looks like this is a different code. Fatal exception error 06 0028:C2A1A1A0.

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

User metadata
Rank Oldbie
Rank
Oldbie

Okay, so now I have another predicament (why is nothing ever easy...?) So, for the time being, I've disabled the HPT controller to bypass the BSOD. The problem now though, is I need to re-connect up the CD-ROM and E drive. The CD-ROM was hooked to IDE 2 and the E drive was hooked to IDE 3 (the HPT controller). The motherboard manual advises not to hook things like the CD drive to IDE 3 or 4, so it needs to stay in IDE 2. If the E drive is also to go into IDE 2, I need a splitter. An extension. Currently though, it's hooked using one of those 80 pin ribbons. And it's not long enough to reach the CD-ROM, drive E AND the motherboard. I tried including an extension, though someone advised me not to use one of those with an 80 pin IDE cable. So not sure what to do about that. Unless I just need to find and buy a much longer cable...? But with that setup currently, neither drive is recognised. I've put the jumper into Slave on the CD-ROM, but, nada. Currently there's no jumper in drive E, so I'm not sure if that's required...? At any rate, I'm guessing they're just not working with the extension.

As an aside, can extensions be bought for 80 pin ribbons?

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

User metadata
Rank Oldbie
Rank
Oldbie

Well, looking on eBay UK, there doesn't appear to be any listings for anything longer than 45cm for an 80 pin IDE cable.

It's possible there might be a conflict with sharing the IRQ, so I'll try putting the card in a different PCI slot. Fingers crossed.

https://www.sysopt.com/showthread.php?55550-A … -with-PCI-slots

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

User metadata
Rank Oldbie
Rank
Oldbie

Whew. Crisis averted. So yeah, it was because I had the sound card in PCI slot 3, which shares the IRQ with the HPT366 controller. Put it in slot 2 now.

Back to setting up the sound cards in DOS…

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 25 of 76, by NeoG_

User metadata
Rank Member
Rank
Member

Well, clearly I was wrong it was an IRQ conflict after all

For the sound cards, when the system boots into DOS PnP and PCI cards will be uninitialzied and won't occupy an IRQ and DMA. You have two options, you can selectively initialize one card at a time using the same resources and restart to switch, or you can initialize both to different resources and use both of them without restarting, but it requires double the resources.

Unisound can un-initialize a card without rebooting so something else can take it's resources, but I don't think SBEINIT has an unintialize command

For a single card the most compatible resource set is 220/7/1

For two cards you would go 220/7/1 for the SB/SB Pro compatible and whatever else is free for the SB16 (EG 240/5/3/5) as games with SB16 drivers are a lot more flexible for resource assignment

Key: Address/IRQ/DMA/HDMA (HDMA is only applicable for SB16 or compatible)

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

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on 2025-12-03, 23:37:
Well, clearly I was wrong it was an IRQ conflict after all […]
Show full quote

Well, clearly I was wrong it was an IRQ conflict after all

For the sound cards, when the system boots into DOS PnP and PCI cards will be uninitialzied and won't occupy an IRQ and DMA. You have two options, you can selectively initialize one card at a time using the same resources and restart to switch, or you can initialize both to different resources and use both of them without restarting, but it requires double the resources.

Unisound can un-initialize a card without rebooting so something else can take it's resources, but I don't think SBEINIT has an unintialize command

For a single card the most compatible resource set is 220/7/1

For two cards you would go 220/7/1 for the SB/SB Pro compatible and whatever else is free for the SB16 (EG 240/5/3/5) as games with SB16 drivers are a lot more flexible for resource assignment

Key: Address/IRQ/DMA/HDMA (HDMA is only applicable for SB16 or compatible)

Yep. 🙂 Although I noticed in the Device Manager that there’s a yellow exclamation next to the SB16 Emulation. It says I have no IRQ resources left. It suggests devices to disable, but they’re needed. It lists my Yamaha, both HPT366 controllers (IDE 3 and 4, I presume), and my GeForce 4 Ti.

Just to avoid issues with any games/installers, I think I’ll stick to one sound card at a time. The Yamaha will be used primarily. There’s only a few that I’ll use the SB for. Notably the DOS versions of Simon the Sorcerer 1 and 2. The first doesn’t allow me to use the sound canvas and the second has a hanging note bug with it compared to the Windows version.

There may be others, but I’ll probably discover those in time.

I take it by ‘restart to switch’ you mean restart the PC? Or do you mean to restart UNISOUND?

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 27 of 76, by NeoG_

User metadata
Rank Member
Rank
Member
DustyShinigami wrote on 2025-12-04, 00:22:

I take it by ‘restart to switch’ you mean restart the PC? Or do you mean to restart UNISOUND?

The pc

Unisound can be removed and the card unintialized without restarting using a command line switch - which is fine if you want to switch from the Yamaha to the Live SB16 emulation, but once SBEINIT is installed it's basically stuck there until you restart the PC (as far as I know)

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

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on 2025-12-04, 00:32:
DustyShinigami wrote on 2025-12-04, 00:22:

I take it by ‘restart to switch’ you mean restart the PC? Or do you mean to restart UNISOUND?

The pc

Unisound can be removed and the card unintialized without restarting using a command line switch - which is fine if you want to switch from the Yamaha to the Live SB16 emulation, but once SBEINIT is installed it's basically stuck there until you restart the PC (as far as I know)

I see. I take it Unisound can initialise the card without using SBINIT? I recall when I was using Unisound for my Yamaha, I didn't have to run any initialise tool.

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 29 of 76, by NeoG_

User metadata
Rank Member
Rank
Member
DustyShinigami wrote on 2025-12-04, 00:44:

I see. I take it Unisound can initialise the card without using SBINIT? I recall when I was using Unisound for my Yamaha, I didn't have to run any initialise tool.

Unisound is the generic initialiser tool for ISA PnP cards (including YMF cards), SBEINIT is the initialiser tool specifically for Live and Audigy cards. An initaliser tool asks a PnP or PCI card to start listening for requests on a specific address/irq/dma and each tool targets a specific set of hardware.

In the case of ISA PnP initializers, they tell the card to set up and then quit leaving no memory footprint. For PCI cards, since some resource redirection needs to happen (unless the PCI card has SB-LINK) they tend to leave a TSR active taking memory to perform that redirection.

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

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on 2025-12-04, 00:55:
DustyShinigami wrote on 2025-12-04, 00:44:

I see. I take it Unisound can initialise the card without using SBINIT? I recall when I was using Unisound for my Yamaha, I didn't have to run any initialise tool.

Unisound is the generic initialiser tool for ISA PnP cards (including YMF cards), SBEINIT is the initialiser tool specifically for Live and Audigy cards. An initaliser tool asks a PnP or PCI card to start listening for requests on a specific address/irq/dma and each tool targets a specific set of hardware.

In the case of ISA PnP initializers, they tell the card to set up and then quit leaving no memory footprint. For PCI cards, since some resource redirection needs to happen (unless the PCI card has SB-LINK) they tend to leave a TSR active taking memory to perform that redirection.

Oh. For some reason I was under the impression Unisound could initialise the SB, too. Didn't realise it was just for ISA PnP cards. ^^;

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

User metadata
Rank Oldbie
Rank
Oldbie
Shponglefan wrote on 2025-12-03, 13:51:

There's an example/tutorial here if you're interested: https://retrocomputing.stackexchange.com/ques … windows-and-dos

It's not difficult to do, just requires making some modifications to both CONFIG.SYS and AUTOEXEC.BAT. If you're using native DOS, I recommend learning how to do this as it can be really useful for setting up different configurations for sound cards, memory, etc.

Hmm. Attempting this now, but it’s confusing me a bit with how to structure it for each menu item and what’s needed and where. 😕 A bit of information overload… 😅

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

User metadata
Rank Oldbie
Rank
Oldbie

So I’m not having any luck with setting up a custom boot menu and now the SB won’t even initialise in DOS any more. 😕 It just keeps saying SB Live! driver NOT loading.

I can only presume this has something to do with the exclamation mark on the device in Windows saying there are no IRQ resources left…? But then, surely when DOS first loads, a lot of those IRQs are free…?

I have modified the autoexec and config files due to experimenting with setting up a custom boot menu, but all the commands are the same, I believe.

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

User metadata
Rank Oldbie
Rank
Oldbie

Okay, I re-set IRQ 5 and 7 to be used by Legacy devices. I'm not sure if the SB16 Emulation is treated as a legacy device...? Or if uninstalling everything and re-installing the drivers helped, but the exclamation has gone. The device initialises as it did before. However, even though I set the sound values as SET BLASTER=A220, I5, D3, H7, P330, T6 in autoexec.bat and set it to read-only, the device is still assigned the wrong values when it's configured in DOS. I still get that same error in SBEGO and the values are listed wrong.

The attachment IMG_5135.JPG is no longer available

So I'm totally lost on setting this up properly. And I believe I already tried taking out the Yamaha at one point and that didn't 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

Reply 34 of 76, by NeoG_

User metadata
Rank Member
Rank
Member

Instead of using the autoexec and config.sys that windows uses to load, I would recommend using the PIF shortcut method to load a different set of startup files for DOS mode. Basically all of the stuff you are loading for DOS isn't necessary or makes Windows 9x worse if it's loaded beforehand so they should only load when you want. For example Phil's easy MS-DOS mode: https://www.philscomputerlab.com/ms-dos-mode-super-easy.html

If SBEINIT is not following the BLASTER variable it may be using ctsyn.ini to get it's values, you can try modifying the values there to change the resources

Yes the Sb16 emulation is treated as a legacy device, even though it's software based. It still hooks the legacy resources to operate.

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

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on 2025-12-04, 22:05:

Instead of using the autoexec and config.sys that windows uses to load, I would recommend using the PIF shortcut method to load a different set of startup files for DOS mode. Basically all of the stuff you are loading for DOS isn't necessary or makes Windows 9x worse if it's loaded beforehand so they should only load when you want. For example Phil's easy MS-DOS mode: https://www.philscomputerlab.com/ms-dos-mode-super-easy.html

If SBEINIT is not following the BLASTER variable it may be using ctsyn.ini to get it's values, you can try modifying the values there to change the resources

Yes the Sb16 emulation is treated as a legacy device, even though it's software based. It still hooks the legacy resources to operate.

Okay, thanks. It was suggested I use PIF and DOSSTART not long ago. But just to double check, as I think I've forgotten, I take it the PIF/DOSSTART method only works if you go to Start > Shutdown > Restart to MS-DOS? It's not something that can be accessed from boot?

I'll look into ctsyn.ini. 😀

Looks like manually setting the IRQ in the BIOS was the right move to do then.

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 36 of 76, by Joseph_Joestar

User metadata
Rank l33t++
Rank
l33t++
DustyShinigami wrote on 2025-12-04, 22:18:

Okay, thanks. It was suggested I use PIF and DOSSTART not long ago.

If you're referring to my comments, I said that you can use either DOSSTART.BAT or a custom PIF. Not both at once.

PC#1: Pentium MMX 166 / Soyo SY-5BT / S3 Trio64V+ / Voodoo1 / YMF719 / AWE64 Gold / SC-155
PC#2: AthlonXP 2100+ / ECS K7VTA3 / Voodoo3 / Audigy2 / Vortex2
PC#3: Core 2 Duo E8600 / Foxconn P35AX-S / X800 / Audigy2 ZS
PC#4: i5-3570K / MSI Z77A-G43 / GTX 980Ti / X-Fi Titanium

Reply 37 of 76, by NeoG_

User metadata
Rank Member
Rank
Member
DustyShinigami wrote on 2025-12-04, 22:18:

Okay, thanks. It was suggested I use PIF and DOSSTART not long ago. But just to double check, as I think I've forgotten, I take it the PIF/DOSSTART method only works if you go to Start > Shutdown > Restart to MS-DOS? It's not something that can be accessed from boot?

Yes and no, the first time you have to launch it from windows by double clicking on the PIF shortcut. The computer will continue to boot into DOS on a restart until you "exit" ms-dos mode by using the "WIN" command to start windows again. Instead of choosing a path on each boot the computer will have two "modes" that you switch between.

DOSSTART.BAT can be referenced inside the PIF shortcut if you want to, Phil's template checks for DOSSTART.BAT and runs it if it exists.

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

User metadata
Rank Oldbie
Rank
Oldbie

Ahh, I see. I guess the PIF method would be easier to set up than the boot menu, although I would still very much like to figure out how to set those up properly. I've gone over that linked site several times trying to process it, but I'm still struggling.

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

User metadata
Rank Oldbie
Rank
Oldbie

Okay, I've changed the values in ctsyn.ini. I had to set it to read-only as it kept changing them back to defaults.

Everything is showing up correctly, however I keep getting these two errors:

The attachment IMG_5138.JPG is no longer available

I know the image shows 'H??', but it's now 'D'. I changed the DMA channels from 1 and 3 to 5 and 7.

EDIT: Just tested a game and despite it recognising the right channels, there's no audio.

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