Your DOS Startup Files

Red means the lines are common and a modified version should appear on your "boot disk"

; Here is an annotated CONFIG.SYS file
; You use a beginning semicolon to remark your CONFIG.SYS lines.
; The text stuff that follows each command line is informational only
; and would be illegal in a real CONFIG.SYS or AUTOEXEC.BAT file
; Typically the memory managers come first. HIMEM must precede EMM386
; The rest should appear in about this order.
;

DEVICE=\DOS\SETVER.EXE
Some programs are designed to work (or not work) under specific versions of DOS. If the program detects that it is running under a version it doesn't like it will then refuse to run. SETVER is a DOS program that allows you to set up the version DOS reports that it is, to any program you want. If a program named FOOLME is expecting DOS 5.0 and you have DOS 6.0, no problem. You would just type SETVER FOOLME 5.0. This modifies a table that SETVER keeps of all the programs that it is fooling! The SETVER code must be loaded for SETVER to work.

DEVICE=C:\WINDOWS\HIMEM.SYS
Initialize the extended memory manager. This memory manager must come before any other memory manager

DEVICE=C:\WINDOWS\EMM386.EXE NOEMS
Initialize the expanded and upper memory manager. The NOEMS parameter tells the system you don't want to use the EMS features of the driver. If you want to actually use EMS (you will be simulating EMS in XMS), then take out the NOEMS and add something like: DEVICE=C:\WINDOWS\EMM386.EXE 1024 RAM - This would simulate 1MB of EMS.

DOS=HIGH,UMB
Send DOS to high memory. Prepares upper memory blocks

DEVICE=C:\CDROM\CDROMDRV.SYS /D:CDROM001
Load device driver for CD-ROM. Uses CDROM001 as driver signature. This signature allows the DOS CD-ROM driver (MSCDEX) to identify one or more devices

DEVICEHIGH=C:\SCAN\SCANNER.SYS
Loads a scanner driver

NUMLOCK=ON
Turns numlock ON or OFF

LASTDRIVE=M
Allows drive letters up to M. Without this command the highest drive letter available would be E.

;the following lines deal with memory and files
;and are frequent denizens of CONFIG.SYS files

BUFFERS=13,0
Buffers are used to temporarily store data while it is being moved from disk to memory – this command creates a sort if pseudo-cache. This setting gives us 13 512-byte buffers. The second parameter specifies a secondary buffer. This secondary buffer is a read-ahead buffer, loading more data than may have been called for. 13 seems to be an optimal buffer setting. Zero can be used in the second parameter if you are already using a disk cache like SMARTDRV. Warning - Setting BUFFERS= to more than 20 may cause SMARTDRV to load into conventional memory

STACKS=9,256
The CPU uses stacks to store data when it receives an interrupt. It "stacks" this data up and then takes data off the stack as needed. This command specifies that there should be 9 stacks of 256 bytes per stack. DOS's default is 9,128. A multitasking environment like Windows 3.1 uses more stacks than DOS and not having enough stacks would result in a "Stack Overflow" message. A stack setting of 1,1 would probably do this! Using too much stack space results in a loss of precious memory.

Geek alert: Because DOS was loaded high in an earlier line; this would be the default stacks setting whether we typed it in or not.

FILES=80
The number of files that DOS can have open at one time each file specified requires about 50 bytes of memory

NOTE: once you specify HIMEM, EMM386 and prepare your UMB, you may then use the DEVICEHIGH command to load any subsequent drivers into upper memory.

 

REM here is an annotated AUTOEXEC.BAT file

@ECHO OFF
Suppress the display of commands to the screen. Allow the results of the command to Echo to the screen. When a batch file executes it behaves just like you where typing the commands in from the DOS prompt. This display includes the command itself. Echo off does not show the command on the screen but shows any output from the command on the screen.

CLS
Clear the screen

SET BLASTER=A220 I5 D1 H5 P330 E620 T6
Set up resource parameters for the sound card (I/O address=A220h interrupt=5 DMA=1 – remember that stuff!)

PROMPT=$P$G
This command is used to modify the command prompt - the display you see while DOS is waiting for your command. This particular command tells the computer to display the current path ($P) and the greater than sign ($G). If I were in the Windows folder (directory) the prompt would look like this: C:\Windows>. If I were in the Command folder (directory) which is in the Windows folder (directory) the prompt would look like this: C:\Windows\Command> This is the default prompt in Windows 9x. When you are using dos, you must explicitly declare it.

C:\DOS\SMARTDRV.EXE
This loads the DOS disk-caching program from the DOS folder (directory). A disk-caching program speeds up disk access. By default SMARTDRV loads up into upper memory whether you tell it to or not. SMARTDRV should precede your loading of MSCDEX.

LOADHIGH C:\MAX\CTMOUSE.COM /1 /I4 /R4
This loads and sets up the mouse driver (interrupt 4 on COM1)

C:\DOS\MSCDEX.EXE /D:CDROM001
This loads the DOS drivers for the CD-ROM drive. In addition is specifies the same "signature" that was used in the CONFIG.SYS file. If a different signature were used, the device would not work under DOS.

SET PATH=C:\;C:\DOS;C:\AWE64;C:\AWE64\drivers;C:\ZIP;
This command is used to set the PATH that DOS will look through to find executable files. By default, DOS looks only in the current folder (directory) for executable files. The path specifies that if DOS can't find and run a file in the current directory, it should check each directory in the PATH. If it still can’t find the file, DOS will display: "Bad command or file not found". Multiple directories may be entered if separated by a semi-colon

DOSKEY
This command runs the DOSKEY command line editor. When you want to execute a program in DOS you just call it by name. DOSKEY actually "lives" in the DOS directory. But because I set the PATH in the previous step (see the blue text), no matter what directory the system is currently in, the system will find the DOSKEY program because it is in the PATH.

SET TEMP=C:\WINDOWS\TEMP
This command establishes an environmental variable called TEMP. Environmental variables are stored in an area of RAM that all programs have access to. If a program wants to see just where the user wants to send all "temporary" files, it could check the environmental RAM area. It would then know (in this case) that the WINDOWS\TEMP directory was the place to go. This particular environmental variable helps reduce disk clutter by establishing one directory for all temporary files - as long as a program is willing to check and store them there. FYI - the PATH goes up in the environmental area. As such you may set the PATH with SET PATH= or with PATH=

\DOS\VSAFE
DOS 6 came with a 2 virus checking utilities. VSAFE is a memory resident (TSR) program that monitors for suspicious disk and memory activity. A virus checking program typically checks RAM for virus' first. VSAFE takes up approx. 22K of memory. A separate command called MSAV was used to actively scan memory and disks for virus's, removing any that are located there. These two commands are no longer supported.

WIN
This command runs Windows 3.1 - or would it???? WIN usually "lives" in the Windows folder. Is this folder in the path? What do you think might happen?


NOTE: once you specify HIMEM, EMM386 and prepare your UMB, you may then use the LOADHIGH command to load any subsequent drivers into upper memory.