VOGONS


Questions about Sound Blaster variables

Topic actions

First post, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie

I've been looking into the different environment variables/ports for the Sound Blaster command. I'm a bit confused with H and T. I understand that H is for High DMA (16-bit), but how exactly would I find this info out? How would I go about finding out what the value is so I can set it correctly in my autoexec file? At the moment, it keeps setting it to 0. I can't find anything for it under Device Manger > Resources. Haven't seen it in System Information either.

And 'T' is supposed to be for the type of Sound Blaster...? At the moment, it's set to 6. Same questions apply, I guess. How would I find this out on the PC in case it's set incorrectly?

I'm also confused as to why my ISA Yamaha won't let me automatically assign resources via the Device Manager. Even with the option for it to automatically configure them unticked. And yet I'm able to assign resources to my Sound Blaster 16 Emulation device.

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 2 of 20, by igna78

User metadata
Rank Member
Rank
Member

As for the compatibility of Yamaha ISA sound cards, I remember the compatibility with SoundBlaster Pro, I don't remember the one with SoundBlaster 16, so first of all I recommend you to try to set the SET BLASTER variable as for SoundBlaster Pro then T2 😉

Reply 3 of 20, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
igna78 wrote on 2025-12-11, 20:03:

I think you will find the answers you are looking for at this link 😉

https://retronn.de/imports/soundblaster_config_guide.html

Awesome. Thanks. I'll take a lookie. 😀

Regarding the 'T' suggestion - I'll give it a go, but it may revert back to 6. Even when I've set it to read-only, it's taken it upon itself to change it back. ^^;

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 4 of 20, by igna78

User metadata
Rank Member
Rank
Member

You could also try, if you don't already, using Unisound to configure your Yamaha ISA sound card under DOS (pure DOS, not the Win9x MS-DOS prompt). Unisound is truly exceptional at handling ISA sound cards 😁

If you are using Unisound, you just need the SET BLASTER variable set correctly and then Unisound (which is NOT a TSR) to initialize the sound card 🤗

Reply 5 of 20, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
igna78 wrote on 2025-12-11, 21:38:

You could also try, if you don't already, using Unisound to configure your Yamaha ISA sound card under DOS (pure DOS, not the Win9x MS-DOS prompt). Unisound is truly exceptional at handling ISA sound cards 😁

If you are using Unisound, you just need the SET BLASTER variable set correctly and then Unisound (which is NOT a TSR) to initialize the sound card 🤗

Yep, I use Unisound. I mostly use the Yamaha, but for the odd game I use the Sound Blaster for, I've had to re-juggle the resources as they were set wrong. I'm just not able to adjust the Yamaha's for some reason.

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 6 of 20, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

For old, pre pnp cards (there are at least 3 models of SB16, and one SB32 that are jumpered!), the BLASTER variable needs to match what the card is physically set at.

Physically jumperable cards, especially older SBPro2 and company, can have quite an eclectic mix of allowed settings.

Software defined cards do not respond until they are initiallized by the config software. Either by the pnp aware system bios, or from a utility like CTCM or Unisound.

The allowable configurations are greatly restricted on software defined cards, over their jumpered peers. The upside is that you dont have to have encyclopedic knowledge of what resources are allocated and where, like you do with jumpered cards.

The T value says what card type you have, and thus the DSP family that should be assumed.

Proper documentation has already been linked for the T value.

Reply 7 of 20, by igna78

User metadata
Rank Member
Rank
Member

I'd like to try to help you further. Could you describe your hardware configuration and post your autoexec.bat or the dedicated .bat file to initialize the sound card you want to use?

Reply 8 of 20, by igna78

User metadata
Rank Member
Rank
Member
wierd_w wrote on 2025-12-11, 21:55:
For old, pre pnp cards (there are at least 3 models of SB16, and one SB32 that are jumpered!), the BLASTER variable needs to mat […]
Show full quote

For old, pre pnp cards (there are at least 3 models of SB16, and one SB32 that are jumpered!), the BLASTER variable needs to match what the card is physically set at.

Physically jumperable cards, especially older SBPro2 and company, can have quite an eclectic mix of allowed settings.

Software defined cards do not respond until they are initiallized by the config software. Either by the pnp aware system bios, or from a utility like CTCM or Unisound.

