Sound Blaster Configuration Guide

When software uses Sound Blaster cards in DOS it usually reads resource information from the BLASTER environment variable. The BLASTER variable stores the information in the following scheme:
BLASTER=Axxx Iy Dz Hv Pwww Ekkk Tq
with
Some applications read just the port address from the BLASTER variable and determine the IRQ and DMA by auto detection.
On early Sound Blasters until Pro 2 all resources are set by jumpers. A typical environment variable setting looks like this:
SET BLASTER=A220 I5 D1 T3
for a Sound Blaster 2.x. This implies of course that the card is actually jumpered to Port 220, IRQ 5 and DMA 1. For Sound Blaster 1.x the default IRQ is 7. For later Sound Blasters it was changed to IRQ 5 as 7 is also default for the LPT1 parallel port. Thus using e.g. a printer resulted in noise output.

For a Sound Blaster 16 a typical variable setting looks like this:
SET BLASTER=A220 I5 D1 H5 P330 T6
with the 16 bit DMA set to 1 (also called High DMA) and external MIDI port at 330. Note that H and P do not appear for earlier Sound Blasters.

For a Sound Blaster AWE32 the line would like like this:
BLASTER=A220 I5 D1 H5 P330 E620 T6
with the EMU8000 at port 620.

Regarding the full configuration three types of Sound Blaster cards have to be considered:

Cards that are fully configured by jumpers can be identified by looking at the jumper block markings. There exists IOS0, IOS1 to set the address as well as DASx (DMA low), DBSx (DMA high) and ISx (IRQ) exist. On earlier Sound Blasters the marking says DRQ (DMA) and IRQ. For example this Sound Blaster 16 is fully configured by jumpers.
The autoexec.bat lines are simple in this case:


Semi-PnP Sound Blasters have only jumpers for the base port with markings IOS0, IOS1. For example Sound Blaster 16 is of this type. The autoexec.bat lines look like this:


Fully ISA-PnP capable Sound Blasters do not have jumpers for base port resources such as this Sound Blaster 16. The configuration works slightly different here. When you download the DOS drivers for PnP Sound Blasters you will find the two tools CTCM.EXE and CTCU.EXE. There is also a text file with the name CTPNP.CFG where resource settings are contained.
When CTCM.EXE is run it looks in the path set in the CTCM environment variable after the file CTPNP.CFG. (if CTCM is not set then it uses C:\) It reads the configuration profile from CTPNP.CFG and tries to set the card to this resources. If resources are conflicting with other devices CTCM tries different settings. On success it leaves the card configured, writes the current configuration back to CTPNP.CFG and sets the BLASTER environment variable.
The pragmatic approach is to call CTCM.EXE from the command line. When it finds available resources it prints them out and the BLASTER variable is set. However in case something is changed in the computer it may happen that CTCM finds different available resources and sets a configuration that is different from the previous. For games that have fixed configuration values entered in the game setup this is impractical. To make sure that CTCM always tries the same resource settings the desired resource configuration can be entered in CTPNP.CFG. Then the file can be set to Read-Only with ATTRIB +R CTPNP.CFG. If you have Win9x installed CTCM always reads the CTPNP.CFG from the Windows directory.
The lines in autoexec.bat look like this:
(*) CTCM checks the current DOS version and complains in DOS 7+ as it assumes you have always Win9x running as PnP capable OS. In this case it aborts. The /T parameter skips this detection.
(**) For ISA-PnP cards it is strongly recommended to set in mainboard BIOS the option 'PnP OS' to YES.

For AWE32/64 the following lines have to be added to the autoexec.bat additionally:
On some AWE32 cards Creative saved the costs for additional DACs for the OPL3 FM-synth. In that design the OPL3 is digitally routed through the EMU8000 taking up two channels and leaving 30 for regular MIDI playback. AWEUTIL /S enables the output for this routing. The tool will not stay resident in memory. Since AWEUTIL allows also to set Reverb/Chorus effects globally for the EMU8000 it can be used to add these effects to the FM-Synth path.

To gain General Midi support via a standard MPU401 port in DOS for the AWE32 an emulation TSR has to be loaded:
C:\SB16\AWEUTIL /EM:GM
instead of 'GM' also 'GS' or 'MT32' for Roland MT-32 instrument mapping can be chosen depending on the requirements. In this operation mode AWEUTIL requires a memory manager such as EMM386 or QEMM386 to be loaded and 512 kB RAM on the AWE. Also the files SYNTHGM.SBK, SYNTHGS.SBK and SYNTHMT.SBK have to be present in the same directory. The emulation has its limitations. The virtual MPU-401 interface does not work in protected mode games (like games that use DOS4GW a.s.o.). It does not emulate an intelligent MPU-401 interface and uses the 1 MB ROM instrument sample set. AWEUTIL stays in memory. When the emulation is not needed anymore it can be unloaded with AWEUTIL /U. The intelligent MPU-401 emulator SoftMPU does not work in combination with AWEUTIL.
In a DOS window in Win9x the windows driver of the AWE provides emulation of a virtual MPU-401 interface. It is not required to load AWEUTIL. For games that run in Win9x this is preferred since a custom sound font can be loaded in windows to the cards RAM with the AWE Control Panel.
A disadvantage of all SB16/AWEs is the limitation to mono output when used in Sound Blaster Pro mode. Unfortunately a lot of older games use 8 bit mono sound effects that are replayed as simple stereo left/right panning in Sound Blaster Pro mode. With a SB16 card it is not possible to get stereo in such games and it is recommended to use a different sound card from another vendor.
Another known issue is a bug with MIDI playback using the external MIDI port or Waveblaster daughterboard in combination with digital output. Affected are cards with DSP versions higher than 4.05. The cards DSP version is shown by DIAGNOSE.EXE. Most notable is that randomly playing notes don't get switched off again. Further description at Wikipedia.

Nearly all Sound Blaster cards can be identified by their CTxxxx number. A more detailed list provides this overview.


The default configuration from Creatives Installer uses a combination of all tools to work with any Sound Blaster 16 and Windows. It is redundant to a certain point:

-----> under construction

Sound Blaster Driver / Software


Noteable details: For the EMU8000 always all starting port ranges at 620-, 640-, 660-, 680- are reserved.