LOADING THE DOS VERSION
OF JAWS INTO HIGH MEMORY
 
 January 1994
 
 
 
CONTENTS
 
    1.   INTRODUCTION TO MEMORY AREAS
    2.   MEASURING CURRENT MEMORY USAGE
         2.1  DOS MemMaker
         2.2  QEMM
    3.   STEPS FOR LOADING JAWS HIGH
         3.1  Make a Boot Disk
         3.2  Remove Unessential programs
         3.3  Run Memory Allocation Software
         3.4  Check Your Results
         3.5  JAWS Did Not Load into High Memory
         3.6  Restore CONFIG.SYS
         3.7  Restore Batch Files
         3.8  Final Check
    4.   ADDITIONAL WAYS TO SAVE MEMORY
         4.1  CONFIG.SYS
         4.2  AUTOEXEC.BAT
    5.   RECOVERING FROM BOOT FAILURE
1.  INTRODUCTION TO MEMORY AREAS
 
    This chapter describes the process that is used to
load JAWS into high memory.  It is desirable to load JAWS
into high memory when the demand for lower memory is
large.  If your PC is working efficiently and you have not
encountered a problem with insufficient memory, then you
may not need to be concerned about loading JAWS and
other software into high memory.  Also, if the hardware of
your PC does not have additional memory, then you will be
unable to load JAWS high.  You can load JAWS into high
memory on computers that have an 80386 or an 80486
computer processor with additional memory.  Older PC's
such as 80286 and 8088 PC's have very limited or no
possibility of using high memory, and therefore are being
excluded from discussion in this chapter. 
 
    When you install JAWS on your PC, it is
automatically setup to use conventional memory. 
Conventional Memory is usually the first 640K of a
computer's memory.  This memory area is typically shared
by DOS, JAWS, terminate and stay resident (TSR)
software, and by most application software programs.  For
example, if you are using JAWS with a DECTalk PC
synthesizer and with WordPerfect, then these software
programs and related device drivers are all sharing the
640K of conventional memory.  In many cases, the
conventional memory area is large enough to effectively
run JAWS and a major application software program such
as WordPerfect, Lotus 1-2-3, etc.  However, as application
software programs continue to grow in size, and the use of
increased numbers of TSR software programs continue to
grow, it is possible to reach a point where the conventional
memory area is just not large enough. 
 
    To address the problem of inadequate conventional
memory size, PC designers have devised several solutions
which can increase the amount of PC memory that is
available for software applications.  The terms:  expanded
memory, extended memory, Shadow RAM, stelf memory,
and high memory are all used to refer to memory areas
beyond the first 640K of conventional memory.  For the
purpose of this chapter, we will use the global term of
High Memory to refer to all memory that is in addition to
the 640K of conventional memory located in the lower
memory area.
 
    Several of the following sections make a distinction
between two memory managers.  A Memory Manager is
software that determines how the high memory area is to
be used.  "MemMaker" which is part of recent Microsoft
DOS versions, and "QEMM" which is produced by
Quarterdeck, will be discussed in this chapter.  The basic
steps that are described for these memory managers,
however, can be applied to other memory managers. 
Regardless of the memory manager you use, you should
only use one memory manager at a time.  Thus, you should
only follow the instructions that refer to the specific
memory manager you are using.
 
 
2.  MEASURING CURRENT MEMORY USAGE
 
    Before deciding to load JAWS into high memory, we
should determine how your PC's memory is currently being
used, and whether you can (or should) load JAWS and
other software into high memory.  
 
2.1 DOS MemMaker
 
    At a DOS prompt either type: 
 
    MEM /C
    or 
    MEM /P( for DOS 6.2)
 
    The information that is displayed on the screen
shows the current memory usage for your PC.  It shows
which programs are running in conventional memory and
in high memory.  The most important information in this
analysis is found at the bottom of the list.  The number
that follows the line "Largest Executable Program Size"
indicates the amount of conventional memory that is
available to run additional software.  This number is likely
to range from 300K to 600K.  Make a note of the memory
size for future reference.
 
2.2 QEMM
 
    At a DOS prompt, change to the \QEMM
subdirectory by typing C:\QEMM and pressing ENTER.
 
    Next, from the \QEMM prompt, type QEMM SUM
