SOUND CONFIGURATION IN MS-DOS This file contains help for setting up and toubleshooting sound in DOS. It was written for MS-DOS but this applies to other versions or flavors of DOS (it was used to help configure sound on FreeDOS and SvarDOS for instance and there's no reason why it would'nt be relevant for DR-DOS, PC-DOS, etc.). The information contained in this file were extracted from the Duke Nukem 3D v1.3D Technical Help (DN3DHELP.EXE) released with the game in 1996. Two sections are reproduced: an excerpt from the "Duke Nukem 3D Detailed Help & TroubleShooting" and the whole "What is the 'SET BLASTER' Command?". Even though the original document was specifically written for the game Duke Nukem 3D, the details it contains turns out to be very useful for general sound configuration under DOS. The "What is the 'SET BLASTER' Command" section in particular is very enlightening for anyone who needs to understand how the sound have to be configured. For instance, I used it to learn how to set up properly for the first time the sound on my DOS station which use crazii's SBEMU to emulate the legacy ISA Sound Blaster hardware on the PCI sound card of my computer. Many thanks to Joe Siegler who wrote the documentation with the help from Lee Jackson. Their work, despite the passing decades, remains useful and appreciated. Finally, since it was transcripted by hand, all typos in this file should be mine. -- f6k@sdf.org, 2026-08-20 +------------------------------------------+ | DUKE 3D HELP & TROUBLESHOOTING (EXCERPT) | +------------------------------------------+ - If you have a Creative Labs Sound Blaster 16 and some sort of daughterboard add-on card like the WaveBlaster or Roland Sound Canvas daughterboard, you may have trouble getting the MIDI music and SFX working properly. To fix this, first try selecting WaveBlaster as your music device, even if you don't actually have a true WaveBlaster. If this doesn't work, there is a fix for this type of problem available from Creative Labs. This fix is called the "Sound Blaster MPU401 Patch". It is can be found on any of the Apogee / 3D Realms official file areas listed at the bottom of this document under the filename WAVEPTCH.ZIP. This file contains a program that, when run, sets up the WaveBlaster port properly so that the game can recognize and use it. Please note: if you have to use the WAVEPTCH.ZIP fix, you will most likely need to run the fix program every time you want to play Duke Nukem 3D. The program should be run just before you start the game. Some users have have reported that their cards require the fix to be run even when they exit the game and immediately restart it. At this point, 3D Realms has not been able to determine why this is required. - If you hear static when you are playing with a Sound Blaster or compatible card, make sure to turn the MIC and LINE volumes to zero. Your card may be seeing input from these, resulting in static. For a Sound Blaster Pro, the program that adjusts these is called SBP-SET: see your card's manual for precise instructions on how to do this. If you still continue to hear static after doing this, try disconnecting any parallel port devices. IRQ5 and IRQ7, which are used by sound cards, are often frequently used by printers as well. If you have both plugged in, the result may be static and poor sound performance. - If you have an AWE32 and are having problems initializing the sound, check the SET BLASTER line. Make sure that E620 is in there. Check the section on "WHAT IS THE SET BLASTER COMMAND.." in this document for more information. - If you have an AWE32 Sound Card and get an "MPU-401 Initialization Error" message, you will need to turn your computer totally OFF, wait about 5-10 seconds, and then turn it back on again. Delete the DUKE3D.CFG file from your game's directory, then run the SETUP.EXE program again and try reselecting your music/sfx. This error is caused by picking incorrect settings: if you pick the wrong settings for an AWE32, you need to power down and retry, not just reboot. - If you are getting an error that says "Cannot play due to an invalid or conflicting IRQ", please see the following paragraph. - If you have a Sound Blaster (or a Sound Blaster clone) card and you are not getting sound effects, you most likely have your sound card configured incorrectly. Most clone cards' setup programs do not properly set up a SET BLASTER line in your AUTOEXEC.BAT file, or do not set it up at all. This is also the case with some new systems that have sound cards already installed. The SET BLASTER command is used by the game's sound engine to determine where to send soud events for Sound Blaster and compatible cards. If this command is incorrect or missing, you will either not hear sound or will experience sound distortion. To correct this, please read the section of this file titled "What is the 'SET BLASTER' Command?" (Press F7 right now to see a list of sections). Also, please consult your sound card's manual for information regarding Sound Blaster Emulation to find out what port address (or "base address"), IRQ, and DMA channel is being used by your card for Sound Blaster Emulation. This information will be needed in order for you to follow the instructions in the "SET BLASTER" section of this document. This problem sometimes also affects people with true Sound Blaster cards, especially if you are running Windows 95 and are using the Win95 drivers. If you are running Windows 95 and don't have any sounds when playing in MS-DOS Mode, you probably do not have DOS-Based Sound Blaster drivers loaded. Please check your sound card's manual for info on loading DOS-based drivers for you card. If your card does not have information concerning the SET BLASTER command (or loading DOS-based drivers) in its manual, or if you system or card did not come with a sound card manual, please contact the company that made your card or system (or the place you purchased the card or system from) before calling 3D Realms Technical Support. Since sound cards differ so much from brand to brand (and sometimes even within the same brand and model), we cannot provide detailed assistance for every sound card on the market. Your card or system manufacturer (or dealer) can usually provide much faster help for basic sound card problems than 3D Realms' Technical Support can. Here are a few more things you can try to get your sound card going: 1) Check your sound card's manual on Sound Blaster emulation. There may be some driver that you are not loading, or some switch you are not properly setting. This is especially true for Plug And Play cards when you are running in DOS mode on a Win95 machine. 2) Load up your duke3d.cfg file (or the one you're using) into an ASCII text editor, and look for the line "BlasterDMA16=5". Change it to read "BlasterDMA16=1", it may make a difference. 3) Check and make sure that you have the most up to date drivers for your sound card. - If you have a GUS and you are not getting sound effects, or if you GUS sound effects are scratchy or distorted, make sure your GF1 IRQ is set to 7 or lower. This is controlled by the SET ULTRASND= command in your AUTOEXEC.BAT file. A sample of this command line would be: SET ULTRASND=220,1,1,7,5 The next to last digit on this line (the 7, in this example) is your GF1 IRQ. This number must be 7 or less for Duke3D to operate properly. If it is higher than 7, you will need to edit your AUTOEXEC.BAT and change it to 7 or lower. Save the change, exit your editor, and reboot so that the change will take effect. Please note that this is not a limitation of the sound engine used by Duke Nukem 3D. Rather, it is a performance limitation imposed by the current generation of DOS extender technology, including the DOS/4GW extender used to create this game. In almost every case, support for interrupts higher than 7 would result in a unacceptable slowdown of the game. - If you have a Packard Bell computer and are using their combo modem/sound card but can't get any sound, try this. In your C:\SOUND144\UTILITY directory there should be a program called SETMODE.EXE. Change to this directory, and type "setmode /sbp". This will tell the card to operate in Sound Blaster Pro mode. If it is operating in Windows Sound System mode, you will NOT get any sounds, because the Windows Sound System is not supported. +----------------------------------------------------------+ | WHAT IS THE "SET BLASTER" COMMAND, AND WHY DO I NEED IT? | +----------------------------------------------------------+ If you are using a Sound Blaster clone, then this section is of particular interest to you. A good deal of Sound Blaster clones do not properly set up the SET BLASTER command. If you have a clone card and do not get any sound (or poor/bad sound), this is probably why. Duke Nukem 3D (or any other Apogee/3D Realms game that uses the Sound Blaster) uses the SET BLASTER command to figure out where to send its sound output. A Sound Blaster card can have many different sound outputs, and since there are zillions of computers out there, a way needs to be used in order to tell the game where your sound card is located. The SET BLASTER line is how we do it. Check to make sure that you have the SET BLASTER line in your AUTOEXEC.BAT file. This code is an example, and isn't exactly what you need to put in your system, make sure to read the entire explanation of this command. NOTE: Some of these parameters (P, H, & E) are dependant on certain types of cards. For example, the E is only needed if you have an AWE32. The minimum requirements are to have A, I, D & T parameters. The other three may or may not be needed depending on what type of card you have. Please read this entire section to see if you need any of them. If you are using a clone card, or some card that's not a "true" Sound Blaster, then you will most likely only need A, I, D, & T. SET BLASTER=A220 I5 D1 T6 P330 H6 E620 | | | | | | | | | | | | | | | | | |_______ AWE32 Only Parameter | | | | | | | |__________ "High" DMA Channel | | | | | | |_______________ MIDI Port | | | | | |__________________ Type of Card | | | | |_____________________ DMA Channel | | | |________________________ Interrupt | | |_____________________________ Port Address | |_____________________________________ Environment Variable |_________________________________________ DOS Command NOTE: There can be no spaces between the word BLASTER and the equal sign (=). If you have a space in there, your system will set the parameter incorrectly. Our games will not be able to recognize the command and will not work properly. These settings will most likely not be the ones you need for you board. This is the case since the Port Address, Interrupt and DMA Channel can be set by adjusting "jumpers" on your sound card. Some newer cards have this information controlled by software, so please consult your card's manual for more information on how to set these things. You should also check your manuel if you are unclear as to how to tell what settings your card is using. This information *IS* important, so we recommended that you know preciselyy what the settings are. If you are using a card that "emulates" the Sound Blaster, you should check your card's manual on how to set up the card for Sound Blaster emulation (if your card is not natively supported by this game). The settings shown in the above example are base on the defaults used for a Sound Blaster AWE32. Here is an explanation of each setting, along with the most commonly used settings: The PORT ADDRESS is almost alway 200. This seems to be the default for most Sound Blasters and compatibles, regardless of brand. Unless you know you've switched this away from 220, it's a safe be it's still there. The INTERRUPT is something that varies from system to system. IRQ 5 is most common on newer true Sound Blaster cards, while older Sound Blasters and some clones (regardless of age) default to IRQ 7. While many IRQs are available, 3D Realms does not recommend using IRQ 2 or IRQ 10. Most of the people we run into who use IRQ 2 have difficulty getting their programs to run properly, unless they switch to a different IRQ channel. Also, while IRQ 10 may work, we cannot garantee that it will. Finally, if you are using Gravis Ultrasound or Ultrasound Max, you must use an IRQ of 7 or less. The sound engine used in this game does not support the GUS default of 11. The DMA CHANNEL is one that causes some people problems. By default, this is almost always set at 1. Unless you have a specific need to change this, it's probably still at 1. If you're running into lockups using digitized sounds with our games, this is probably where your problem lies. If you get lockups with a 3D Realms game that has digitized sounds and you have this variable set properly, try turning off the digitized sounds. If the game now plays without locking up, you probably have a DMA conflict. Please see the "Duke Nukem 3D Detailed Help & TroubleShooting" section of this file for instructions on fixing the problem. The TYPE OF CARD is something that is fairly easy to check out. If you're running a non-Creative Labs sound card, then you want this to either be 1 or 3, depending on which card it is. In the majority of cases, it will be a 1 if you are not using a "true" Sound Blaster. If you do have a "true" Sound Blaster, then the variable is one of these... 1 for an original (old) Sound Blaster. 2 for an original (old) Sound Blaster Pro. 3 for a newer Sound Blaster 2.0 (Sound blaster deluxe edition). 4 for a newer Sound Blaster Pro (SB Pro 2.0). 5 for a MicroChannel Sound Blaster (IBM PS/2 MCA-bus systems only). 6 for a Sound Blaster 16, Vibra 16, or an AWE32. As shown here, the age of the card make a difference. If you have an older card like the Sound Blaster 1.5, choose the appropriate number. Clone cards or cards that emulate the Sound Blaster usually have a T variable of 1. Experiment to see what workds best for your. The MIDI PORT parameter will only be needed if you are using a card that has MIDI capabilities. Your sound card manual will tell you if you need this. It is generally used only on tue Sound Blaster cards, specifically the SB16 and higher. If your card requires it, this is where you define what MIDI port you are using. 330 seems to be the default for most cards, so if you have such a card, and you haven't changed anything from factory defaults, this is probably where it still is. The HIGH DMA CHANNEL is something that is used primarly on Sound Blaster 16, Vibra 16 (built into some motherboards), and AWE32 cards. This is not the same as the standard (or "low") DMA channel: this is a different one. This is only used if you're using a 16 bit sound card capable of playing 16 bit Sound Blaster sounds. By default, this is usually 5, so unless you know that it's something else, it's probably still 5. Please note that this parameter can cause lockups on some systems. Creative Labs' installation programs warn that some motherboards cannot handle 16-bit DMA transfers, which is used if you select the default high DMA channel of 5. If you experience game lockups, try reconfiguring your card and this setting to use DMA channel 1 (i.e., the same channel that is used for the D parameter). See your card's documentation for details on this problem. The E620 parameter is something that is needed _only_ if you have a Creative Labs AWE32 sound card. If you have one of these, this parameter will have been set up properly assuming you've installed the software that came with the card. Check you AWE32 documentation for a more thorough explanation of what this parameter is used for. We get a lot of questions from people wanting to know why they have to use this if they don't have a true Sound Blaster. It's simple, really - the command has NOTHING to do with what brand of sound card you have. 3D Realms games that use digitized sounds expect Sound Blasters and compatibles to be at specific setttings. If they are not, then the game needs to be told this. The way to do this is with the BLASTER environment variable. That's why this is needed. Some of our newer programs (Duke3D, ROTT) have specific setup programs which let you set up this information manually, but they still require the SET BLASTER line to operate at 100% efficiency. Please remember to add this to AUTOEXEC.BAT, save the file back to disk, reboot your computer, and make sure to delete the game's config file (DUKE3D.CFG) before running the game again. If you have any further questions, please drop 3D Realms a line.