|
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 StartSettingsControl
PanelSystemDevice Managerexpand 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 filesmany 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:
C:\WINDOWS\COMMAND\MSCDEX
/D:MSCD001
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: StartSettingsControl PanelSystemDevice
Managerexpand 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 StartFindFiles 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 changewhatever 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 sameyou 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
sameadd 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 [StartPrograms]. 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 oronly in the "autoexec.bat" fileyou
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 itno 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. 
|