and press ENTER.
 
    At this point, QEMM displays its analysis of memory
usage.  The top line of data describes the amount of
conventional memory that is available.  The fourth number
on the line is the amount of free memory in the lower
memory area.  This number is likely to be a number in the
range of 300K to 600K.  Make a note of the memory size
for future reference.
 
 
3.  STEPS FOR LOADING JAWS HIGH
 
    If the results in the preceding section indicate that
you have less than 500K of free memory, then you may
wish to load JAWS and other terminate and stay resident
software into high memory.  Many application software
programs now require 500K to 600K of free memory in the
lower memory area, and if you are substantially below
500K, then you may experience a shortage of available
memory.  The maximum free memory that could be made
available when DOS, JAWS, and device drivers are loaded
into high memory is in the range of 600K to 615K.
 
    If you decide to load JAWS into high memory, then
follow the remaining steps in this section.
 
3.1 Make a Boot Disk
 
    You should make a boot disk that includes copies of
the AUTOEXEC.BAT and CONFIG.SYS files that you are
currently using.  The boot disk might be needed in the
event the procedures we describe fail to achieve the
intended result for your PC and you lose the use of your
speech system.  Please refer to section 5 of this chapter in
the event you need to use the boot disk to restore the
original setup on your PC.  You can make a boot disk by
following these steps:
 
a.  Begin with a freshly formatted floppy diskette.  If
    you have more than one diskette drive, then the
    diskette should fit into your "A:" drive.
 
b.  From the root directory of your hard disk (usually
    the C:\ drive) type SYS B: and press ENTER.  This
    will copy the DOS system to the floppy diskette.
 
c.  Copy the "AUTOEXEC.BAT", "CONFIG.SYS", and
    "COMMAND.COM" files from the root directory of
    your hard drive to the floppy diskette.  For example:
 
    Type COPY C:\AUTOEXEC.BAT A: and press
    ENTER.
 
d.  Remove the boot disk from the floppy diskette drive
    and store it in a safe place.
 
3.2 Remove Unessential programs
 
    Your CONFIG.SYS and AUTOEXEC.BAT files are
used by the PC when it boots up.  These files configure the
operating system, set parameters, and load certain types of
software.  The order in which commands appear in the
CONFIG.SYS and AUTOEXEC.BAT files is directly related
to the order in which sections of free memory are used. 
Thus, since we want to be sure that there is enough room
in high memory to load JAWS, it is necessary to
temporarily remove some of the commands from these two
files.  The commands will all be restored at the end of this
procedure.
 
    Our goal is to only remove unessential commands,
while preserving commands that enable JAWS and your
synthesizer to speak.
 
    To prepare the CONFIG.SYS and AUTOEXEC.BAT
files, you need to use a text editor or word processor to add
the expression "REM" to the beginning of each line that
you wish to prevent from being used.  For example, if a
line in the CONFIG.SYS appears as follows,
 
    C:\DRIVERS\SJDRIVER.SYS
 
then you should add "REM" at the beginning of the line so
that it reads as shown below.
 
    REM C:\DRIVERS\SJDRIVER.SYS (Notice that
    there is a blank space after the expression REM,
    and that quote marks are not used around the
    expression.)
 
Step 1:  Begin with the CONFIG.SYS
 
    Begin by modifying lines in your CONFIG.SYS file. 
Once you have made the necessary changes, then save the
file to your root directory.  Use the proper path and
original file name which is usually "C:\CONFIG.SYS".
 
    IMPORTANT!  If you are using a word processing
program to modify this file, then be sure to save the file as
a DOS text file or in a non-document format.  The file will
not function properly when it is saved as a word processing
file.
 
Tip
    If your synthesizer uses a device driver, then do not
place "REM" at the beginning of the line that loads the
synthesizer.
 
Step 2:  Next Modify the AUTOEXEC.BAT
 
    Begin modifying the AUTOEXEC.BAT file by placing
"REM" in front of the lines which you wish to exclude from
being used.
 
Tips
 
a.  Do not place "REM" at the beginning of the line that
    starts with the word "PATH". 
 
