I have windows XP, but I installed DOS on my computer. I think this forum could help me because people here work with DOS.

I have no sound in DOS. My sound is fine in XP. My sound card is:

ESS 1969 PCI AudioDrive (WDM)

How do I get sound to work?

Recommended Answers

All 17 Replies

DOS doesn't install sound by default since there was no such thing as sound when DOS first came out. To install sound onto DOS you need a DOS driver for your sound card. This will probably come with an install program that will insert the required entries into your config.sys file to tell DOS about the driver.

I think I can get myself sound if I can figure out where autoexec.bat are and config.sys are, but they don't seem to exist. Where can I find them and how do I edit them?

It's IBM DOS 5.0

I think I can get myself sound if I can figure out where autoexec.bat are and config.sys are, but they don't seem to exist. Where can I find them and how do I edit them?

It's IBM DOS 5.0

DOS 5.0? YOIKS!! [img]http://www.stevewolfonline.com/Downloads/DMR/Visuals/eek3.gif[/img]

autoexec.bat and config.sys should live in the root (C:\) directory, although IIRC they may have their attributes set such they aren't visible using the normal "dir" command. I haven't touched IBM DOS in about a decade, but in MS-DOS the following syntax of the dir command will display all files in your current directory, regardless of their attributes; the syntax might work for IBM dos as well:

dir /a

MS-DOS had a program called edit.com which you could fire up from the command prompt to edit files like autoexec.bat and config.sys, but I can't remember if IBM DOS had the same or similar. Regardless, you'll probably have to change some of the attributes before you'll be able to edit the files and save your changes. The following commands (again, if I remember correctly) will remove all of the attributes which might prevent you from editing/changing the files:

attrib -r -s -h autoexec.bat
attrib -r -s -h config.sys

Yes, I remember well trying to get sounds in my DOS games under Win95. Firstly, you MUST have DOS drivers for your sound card. Then you must manually edit the Autoexec.bat and Config.sys file to set the correct addresses for the card. It's been a loooong time and my memory is fading, but the line in Config.sys will look something like this:
SET BLASTER=A220 I7 D3
The "A" is the memory address, the "I" is the interrupt, and the "D" is the DMA channel. The above are very common settings, but your sound card manual will tell you the correct numbers.
As far as I know most cards in the last, hmm, probably 5 years, do NOT come with DOS drivers!
Autoexec.bat and Config.sys can be edited from within XP, but you must set XP to show ALL files-- "hidden" and "System" etc.
They are in the C: directory. Click MY COmputer, the C: drive, and they should be there.
If you need more help, post back and I can dig up some old stuff on how to get DOS sound.
Good luck,
Donk

I thought I could get it working, but I can't, I just get errors.

Well, I have no drivers at all for dos, so that certainly complicates things. Is there somewhere I can look up the values for my card? And is there somewhere I can get generic sound card drivers for DOS?

If all else fails, would it work for my Mom and I to trade sound cards? She has a sound card on her 98. I looked at her autoexec.bat, and it lists addresses, along with a .com file it referrs to which must be her DOS drivers. Is there a big enough difference between MS-Dos mode and DOS 5.0 that those drivers/entries won't work?

The only "generic" type drivers you'll find would be SoundBlaster compatible DOS drivers. Most all sound cards will run in a SoundBlaster emulation. You could go to Creative.com and search the support section to see if they still have DOS driver downloads.

Can you get the sound to work on your Mom's PC? If it won't work there, then no use switching the cards.

It might help to know exactly what you are trying to do? Is it a certain program that you want the DOS sound in - if so what one?

You can sometimes right-click the .exe file for a program in XP, choose PROPERTIES, then click the COMPATIBLILTY tab. There you can edit lots of things about how you want the app to run.

Good luck,
Donk

Well, I tried switching cards, using her autoexec.bat sound lines, and moving the drivers over, and it worked...sortof. The sound effects are fine, but the music is distorted. Certain notes don't play, and a few others play wayyy off tune or with the wrong instrument. I know this isn't normal for the card, because this didn't happen to my mom on her 98 computer in MS-DOS mode.