The allowable configurations are greatly restricted on software defined cards, over their jumpered peers. The upside is that you dont have to have encyclopedic knowledge of what resources are allocated and where, like you do with jumpered cards.

The T value says what card type you have, and thus the DSP family that should be assumed.

Proper documentation has already been linked for the T value.

I actually assumed you were talking about PnP cards.

I apologize for the misunderstanding.

For non-PnP cards, the resources specified via the card's jumpers and those specified in the SET BLASTER variable must match.

Scuse me 😅

Reply 9 of 20, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

Ok then!

On pnp cards, generally you are restricted to these configurations.

Sb16's

A of either 200, 220, 240, or 260. (200 and 260 are not typical. Some cards dont permit use.)
I of either 5, or 7.
D of either 0 or 1.
H of either 3, 5, or 7
P of either 330 or 340
T defaults to 6, but other values can be used if games dont know about T6. (Hocus Pocus, for instance, does not. Setting it to SBPro, with T3, will work fine on these cards.)

SB32
same as above, but needs the wavetable synth value supplied.

E can be either 600, 620, or 640. (Iirc. E640 is the default.)

The card has to be initialized with those settings.

The reason i mention jumpered cards, is that you *CAN IN FACT* put old SB jumper based cards on 'forbidden!' resource assignments that you cannot use on pnp cards, like IRQ2, or 3.

Reply 10 of 20, by NeoG_

User metadata
Rank Member
Rank
Member
DustyShinigami wrote on 2025-12-11, 21:47:

Yep, I use Unisound. I mostly use the Yamaha, but for the odd game I use the Sound Blaster for, I've had to re-juggle the resources as they were set wrong. I'm just not able to adjust the Yamaha's for some reason.

You can just set the yamaha emulation BLASTER variable again in the script/autoexec you use to start those games. Once you are in DOS you can do a SET BLASTER=something again as many times as you want. I have a script that dynamically updates it depending which game is running.

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

User metadata
Rank Oldbie
Rank
Oldbie
igna78 wrote on 2025-12-11, 22:03:

I'd like to try to help you further. Could you describe your hardware configuration and post your autoexec.bat or the dedicated .bat file to initialize the sound card you want to use?