b.  If your AUTOEXEC.BAT contains the line
    "C:\DOS\SMARTDRV.EXE", then exclude this line
    by adding "REM" at the beginning of the line. 
 
c.  Place "REM" in front of the line that says "CALL
    JAWS".
 
    You now need to copy the contents of the file
"JAWS.BAT" to the very end of the AUTOEXEC.BAT file. 
This file is usually located in the default \JAWS
subdirectory.  In most cases, this means that you would
retrieve the file "C:\JAWS\JAWS.BAT".  If you did not
REM out the line "CALL JAWS", then this must still be
done.
 
    If you are using a DECTalk synthesizer, then you
also need to copy the contents of "DECTALK.BAT" into the
AUTOEXEC.BAT file.  The commands from the
DECTALK.BAT file must precede the lines of text from the
JAWS.BAT file.
 
    Once you have made the necessary changes to your
AUTOEXEC.BAT file, then save the file to your root
directory.  Use the proper path and original file name
which is usually "C:\AUTOEXEC.BAT".  
 
    IMPORTANT!  If you are using a word processing
program to modify this file, then be sure to save the file as
a DOS text file or in a non-document format.  The file will
not function properly when it is saved as a word processing
file.
 
3.3 Run Memory Allocation Software
 
    During this step you will use software which is
designed to determine how your high memory can most
effectively be used.  The software will load JAWS and your
other software into various regions of high memory to find
the best memory location for each software program. 
During the use of these software programs, your PC will
reboot automatically one or more times.  Follow the steps
below for either MemMaker or QEMM.
 
    If you will be using the DOS MemMaker, then, at a
DOS prompt, type MEMMAKER and press ENTER. 
Select the option for doing an automatic setup, and let
MemMaker work on your memory.  This may take several
minutes.
 
    If you will be using QEMM, then change to the
\QEMM subdirectory, type OPTIMIZE, and press
ENTER.  Select the option for doing an automatic setup. 
The optimize procedure may take several minutes to
complete. 
 
3.4 Check Your Results
 
    After you have used MemMaker or Optimize, then
you will need to determine whether JAWS was loaded into
high memory.  Do this by using one of these commands.
 
DOS MemMaker
 
    Type MEM /C and press ENTER, 
    or
    Type MEM /P and press ENTER.  (Use this for DOS
    6.2)
 
    Examine the number which is shown by "Largest
    Executable Program Size".  It should be 100K or
    more larger than it had been.  Also examine the list
    of programs which are displayed to find out where
    the executable JAWS program has been loaded.  The
    executable JAWS program will have a name such as
    "J_DECTLK.EXE", "J_ACNTPC.EXE", etc.  If the
    memory size has not increased as indicated and the
    executable JAWS program is still in conventional
    memory, then follow the suggestions in section 3.5.
 
QEMM Optimize
 
    Type CD\C:\QEMM and press ENTER to change
    to the \QEMM subdirectory.
 
    Type QEMM SUM and press ENTER.
 
    Now you can examine the last number on the top
    line of the memory analysis for conventional
    memory.  It should be 100K or more larger than it
    had been.
 
    To varify that JAWS has been loaded into high
    memory,
    Type LOADHI and press ENTER.
 
    Look for the executable JAWS program name in the
    list of programs that are shown as being loaded in
    high memory.  The executable JAWS program will
    have a name such as "J_DECTLK.EXE",
    "J_ACNTPC.EXE", etc.
 
    If your conventional memory has not increased and
    JAWS is not loaded into high memory, then follow
    the suggestions made in section 3.5.  You can also
    verify whether JAWS was loaded into high memory
    by examining your new AUTOEXEC.BAT file.  If the
    executable JAWS program was loaded into high
    memory, then Optimize will have added instructions
    to the beginning of that line so that the line would
    look something like the following.
 
    C:\QEMM\LOADHI /R:3 J_ACNTPT.
 
3.5 JAWS Did Not Load into High Memory
 
    If JAWS was unable to be loaded into high memory,
then you will need to rearrange your AUTOEXEC.BAT file. 
You will need to move the lines of text from the end of the
AUTOEXEC.BAT file that were taken from the JAWS.BAT
file, and move them to the top of AUTOEXEC.BAT.  If you
are using a DECTalk PC synthesizer, then you will also
need to move the lines of text from the DECTALK.BAT
file.  The lines of text from the DECTalk file should always
precede the lines from the JAWS.BAT file.
 
    Save the revised AUTOEXEC.BAT file as a DOS text
