Contents of the QEMMFIX.DOC file
QEMM386 5.11 includes support for Windows 3.0 standard and 386 enhanced modes.
In 386 enhanced mode, a special driver is required for proper operation of
Windows 3.0. This driver is distributed with QEMM386 as WINHIRAM.VXD.
QEMM386 is responsible for loading this driver when Windows 3.0 runs in
Enhanced mode. This means that QEMM386 must be able to locate this file on
your hard disk. What QEMM386 does is to save the drive and directory name
that it is loaded from, and later it expects to find WINHIRAM.VXD in the
This causes problems in situations such as on a diskless network workstation
that boots from a network disk. In such a situation, the network simulates
a disk drive that looks like a floppy drive to the workstation. This "drive"
contains the files needed to boot the workstation, including QEMM386.SYS.
Since QEMM386 will record the drive and directory it is booted from, it will
actually be recording the name of this temporary "drive" the network has
created. Later, when Windows 3.0 is run in Enhanced mode, it fails, because
this temporary drive either no longer exists or is replaced by a real floppy
QEMMFIX is a patch program that updates the QEMM386 Version 5.11 device driver
once it has been loaded into memory to correct this problem. It locates the
buffer in memory containing the filename for WINHIRAM.VXD and changes it to
a drive, directory and filename you specify. Windows 3.0 will then be able
to operate in 386 Enhanced mode.
Erratic system behavior occurs if you try to load Windows in 386 Enhanced
mode without the WINHIRAM.VXD driver, ranging from an error message indicating
Windows is unable to load the 386 Expanded Memory Manager to a memory dump
displayed on the screen, sometimes with a QEMM386 Exception #13 error.
When to run QEMMFIX
QEMMFIX should be run as soon as practical after the QEMM386.SYS driver has
been loaded into memory. On a diskless workstation that is booting from
the network drive, the ideal location is in the AUTOEXEC.BAT file which the
workstation boots from. Once QEMMFIX has been run, it is not necessary to
rerun the program until the workstation is rebooted.
Method of Operation
QEMMFIX has two command line parameters:
QEMMFIX searchpath [replacepath]
If replacepath is not specified, QEMMFIX will NOT modify any memory location
but will only perform the search operation and report the location which it
QEMMFIX searches through memory for the searchpath specified. searchpath can
be either the fully qualified filename for WINHIRAM.VXD which would include
the drive and directory that QEMM386.SYS was loaded from (A:\WINHIRAM.VXD is
the likely searchpath for diskless workstations) or it may be just the
filename WINHIRAM.VXD. If just the filename is specified, QEMMFIX will
display the fully qualified searchpath once it is found, for verification.
QEMMFIX looks for a specific pattern in memory to identify the correct
location to modify. This pattern works correctly in QEMM 5.11. It has not
been tested with any other version of QEMM386. Use it with care and
caution with any other version.
Once QEMMFIX has found the memory location for the searchpath, it will replace
it with the fully qualified filename specified for replacepath. This must
include the name of the WINHIRAM.VXD file, too. If you do not provide the
name of the WINHIRAM.VXD file as part of replacepath, Windows 3.0 will not be
able to load the driver.
QEMMFIX winhiram.vxd f:\public\qemm\winhiram.vxd
Will search for the QEMM386.SYS driver in memory and update the searchpath
for WINHIRAM.VXD with the filename "F:\PUBLIC\QEMM\WINHIRAM.VXD".
The suggested use of QEMMFIX on a Novell Network is as follows:
This example assumes QEMM 5.11 is installed in the directory SYS:PUBLIC\QEMM
and that volume SYS: will be mapped to drive F: whenever Windows 3.0 is run.
Make the appropriate changes to the example if this is not how your network
is set up.
Copy QEMMFIX.EXE to SYS:LOGIN. In the batch file for the diskless
workstation, add the line "QEMMFIX WINHIRAM.VXD F:\PUBLIC\QEMM\WINHIRAM.VXD"
to the batch file the boots the workstation, placing it after the network
shells (IPX & NETx) have been loaded.
Under DOS 4.01, you can also use the volume name instead of a mapped drive.
In the example above, you could use:
"QEMMFIX WINHIRAM.VXD SYS:PUBLIC\QEMM\WINHIRAM.VXD"
QEMMFIX is distributed free of charge. There is no cost to use this program
in any environment as long as it remains unmodified and retains the original
copyright notice. It may be distributed with any product in its original
form as a ZIP file, containing this documentation file and the executable.
QEMMFIX is a product of Software Environments, Inc., P.O. Box 690718, Orlando,
Florida 32869-0718. Written by Doug Swallow, CompuServe ID #72241,100.
Copyright (C) 1990 Software Environments, Inc. All rights reserved.
Please send any requests for additional information, comments, suggestions, or
problem reports by CompuServe MAIL, or by U.S. Mail.