Build Your Own Arcade Controls Forum
Main => Main Forum => Topic started by: RetroJames on July 24, 2004, 09:15:38 am
-
I am using the sbpci drivers from: http://easymamecab.mameworld.net/html/snddosdr.htm with a soundblaster 16 PCI card.
So far I have installed the drivers, set arcade os to use sblaster, changed the sb irq to 9 from 5 as the sbpci instructions say.
Still no luck, I also went into mame.cfg and set the sound=1, then mame would not boot a game.
Anyone have any idea what I am missing?
Thanks!
-
What is the exact model number on the sound card?
It should start with "CT".
Not all soundblaster PCI cards use the same drivers.
-
I will post some exact specs (soundcard, mobo, etc) later today, but here is an update with some info and current status
PC: Dell dimension lc 400mhz celeron w/ 4 pci slots - onboard video, usb, and audio has been disabled in bios (rev a05)
Legacy IRQ 5 has been unreserved in BIOS
Soundcard is a creative labs soundblaster pci 128 - CT48xx (I will get the "xx" when I get home)
I have finally gotten the soundcard drivers to load and ave succesfully tested the sound in DOS using a utility called "sbplay.exe"
Syntax = c:\sbplay.exe somewavfile.wav
Woo hoo sound works so I have eliminated the soundcard and OS setup as issues. Now, I cannot get any sound from dmame or arcadeos. So, starting with the first problem,
Why doesn't sound work in dmame (version 069b) when I run from the command line?
I have tried the following commands with the results listed
dmame mpatrol -soundcard 0 ----(0=silence)-----> no sound (ok)
dmame mpatrol -soundcard 1 ----(1=Soundblaster)-----> no sound (NOT OK)
dmame mpatrol -soundcard 5 ----(5=Windows)-----> Tried by accident, when the game runs there is unrecognizeable "chatter" from the speakers, nothing meaningful, (Not OK)
dmame mpatrol -soundcard 6 ----(6=Ensoniq [said to be used for soundblaster pci cards] )-----> Will not run the game, comes back with error "Cannot Initialize the Soundcard"
In regards to the soundcard numerical assignments, I am working from the list at:
http://www.mameworld.net/easyemu/mamedossetup.htm
--------------------------------------------------------------------------------------------------------------------
So to summarize, I know the soundcard works on this pc in dos via the sbplay utility.
I cannot, however get sound when I play a game.
--------------------------------------------------------------------------------------------------------------------
Are there other settings I should be looking at in mame.cfg?
volume? (What is the range? 0-100?) [current = 0]
sample rate? [current = 44100]
stereo no stereo? [current = stereo]
sound? [current = yes]
-
I'm just taking a stab in the dark here...
Did you set the BLASTER environment variable in your autoexec.bat?
I don't use DOS myself, but I'm pretty sure that it is required.
-
PCI sblaster card in DOS 7 with dmame 069 and arcadeos -
Ok,
I figured it out. I am using the SBPCI.zip package from easymame to get the soundcard setup. The trick was that in the c:\dosdrv dir there is an app called sbcfg.exe. I ran that and it gives you the various setting the card is using. I noticed that the second DMA channel called HDMA, was displayed as "7" wheras the one in my autoexec.bat was set to "5" which was the default setting from the driver install. Once I set that I worked all the way.
My set line in autoexec looks like this,
set blaster=a220 i5 d1 h7 t6 p330
In the first string, a220 means the address is 220.
i5 means the Card uses Interrupt 5.
d1 means the Card uses DMA channel 1 (Direct memory Access).
h7 means the Card uses a second DMA channel called HDMA 7.
t6 is an optional identification of the Card Type.
p330 is the Port address 330.
Couple of other notes. I used PCI sniff, also available at easymame to figure out how the interrupts were assigned. I found that various onboard items, sound, video, etc were sharing pci interrupts so I had to disable them.
I had to make sure interrupt 5 was available in bios.
Some things to understand, it is a bit confusing in the driver directions as it states that your pci soundcard cannot use Int 5 but that is the default setting from the install. When you look at the output of pcisniff, the pci card (in my case) would choose various Ints, never "5" though I had specified it in my autoexec "set" line.
It took a min to wrap my head around this, but what is going is that the pci card is using Int x on the pci bus wheras the drivers are emulating 16 bit sound using Int 5. That is why it must be free although when you do a pcisniff, it does not appear to be used.
As stated above, use the output of sbcfg to determine your settings as needed in the set line of the autoexec bat. The applicable settings are the ones dispalyed under the sb 16 legacy settings column.
Make sure mame.cfg has soundcard set to 1 (sblaster), and if using a single speaker (Moon Patrol Cabinet) set stereo to off.
Also, the default settings applied to autoexec and I think config.sys assume you have a windows dir. Modify any applicable paths in these files to point in the right dirs if you use pure dos.
I also used an app mentioned above called sbplay to test the card in dos. I still dont know why sbplay worked when mame did not but I suspect it had something to do with the emulation process as it must not have been using the settings in the "set" line.
Also, when troubleshooting, comment out the @ECHO OFF line in autoexec so you can see the output at boot when the autoexec.bat is run. That was my starting point as I realized that the drivers were not loading correctly. (I had a few path statements wrong).
Next check you sblaster 16 emulation settings and modify the autoexec as needed.
Make sure you have no PCI conflicts using pci sniff. (I still have one with legacy USB support, but I disabled it in the bios and it works fine)
Make sure irq 5 is available for use in the bios.
Test with sbplay, this will confirm that the card works on the pci irq (I think).
Set soundcard = 1 and sound = yes in mame.cfg
Test Mame
Set soundcard = sblaster in arcadeos.cfg.
I think there is a sound = yes in arcadeos.cfg as well, if so set that.
Test arcadeos. You should hear sounds when you run arcadeos and when you choose games or access the config menus by default. Double check your paths to the arcadeos wav files if it still doesn't work.
I hope this helps someone else avoid the hassle I have gone through.
-
If you want to learn more about PCI slots and IRQ assignments, check out this post...
http://www.arcadecontrols.org/yabbse/index.php?board=1;action=display;threadid=20387;start=msg164683#msg164683 (http://www.arcadecontrols.org/yabbse/index.php?board=1;action=display;threadid=20387;start=msg164683#msg164683)
-
RetroJames,
I hope this comment makes it to you as it has been a few years since you posted. I really appreciate you sharing this information. I have question though. When you finally got things to work did you select 1 or 6 when starting up DMAME?
Regards,
Tommy
-
Holy config.sys and autoexec.bat Batman!
There are probably only 10 people still around that remember how set up a soundcard in DOS. If you are asking because you are using DOS still, you should look into a minimal Linux distro, it also would be small, work on older hardware, and be free. Best of all it could work with new harddrives above 2gigs (j/k 136gb >:D)
-
I built a really kick --I'm attempting to get by the auto-censor and should be beaten after I re-read the rules-- DOS based MAME cabinet about ten years ago. I spent right at a grand building it. I should post the photos sometime. I gave it to my son who lives in another city so I don't have easy access to the system. I think my problem is going to be the stereo setting. So I guess I would be one of those ten people. I just need a refresher.
-
Gee! Auto sensor killed the word that starts with a and is followed by two dollar signs.
Anyway for those who would like to know the new link for the link referenced at the begging of this thread is:
http://easymamecab.mameworld.info/html/snddosdr.htm (http://easymamecab.mameworld.info/html/snddosdr.htm)