home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
- Your CONFIG.SYS and AUTOEXEC.BAT
-
- Barry Simon
-
-
-
- Copyright (c) 1989, by Barry Simon
-
- Written expressly for and posted on Compuserve's IBM Forum. May
- only be reproduced commercially with the author's permission. May
- only be distributed with this copyright notice intact.
-
-
- Introduction
-
-
- During the startup of an IBM or IBM compatible computer, the
- operating system looks for two files of user supplied commands
- which allow you to customize your system in various ways. This
- article will attempt to explain some of the options available to
- you when you make these basic files. While I have written it for
- the relative novice, I hope it may provide some useful new tricks
- even to the more experienced user.
-
-
- These two files whose names must be CONFIG.SYS and AUTOEXEC.BAT
- should reside in the root directory of your boot diskette or of
- your hard disk if you have a bootable hard disk (i.e. if you can
- start your system from your hard disk without placing a diskette
- in drive A). Actually, there is a method for placing the
- AUTOEXEC.BAT file in a subdirectory but despite the fact that I
- tend to be fanatical about keeping my root directory lean, I don't
- recommend using this option.
-
-
- When you turn on your computer, the CPU is setup to begin a
- program in the ROM (read only memory) that all IBM compatible
- machines have. This ROM is distinct from and in addition to the
- working RAM (random access memory). When you are sold a machine
- with 256K of memory, that figure refers to the RAM. There is an
- additional 16K-32K of ROM. RAM is cleared whenever you turn off
- your machine or reboot while the ROM is permanently burned in and
- should not change.
-
-
-
-
- Booting Up
-
-
- The program that is automatically run from ROM begins with a brief
- test (POST="power on self test") of various components of your
- computer. If you have an XT or AT, the most noticeable part is the
- memory(RAM) test accompanied by counting up the memory on your
- screen as the test progresses. This test is skipped when you do a
- warm reboot by hitting Ctrl-Alt-Del. You may also notice your
- drives and printer "burping" as they get tested.
-
-
- After this test, the machine searches for various "ROM extensions"
- that is additional ROM that can come with a hard disk or EGA card
- for example. The program then searches first drive A and then a
- hard disk if you have a bootable hard disk for a diskette or disk
- program to transfer control to. It transfers control to the very
- first sector on the disk which is called the boot sector. When
- you format a diskette, a little program is placed in the boot
- sector which will display the message "non system disk, replace
- and hit any key". When you transfer the operating system to the
- disk with the SYS command or via FORMAT/S, this boot sector
- program is changed to transfer control to a program which must be
- in the position immediately following the boot sector.
-
-
- If the disk has the system on it, control is transferred
- successively to two hidden files which load the BIOS ("basic
- input/output system" part of which is in ROM) and the DOS ("Disk
- operating system"). When most users think of DOS they think of
- the familiar prompt and copy,.... commands. These parts of the
- DOS are only loaded later; the part in the hidden file involves
- services provided by DOS to programmers rather than directly to
- users. The two hidden files are called "IBMBIOS.COM" and
- "IBMDOS.COM" in PC-DOS and may have different names on other
- computers although surprisingly, the names persist even on some
- non-IBM brands!
-
-
- Parenthetically, I want to note that there isn't really much
- hidden about hidden files. As you may know, the DIRectory you are
- used to display gets its information from a special file also
- called the directory. This file is essentially a little database
- with information about each file including the filename,
- extension, date and time of creation. One byte in the record for
- each file is called the attribute byte and contains eight
- "switches" to keep track of things like whether the file is a
- volume label, read only, etc. One of these switches is whether
- the file is "hidden". To anyone with any programming experience
- or with any of a large number of public domain or commercial
- programs, these files are not in any sense hidden. The basic DOS
- services like DIR and COPY are specially set up to ignore hidden
- files and that is the only sense in which these files are hidden.
- The two system files are hidden because their location is critical
- for a successful boot-up and they are less likely to be moved by
- accident if they are hidden.
-
-
- After the second hidden file is mainly loaded, it looks for a
- special file called "CONFIG.SYS" and processes the commands in it.
- Then control is passed to the third file in the operating system,
- COMMAND.COM. As the final step in booting up, COMMAND.COM looks
- for a file names AUTOEXEC.BAT and if found it loads it and runs
- it. If not found, COMMAND.COM exits with the DATE and TIME
- commands.
-
-
- Except for its special status as a bootup file, the AUTOEXEC.BAT
- file is an ordinary BATch file with the usual rules of syntax.
- The CONFIG.SYS file has a special syntax with a limited number of
- allowed commands. Both must be pure ASCII files, that is without
- any special formatting codes that some word processors add. Many
- word processors which have special codes have a "non-document"
- mode for preparing ASCII files. These files have separate lines
- which must be ended with carriage return/line feed pairs. If you
- have any doubts about whether the file is "pure ASCII" you can use
- the TYPE command to display it on the screen and see if it just
- has ordinary letters and numbers.
-
-
-
-
- What goes in your root directory
-
-
- When a subdirectory fills up, it adds another cluster of disk
- space to increase its size but the size of the root directory is
- fixed at the time the diskette or disk is formatted. It is not
- merely because of the size restriction that I recommend that you
- keep your root directory slight. Since the files in the root are
- likely to be of diverse type, it will be difficult to keep track
- of things if you put too much there. I mainly put subdirectories
- there and mainly subdirectories which have no files but only
- subsubdirectories. For example, I have a words subdirectory with
- my word processor, outliner, thesaurus, etc in subsubdirectories.
- Generally, there are only three files that I recommend go into the
- root: COMMAND.COM, CONFIG.SYS and AUTOEXEC.BAT. As I mentioned,
- one can put AUTOEXEC.BAT elsewhere and even COMMAND.COM but I feel
- that is carrying things too far. In fact, I even have a
- startup.bat file of the type I'll describe there but the point is
- to keep that directory thin and to complain bitterly about
- software so inconsiderate that it forces you to place it in the
- root directory. My point in mentioning this here is that I'm
- about to discuss device drivers which many people put in the root
- directory. If you like to be organized, I recommend you make a
- directory for device drivers (mine is called \bin\devices).
- Another option is to put the drivers in different directories with
- each driver in with related files so, for example, the drivers
- that come with DOS are kept in the same directory as the other DOS
- programs or the mouse driver is with the other mouse software.
-
-
-
-
- Device drivers
-
-
- There are a group of programs which are made permanently resident
- and which are loaded as part of the CONFIG.SYS. Virtually any
- resident program can be produced in this format but certain ones
- must be of this form. Typically, console drivers and any program
- which controls "a device" must be loaded now. Most virtual disks
- and print spoolers also are loaded as device drivers. While
- device drivers are programs, they need not have the extension
- "com" or "exe". In fact, so far as I can tell their extension can
- be anything that you wish. Nevertheless virtually all
- commercially available device drivers have the extension "sys".
- Some drivers are available with the extension "dev". The syntax
- for loading a device driver in your CONFIG.SYS is
- device=<path><name><parameters>
- so if you have a device foo.sys in the directory \bin\devices of
- drive C: and it will take a numeric parameter to set the size of
- some buffer, you might load it with
- device=C:\bin\devices\foo.sys 128
- Note that it is essential to include the extension "sys" or else
- you will get an error message "bad or missing foo". The drive
- letter C: is not required but it can't hurt and I know of one
- person who claimed the device driver on her machine couldn't be
- found without it. The question of which parameters a given device
- driver allows or whether it allows any at all depends on the
- driver and should be dealt with in the documentation for the
- program in question. For the drivers ANSI.SYS and VDISK.SYS which
- come with DOS, I note that the former takes no parameters while
- the later takes parameters explained in the DOS manual. DOS 3.2
- comes with a third driver called DRIVER.SYS while some versions of
- MSDOS 3.2 comes with an alternate ram disk called RAMDRIVE.SYS.
- Both take parameters.
-
-
-
-
- Examples of Device Drivers: the default drivers
-
-
- I will not attempt to describe all available device drivers since
- there are so many. For example, Chris Dunford, one of the sysops
- of Compuserve has written public domain programs which installs
- "devices" to control screen blanking (BURNDEV) and another
- allowing you to send control sequences easily to your speaker
- (SPKR). These represent examples where a real "device" is
- installed. A device is a virtual file which can typically be
- written too and read from. The most common example is "con" which
- you typically read from when you issue the command "copy con
- filename". Devices can only be installed via the CONFIG.SYS.
- Despite the name, the device command can load other programs which
- do not control devices and physical "devices" may not be devices
- in the sense of setting up a virtual file. A mouse is a good
- example of something which is not a device in this technical
- sense.
-
-
- The hidden file IBMDOS sets up several devices even if you have no
- CONFIG.SYS: con, prn, aux, lpt1, lpt2, lpt3, com1, com2. Con,
- short for console is a combined keyboard/monitor device, prn for
- printer is by default a name for lpt1 and aux a name for com1.
- The DOS mode command allows reassignment of these devices. LPTn
- and COMn are names for the parallel and serial ports on the
- computer. These device names are assigned even if you don't have
- the full complement of ports.
-
-
-
-
- Examples of Device Drivers:Console Drivers
-
-
- The most common device driver to install is a console driver which
- replaces the default console driver. Some of these replacements
- attempt to address the notoriously slow display speed of the
- monitors and/or the annoying flicker on the color graphics
- display. In addition some of the escape sequences of the 1977
- console standard of the American National Standards Institute
- (ANSI) are implemented. These sequences include ways of
- controlling colors, cursor position and some DOS level keyboard
- macros. (They are described in my article ANSI.ART). One
- console driver of this type called ANSI.SYS is supplied with DOS
- and takes about 2K of resident memory. It does not address the
- speed of display issue but it does implement several ANSI escape
- sequences. There are numerous programs which assume the ANSI.SYS
- is installed to operate properly (as well as a few that don't work
- properly if ANSI.SYS is installed!) so it is wise to install ANSI
- or an equivalent driver even if you do not want to use its
- features yourself. Actually, it is not hard to use the driver at
- the DOS level to set colors, set up a fancy prompt or redefine
- keys.
-
-
- There are several alternatives available to ANSI.SYS which you
- might want to consider. NANSI.SYS is a public domain program
- which speeds up scrolling (when combined with RAW mode by a factor
- of about 2) and provides some additional ANSI escape commands at a
- cost of only 3K of RAM. FANSI CONSOLE and TALL SCREEN are two
- commercial programs (listing for $75 and $49 respectively) taking
- much more memory (around 60K with a reasonable amount of screen
- save memory) providing many more services: faster scrolling (FANSI
- only), screen blanking (FANSI only), DOS command line editing and
- recall (TALL SCREEN ONLY), screen memory and keyboard
- enhancements as well as additional features. While it is most
- natural to control scrolling by a device driver, there is at least
- one commercial com program which takes over the console by a
- different method and speeds up scrolling my a factor of six or
- more (FLICKER FREE). I am quite happy with FANSI but I have
- friends whose computer taste I trust using both NANSI and TALL
- SCREEN so the choice is not clear. And FLICKER FREE is an
- intriguing program whose second release (which will support the
- EGA) I eagerly await.
-
-
-
-
- Examples of Device Drivers:Other drivers
-
-
- If you have a Lotus/Intel/Microsoft EMS board or AST EEMS board,
- you will need to load a device driver to access this extended
- memory. Often the command will require various parameters to
- specify the amount of memory being set aside and various items
- like the region of conventional memory used for swapping and the
- port number to use. Be warned if you are setting up a CONFIG.SYS
- file for the first time that you may already have a CONFIG.SYS
- file which was made for you when you installed the EMS software
- that came with your board. Since this likely has the correct
- parameters, you should make your own CONFIG.SYS file by starting
- with this one and continuing from there. It is possible that you
- will need to load the EMS driver before anything else. I can
- report that if I try to load FANSI-CONSOLE on my AT before the EMS
- driver that Intel supplies with my Above Board AT, the EMS driver
- refuses to load and gives me the error message that my machine is
- "not a close enough AT compatible"! Also be warned that while
- there is an EMS "standard", this refers to the way EMS works once
- the driver that comes with your board is installed. More likely
- than not, drivers from different companies are incompatible and if
- you need a second EMS board, it will have to come from the company
- that supplied your first (this warning does not apply to extended
- memory on the AT but only to expanded EMS memory).
-
-
- Some older hard disks are not self booting and require a device
- driver loaded in your CONFIG.SYS but that is not so common any
- more. DOS 3.2 has a program called DRIVER.SYS which is a device
- driver to initialize external 3.5 inch drives if you have one on
- an XT or AT. By far the most common drive device driver is to
- operate a RAM disk, that is a segment of RAM set aside as a fast
- virtual disk. There are com files loaded after the CONFIG.SYS
- which set up such drives but generally it is more sensible to use
- a device driver for this. DOS 3.x comes with a program VDISK.SYS
- to set up a RAM disk. This disk can operate in conventional or AT
- extended memory. It will not set up a RAM disk in EMS memory but
- most EMS boards come with device drivers to set up RAM disks in
- EMS. In addition Microsoft WINDOWS comes with a RAM disk device
- driver (which can be run independently of WINDOWS) and which can
- be set up in conventional, AT extended or EMS memory. Given
- Microsoft's experience and the care they have lavished on WINDOWS,
- I'd recommend using the WINDOWS RAM disk driver if you have it in
- preference to alternatives and, in particular to VDISK which also
- comes from Microsoft. However, if you are loading other programs
- that use AT extended memory, you may want to stick with VDISK
- because the specification that IBM uses to access AT extended
- memory is published while that of Microsoft is not and so other
- programs may clobber the Window's RAM DISK driver. If you want to
- set up more than one RAM disk, you can include more than one line
- loading a RAM disk driver in your CONFIG.SYS file. You can
- normally load the same driver twice or use different driver if you
- prefer. Be warned that there is typically a few K overhead in
- conventional memory to load a RAM disk and you will pay this
- overhead more than once if you load more than one RAM disk.
-
-
- Print spoolers set aside some memory to receive printer output and
- then send that output to your printer as a background process. I
- regard them as a tremendous productivity tool. While there exist
- print spoolers loading as com files, many are loaded as device
- drivers.
-
-
- The Microsoft Mouse requires software to install it so your system
- will recognize the mouse. The mouse comes with two versions of
- this software: MOUSE.SYS which is loaded as a device driver in
- your CONFIG.SYS and MOUSE.COM which is loaded later, typically in
- your AUTOEXEC.BAT. I do not believe there is any particular
- reason to prefer one over the other. Microsoft recommends using
- the device driver on all systems but the 3270 machines. If you
- are using Software Carousel, you'll want to use the com file in
- various partitions rather than the device driver.
-
-
- As you may know you can place remarks in your BATch files and in
- particular in your AUTOEXEC.BAT. This is useful if you want to
- temporarily run your system without some resident program that is
- usually loaded in your AUTOEXEC.BAT file. You need only "remark
- it out", i.e. add the phrase "REM " at the beginning of the line
- including it. Technically, remarks are not allowed in CONFIG.SYS
- files. If you insert the word "REM" at the start of a line in
- your CONFIG.SYS file you will get the message
-
- Unrecognized command in CONFIG.SYS
-
- However, since the rest of the line is not acted on, this
- procedure will have the desired effect of "commenting out" the
- line in question so you should not hesitate to use it.
-
-
- ECHO also doesn't work in CONFIG.SYS so there is no direct way of
- placing messages on the screen during the loading of the
- CONFIG.SYS However, there is a public domain program called
- COMMENT.SYS which allows you to echo comments to the screen via
- device=path\comment.sys <message>
- There is no stay resident part of comment.sys so you don't waste
- memory, only time, by using it. If you are a color freak, you can
- first load an ANSI compatible console driver and then use
- COMMENT.SYS to send color setting escape sequences to the screen
- and so see most of your bootup in living color!
-
-
-
-
- The FILES command
-
-
- DOS is a prisoner of its past. Original IBM PC's came with only
- 16K of memory (!) so when DOS boots up it sets aside memory for
- various purposes in an incredibly frugal manner. The defaults
- for three regions of memory set aside for file handles, disk
- buffers and environment are woefully inadequate. If you know what
- you are doing, it is easy to change these defaults but it's
- unfortunate that the novice gets stuck with these small values.
- In any event, FILES and BUFFER commands are among the most
- important for you to include in your CONFIG.SYS. When DOS opens a
- file, it keeps certain information in memory to be able to quickly
- access the file. This information is called a file handle.
- During bootup, memory is put aside for these file handles so a
- limit is placed on the number of files that can be open at one
- time. The default is eight which may seem adequate since programs
- normally close files when they are done allowing the file handles
- to be reused. However, eight is often not adequate. DOS uses
- four of the handles itself for "files" like con and prn. Thus
- there are four available for your programs. Some resident
- programs leave files open and even the ones that don't, may need
- to open a file for an initial access at the same time that an
- application program have several files open. Database programs
- often have separate index and data files and typically may want to
- have more than four open files. If DOS is asked to open a file
- and a handle is not available, DOS issues an error message and the
- running program may even abort. I strongly recommend that you
- place the line
-
- FILES=20
-
- in your CONFIG.SYS file. Indeed since the cost of increasing
- files is less than 40 bytes per handle, you could even use a
- number larger than 20. For most purposes 20 should suffice but
- ever since it wasn't enough for me in a rather specialized
- situation, I've taken files=30 myself.
-
-
-
-
- BUFFERS
-
-
- You may have heard of disk caching. As you've noticed, diskette
- access is very slow and even a hard disk has access times 100 fold
- grater than RAM access times. Disk caching sets aside some RAM to
- keep a copy of the most recently accessed disk information so, for
- example, if a database is continually accessing a disk, the first
- time the disk is really read but the next time the copy in cache
- memory will be read instead. This is not the place to discuss the
- pros and cons of commercial disk caching software but you should
- know that DOS comes with some free rudimentary disk caching
- included. It keeps N buffers of 512 bytes each with the copies of
- the last N disk sectors accessed. By default N is only two (three
- on the AT). You should certainly make this number larger by
- including the line
-
- BUFFERS=N
-
- in your CONFIG.SYS where recommended values of N are between 10
- and 25.
-
-
- Let me tell you an anecdote to show how dramatic a difference this
- number can make. The first time that I ran my tape backup drive
- to backup my 30 meg hard disk, I was bitterly disappointed.
- Despite what I'd been told by the salesman, it took over 45
- minutes! The next day, when I thought about it and tried again,
- it took only 8 minutes! What had happened? The first time I had
- been nervous about the effect my many resident programs might have
- so I put an original write protected DOS disk in drive A and
- rebooted before running the backup software. This disk had no
- CONFIG.SYS so I was running with the default three buffers. The
- next day, I used my regular hard disk boot with buffers=20 and
- that made the difference. I have done some time tests comparing
- something as simple as copying a directory from a hard disk to a
- floppy and I've found that using extra buffers can decrease times
- by 30 or 40 percent. So USE YOUR FREE DISK CACHING.
-
-
- The issue of precisely how many buffers to take is not an easy
- one. Increasing the number of files handles has little effect on
- memory or efficiency so you can freely take files=99 if the mood
- strikes you. This is not so with buffers. Each buffer takes .5K
- of RAM so buffers add up. Moreover at some point it will take DOS
- longer to check through all its buffers looking to see if a file
- is there than it would take it to access it directly. I've seen
- the number 25 given as a dividing line but I would like to do some
- tests to check this out. I can only say that I've settled on
- buffers=20 myself and that with a floppy based system, you should
- take a higher figure than you might with a hard disk.
-
-
-
-
- Increasing your environment
-
-
- DOS sets up a special section of memory called the environment
- which has a default size of 160 bytes. This area must hold your
- path, your prompt, the place that COMMAND.COM can be found and
- various other strings. Programs can communicate with you by
- asking you to place information in the environment with the SET
- command. In addition you can keep global variables in the
- environment to pass between BATch files. If you attempt to place
- more there than it has room for you'll get a message "Out of
- environment space". With DOS 3.1 and later there is a CONFIG.SYS
- command allowing you to increase the amount of space reserved for
- your environment. There are known patches for earlier versions
- DOS which are listed for example in my article on ANSI.SYS. The
- procedure is documented in DOS 3.2 and so presumably it will be
- a permanent feature of DOS. It is undocumented in DOS 3.1. The
- syntax is
-
- shell=C:\command.com /P /E:nnn
-
- where n is the number of bytes you want to set aside for the
- environment. For DOS 3.1 nnn represents the number of 16 byte
- paragraphs you want to set aside. So for a 512 byte environment
- take nnn=32 in DOS 3.1 and 512 in DOS 3.2. Obviously with a
- floppy based system, replace C: by A:
-
-
- How much space do you need for your environment? That depends on
- your path, applications and how fancy a prompt you make. My
- advice is to do nothing until you have a problem at which point
- you should remember that there is something that you can do.
-
-
- For more advanced users, I note that the environment is not as
- benign as you might think. I know of several programs which
- crashed if there was too much in the environment (most of the ones
- I know about have been fixed) and one that crashed if the PATH was
- the last thing set in the environment. I have occasionally been
- baffled at what could be causing a conflict only to discover the
- culprit was the environment.
-
-
-
-
- Miscellaneous CONFIG.SYS commands
-
-
- There are some other commands that can go in your CONFIG.SYS:
-
- -You can turn BREAK ON that is have the operating system check
- for control C more often than just during disk I/O. This slows
- down certain processing but gives you more safety from certain
- kinds of dead ends. The syntax is a line saying
-
- BREAK=ON
-
- Unlike any other CONFIG.SYS command, this one can also be issued
- from the DOS command line or in your AUTOEXEC.BAT file.
-
- -In addition to file handles, DOS has something call file
- control blocks which in DOS 3.x can be changed by an FCBS
- command. These are needed only if you have a LAN (local area
- network) and the parameters to take should be discussed by your
- LAN software.
-
- -DOS 3.2 has a STACK command. From what I've read this is a
- real cludge and the manual seems to suggest that it was added at
- the last minute to solve a problem connected with a new way that
- DOS3.2 treats the stack. In any event, if you use DOS 3.2 and
- seem to have unexplained crashes, try adding
-
- STACK=20
-
- to your CONFIG.SYS.
-
- -DOS 3.1 and later allows you to use the SUBST command to assign
- drive letters to directories. In addition, with several RAM
- disks you may want to assign a letter beyond the default last
- drive of E. DOS 3.x allows you to add a command
-
- LAST DRIVE = ?
-
- where ? is a letter and then you can assign any drive up to and
- including that letter. Even a last drive=z only takes about 1K
- of RAM.
-
- -There is a COUNTRY command to control things like the time
- format. The default is USA.
-
-
- One final remark about your CONFIG.SYS. The order of the commands
- is irrelevant except to the extent that certain device drivers
- like to be loaded before others (and if you are loading two RAM
- disks of different sizes you may care which is assigned which
- letter). As with most DOS commands the syntax is not case
- sensitive.
-
-
- As a review of what a CONFIG.SYS can contain, let me list the
- CONFIG.SYS from one of my machines which is running DOS 3.2:
-
- break=on
- buffers=20
- device=C:\bin\intel\emm.sys M3 I5 D
- device=C:\bin\devices\fconbeta.dev /C=1/S=2000/H=0/V=0/R=200/L=1/W=1
- device=C:\bin\devices\ramdrive.sys 1024 512 128 /A
- device=C:\bin\devices\ramdrive.sys 1300 512 64 /E
- device=C:\bin\devices\atqlpt1.sys 1644,1,3
- device=C:\bin\devices\mouse.sys
- files=30
- lastdrive=z
- shell=C:\command.com /P /E:512
-
-
-
-
-
- What should your AUTOEXEC.BAT contain?
-
-
- Most of my AUTOEXEC.BAT file loads my own particular blend of
- resident programs. This is not the place for me to advise you on
- what resident programs you might want to put into your system but
- I would like to make some comments about DOS and general aspects
- of what goes into your AUTOEXEC.BAT file.
-
-
- First, if you have very many resident programs, they may have
- conflicts and you must be prepared to permute the order of
- loading which often cures some or all of the conflicts. For
- technical reasons I won't go into here it really does pay to
- listen to SIDEKICK's demand to be loaded last although you need
- not take all the other Borland program demands quite so seriously.
-
-
- In addition to loading a stable of resident programs your
- AUTOEXEC.BAT can contain some of the following:
-
- -a VERIFY ON command. This slows down copying because DOS
- checks that the copy at least has consistent CRCs; this is not
- the same as comparing after copying but it is a fairly good check.
- Only several compensating errors could pass this test after an
- incorrect copy.
-
- -set a PROMPT. At a minimum use
-
- prompt=$p$g
-
- Mine uses ANSI.SYS to set colors and place the path and date on
- the bottom line of my screen
-
- -set a PATH. If possible, keep your path short since every
- time you type in a bad command, DOS will have to read every
- directory in the path before responding "Bad command or
- filename". Also try to list the path in the order of how many
- times you expect to access a given directory. That is place
- the directories you call most often early in your path. If
- you have a RAM disk, place its directories first in the path.
- If you have a relatively large RAM disk, think about copying
- your BATch file directory and the programs you call often to
- that RAM disk and place that RAM disk first in your path.
-
- -If you have a large RAM disk, consider copying COMMAND.COM to
- it and placing the command
-
- SET comspec=D:\command.com
-
- in your AUTOEXEC.BAT (assuming D: is your RAM disk). Even
- without a large RAM disk, it is worthwhile to do this on a
- floppy based system. What the command does is tell DOS to look
- there when it needs to reload COMMAND.COM (large programs will
- overwrite a part of COMMAND.COM and when they exit, DOS will
- try to reload COMMAND.COM. With the above command, you'll no
- longer get "Place a disk with command.com in drive A: and hit
- any key to continue".)
-
- -It really is important to put the proper date and time in your
- system. Be sure to include the DATE and TIME commands or else
- be sure to get a clock and place the appropriate commands
- setting the system time from the clock into your AUTOEXEC.BAT
- file.
-
- -if you want to keep track of how often you boot, keep a record
- in a convenient directory. Make a file called junk consisting
- only of a carriage return line feed and include the lines
- date >>directory\logon <junk
- time >>directory\logon <junk
- You will then get the lines
- Current date is Wed 7-23-1986
- Enter new date (mm-dd-yy):
- Current time is 16:29:22.70
- Enter new time:
- for each time you bootup. With CED, EBL or some other programs
- you can get this record in a more elegant fashion without the
- "Enter new ..." lines.
-
-
-
- Speed and Memory tips
-
-
- Some final remarks about tricks to minimize memory usage and speedup
- your bootup procedure. When DOS loads any program it saves a
- copy of the current environment in memory, one copy for each
- program. It doesn't force the copy to be as large as the empty
- space that you've set aside via a shell command but only to keep
- in full the present value of all environmental variables. Thus
- you can save memory by keeping the environment small while your
- AUTOEXEC.BAT file is loading your resident programs. Two
- variables are always present: path and comspec. I start my
- AUTOEXEC.BAT file with a line
-
- Path=A
-
- This is incorrect syntax and gets ignored when the path is needed.
- I have to be sure to put down full path names of all the programs
- that I load but that speeds processing any ways. I reset the path
- and set the prompt at the end of my AUTOEXEC.BAT after I've loaded
- my resident programs. Given my fancy prompt, I save almost 200
- bytes per resident program from what would happen if I set my
- path and prompt at the beginning of my AUTOEXEC.BAT. In total I
- save several K of RAM: not a lot but every little byte helps.
-
-
- BATch files are read by DOS a line at a time so BATch files really
- do get processed much faster from a RAM disk than from a floppy.
- There is a smaller difference between a hard disk and a RAM disk.
- If you have a RAM disk and a floppy based system, it is well worth
- your while to place what would have been your AUTOEXEC.BAT in a
- file called startup.bat and have your AUTOEXEC.BAT read:
-
- copy startup.bat C:
- C:startup.bat
-
- assuming your RAM disk is C:. To conserve space, you can have the
- last line in startup.bat say
-
- erase C:startup.bat
-
- You'll get a "batch file missing" error message but other than
- that the method will work perfectly. This procedure can also be
- used on a hard disk. The savings when I did it on my hard disk
- was two seconds out of about 65 so you may not feel it is worth
- your while.
-
-
- You can slightly speed up processing of BATch files especially
- from floppies by using the FOR...IN...DO command to combine
- several commands in one line. For example, if you want to copy
- \bin\batfiles, \bin\dump and \bin\opsys to your RAM disk you might
- try
-
- for %%a in (\bin\batfiles \bin\dump \bin\opsys) do copy %a C:\ >nul
- if C: is your RAM disk. This can actually cut about 10% off a
- long AUTOEXEC.BAT file. Several warnings are in order. First,
- FOR...IN...DO parse the list at spaces so you can't combine
- commands which have parameters in this way. Secondly, I strongly
- recommend against using this device to load resident programs
- particularly if you plan to use Kokkenen's MARK/RELEASE package.
-
-
-
-
- Summary
-
-
- By using your CONFIG.SYS and AUTOEXEC.BAT files you can
- personalize many aspects of your PC.