HomeReviewsWalkthroughsMiscellanyForums

Windows 95/98 DOS FAQs for PC Games

By Zoltán Ormándi and Mike Phillips
March 2002

There is no sound in any of my DOS games.
My CD/DVD drive isn't recognized in DOS.
My mouse doesn't work in DOS.
How do I edit my Autoexec.bat and Config.sys files?
My DOS game needs more memory.
My DOS game requires a VESA driver.
What are slowdown utilities, and where do I find them?
What are USB peripherals, and will they work in DOS?
Can I have the option for my computer to boot to either DOS or Windows?
How do I edit my Msdos.sys file?
What do I need in my startup files in Windows?
Can I run a DOS game without making permanent changes to my computer?
DOS Utilities

There is no sound in any of my DOS games.

You have to set up your DOS environment settings for your sound card. You'll need to add a line similar to this in your "Autoexec.bat" file (refer to the "How do I edit my Autoexec.bat and Config.sys files?" question below for a detailed explanation if needed):

SET BLASTER=A220 I5 D1 H5 T4

This sets an environment variable that describes the settings of your sound card to DOS apps, including games. In most cases you can skip the H and T tags, but here's a breakdown of all of them:

  • A determines the value of the I/O (Input/Output) port address. In the above example, it's 220 (which is standard in most cases).
  • I determines the value of the IRQ (Interrupt Request). In the above example, it's 5 (some older systems used 7, although ... thankfully 5 is also fairly standard now).
  • D determines the value of the DMA (Direct Memory Address)channel. In the above example, it's 1.
  • H determines the value of the 16-bit DMA channel. In the above example, it's 5. Only Sound Blaster 16s and higher use this.
  • T determines the type of Sound Blaster it is. In the above example, it's 4. The available types are:
    • 1: Sound Blaster 1.0 (the original Sound Blaster).
    • 2: Sound Blaster 1.5.
    • 3: Sound Blaster 2.0.
    • 4: Sound Blaster Pro (a popular choice with new cards).
    • 5: Sound Blaster Pro with OPL 3 FM chips.
    • 6: Sound Blaster 16.

If your DOS settings aren't being loaded in your "Autoexec.bat" file, you should be able to find them within Windows. Go to Start—Settings—Control Panel—System—Device Manager—expand the Sound, Video and Game Device controllers entry by clicking on the + sign. Find your sound card listing and then click on the Properties button, then the Resources tab. You should also be aware that newer 3D sound cards have to use DOS emulation in order to support DOS games. This is simply a way for the sound card to conform to the older (and at this point) somewhat antiquated SoundBlaster standards. If you see an emulation listing, that's what you are looking for.

My CD/DVD drive isn't recognized in DOS.

This is a fairly common problem, and the solution is rather simple. You have to set up your real-mode drivers for your CD/DVD drive in order for it to work in DOS mode. There is a chance they are already in your setup files—many manufacturers load them but REMark them out so they won't work. First look under the topic of "How do I edit my Autoexec.bat and Config.sys files?" files. There is a line in both files that you need to look for:

  • In Autoexec.bat:

C:\WINDOWS\COMMAND\MSCDEX /D:MSCD001

  • In Config.sys:

DEVICE=C:\CDROM\TAISATAP.SYS /D:MSCD001

If you see something similar to these lines with REM before them, simply edit out the REM, reboot, and you should be on your way. If not, you'll have to get a real-mode driver for your drive. There are links under DOS Utilities, below, to some of the more popular drive manufacturers. However, if you don't know the make of your drive, in Windows: Start—Settings—Control Panel—System—Device Manager—expand the + sign next to CDROM, and the make and model should be listed. Now you have to go to the manufacturer's site and download the appropriate driver. Very often the driver (which will have a .SYS suffix) will be part of an executable file (it will have an .EXE suffix). If that's the case, simply running the file may automatically update your startup files, and that's all there is to it. If not, you still have some work to do.