or non-document file and repeat the steps presented in
sections 3.3 and 3.4.
 
    If you repeat the steps in the preceding two sections
and find that JAWS still was not loaded high, then you
may need to do a custom setup with MemMaker or
Optimize.  Please refer to the user's manuals for those
software programs to obtain assistance.  If you are using
QEMM, then you may wish to read the chapters that
discuss Stelf RAM.  Also, section 4 of this chapter contains
additional tips for increasing memory, and those
suggestions could help JAWS load into high memory.
 
3.6 Restore CONFIG.SYS
 
    If JAWS has been loaded high and it operates
properly, then you will need to restore the CONFIG.SYS
file.  You do this by retrieving the CONFIG.SYS file from
the root directory of your hard disk drive and removing the
expression "REM" from the beginning of each line to which
it had been added when you began this process.  Next, save
the file back into your root directory.  Be sure to save the
file as a DOS text file or in a non-document format. 
 
3.7 Restore Batch Files
 
    If JAWS has been loaded high and it operates
properly, then you will need to restore the
AUTOEXEC.BAT and JAWS.BAT files. If you have a
DECTALK.BAT file then it will also need to be restored.
 
    You do this by retrieving the AUTOEXEC.BAT file
from the root directory of your hard disk drive.  Then, you
will need to copy lines of text from the AUTOEXEC.BAT
file and replace the commands that were in the original
batch files.  Thus the lines that were in JAWS.BAT should
be copied back to that file.  If lines had been copied from
DECTALK.BAT, then these lines should be copied back to
DECTALK.BAT.  Once the lines have been copied to batch
files, then the lines should be removed from the
AUTOEXEC.BAT file.
 
    Some PC users prefer to create a new batch file for
loading JAWS into high memory.  If this is preferred, then
you should not copy the modified lines of text to
JAWS.BAT.  Instead, create a new batch file called
"JAWSHIGH.BAT".  When this is done, you will have the
option of loading JAWS into conventional memory or high
memory by typing the batch file name of JAWS or
JAWSHIGH.  Place the JAWSHIGH.BAT file in the default
\JAWS subdirectory.
 
    Next, we need to remove all of the "REM"
statements that were added to the AUTOEXEC.BAT file
when we began these procedures.  If you created a new
batch file called JAWSHIGH.BAT, then you should change
the line in the AUTOEXEC.BAT file that says "CALL
JAWS.BAT" to "CALL JAWSHIGH.BAT".
 
    Next we will modify the DOS SMARTDrive
command line in the AUTOEXEC.BAT file.  Add "/L" after
the command.  This will force SMARTDrive to be loaded
into conventional memory.  This is done to prevent
SMARTDrive from being loaded into high memory, which
could prevent JAWS from being loaded into high memory. 
If you wish, you could choose to not use the /L parameter
and then monitor the loading of JAWS.  If you find that
there is enough room for both JAWS and SMARTDrive to
be loaded into high memory, then you can continue to not
use /L.  If JAWS will not load into high memory along with
SMARTDrive, then you must use the /L parameter.
 
    Finally, you are ready to save the new
AUTOEXEC.BAT file to the root directory.  If you are
using a word processing program to modify this file, then
be sure to save it as a DOS text file or in a non-document
format.
 
3.8 Final Check
 
    After you have saved the modified files as described
in sections 3.6 and 3.7, then reboot your computer. 
Everything should work properly, and JAWS should be
loaded into high memory.  If you want to examine the
current memory usage, then follow the steps presented in
section 2 and in section 3.4.
 
    If JAWS does not talk after you reboot, then read
section 5 to find out about using the boot disk for restoring
the speech system.
 
 
4.  ADDITIONAL WAYS TO SAVE MEMORY
 
    The following tips may help you to further increase
the size of free conventional memory.
 
4.1 CONFIG.SYS
 
a.  The number of BUFFERS and FILES that are
    specified in your CONFIG.SYS affects memory
    usage.  A greater number of DOS buffers and files
    will utilize more memory than will a smaller
    number.  Values of FILES=30 and BUFFERS=20
    should be adequate for most situations.
 
