VOGONS


First post, by dvwjr

User metadata
Rank Member
Rank
Member

DOSBOX v0.65 sets the environmental variable BLASTER= when a SoundBlaster is selected as the emulated sound card. Some games depend on the ability to read the BLASTER= variable string to configure for proper operation. I noticed that DOSBOX sets the SoundBlaster "T"ype variable a bit differently than some other information found on the Internet. Specifically that the "T"ype variable for the SoundBlaster Pro (v1) and SoundBlaster Pro (v2) appear to be different. Listed below is one source which has the SoundBlaster adapter "T"ypes listed with the SBpro1 as "T"ype 4 and the SBpro2 as "T"ype 5.

Which one is correct?

File: sblaster.cpp,v 1.53 2006/03/13 20:01:55 qbix79

Line 63: enum SB_TYPES {SBT_NONE=0,SBT_1=1,SBT_PRO1=2,SBT_2=3,SBT_PRO2=4,SBT_16=6};

SET BLASTER=A220 I5 D1 H5 T6 […]
Show full quote

SET BLASTER=A220 I5 D1 H5 T6

This sets an environment variable that describes the settings of the Sound Blaster to DOS programs, including games. Some games read this environment variable to get the settings of the sound card, so if it's missing on your system, you'll have to add it. Here's a breakdown:

A determines the value of the I/O port address. In the above example, it's 220.

I determines the value of the IRQ. In the above example, it's 5.

D determines the value of the DMA channel. In the above example, it's 1.

H determines the value of the 16-bit DMA channel. In the above example, it's 5. Only Sound Blaster 16s and higher use this.

T determines the type of Sound Blaster it is. In the above example, it's 6. The available types are:

1: Sound Blaster 1.0 (the original Sound Blaster)
2: Sound Blaster 1.5
3: Sound Blaster 2.0
4: Sound Blaster Pro
5: Sound Blaster Pro with OPL 3 FM chips
6: Sound Blaster 16

Source: The Oldskool PC: Sound Problems

dvwjr

Reply 1 of 5, by dvwjr

User metadata
Rank Member
Rank
Member

I did some additional research and it appears that DOSBOX v0.65 has the SoundBlaster environmental variable "T"ypes enumerated correctly - the "OldSkool" PC web-site information appears to be incorrect as to the proper SoundBlaster "T"ype identification. Proving once again that not all programming or setup information you can find on the Internet is accurate. 😒

DOSBOX v0.65:

File: sblaster.cpp,v 1.53 2006/03/13 20:01:55 qbix79

Line 63: enum SB_TYPES {SBT_NONE=0,
SBT_1 =1,
SBT_PRO1=2,
SBT_2 =3,
SBT_PRO2=4,
SBT_16 =6};

Compiled info:

Example: AWE32

SET BLASTER=A220 I5 D1 H6 T6 P330 E620

A - Base port: 0x210, 0x220, 0x230, 0x240, 0x250, 0x260, 0x280
I - Interrupt: 2, 5, 7, 10.
D - 8bit DMA channel: 0, 1, 3.
H - 16bit DMA channel: 5, 6, 7. (Only used by T>=6)
P - MIDI port: 0x300 and 0x330.
E - Emu8000 port AWE32/64: 0x620, 0xA20, 0xE20,
0x640, 0xA40, 0xE40,
0x660, 0xA60, 0xE60,
0x680, 0xA80, 0xE80.

T specifies the type of the soundcard:

1 : Soundblaster 1.0/1.5/MicroChannel 22kHz, 8bit, mono
2 : Soundblaster Pro 1.0 (dual-OPL2) 44kHz, 8bit, mono or 22KHz, 8bit, stereo
3 : Soundblaster 2.0/2.0 CD/2.5 44kHz, 8bit, mono
4 : Soundblaster Pro 2.0 (OPL3) 44kHz, 8bit, stereo
5 : Soundblaster Pro 2.0 Microchannel 44kHz, 8bit, stereo
6 : Soundblaster 16/32/AWE32/AWE64 44kHz, 16bit, stereo

Note: For types 2, 4, 5, 6 stereo sound is enabled.
Note: All Sound Blaster 16, 32, AWE32, AWE64 PnP models are of Type 6.
Note: Note: No one Sound Blaster type can use all of the possible Base Port addresses.

This information was amalgamated from various web resources:

Hardware information:
Source: SoundBlaster Series Hardware Programming guide PDF file located at MIT
Source: CPC emulator home page
Source: Cubic.org - SoundBlaster page
Source: Inverse Reality.org - Programming The Sound Blaster 16
Source: Peter's ADF collection - Microchannel ADF files
Source: QBasicnews.com - QMIDI module

Background and History:
Source: Wikipedia - SoundBlaster
Source: Crossfile Designs - ... a retrospective view on sound card history
Source: Microsoft Research - PowerPoint Presentation - History of Sound Cards and Digital Audio on PCs from 1980-1989.

Since the only difference between the SoundBlaster Pro version 2.0 "T"ypes 4(ISA) and 5(Microchannel) is the bus, all is equal if T4 or T5 were used on a real DOS system...

dvwjr

Edit: Updated the EMU000 PnP possible I/O port addresses

Last edited by dvwjr on 2007-01-16, 00:43. Edited 2 times in total.