PLUS Series Technical Notes
#52: Memory management utilities and Plus Series programs
Date:October 14, 1993
Previous Revisions: 66/10/92, 4/5/92
Audience: Customer technical staff
Memory management utilities can improve performance and usefulness
of suitably equipped computers. This document contains a highly
technical discussion of some issues involved when running CD-ROM
programs (such as Bowker's Plus Series, and the Martindale-Hubbell
Law Directory on CD-ROM) under various memory managers.
DOS v5.0 and higher include support for upper memory blocks, allowing
device drivers and TSR programs to load into the address space
between 640K and 1mb. This provides more conventional memory
(below 640K) for applications programs.
UMB memory can be implemented on 386-based computers by using
the EMM386.EXE driver which accompanies DOS v5.0 and v6.0. Third
party memory managers such as Quarterdeck's QEMM and Qualitas'
386MAX also implement UMB memory in their recent releases. Similar
products are available for suitably equiped 286-based computers.
Customers may attempt to load the Microsoft CD-ROM Extensions
into upper memory blocks explicitly (by invoking the DOS LOADHIGH
command). Third-party memory managers provide installation programs
that will set up the customer's computer to place MSCDEX into UMB memory.
For example, QEMM's Optimize program will change AUTOEXEC.BAT
to load MSCDEX into UMB memory using Quarterdeck's LOADHI.EXE
program. This document will focus on QEMM, since it is the most
popular third-party memory manager.
Several customers have reported that the CD-ROM Extensions will
give unpredictable results if MSCDEX is loaded into UMB Memory.
Others have reported no difficulties. In limited testing, we
have discovered that using Quarterdeck's LOADHI.EXE rather than the DOS LOADHIGH command
gives better results. The success or failure of loading MSCDEX
high appears to involve several factors; BIOS manufacturer and
date, motherboard manufacturer, etc. No clear rule applies; for maximum
compatibility, we recommend that customers do not load MSCDEX
high, if they are using a version of MSCDEX prior to 2.21
Current device drivers (HITACHIA.SYS, SONY_CDU.SYS, etc.) can
be loaded into UMB memory without problems.
Placing MSCDEX into upper memory should have no impact on the
Bowker Plus Series products, since none of them use MSCDEX.
The MARTINDALE-HUBBELL Law Directory on CD-ROM does use
MSCDEX, and thus will be affected.
If the customer is experiencing problems with other CD-ROM products,
and wish to avoid this, try loading MSCDEX as a conventional TSR.
This means either adding MSCDEX to the list of programs that Optimize
will ignore (see the QEMM documentation for this procedure) or
changing AUTOEXEC.BAT after Optimize has been run. Change the
line that reads
C:\QEMM\LOADHI C:\BIN\MSCDEX . . .
to read:
C:\BIN\MSCDEX . . .
Since QEMM provides EMS memory, the conventional memory required
to run MSCDEX can be reduced by adding the /E parameter. This
will force MSCDEX to allocate its buffers in EMS memory, and should
keep the conventional memory usage down to about 15K. This may
or may not work with other memory managers, depending on how they
are configured.
In summary:
- If using EMM386.EXE, do not load MSCEX high.
-
If using QEMM, load MSCDEX high using LOADHI.EXE rather than
LOADHIGH.
-
If problems occur with CD-ROM products under QEMM, do not use
LOADHIGH.
-
In all cases, use the /E parameter to free up conventional memory.
|