b.  If you use the DOS LASTDRIVE command, then be
    sure you are not allocating too many drive
    structures in memory.  Setting this value higher
    than is necessary wastes memory.  If the command
    is not used in your CONFIG.SYS, then DOS sets the
    LASTDRIVE value at one drive letter higher than
    your highest drive.  If, for example, your PC has two
    drives (A: and C:), then DOS sets the value equal to
    "D".  In this example, you could set LASTDRIVE=C
    to save a little memory.
 
c.  If you are using the DOS STACKS command, you
    can probably free up some memory by reducing the
    value for the command.  It is common to find
    STACKS=9,256 in a CONFIG.SYS file.  In most
    cases, you can set STACKS=0,0 and save memory. 
    (CD drive multi-media systems may require the
    higher value for STACKS.)
 
d.  It is a standard practice to load DOS into high
    memory.  If your CONFIG.SYS file does not contain
    the line "DOS=HIGH UMB" then it probably should.
 
e.  The CONFIG.SYS command
    "DEVICE=C:\DOS\SETVER.EXE" helps application
    software with determining which DOS version is in
    use.  This command is usually not necessary, though
    it does provide some additional safety for programs
    that should only be run with specific DOS versions.
 
4.2 AUTOEXEC.BAT
 
    There are several ways to rearrange commands in
the AUTOEXEC.BAT to reduce memory usage.
 
    If you move the PATH, PROMPT, and SET
statements to the end of your AUTOEXEC.BAT, then you
will probably reduce memory usage.  The goal here is to
load larger programs first and to load the smallest
programs last.  This means JAWS should be loaded first. 
JAWS, and many other programs, require a larger amount
of memory when they load than they will occupy when they
are running.  Thus, the memory space that is given up
after JAWS loads can be used by smaller programs that
are loaded after JAWS.
 
    The obvious disadvantage of loading JAWS at the
beginning of the AUTOEXEC.BAT file is that JAWS will
normally speak all of the information that is displayed on
the screen in response to commands that follow the loading
of JAWS.  If you have followed the steps presented earlier
in this chapter and JAWS is being loaded into high
memory, then the order of commands shown in the sample
AUTOEXEC.BAT file will minimize memory usage and
prevent JAWS from speaking unwanted information that
is generated by the AUTOEXEC.BAT.  This is a sample
AUTOEXEC.BAT file, and is not intended for use in a PC. 

 
    C:\DOS\SMARTDRV.EXE /L 512
    call C:\JAWS\JAWSHIGH.BAT
    LOADHIGH C:\JAWS\J_UNLOAD /S
    PATH=C:\DOS;C:\JAWS;C:\WP51;
    SET WP= /NC
    PROMPT $p$g
    LOADHIGH C:\JAWS\J_UNLOAD /S
 
 
    The first time the J_UNLOAD command is used, it
will put JAWS into standby mode.  JAWS is still loaded in
memory, but it will not speak again until the command is
repeated at the end of the batch file.  The command must
include the "/S" parameter to activate and deactivate
standby mode.  If the "/S" is not used, then JAWS will be
unloaded from memory.
 
 
5.  RECOVERING FROM BOOT FAILURE
 
    In the event JAWS stops functioning and you lose
speech as a result of modifying your AUTOEXEC.BAT and
CONFIG.SYS files, then you should follow these steps to
restore your original CONFIG.SYS and AUTOEXEC.BAT
files.  Once these files have been copied to the root
directory of your hard disk, then speech should be restored
when you reboot your computer.
 
a.  Place the boot disk you made in step 3.1 into your A:
    Drive, close the drive door, and reboot your PC.  The
    PC should boot normally, though it will probably
    take longer to boot than it does when it boots from
    the hard drive.
 
b.  Change to the A: drive by typing A: and pressing
    ENTER.
 
c.  From the A: drive, execute the following two
    commands.
 
    Type COPY AUTOEXEC.BAT C:\ (press ENTER)
 
    Type COPY CONFIG.SYS C:\ (press ENTER)
 
d.  Remove the floppy diskette from the A: drive and
    reboot the PC.  JAWS should then work normally.
 