This distortion happens in ALL games with MIDI sounding music, and seems to be better or worse depending on the song playing. Here are a few examples of music problems:

About 75% of the songs in Chex Quest 1 and 2 are severely distorted, and the rest all have minor problems with them at some point in the song. In the Chex Laboratory, the part that's supposed to be some kind of organ instrument sounds like a bicycle bell being hit over and over.

The Amazing Spiderman's single song also has minor distortion, but it's mainly missing a lot of notes.

Duke 3d's theme song is missing very few notes, but has a lot of distortion whenever the notes get higher pitched. I have not tested the rest of the game because I don't have my mouse working yet, but that's a minor thing I'll take care of later.

The Mario Teaches Typing theme song is really bad. No notes are missing, but nearly every single note is distorted. Interestingly, the ocean level music in the same game plays flawlessly.

All of Ugh!'s music plays flawlessly. It's rather quiet, but that's probably just the game itself.

Oh, and it isn't as simple as using XP's compatibility mode to get these games to run on it. You can get regular DOS programs to run on XP fine, but not games (or at least, not the majority of them). They run unbelievably slow, and crash very soon after they start. I fixed one or two of them with a DOS emulator program called VDMsound, but that created new problems (mainly with speed jerking fast or slow randomly) and I still had a pile of them I wanted to play that either wouldn't run in VDMsound, or wouldn't run any better on it than on regular XP. I think the reason why so few people know of these problems is that they simply don't care about DOS anymore and haven't tried. If you don't believe me, try playing the original Doom or Doom II on XP and see what happens.

Wow, Duke 3D!! The BEST 3D shooter of ALL TIME!!! I'm serious. I loved that game to death. Played online deathmatches until my hand deformed into a mouse shape, lol. Eventually, I upgraded to a fast Pentium (for the time), and it wouldn't run anymore. I spent months trying to get it to run but finally had to give up. Anyway...

Sounds like you are almost there. Grats on getting the card to work (almost). It sounds like it is playing .wav files fine (those are the spoken voices and explosions (usually)). The prob seems to be midi. Seems like the midi info being sent to the card isn't being interpreted correctly by the card. If the music seems to cut in and out, it might be an IRQ conflict. But this wouldn't cause the distortion you describe (I think). So, you could try a different IRQ. Doesn't Duke have a built in option to set the sound card parameters? (A=220, I=7, DMA=5, for example)? Experiment.

I'm not sure about the distortion with the high notes, etc. I'm thinking it is probably the driver. In the Autoexec.bat file, what driver is being loaded?
Will look something like: set Blaster = c:\sb16.exe
Where the sb16.exe is the driver file.
Do you know the manufacturer of the sound card? Have you checked their site for DOS drivers? If that fails, try out a couple Creative drivers, such as SounBlaster, or Soundblaster16. They are still available for download at the Creative website:
http://us.creative.com/support/downloads/

Please let me know if you get Duke working. I might re-try it myself when I have some time.

Donk

I am very pleased to see that I am not the only one who wants to play these old games. It makes me feel a little less crazy...what processor was it exactly? And are you using 98?

If it's just that one game, I think your solution might be JonoF's source port. Here's a link to the project:

http://jonof.edgenetwork.org/index.php?p=jfduke3d

It's a bit hard to get running. I'll try to help you after I've tested these SB drivers. :)

I've tested them. They do not work. Something about a device not being detected....anyway, I'm just going to live with the sound problems.

As for Duke3d help, just ask me through a messenger or PMs, and I'll be glad to help.

I have another question that maybe someone can answer. I liked how Duke3d went up to 800 x 600, and realized that the pixels size must be saved somewhere. I found screen height and screen width variables in the config and changed them to 1280 x 1024. It actually works! It's a bit slow though, which is why I need help. I want to know how I can get DOS to run Duke faster. I have been told it should be able to understand all of my specs completely except my HD space, so I do not see why Duke is running slowly at this resolution. Is there something in my files I need to change to increase performance?

