The examples assume that C: is your hard drive and Windows is the only operating system. If that is not the case, you just have to swap this part.
WARNING: BEFORE YOU EDIT YOUR SYSTEM FILES COPY THEM. CHANGE THEM AT YOUR OWN RISK!
1. AND MOST IMPORTANT HINT: PLAY DOS-GAMES IN DOSMost people use MS-Windows. But you really should configure the so-called "DOS-Mode" in order to play the good old games. Even if a game does not crash by chance (there should be examples), there will still be problems, at least with sound.
2. THE CONFIG.SYSNobody can write a general Config.sys because drivers for the specific computer are loaded here. But there are a few general rules that everybody should know. In general: load big drivers first.
2.1 EXTENDED/EXPANDED MEMORYThis is all the RAM over the 1MB border. DOS can not access it directly. That is why different methods were developed to use this memory.
2.1.1 EMSEMS means "Expanded Memory". Particularly older games use this kind of memory. It can be emulated by different memory managers. For the standard DOS one you have to write:
DEVICEHIGH=C:\WINDOWS\EMM386.EXE RAMAnother Option is to fix the number of bytes used as EMS. If you need only 1MB for example, just add this amount in kilobytes:
DEVICEHIGH=C:\WINDOWS\EMM386.EXE RAM 1024
2.1.2 XMSXMS stands for "Extended Memory". It is "newer" than EMS. It can be activated by a memory manager like HIMEM.SYS
DEVICE=C:\WINDOWS\HIMEM.SYSIf you want to load EMM386, too, add the following line:
2.1.3 DOS-EXTENDERSDOS-Extenders are the most "current" way to gain access to RAM. The most common one is DOS4GW. If a game uses one, there should not be any problems in general.
2.2 BASE MEMORYAlso called "DOS-Memory", meaning the first 640 KB of the RAM. DOS runs in this part. Because of this division it can happen that although you have 128 MB on the whole, a game reports too less memory. The problem is that all memory resident drivers are also put here. That is why no one has ever the whole 640 KB ready for use.
2.2.1 LOAD DRIVERS HIGHYou should try to load as many drivers as possible in another memory area to have as much of it free as possible. The part between 640 KB and 1 MB is more or less unused. By
DOS=HIGH,UMByou give DOS access to two subdivisions of this. In some cases you should drop UMB but HIGH is always recommendable. After this line you should change all commands beginning with DEVICE to DEVICEHIGH.
2.2.2 FILES, BUFFERS AND LASTDRIVEFiles and buffers are necessary in a different amount for each program. You can reduce both values to get more free memory.
FILES=40 BUFFERS=5e.g. are more space saving commands. You can experiment with these values witout any danger. Even more simple is the usage of LASTDRIVE. Almost anybody knows what his last drive is.
LASTDRIVE=EIf you add another drive later, you of course have to change it.
2.3 AN EXAMPLEThis is an example for a Config.sys without much finess. PLEASE DO NOT COPY.
DEVICE=C:\WINDOWS\HIMEM.SYS LASTDRIVE=E FILES=80 BUFFERS=10 DOS=HIGH,UMB DEVICEHIGH=EMM386.EXE RAM DEVICEHIGH=C:\SB64\DRV\CTSB16.SYS /UNIT=0 /WIN95 /BLASTER=A:220 I:5 D:1 H:5 (my soundcard) DEVICEHIGH=C:\SB64\DRV\CTMMSYS.SYS (sound again) DEVICEHIGH=C:\WINDOWS\COMMAND\VIDE-CDD.SYS /D:IBMCD001 (CD-ROM) DEVICEHIGH=C:\WINDOWS\COMMAND\DISPLAY.SYS CON=(EGA,,1) (graphics) COUNTRY=049,850,C:\WINDOWS\COMMAND\COUNTRY.SYS (country)
3. THE AUTOEXEC.BATYou add commands to the Autoexec.bat which you could also use on the DOS-Prompt. Similar rules as for the Config.sys apply.
3.1 LOAD HIGHIn front of every command (bat, exe or com) there should be "lh"
3.2 IMPORTANT LINESSome commands are almost indispendable, others just make it easier.
SET BLASTER=A220 I5 D1sets the sound card to adress 220, interrupt (IRQ) 5 and DMA 1 (modify for your configuration).
SET PATH=C:\DOS;C:\WINDOWS;C:\WINDOWS\COMMAND;C:\Every command that is not being found in the current directory will be searched in these directories.
LH DOSKEYactivates a driver that saves typing everything again. Just use cursor up.
LH C:\MOUSE\MOUSE.COMloads a mouse driver which is necessary for most games (example; other directory/name possible).
4. DO YOU NEED ALL DRIVERS?Most old games do not need CD-ROM for example.That means you can deactivate this driver in the Config.sys and MSCDEX in the Autoexec.bat. A soundcard is often not necessary, too. Drivers for networks are futile. These changes have to be cancelled later, of course. Therefore it is not clever to delete the whole lines but to mark them as a remark by REM instead.
REM DEVICEHIGH=... REM LH ...
5. OVERFLOW/DIVIDE ERRORThese error messages indicate that your computer is too fast for the program. Solution: slow down programs (Applications) or disabling cache in BIOS. That is done in different ways depending on your BIOS.
6. ADVANCED OPTIONS
6.1 BOOTDISKIf you often need different configurations, there is of course the possibility of a bootdisk. You have to set the booting order in BIOS to A,C. Then you format a disk by
format a: /sThe necessary files will be transfered automatically. Then modify Config.sys and Autoexec.bat on the disk and reboot your computer from it.
6.2 CHOOSE YOUR OPTIONA bit more difficult but less costly on the long term is this possibility. A menu will be shown when booting, so that you can choose your option. That is possible in MS-DOS 6.0 or higher.
6.2.1 CONFIG.SYSAt the beginning stands a list with the menu options:
[MENU] MENUITEM=name, description MENUITEM=name2, description2 ... MENUDEFAULT=name, time"name" is what is used in the Config.sys. "description" will be displayed later. "MENUDEFAULT" is the option which will be chosen automatically, if "time" in seconds expires.
Then a part with general commands which will always be used follows:
[COMMON] DEVICE=C:\WINDOWS\HIMEM.SYS LASTDRIVE=E ...Then the options as defined above:
[name] ... [name2] ...
6.2.2 AUTOEXEC.BATProgramming the Autoexec.bat is a bit more primitive. First there are general commands similar to [COMMON] in the Config.sys.
Following this is the command
GOTO %CONFIG%This is to get the names of the options from the Config.sys These options follow, then another part with general commands (EXIT).
:name ... :name2 ... :EXIT ...