Well, I have a Yamaha YMF719E-S and a Sound Blaster Live! Value CT4670. I believe the Yamaha is assigned A220, I5, D0 and 1 (it's set to 1) and the SB is A220, I7, D3 (I think). And obviously P is 330. I'll have to post the autoexec a bit later as I'm currently on my laptop. It's pretty bare bones though.

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

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on 2025-12-11, 22:54:
DustyShinigami wrote on 2025-12-11, 21:47:

Yep, I use Unisound. I mostly use the Yamaha, but for the odd game I use the Sound Blaster for, I've had to re-juggle the resources as they were set wrong. I'm just not able to adjust the Yamaha's for some reason.

You can just set the yamaha emulation BLASTER variable again in the script/autoexec you use to start those games. Once you are in DOS you can do a SET BLASTER=something again as many times as you want. I have a script that dynamically updates it depending which game is running.

Hm. Okay. Thanks. I'll look at adding the variable to the games that initialise the SB just to be on the safe side.

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 13 of 20, by NeoG_

User metadata
Rank Member
Rank
Member
DustyShinigami wrote on 2025-12-11, 23:11:

Hm. Okay. Thanks. I'll look at adding the variable to the games that initialise the SB just to be on the safe side.

In terms of maintainability, if something involves setting specific values in many places It's better to put it into a bat file and call it instead of adding the init commands and set blaster for each game. If for some reason you want to update how the Yamaha or SB live card works, you only have to update it it one place rather than going through all the individual games again.

E.G. create a C:\SCRIPTS\YAMAHA.BAT and a C:\SCRIPTS\SBLIVE.BAT and in each of those put in the commands to init each card. Then in each short cut or game script do a CALL C:\SCRIPTS\YAMAHA.BAT or CALL C:\SCRIPTS\SBLIVE.BAT

Then if you want to move the Yamaha card to a different IRQ or fix an issue for example you only need to update YAMAHA.BAT and all games that use it will be updated automatically.

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 14 of 20, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie
DustyShinigami wrote on 2025-12-11, 23:11:
NeoG_ wrote on 2025-12-11, 22:54:
DustyShinigami wrote on 2025-12-11, 21:47:

Yep, I use Unisound. I mostly use the Yamaha, but for the odd game I use the Sound Blaster for, I've had to re-juggle the resources as they were set wrong. I'm just not able to adjust the Yamaha's for some reason.

You can just set the yamaha emulation BLASTER variable again in the script/autoexec you use to start those games. Once you are in DOS you can do a SET BLASTER=something again as many times as you want. I have a script that dynamically updates it depending which game is running.

Hm. Okay. Thanks. I'll look at adding the variable to the games that initialise the SB just to be on the safe side.

Not really initialize. They examine the variable to know what kind of card you have, and where, to configure their sound subsystems.

Again, some games are too old to know what T6 means, and will bomb. HocusPocus is one. You have to fire off a SET BLASTER before calling it that says you have a SBPro for it to set itself up correctly.

Ideally, you'd set it right back again after the game exits.

Reply 15 of 20, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
igna78 wrote on 2025-12-11, 22:03:

I'd like to try to help you further. Could you describe your hardware configuration and post your autoexec.bat or the dedicated .bat file to initialize the sound card you want to use?

Here's the autoexec.bat:

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

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

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on 2025-12-11, 23:24:
In terms of maintainability, if something involves setting specific values in many places It's better to put it into a bat file […]
Show full quote
DustyShinigami wrote on 2025-12-11, 23:11:

Hm. Okay. Thanks. I'll look at adding the variable to the games that initialise the SB just to be on the safe side.

In terms of maintainability, if something involves setting specific values in many places It's better to put it into a bat file and call it instead of adding the init commands and set blaster for each game. If for some reason you want to update how the Yamaha or SB live card works, you only have to update it it one place rather than going through all the individual games again.

E.G. create a C:\SCRIPTS\YAMAHA.BAT and a C:\SCRIPTS\SBLIVE.BAT and in each of those put in the commands to init each card. Then in each short cut or game script do a CALL C:\SCRIPTS\YAMAHA.BAT or CALL C:\SCRIPTS\SBLIVE.BAT

Then if you want to move the Yamaha card to a different IRQ or fix an issue for example you only need to update YAMAHA.BAT and all games that use it will be updated automatically.

I see. Will assigning those variables change within Windows? Or would that just be in a DOS session?

I know if I remove the SBINIT command from the autoexec.bat file, eventually the PC will add it back 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 17 of 20, by NeoG_

User metadata
Rank Member
Rank
Member
DustyShinigami wrote on Yesterday, 00:18:

I see. Will assigning those variables change within Windows? Or would that just be in a DOS session?

I know if I remove the SBINIT command from the autoexec.bat file, eventually the PC will add it back again.

Is the screenshot a configuration specifically for MS-DOS? Or is it the normal autoexec.bat file that windows runs before it loads? If it's the latter you will be fighting Windows to get things running. That's why it's recommended to use a completely separate config for pure DOS so you have a clean slate to work from a la Phil's easy MS-DOS mode shortcut.

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

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on Yesterday, 01:08:
DustyShinigami wrote on Yesterday, 00:18:

I see. Will assigning those variables change within Windows? Or would that just be in a DOS session?

I know if I remove the SBINIT command from the autoexec.bat file, eventually the PC will add it back again.

Is the screenshot a configuration specifically for MS-DOS? Or is it the normal autoexec.bat file that windows runs before it loads? If it's the latter you will be fighting Windows to get things running. That's why it's recommended to use a completely separate config for pure DOS so you have a clean slate to work from a la Phil's easy MS-DOS mode shortcut.

It's the normal autoexec.bat file. But yeah, I've been advised to use a separate one. Either to use DOSSTART and/or a PIF file. The only thing is, I don't often load Windows first and then go to DOS via a custom file. I usually access DOS on boot from a boot menu.

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 19 of 20, by NeoG_

User metadata
Rank Member
Rank
Member
DustyShinigami wrote on Yesterday, 01:30:

It's the normal autoexec.bat file. But yeah, I've been advised to use a separate one. Either to use DOSSTART and/or a PIF file. The only thing is, I don't often load Windows first and then go to DOS via a custom file. I usually access DOS on boot from a boot menu.

If you want to use the native boot menu to make different environments, you can separate your config.sys and autoexec.bat for windows and DOS like this
How to create a boot (start up) menu under Windows 9x/ME

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