My autoexec.bat:

@ECHO OFF
PROMPT $p$g
PATH C:\DOS
SET TEMP=C:\DOS
SET BLASTER=A220 I5 D3 T4
rem SET BLASTER=A220 I5 D5 T4
LH C:\AU30DOS.COM
C:\MSMouse\mouse
C:\DOS\DOSSHELL

My Config.sys:

DEVICE=C:\DOS\SETVER.EXE
DEVICE=C:\DOS\HIMEM.SYS
DOS=HIGH,UMB
FILES=99
buffers=40

(for those who haven't been reading this thread, I have IBM DOS 5.0)

Thx for the link to the Jonof Duke3D site. I think it ran under Win95, and then Win98, but I upgraded to a Pent3 maybe 500Mhz (not totally sure), and then couldn't get it to run at all. I think the processor was just waaaay to fast and the game would crash at launch. I have XP now and an even faster PC, but when I have some time I might try to get Duke going again.

I was looking at your Autoexec.bat file. That AU30DOS.com file is the driver for your sound card (Aureal I think is the manufacturer). Have you tried putting the SB16 driver in your C: directory, and then changing Autoexec.bat to load "it"?
Also, check in Device Manger, in your Sound Cards Properties, and see if there is an option to set the card to run in SounBlaster16 simulation. Some cards have this option.

About your question on why Duke runs slow at 1024x768. I'm not sure, but I would imagine your PC is PLENTY fast enough to run Duke at ANY resolution! If I recall, Duke would even run on the old 486 PC's. I remember that it ran very well at high res on my Pentium 90. Running it in DOS should not affect the CPU cycles at all. If anything, it should run "faster" in DOS than in Windows. I suspect the prob is something other than speed - maybe even the same prob I had - the CPU is too fast for the game.

Good luck,
Donk

Sorry, I forgot to mention. I tried installing those drivers. I got an error...some device not connected or something... They probably aren't compatible with my sound card.

Anyway, I noticed an error a little will ago when starting up DOS. I didn't notice it at first because the DOS shell starts up and covers up the error before I have a chance to read it. I can't copy and paste, and it took lots of restarts to even begin to memorize it, but it goes some A LOT LIKE this (worded a bit differently):

Error: Invironment variable, winbootdir does not exist.
Error: [Au30dos.com] entry not found in au30dos.ini, driver not loading.

The entry IS present in au30dos.ini, but I think the problem is that it can't find the ini file at all because it doesn't have its winbootdir variable. Is there a solution, perhaps a way to create this variable, or will these drivers simply not work in real DOS?

I had to copy these files over from my Mom's computer, so they were intended for 98's MS-DOS mode....

Ok, I thought you were loading DOS from a boot disk (can you do that with IBM DOS?). But it seems you are loading it from within Windows? I'm not sure what to suggest. But the normal way to have DOS find a file is to use the SET PATH command in Autoexec.bat. Such as:
SET PATH=C:\Windows
which tells dos to look in C:\windows for any file (command) that it can't find.

Or maybe you could try:
SET WINBOOTDIR=C:\windows (or whatever it is)

An environment variable in DOS will look something like this: %winbootdir%, with the percent signs around it. So check your Autoexec.bat for anything like that. If you do the SET WINBOOTDIR= command, then any reference to %winbootdir% will send dos to whatever path you typed.

Good luck,
Donk

Well, that's not exactly what I'm doing. Windows XP doesn't have DOS mode anymore. It can't even run DOS programs in normal mode because it's no longer compatible with them. What I've done is this:

1. Deleted everything on my hard drive with partition magic except a backup partition near the end. Created a 2gb fat partition at the beginning of the drive to house DOS.
2. Inserted IBM DOS 5.0 installation floppy 1.
3. Installed DOS, changing floppies when asked to do so, at the end of the setup, it had installed DOS onto the 2gb fat partition.
4. Inserted Microsoft Windows XP's installation CD.
5. During setup, selected to install on unpartitioned space rather than C:. Windows created a parition out of this space, which it called E: (so instead of seeing C:\Program Files, I see E:\Program Files). It named my backup partition D:, and my CD drives F: and G:.
6. Windows XP detected DOS during installation, and set up its boot loader to give me the option of booting DOS instead on startup.

It's called Dual-booting, and I do it with Linux too (which is sitting on a second physical hard drive, but that's unimportant to this problem). While I do have windows on my computer, DOS is completely isolated from it, and is not at all part of windows itself. I can access the files on C: using windows, but I cannot do vise versa as the partition with windows installed on it is in NTFS, not FAT16 which is all original DOS reads. What I currently have is not Window's MS-DOS mode, it is the stand-alone Disk operating system, installed on the hard drive. DOS shell and all.