Refer back to the sample line that needs to be placed in your Autoexec.bat file. Everything before the MSCDEX command is simply the path to where on your system that file is located. It should be in your Windows\Command folder, but to make sure do a Start—Find—Files or Folders and search for MSCDEX.EXE. The name stands for Microsoft CD-ROM Extensions and acts as a translator between DOS and your real-mode driver for your CD/DVD drive. The "/D:" after MSCDEX is a constant but the MSCD001 can change—whatever you use has to be the same as what you use in Config.sys.

Now refer back to the Config.sys example. The "Device=" is standard. Next is the path to the folder where you downloaded your real-mode driver. Then the name of the real-mode driver (in the example it's "TAISATAP.SYS"). Then "/D:", and finally the same end as you used in the Autoexec.bat file; in this case it was "MSCD001". There are various tags that you can add at the end of this line to alter your drive's characteristics, but this should be enough to get your drive working in DOS.

One last note, if all else fails and you simply can't find the necessary driver for your drive, it is often possible to get a generic ATAPI driver to work. This should only be attempted if you've exhausted every avenue possible for locating the correct driver. Windows 98 (probably 95 too, but I haven't checked) comes with a generic driver that works for most CD/DVD drives that are out there. It worked for every drive I tried it with so far. The path is:

C:\Windows\Command\Ebd\Oakcdrom.sys

My mouse doesn't work in DOS.

Just like the other devices in your system, your mouse also requires a driver to function correctly. If it doesn't appear to do so in DOS, then you'll need to find a real-mode driver for it. If you can't find one on the mouse's installation disk, then ask the manufacturer for a DOS driver for your mouse. If you can't reach them or they cannot supply you with a driver, then check our DOS Utilities section for a universal driver. Here is how this driver should be implemented. Place the following line in your "autoexec.bat" file:

mouse.com S10

You can modify the speed of the mouse by changing the value from 10 to a value that suits your preferences better.

How do I edit my Autoexec.bat and Config.sys files?

First of all, the "autoexec.bat" and "config.sys" files are located in the root directory of the drive you boot from. This is usually the "C" drive, so the folder for the two files would be "C:\". No matter how many other files you find under these names in different folders, the ones in the root directory are the ones that define the behavior of your computer.

The "autoexec.bat" and "config.sys" files are simple text files. There's nothing magical or mystical about them. You can edit them with a perfectly normal text editor like Notepad. Don't be afraid of editing these files; you cannot cause any unrecoverable errors to your system by simply modifying them. Apart from a couple of special commands, the worst you can do is decrease the amount of free conventional memory you have or disable one of your device drivers. To make sure that you can revert to your previous settings, always make backup copies of your system files before editing.

My DOS game needs more memory.

First, you need to know what type of memory the game needs; usually you'll get an error message telling you. If the game needs more conventional (sometimes referred to as main or base) memory, you have to clear the lowest 640 KB of memory from as many device drivers and TSR (Terminate and Stay Resident) apps as possible. In a Windows system the latter rarely happens, so we'll concentrate on the former, loading device drivers into high memory (the first 64 KB of memory above 1024 KB). First you'll need to load memory managers in your Config.sys file. The first two lines of your Config.sys file should be:

DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE

The path to Himem.sys and Emm.exe could be different; in that case make the necessary adjustments in the call to both. You should also have your real mode (DOS) CD driver loading in your Config.sys file. It should look similar to this:

DEVICE=C:\CDROM\TAISATAP.SYS /D:MSCD001

In order to load the driver into high memory, simply replace "DEVICE" with "DEVICEHIGH". Now we move onto the Autoexec.bat file. The procedure here is basically the same—you need to load any device drivers into high memory. Three of the drivers you'll most likely encounter are for your CD/DVD drive, mouse, and a DOS emulator for your sound card. Respectively, these lines should look similar to this:

C:\WINDOWS\COMMAND\MSCDEX /D:MSCD001
C:\PROGRA~1\MICROS~1\MOUSE\MOUSE.EXE
C:\WINDOWS\AU30DOS.COM

Once again, the paths will most likely be different to these drivers on your system, you must make the necessary adjustments. To load these drivers into high memory, simply add LH (Load High) before each call. The result will be:

LH C:\WINDOWS\COMMAND\MSCDEX /D:MSCD001
LH C:\PROGRA~1\MICROS~1\MOUSE\MOUSE.EXE
LH C:\WINDOWS\AU30DOS.COM

Your mouse driver and/or real mode sound emulation driver may be loading in your Dosstart.bat file; in that case the procedure is the same—add the LH tag before each line. Unfortunately you'll never be able to squeeze as much conventional memory from DOS7 as was possible with earlier versions of DOS. One trick that may help to gain a few more KBs is to use CuteMouse as a mouse driver instead of the default that you have; it can be found in the "DOS Utilities" below and is compliant with all serial and PS/2 mice.

The other two types of memory needed are expanded (EMS) and extended (XMS). Games that utilize EMS are rare as no code can execute within it; its only use is data storage. If your particular game requires it, simply change this line in your Config.sys file:

DEVICE=C:\WINDOWS\EMM386.EXE to DEVICE=C:\WINDOWS\EMM386.EXE RAM

In the case of XMS, the procedure is similar, change the line in your Config.sys file from:

DEVICE=C:\WINDOWS\EMM386.EXE to DEVICE=C:\WINDOWS\EMM386.EXE NOEMS

It should be noted that in earlier versions of DOS it was possible to add a qualifier to set the amount of memory needed; however in DOS7 (the default version with a Win9X system), this doesn't seem to have any effect.

My DOS game requires a VESA driver.

Many older DOS games require your video card to support a standard that is now considered outdated. The VESA standard is still supported by the latest video cards, but unfortunately it is not backwards-compatible like most standards. The current version (3.0 or higher) will not be compatible with older DOS games that require the 1.2 or 2.0 version of the VESA interface.

In order to run these games, you'll need to get a VESA driver for your video card. The first place to go is the site of your card's manufacturer. Ask the manufacturer about a driver for your card that would provide a VESA 1.2 or 2.0 interface for older DOS games to use.

If you can't get a VESA driver this way, then you can try downloading and installing SciTech Software's Universal VESA BIOS Extension kit, which provides VESA drivers for most of the popular video cards. You can find further instructions on their site. Click the link under "DOS Utilities" below to download Display Doctor.

What are slowdown utilities, and where do I find them?

A slowdown utility is a small app that basically slows down your CPU, allowing you to run older DOS apps which were coded to be speed sensitive upon a system's CPU. When these apps were coded, the programmers hadn't anticipated that CPUs would grow at such an exponential rate as they have. Thus, you often need one of these apps to make your CPU "slow down" to speeds from CPUs that are a generation or more old. Chances are you've at least once seen a "divide by zero" error; a common fix is to use such a utility. Some work within Windows, if a particular DOS app will run from a Windows DOS box, and others will only run under a DOS environment. It's simply a matter of user preference, as they all accomplish the same task. Click on the link under "DOS Utilities" below to find a few of the more popular slowdown utilities.

What are USB peripherals, and will they work in DOS?

USB, an acronym for Universal Serial Bus, is a bus (a way that your computer transfers data). You're probably familiar with the acronyms ISA and PCI, both of which are other bus standards. The USB runs at extremely fast transfer rates within Windows. Unfortunately, any peripheral device (mice, keyboards, etc.) that is connected via the USB will not run in a pure DOS environment. The bad news is that if you have a DOS app that refuses to run from a Windows DOS box, then your options are severely limited. Either buy an adapter that will allow your USB device to plug into the more conventional serial, parallel, or PS/2 ports, plug in an older device, or forget about running the particular app. There are some new systems being manufactured that don't have serial or parallel ports; if this is the case there is no way to run a DOS game from a pure DOS environment.

Can I have the option for my computer to boot to either DOS or Windows?

There is a fairly simple solution that will allow you to boot to DOS or Windows by letting you select your choice from a menu which is displayed when you start your computer.

The first step is configuring your system to boot without starting Windows. This can be achieved by editing your "msdos.sys" file. See the "How do I edit my Msdos.sys file?" topic for instructions before proceeding.

You need to make the following adjustment in the "msdos.sys" file. Change the line

BootGUI=1 to BootGUI=0

And save the file. It's that simple. Note that if you reboot now, Windows won't start automatically. You can start it by typing the "win" command and pressing Enter.

The next step is to prepare a menu for your system. You'll most likely be satisfied with a simple choice between booting to DOS and Windows, so this is what I'll describe here. These modifications require you to edit the "autoexec.bat" and "config.sys" files, so make sure you read the "How do I edit my Autoexec.bat and Config.sys files?" topic before proceeding.

Let's start with the "config.sys" file. Add the following lines to the very beginning (first line) of the file:

[MENU]
MENUITEM=A,Boot to DOS
MENUITEM=B,Boot to WINDOWS
MENUDEFAULT=B,5

The MENUDEFAULT setting lets you specify which choice should be your default one and the following 5 gives you 5 seconds to choose between the two options. If you don't touch your keyboard for 5 seconds, then your system will automatically choose the default option.

Now you need to duplicate the original lines of your "config.sys" file. The individual settings for the two menu choices can be entered in separate sections like this:

[A]
REM Lines for booting to DOS

[B]
REM Lines for booting to Windows

For example, let's say your original "config.sys" file looked like this when you started:

DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:OFF
DEVICEHIGH=C:\WINDOWS\EMM386.EXE NOEMS

The end result of your editing would be this:

[MENU]
MENUITEM=A,Boot to DOS
MENUITEM=B,Boot to WINDOWS
MENUDEFAULT=B,5

[A]
REM Lines for booting to DOS
DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:OFF
DEVICEHIGH=C:\WINDOWS\EMM386.EXE NOEMS

[B]
REM Lines for booting to Windows
DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:OFF
DEVICEHIGH=C:\WINDOWS\EMM386.EXE NOEMS

Now comes the editing of the "autoexec.bat" file. Place this line at the beginning of the file:

GOTO %CONFIG%

Now you can set the individual options for the two choices in separate sections, like this:

:A
REM Lines for booting to DOS
GOTO END

:B
REM Lines for booting to Windows
GOTO END

:END

REM Don't add any more lines here

Just like in the "config.sys" file, you'll need to duplicate the original lines of the "autoexec.bat" file and place them in both sections between the REM and the GOTO END lines.

Now you have a complete boot menu set up, but both choices seem to perform the exact same operations at startup. As a result, Windows still won't start automatically. As a final step, you need to add the following line to the B section, just before the GOTO END line:

C:\WINDOWS\WIN.COM

If your Windows directory is anything other than "C:\WINDOWS", then you need to change that line accordingly. Now your boot menu is completely set up and operational. You can add CDROM and mouse drivers to the DOS (A) section of the startup files and they won't affect your system's behavior in Windows.

Note that some settings in the original startup files are probably unnecessary in Windows, so you might want to optimize these two files. See the topic "What do I need in my startup files in Windows?"

How do I edit my Msdos.sys file?

The "msdos.sys" file, just like the "autoexec.bat" and "config.sys" files, is a simple text file and can be edited using Notepad or any other text editor. It can be located in your system's root directory along with the aforementioned two files. The only difference between them is that the "msdos.sys" file is specified as a system file and usually cannot be edited without making a very simple modification first.

Start Windows Explorer [Start—Programs]. Go into the View menu and click on Folder Options. Click the View tab. Now you'll see a long list of settings literally asking to be modified. Don't worry, we'll only change one. Set the Hidden files option to Show all files. Press OK to confirm the change. Now you should be able to see the "msdos.sys" file in the "C:\" folder. In order for Notepad to be able to save the file after you've edited it, you need to clear its Read-only attribute. To do this, press the right mouse button on the file and choose Properties from the popup menu. Clear the Read-only checkbox in the Attributes section of the page. Press OK and voila, you can edit the file in Notepad. Start Notepad and open the file. Be sure to set option Files of type in the Open file dialog to All files before trying to open "msdos.sys"; otherwise, the file won't appear in the list of files to open. You can also open the file with Notepad while you're still working with Windows Explorer. Click the right mouse button on the file and select Open from within the popup menu. Now select Notepad from the list of applications. After you've finished editing the file, be sure to restore its Read-only attribute (you can do this exactly the same way you cleared it) for your own protection.

What do I need in my startup files in Windows?

This is a very difficult question since these files differ greatly between various systems, so this FAQ can only deal with some general issues. As a general rule, you should find out what each line in your startup files does. You can throw out the ones that only affect DOS performance or separate them if you have a boot menu set up. Some typical lines that only take effect in DOS are:
Autoexec.bat:

SET BLASTER=...
SET SOUND=...
SET MIDI=...
... MSCDEX.EXE ...
... MOUSE.COM ...

Note that some cards may require the first three SET lines, although I myself have yet to see one.

In the config.sys, unfortunately, there's no rule that defines how your CDROM driver line should look, but it usually specifies a file with a .SYS extension and has something like /D:MSCD0001 at the end. If you have a boot menu set up, then you'll want to separate these lines into the different sections of your menu so that they won't affect each other. There are some lines that apply to both sections (or all, if you have more options). You can either specify them in every section or—only in the "autoexec.bat" file—you can take them out of the section and place them at the beginning of the file. This would mean before the GOTO %CONFIG% line.

Can I run a DOS game without making permanent changes to my computer?

Yes, and it involves the same processes discussed in several of the other topics addressed in this FAQ. The main difference is that you won't make any changes to your startup files, you'll simply create "temporary" settings that will be deleted along with your game. This process involves creating a PIF file (Program InFormation). If you don't run many DOS apps, this may be the best way to set them up to run properly. You'll still be running them from a pure DOS environment as opposed to a Windows DOS box, which is always the optimal way to run a DOS app, and as mentioned you won't have to edit any system files on your computer.

To accomplish this, first run the setup program for your DOS app from within Windows; you may have to set up your sound and other options also. Close the DOS box and go to the folder where it was installed. Find the executable file that launches the game, with an .EXE suffix. Right-click on the file and select Properties, then the Program tab, and click the advanced button. Check the "MS-DOS Mode" box, as well as the "Warn before entering MS-DOS mode" box as a reminder if you attempt to start the game and you have any Windows apps running with unsaved information that you forgot about.

You'll see two boxes: "CONFIG.SYS for MS-DOS mode" and "AUTOEXEC.BAT for MS-DOS mode" respectively. If any of your device drivers aren't loading in your startup files, you'll have to add them in the appropriate boxes. See the topics on mice, CD/DVD drives, and sound in this FAQ for detailed explanations on this. However, in this case you'll add the lines to these boxes rather than making any permanent changes to your system. You can also do some memory modifications here; again, see the corresponding topic in the FAQ.

When finished, back out of the options and you'll now see a PIF file with an MS-DOS icon next to it in the game folder. Use this file to launch your game. That's it—no changes were made to your system files!

DOS Utilities

CD/DVD Drivers:

Mouse Drivers:

Slowdown Apps:

VESA Driver:

Zoltán Ormándi always needs a haircut and is proprietor of the wonderful Adventure Games Hall of Fame site.
Mike Phillips is a notorious computer hacker and all-around great guy.
Our heartfelt thanks to both of them for allowing us to publish this article.  

 
Copyright © Electric Eye Productions. All rights reserved.
No reproduction in whole or in part without express written permission.