Setting up DOS Soundcards
One of the most troublesome steps in getting your mame setup to work correctly in dos is setting up the sound card
Most if not all soundcards on the market are billed as "Soundblaster Compatible" which really means Soundblaster Pro compatible
If you plan to run MAME in pure dos you will most likely have to run the DOS initialisation application which comes with your soundcard drivers. This allows DOS to hook into the soundcards interrupt.
Some PCI soundcards, like the Pine CS4281 card do not have a DOS installation program. Instead, the drivers are installed via Windows. The DOS drivers are then installed and can be copied to your DOS configuration.
Common Settings;
All sound cards will need the following line in the AUTOEXEC.BAT. This variable "shows" the DOS application (MAME) how the soundcard is configured.
AUTOEXEC.BAT:
SET BLASTER=A220 I5 D1 T4
A220 is the I/O Port address
I5 is the IRQ or Interrupt number
D1 is the DMA IRQ number
T4 is the Soundblaster type (or emulation mode)
Some soundcard drivers also require EMM386
If EMM386 is required for your DOS soundcard drivers and assuming you are using MS-DOS 7.0, add the following line to your C:\CONFIG.SYS
device=c:\windows\himem.sys
device=c:\windows\emm386.exe noems
If your lucky enough like me to have an old ISA Soundblaster card and a spare ISA slot, you shouldn't experience any problems setting up your card, however...
Most sound cards manufactured today are PCI and you will have to read you soundcards documentation to install it in dos mode (if the dos drivers exists)
A more common PCI card in use today is based on an ES1370/1371 chipset, this includes the Soundblaster PCI range and seems to work well once its configured correctly
Goto to out downloads page HERE to get the dos drivers for these cards
The SBLive.zip archive contains the DOS sound card drivers for :
Ensoniq Audio PCI
Sound Blaster Live!
Sound Blaster Audigy PCI
The SBPCI.zip archive contains the DOS sound card drivers for :
SB Audio PCI 128
Creative AudioPCI
Sound Blaster 16 PCI
Sound Blaster PCI128
Sound Blaster AudioPCI
Creative Ensoniq AudioPCI
Creative Vibra 128
Notes on configuring your sound card
Do NOT use IRQ 5. IRQ 5 is required by the legacy device - move your sound card to a different physical PCI slot if it does
Do NOT use the same IRQ as your video card
You can customize the IRQ and DMA settings using the sbeset utility on all Live! and Audigy models. For help with the sbeset.exe command line parameters, in dos mode at the command prompt enter: sbeset.exe -?
Make sure you have the appropriate SET BLASTER=Axxx,Ix,Dx,Tx setting in your ATOEXEC.BAT
Note that this BLASTER environment variable applies for many games regardless of whether or not you have an actual Sound Blaster card or not.
These settings tell the game how your sound card is configured, regardless of what brand it actually is.
NOTE: There can be no spaces between the word BLASTER and the equal sign (=).
If you have a space in there, your system will read the parameter incorrectly, and it will not be recognized by our games.
(Some of these parameters (P, H, and E) are dependant on certain types of
cards. For example, the E is only needed if you have an AWE 32. The minimum requirements are to have the 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" Soundblaster, then you will most likely only need A, I, D, and T.)
Now, these may not (most likely not) be the same for your board, because the Port Address, Interrupt and DMA Channel can be set by adjusting "jumpers" on your sound board. Some newer cards have this information controlled by software, please consult your card's manual for more information on how to set
these things. You should also check your manual if you are unclear as to how to tell what settings your card is set at. The information *IS* important, so it's recommended that you know precisely what the settings are. If you are using a card that "emulates" the Soundblaster (such as the Gravis UltraSound
through software, or the PAS16), you should check your card's manual on how to set the card for Soundblaster emulation.
For PORT ADDRESS, it's almost always 220. That seems to be the default for most sound cards out there, and unless you know you've switched it away from 220, it's a safe bet it's still there.
The INTERRUPT is something that varies from system to system.
The DMA CHANNEL sometimes causes problems if it isn't set to 1, which is the usual default. If it is not set correctly, some games may lock up when the sound is turned on.
The TYPE OF CARD should be 1 if you have an older Soundblaster, or a Sound Blaster emulating card. Use 3 if you have a newer plain Soundblaster. Use 2 for an older Soundblaster Pro. Use 4 for a newer Soundblaster Pro.
The MIDI PORT parameter will only be needed if you are using a card that has MIDI capabilities. If so, this is where you define what MIDI port you are using. 330 seems to be the default, so if you have a MIDI 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 primarily on Soundblaster 16 cards. This is not the same as the standard 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 Soundblaster sounds. By default, this is usually 5, so unless you know
that it's something else, it's probably still 5.
The E620 parameter is something that is needed _only_ if you have a Creative Labs AWE 32 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 your AWE 32 documentation for a more thorough explanation of what this parameter is used for.
After you have entered the correct SET BLASTER line in your AUTOEXEC.BAT file, make sure you save the change, delete the game's config file (????.CFG), and reboot before you try playing the game again.