The drivers, however, aren't for IBM DOS 5.0, they are for 98's MS-DOS mode. This was all I could get ahold of because there were no DOS drivers available for my sound card. What I did is copy the DOS driver files from my Mom's Windows 98 computer onto DOS's C: using XP. I also inserted her lines into autoexec.bat and config.sys. Then we traded sound cards, and that's how I got sound in the first place. It's a mericle it worked at all really, but I'd still like to improve the situation.

This is why the DOS drivers couldn't find the winbootdir variable, because this isn't windows. Inserting the line you meantioned, along with creating a "Windows" directory and putting the INI file in it, seemed to stop the error from being printed at the start of DOS, and the sound is slightly sharper now, but the midi is still off tune, so the problem has not gone away. The error was apparently unrelated to the tuning problem.

Thanks for your help so far. :)

Well, you made a little more progress. I see what you've done now - created a totally DOS partition. What confused me was that the "Dos" sound drivers were looking for "winbootdir". You would think that DOS drivers wouldn't have anything to do with windows. I dunno...

Anyway, about the midi thing... I know a "tiny" bit about midi. I'm a musician and have a midi keyboard connected to my PC, and do some sequencing. A game sends midi data (called events) to your sound card. Each midi note has a lot of parameters (attack, decay, pitch, and a bunch more I can't think of). If a game is set up to use a particular card (for instance SoundBlaster16), it knows exactly "which" params to send, and the sound card driver knows exactly how to communicate the params to the particular card which it was written for.

I think what is happening with your midi, is that the game, or the driver, is sending midi info that the card doesn't know how to use. Thus some weird sounding music.
So I think that your problem is not having the correct drivers for the card. I would guess that the only way you'll get it perfect is to experiment with lots of drivers (if you can't get the correct drivers for your ESS card - or get it to run in SoundBlaster emulation).
Soundblaster and SB16 were the TOTAL standard for games back then. So, if you could experiment with the many SB drivers out there, and maybe find one compatible with your card, then the prob would maybe be resolved.
You can buy simple, basic soundcards for about $10 - $15 at most computer stores. You could maybe try a different card - of course there's no guarantees that it will work either.

Good luck,
Donk

The reason why it was looking for winbootdir was because those drivers were taken off of my Mom's 98 computer. They were designed to run in 98's MS-DOS mode, and I had to copy 3 files from her windows directory to my root to get them to work at all. I guess this one file was being located by means of that variable, and as it doesn't exist in DOS, I just had to make it. I would use pure DOS drivers if I had any that worked with my sound card.

The confusing part is, that if simple incompatibility was the problem, why did these drivers work perfectly on my Mom's 98 computer with the same card I'm using now? Perhaps they simply just don't run in plain DOS.

I'm probably going to have to get a new card anyway, as this card does not work with my Linux. I'm going to write an email to the Sound Blaster company to ask if they have a modern card that will do what I need, that is, work in DOS and XP, as well as Linux.

Can someone tell me where I can find Mario Teaches Typing? I've been looking for this game all over the place. Thanks

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.