ID:WT Windows 3/QEMM386 Troubleshooting
Quarterdeck Technical Note #179 Filename: WIN-TRBL.TEC
by Stan Young CompuServe: WINTRB.TEC
Last revised: 3/13/92 Category: SW3
Subject: Trouble-shooting MS Windows 3.0 / QEMM-386 installations. What to do
if Windows fails to start in Enhanced mode or crashes on exit. Some
info on typical MS Windows problems unrelated to QEMM-386 is
QEMM-386 version 5.10 and above supports Windows 3.0 in all of its
processing modes: Real, Standard and 386 Enhanced.
The QEMM-386 upgrade booklet gives some specific instructions for the set
up of QEMM-386 to ensure Windows compatibility. Most users who follow these
instructions should find that Windows 3.0 will operate correctly with QEMM-386
in all three modes. For the most part, we have not seen problems which relate
to QEMM-386 setup when running in Real or Standard modes.
However, due to the broad range of hardware and software which may be
combined in some systems, we have seen configurations which have experienced
various problems when trying to run Windows 3.0 in 386 Enhanced mode.
These problems include failure of Windows to start up in Enhanced mode,
system crashes when exiting Windows in Enhanced mode, and in some cases
problems while running Windows which do not occur when you are not loading
IF WINDOWS 3.0 WILL NOT START IN ENHANCED MODE OR CRASHES ON EXIT
The first thing to do if you are having trouble starting Windows 3.0 in
Enhanced mode, or upon exit from Windows, is to check your system to be sure
that it has been set up as suggested in the QEMM 5.1 Upgrade Booklet.
Following are some items that are important to Enhanced mode operations:
1. Be sure the statement which loads QEMM-386 in your CONFIG.SYS file is
using the "RAM" parameter or that if you are not using the RAM parameter,
you should use "X=B000-B7FF" to exclude QEMM's use of the monochrome
video area. Additional information on this is given in the Upgrade
Booklet on page 4.
2. If you are running on a machine which has different speeds of memory,
you will need to use the NOSORT (NS) parameter. If you are running on a
machine which would normally have less than 640K of conventional memory
and where QEMM-386 is filling the memory to 640K, you must use the NOFILL
(NO) parameter. In both these cases, QEMM-386 cannot support these
features while Windows 3.0 is in Enhanced mode. This is because QEMM-386
must be in an "ON" state to manage sorted memory and memory filling.
Windows turns QEMM-386 off when it starts up in Enhanced mode. QEMM-386
does not have to be turned off when Windows is in Real or Standard modes,
therefore machines that require these features could run in those modes.
If you are not sure whether your machine has differing speeds of memory
or has 640K of conventional memory, try the parameters anyway. They will
have no negative effect if they don't apply.
3. If you are running QEMM-386 version 5.10 instead of 5.11 or later and
you have a machine, such as a PS/2 or microchannel compatible, which has
an extended BIOS data area, you must use the NOXBDA (NX) parameter so
that the extended BIOS data area will not be moved. QEMM-386 version
5.11 and later do not require this parameter, and if you are a registered
owner of QEMM 5.10 you may obtain an update at no charge to version 5.11
by sending a request for the update to Quarterdeck along with your
registered serial number. If you have not yet registered, you may
request the update when you send in your registration card. Also, if you
are getting paging errors from Windows, an upgrade to 5.11 may be
necessary. You can find out what version of QEMM you have, by running
the program "QEMMREG", which is loaded in your QEMM directory.
4. If you have an XGA card, you will need to either a) edit your Windows
SYSTEM.INI file and replace the line
with the line
or else use the QEMM EXCLUDE parameter to exclude the first 4K of the 32K
region (on a 32K boundary) in which the XGA ROM is located in the 640K-
1024K area. For more information, you should obtain Quarterdeck technote
#208, "XGA Video and Quarterdeck Products."
5. If you are using QEMM-386 version 6.0 or above with the "Stealth"
feature, be sure you have the statement "SystemROMBreakPoint=false" in
the SYSTEM.INI file in your Windows directory. The QEMM INSTALL program
puts this statement in the file automatically, so if you have a question
about whether or not the statement is there, simply reinstall QEMM-386.
PROBLEMS OR CRASHES WHILE RUNNING WINDOWS IN ENHANCED MODE
Problems or crashes which occur while running Windows 3.0 in Enhanced
mode are typically not the fault of QEMM-386, because while Windows is in
Enhanced mode, QEMM is completely disabled. In that state, QEMM-386 can
neither cause problems or prevent them if they occur. However there may be
changes to the system which QEMM-386 has made before being disabled which may
later cause problems for Windows. If you encounter problems while running
Windows, you should naturally consult with Microsoft Technical Support to see
if they have a solution to the problem.
If you suspect that QEMM-386 is somehow involved, try disabling QEMM
entirely (by putting the word "REM" before the line which loads the
QEMM386.SYS driver in your CONFIG.SYS). Leave all other resident programs or
drivers installed and see if the problem persists. If it does, then the
problem is not related to QEMM. If removing QEMM seems to correct the
problem, restore QEMM and then try undoing some of the changes that QEMM has
For instance, try loading QEMM, but do not load any of your resident
programs into high RAM. Also, if you are using FILES.COM or BUFFERS.COM, try
loading normal files and buffers. By the way, Windows 3.0 seems to require a
minimum of at least 25 file handles, so if you are allocating fewer than 25,
increase the number.
WINDOWS 386 ENHANCED MODE CONFLICTS WITH OTHER SOFTWARE AND HARDWARE
Windows 386 Enhanced mode may have conflicts with certain types of
hardware or software which are not related to QEMM-386. These problems are
best addressed by consulting with Microsoft or the manufacturers of the
problem hardware or software. However, here are some of the areas where there
might be conflicts:
Windows 3.0 currently supports ONLY the following networks:
LAN Manager v1.0 or 100% compatibles
LAN Manager v2.0 Basic or 100% compatibles
LAN Manager v2.0 Enhanced or 100% compatibles
Microsoft Network or 100% compatibles
Novell Netware v2.1 or Netware 386*
*Note: Use with Netware requires that you use 3.01 of the IPX and NETx
software. Contact Novell for this.
If your LAN is not one of the above or a compatible, then it probably
will not work properly with Windows. Even if it is one of the above,
there may be problems you may have to discuss with Microsoft or your LAN
vendor. Network support has been one of the problem areas of the initial
release of Windows 3.0.
2. EXPANDED MEMORY TSRs
If you are using TSRs before Windows which use expanded memory (disk
caches, network drivers, ram disks or pop-up programs which swap
themselves to expanded memory), these may not be compatible with Windows
3.0. Microsoft publishes a document for software developers that lists a
number of EMS functions which may not be exercised by programs that are
resident before Windows. In the past, some of these operations have been
fairly commonplace, which may indicate that many TSRs that use expanded
memory will be incompatible with Windows 3.0 -- at least in the enhanced
mode. If you encounter problems running TSRs that use expanded memory
before Windows 3.0, you should contact the manufacturer of the TSR to see
if the EMS functions they use meet the limitations as outlined by
3. BUS-MASTERING DEVICES
Bus-mastering devices are ones which do their own direct memory
addressing (DMA). DMA is done without going through the machine's
processor. The most common bus-mastering devices we see currently are
SCSI hard disk controllers, but technically, other types of devices could
be bus-mastering as well.
The problem with these devices is that they put data into absolute
memory addresses and assume that the contents of those memory addresses
will always remain constant. However, when running Windows 3.0 in
enhanced mode, this can often be an incorrect assumption. In Enhanced
mode, the same physical memory addresses can at any given moment hold
different data, depending on which virtual machine is current.
Windows has a solution for this problem: SMARTDRV.SYS. If you have
a bus-mastering device, and no VDS driver (see next paragraph), you must
load SMARTDRV.SYS, and load it LOW. You cannot use the switch "/B-" on
SMARTDRV.SYS, because it defeats this feature.
A better solution is to obtain a driver from the manufacturer of the
device which meets the VDS (Virtual DMA Services) specification. With
such a driver, Windows 3.0 should be able to operate with your bus-
mastering device without loading SMARTDRV.SYS low.
When you are not running Windows 3.0 in Enhanced mode, QEMM-386's
DISKBUF (DB) parameter can be used to work around these problems. But
again, since QEMM-386 must be disabled when Windows Enhanced mode is
active, the DISKBUF parameter will have no effect. SMARTDRV.SYS provides
the same service for Windows in Enhanced mode that the DB parameter of
QEMM-386 provides outside of Windows.
IF WINDOWS RUNS SLOWLY IN ENHANCED MODE:
A full hard disk will probably impair Windows' paging ability and reduce
the size and number of programs you can run in Windows. This symptom may look
more pronounced with QEMM present. If your operations in Windows seem to be
slower than they were previously or you find yourself running out of memory,
check to be sure you have plenty of free disk space. This should be at least
2MB (preferably more) on the drive that is pointed to by the TEMP environment
variable. Speed may also be affected by fragmentation of your hard drive. In
these cases, setting up a permanent Windows swap file, as outlined on page 522
of the Windows manual, might be useful.
IF THE PRECEDING SUGGESTIONS FAIL:
In particularly difficult cases, getting Windows 3.0 to run in Enhanced
mode, here are some things to check and try:
1. If the system has Shadow RAM, try QEMM-386's NOSHADOWRAM (NOSH)
parameter. If you are not sure, try it anyway. The parameter will have
no harmful effect if your system does not have Shadow RAM. 2. If, when
starting Windows enhanced, you get a bunch of garbage on the display and
beeping, and Windows goes back to the DOS prompt, check to see that there
is a file called WINHIRAM.VXD in the QEMM directory, on your hard disk.
Be sure also that this file is identical to the one on the disk that
contains the version of QEMM that you are currently running. Versions of
this file may be specific to the QEMM-386 version with which they
2. Run the Windows SETUP program from the DOS prompt (not the Setup
which runs inside of Windows) and be sure you have properly identified
your machine to Windows. The default SETUP selection specifies "MS-DOS
or PC-DOS System," and many users may tend to take this option. However,
Windows provides specific setups for many common PC compatibles like AST,
NCR, NEC, Toshiba, Everex, and Hewlett-Packard. Check this list if you
are having problems. If your machine is on the list, use that selection.
3. Windows Enhanced mode may not like an EMS Page Frame at 9000. Check
the location of the frame by running QEMM.COM. If the frame is at 9000,
see if you can move it somewhere between C000 and E000. If 9000 was the
default selected by QEMM, you may have to relocate installed hardware
boards to free up a contiguous 64K memory block in high memory. Be
careful you are not forcing the Page Frame over an installed device, or
you will also have problems. If you have a Page Frame at 9000, problems
are likely to show up when running DOS programs that use expanded memory
in Windows 3.0 .
4. If you are running QEMM-386 v5.10 and have trouble running Novell's
XMSNET, or anything that uses the XMS memory before Windows enhanced, get
the update to QEMM-386 v5.11.
5. In some cases the following modifications to the Windows 3.0
SYSTEM.INI file, which can be found in the WIN directory, have proven to
solve problems. Edit the file with a text editor (Windows Notepad will
do) and following the line that says "[386Enh]", add a line which says
"DualDisplay=True", followed by a line which says "EMMExclude=E000-FFFF".
6. The preceding suggestion should eliminate conflicts where Windows
gets confused by our use of available memory areas in the F000-FFFF
memory range. However, if you try it and still have problems, try using
the X=F000-FFFF parameter to exclude any QEMM mapping in the F000-FFFF
7. Some users have reported that they don't get print options inside
Windows. If you are having this problem, either remove the SET TEMP=
environment variable that the Windows Setup program puts in your
AUTOEXEC.BAT file, or make sure that the directory that it is pointing to
actually exists and that there is space on the drive specified.
8. For problems running Windows standard or Windows real problems in DV,
try changing our DVP's to load WIN /R or WIN /S instead of
SYSTEM\KERNEL.EXE or SYSTEM\DOSX.EXE.
9. The Windows 3.0 manual states (page 517) that you should set
FILES=30 in your CONFIG.SYS file. It is possible to use QEMM's FILES.COM
program to load some of these files into high memory. However, we
recommend having at least FILES=15 in your CONFIG.SYS file and loading
the rest of your files with FILES.COM. Windows may refuse to come up in
Enhanced mode if you have no FILES statement in your CONFIG, or if it is
Microsoft Technical Support - (206)454-2030
Novell Technical Support - (800)526-7937
*This technical note may be copied and distributed freely as long as it*
*is distributed in its entirety and it is not distributed for profit. *
* Copyright (C) 1991-2 by Quarterdeck Office Systems *
************************ E N D O F F I L E *************************