     HOW TO GIVE YOUR COMPUTER MORE CONVENTIONAL MEMORY

One of the most common questions we receive at ImagiSOFT is
"I have eight megabytes of memory in my computer, why does
your program say that there isn't enough memory to run it?"
The answer to this is that MS-DOS computers all have several
types of memory:

   Conventional Memory, the first 640K
   Upper Memory, the next 384K between 640K and 1 mega
   Extended Memory (XMS), memory above 1 meg (defined with
        EMM386.EXE)
   Expanded Memory (EMS), memory above 1 meg (defined with
        EMM386.EXE)

Sound confusing?  It is.  But the primary thing to you need
to know is that Conventional Memory is the most
precious--without it, few programs can run--even if you have
eight megabytes of memory!  To check how much memory your
computer has left, enter the command MEM /C and look for the
column titled Conventional Memory.  If it says you have less
than 550K free, your computer probably is not be configured
properly.

The primary reason DOS 5.0 was so successful was that it
provided good memory management, using a utility called
HIMEM.SYS for 286 and 386 computers.  The purpose of
HIMEM.SYS is to "Load High" into upper memory major portions
of DOS, and other programs when you turn your computer on.

MEMMAKER
~~~~~~~~
DOS 6.0 and DOS 6.2 provided a host of useful DOS utilities
including SCANDISK, DEFRAG, and a real backup program.  One
of the most useful utilities is a memory optimization
utility called MEMMAKER which, for most people, takes care
of their woes with memory.  If you have DOS 6.0 or 6.2 run
MEMMAKER at your DOS prompt, and if you don't understand the
questions as they appear on your screen accept the default
answer. Your problems with insufficient conventional memory
will likely disappear, and memory hungry programs such as
Windows will run better.

ADVANCED USERS
~~~~~~~~~~~~~~
If you have DOS 5.0 or if you are interested in learning
what MEMMAKER is does to your computer, enter the command
EDIT CONFIG.SYS at your C\> DOS prompt.  If you have a 386
class computer, your CONFIG.SYS file should look similar to
the following:

   buffers=20  (number can vary)
   files=60    (number can vary)
   device=c:\dos\himem.sys (always include this line)
   device=c:\dos\emm386.exe noems (if you have 2 megs or
        more and a 386 or 486)
   dos=high,umb (always include this line (no umb on 286))

To optimize your memory, precede all memory resident .SYS,
.EXE, and .COM programs in this file with "devicehigh = "
instead of just "device =."  For example, replace
   device = mouse.sys        with
   devicehigh = mouse.sys.
In most cases, following these few steps will increase your
memory dramatically by putting these programs in upper memory
instead of conventional memory.

After you are done editing CONFIG.SYS, EDIT AUTOEXEC.BAT.
Your AUTOEXEC.BAT file will usually have something similar
to the following:
   verify on                  (optional)
   set home = c:\bingo        (optional)
   prompt $p$g                (could be different)
   path \dos;c:\util          (probably much longer)
   loadhigh \dos\mouse.com    (mouse driver)

The important thing to remember with AUTOEXEC.BAT is to use
the loadhigh command on all resident .EXE and .COM programs
to put these programs into upper memory.  For example,
instead of loading the mouse into conventional memory with
the command
   \dos\mouse.com,
   loadhigh \dos\mouse.com
puts the mouse driver into upper memory.

When you are done making changes to CONFIG.SYS and
AUTOEXEC.BAT, reboot your computer.  Enter the command
MEM /C again, and you should see that your computer has much
more conventional memory available.  If these simple changes
don't help, try changing the order in which these programs
are loaded "high" to fill any "holes" you see in your memory
map listed on the screen by the MEM utility.

DESPERATION
~~~~~~~~~~~
If you still need more Conventional Memory, your last option
is to remove some of your memory resident programs with the
"rem" statement.  EDIT CONFIG.SYS and AUTOEXEC.BAT again and
insert REM in front of the .COM, .SYS, and .EXE files which
you may not need.  For most users a good start is changing:

   devicehigh = c:\dos\setver.exe         to
   rem devicehigh = c:\dos\setver.exe

The purpose of the SETVER utility is to make older DOS
programs which must be run on a particular version of DOS,
such as verion 3.3.  Few programs need this utility, and
inserting the letters "rem" in front of this command removes
it from your computer's memory.  If you discover that you
need this program later, EDIT CONFIG.SYS again and remove
the  "rem"  from the beginning of the  statement.   Removing
SETVER will give you about 2K additional conventional memory.

If you do not understand what the function of a .SYS or .COM
program is, use the "When in doubt, take it out" philosophy.
Your computer will tell you if you remove something that it
needs, such as a sound card driver or CD-ROM driver.  You
might get lucky and remove an old driver that you no longer
need!

SMARTDRV takes about 40K of conventional memory, and for
many people, removing this program from memory makes sense.
SMARTDRV speeds up your hard disk access by using part of
your memory for temporary storage.  Remove it, and if you
discover that some programs are much slower than they were
before, especially Windows, put it back.


Written by
Mike Prestwich,
ImagiSOFT, Inc.

June, 1992
Revised December 1994

May be freely distributed.


