Category : Alternate Operating Systems - Quarterdeck DesqView, CP/M, etc
Archive   : QWHITE13.ZIP
Filename : QEMMFLOW.TEC

 
Output of file : QEMMFLOW.TEC contained in archive : QWHITE13.ZIP

ID:QF QEMM-386 Advanced Troubleshooting
Quarterdeck Technical Note #113 Filename: QEMMFLOW.TEC
by David Riess CompuServe: QEMFLO.ZIP
Last revised: 2/16/92 Category: QEMM

Subject: A step-by-step, flowchart-type debugging document for fixing problems
with QEMM-396 that don't seem to be addressed by more specific,
product-oriented technical notes. See also TROUBLE.TEC.


YES, this document IS long! PLEASE, Do not be intimidated by the
length of this document as you will only need a small part of its contents.

PRELIMINARY NOTES
-----------------
The reason why you are reading this technical note (technote) on QEMM-386
advanced troubleshooting is because you are experiencing a problem with the
functionality of software or hardware on your computer. Since QEMM-386 is
your memory manager and is the control program for everything that is loaded
after QEMM-386 you may feel that QEMM-386 is causing the problem that you are
experiencing. However, most problems are the result of the complex
combination of multiple TSRs, device drivers and program(s) currently in
memory trying to run in harmony with the expanded memory manager as well as
the hardware itself.
Our strategy is to determine whether QEMM-386 is involved with the
problem you are experiencing. If it turns out that QEMM-386 is causing a
problem then we will systematically follow a procedure to remove the problem.

Before we dive into this technote to resolve your problem, please check
the following list. Detailed technotes have been written to resolve the
following problems (you will want to obtain the specific technote
before/instead-of continuing with this technote):

IF YOUR PROBLEMS ARE RELATED TO: TECHNOTE COMPUSERVE QFAX
------------------------------- -------- ---------- ----
Stacker STACKER.TEC STAC2.ZIP 219
DR-DOS 6 DRDOS6.TEC DRDOS6.ZIP 215
Microsoft's Windows 3.x WINFLOW.TEC WINFLO.ZIP 207
an IBM PS/1 PS1.TEC PS1.TEC 234
an Unrecognized Microchannel Adapter MCA.TEC MCA.TEC 223
PROTMAN.DOS/.SYS (LAN Manager's driver) LANMAN.TEC LANMAN.TEC 227
unusual keyboard misbehavior IA.TEC IA.TEC 221
Pathworks/DECNET DECNET.TEC DECNET.TEC 220
XGA video XGA.TEC XGA.ZIP 208
IBM's PC Support for 5250 AS400.TEC AS400.TEC 212

There are five ways to obtain Quarterdeck technotes. Please go to APPENDIX A
(located on the last page of this technote) if you need information on
obtaining any of the above technotes.


"EXCEPTION 13" ERROR MESSAGES:
-----------------------------
If your QEMM-386 error manifests into an Exception #13 error message like:

Exception #13 at 23EE:0103, error code: 0000
AX=0000 BX=0000 CX=0000 DX=0000 SI=FFFF DI=0000 BP=0000
DS=23EE ES=23EE SS=23EE SP=FFFE Flags=7246
Instruction: 8B 04 C3 03 04 FB 58 A1 AC 02 0B C0 75 06 50
Do you want to (T)erminate the program or (R)eboot?

you will want to obtain the technote EX13FLOW.TEC (CompuServe: EX13FL.ZIP; QFAX
technote number 232), which is very similar to this technote; however, it
specifically deals with Exception #13 problems.


GETTING STARTED
---------------
This Quarterdeck Technical Note (technote) has been written to help YOU
troubleshoot and fix most QEMM-386 problems. We have included an example
scenario for you to follow in order to make this technote as "user-friendly"
as possible.
At a minimum this QEMM-386 troubleshooting procedure will take 2
steps to complete and you will have to skip ahead to different parts of this
technote depending on the results of previous steps, so PLEASE FOLLOW ALL
INSTRUCTIONS CAREFULLY.

The Quarterdeck Technical Support Staff handles many QEMM-386 calls
every day ranging from the simple to the extremely complex. This technote
follows the same EXACT procedures which our technical support staff uses to
troubleshoot QEMM-386 problems.

EXAMPLE QEMM-386 PROBLEM SCENARIO: "I've installed QEMM-386 and
have run the OPTIMIZE program to load my TSRs and device drivers into High
RAM. I'm running a scanner program from my network drive (drive F:). I get
into the scanner program without a problem, except every time when I start
scanning my system crashes."

SCENARIO ASSUMPTIONS: QEMM-386 has been loaded onto the local C: drive
and QEMM-386 is installed in the C:\QEMM subdirectory.

INSTRUCTIONS: Some of the following steps will have you either edit a
file or run a program from the DOS prompt. Whenever you see a number followed
by a right parenthesis, ) , perform the action which follows. Comments
regarding the action will be followed in brackets, [].


(STEP 1)

TRY TO RE-CREATE THE PROBLEM WITHOUT QEMM-386 INSTALLED
-------------------------------------------------------
The first step is to determine if QEMM-386 is involved with the problem
that you are experiencing with your program. We will need to reboot your
system WITHOUT QEMM-386 and try to re-create the problem to determine if QEMM-
386 is involved with the problem.
If QEMM-386 is NOT loaded on your system and the software (or hardware)
STILL has problems, then QEMM-386 is not involved with the error and you will
need to consult the documentation or contact the makers of the software (or
hardware) that is making your system crash.

??? Does your program need expanded memory in order to operate properly?
If so, please go to STEP 2 (otherwise proceed with this STEP).
Proceed with this step if you are uncertain if your program uses
expanded memory.

We will need to re-boot your computer without QEMM-386 loaded. To
accomplish this, we DO NOT have to modify any of your startup files
(CONFIG.SYS or AUTOEXEC.BAT)!

1) Please re-boot your machine. During the re-boot, your computer will
BEEP. When you hear the BEEP, immediately hold down on the ALT key (and keep
it pressed down) until you see the following message on screen:

QEMM386: Press to unload QEMM or any other key
to continue with QEMM...

If you do not see this message, please retry again by rebooting your machine.
Press the ESCAPE (ESC) key to bypass QEMM-386 and try to re-create the
problem.

??? If you do not have enough memory to run your program, go to STEP 2.

??? If the problem still exists, go to STEP B.

??? If the problem goes away, go to STEP 2.


(STEP 2)

QUICK-FIX TROUBLESHOOTING PARAMETERS FOR QEMM-386
-------------------------------------------------
This second step is intended for the advanced QEMM-386 user who is
familiar and comfortable with editing and adding parameters to the QEMM386.SYS
line of the CONFIG.SYS file. If you are not familiar with this process, DON'T
WORRY! Skip ahead to STEP 3 now, where you will be given examples about how
to edit and add parameters to QEMM-386.
If the following 3 scenarios do not apply to your QEMM-386 problem or do
not help RESOLVE the problem, then please go to STEP 3 and remove the
parameters specified below (depending on the scenario).

Scenario #1: When the problem occurs, do you notice that the video
graphics or text is altered (blank screen, part of the screen is altered,
strange lines displayed across the screen, color changes, video-mode switching
problems)? If so, add the following parameters to the end of the QEMM386.SYS
line of the CONFIG.SYS file:

X=A000-C7FF NV NVR

Scenario #2: When your program experiences the problem, do you notice
that the hard disk (or floppy disk or CD-ROM) is being accessed? Add the
following parameters to the end of the QEMM386.SYS line of the CONFIG.SYS
file:

X=F000-FFFF X=C800-CFFF DB=4 ROM

(IF you already had the ROM parameter on the QEMM386.SYS line, then remove
it.) If the scenario #2 parameters help resolve your problem, try removing the
X=C800-CFFF parameter (however keep the other three parameters) . If the
problem now occurs, then put back the X=C800-CFFF parameter.

Scenario #3: Are you getting an Exception #12 error message:

Exception #12 at 23EE:0103, error code: 0000
AX=0000 BX=0000 CX=0000 DX=0000 SI=FFFF DI=0000 BP=0000
DS=23EE ES=23EE SS=23EE SP=FFFE Flags=7246
Instruction: 8B 04 C3 03 04 FB 58 A1 AC 02 0B C0 75 06 50
Do you want to (T)erminate the program or (R)eboot?

Exception #12 error messages are usually caused by a stack overflow in DOS.

Look for the STACKS=x,x command line in your CONFIG.SYS file. If you DO
NOT see this command line, or you have a STACKS= line that is anything other
than STACKS=0,0, then add/replace the following line to the CONFIG.SYS file:

STACKS=0,0

otherwise, if you already have a STACKS=0,0 command line, REMark it out
so that it will not be used by DOS:

REM STACKS=0,0

If the above parameters resolve your problem, you're done! If not,
please continue with STEP 3.


(STEP 3)

DETERMINING THE FREQUENCY OF THE PROBLEM
----------------------------------------

Troubleshooting QEMM-386 errors can be quite difficult if the problem
occurs infrequently. In order to troubleshoot ANY problem, you must be able
to know how to reproduce the problem on a frequent basis. If you cannot
reproduce the error frequently, this technote will not be able to help you
because it's difficult to fix something when you cannot easily tell when the
problem has actually been resolved.

If the problem occurs every time you run a particular application or you
have been experiencing the problem at least twice a day with a given
application, then we can attempt to troubleshoot the problem systematically.

If the problem occurs frequently, please go to STEP 4.

If the problem is NOT frequent (or cannot be reproduced easily), you must
try to determine a pattern by which you can re-create the error on a frequent
basis and then proceed with this technote. (When troubleshooting, think of
your computer as you'd think of your car: if your car makes unusual noises
every once in a while, you can't expect your automobile mechanic to fix your
car if he can't re-create the problem!)

PLEASE NOTE: Crashes which occur infrequently are usually hardware-
related problems. These random crashes usually cannot be resolved by
reconfiguring or removing QEMM-386.


(STEP 4)

DETERMINING YOUR QEMM-386 VERSION
---------------------------------
This step determines which version of QEMM-386 you have and will direct
you to the troubleshooting technique needed for solving your program's problem
based on your version of QEMM-386. Enter the following 3 commands at the DOS
prompt:

1) C: [go to the QEMM disk-drive ]
2) CD\QEMM [go to the QEMM subdirectory ]
3) QEMMREG [Determine what version you have ]

Here's an EXAMPLE of what you should see on your screen:

Quarterdeck Expanded Memory Manager 386 V5.13 <----------|
Copyright (c) 1986-1991 by Quarterdeck Office Systems |
Serial number: 000-B6-0000-000000 |
Registered to: Power User |
ABC COMPUTER USERS |
Anywhere, CA USA |
|
??? What version of QEMM-386 is installed on your machine: ------|

5.00 - 5.13
---------------
go to STEP 6.

6.00 or greater
---------------
go to STEP 5.

***
If QEMMREG returns "Bad command or file name", then either you have a very old
(earlier than 5.00) version of QEMM-386 (in which you should go to STEP 6) or
you have erased the file QEMMREG.COM from your QEMM directory (in which case
you should re-install QEMM-386 on your hard disk, then perform STEP 4 again).
***


(STEP 5)

DETERMINING WHETHER STEALTH IS CAUSING A CONFLICT WITH YOUR SYSTEM
------------------------------------------------------------------
You have QEMM-386 version 6.00 or greater. Quarterdeck has added the
STEALTH feature into your version of QEMM-386 in order to create up to 83K
more of High RAM (up to 115K more on PS/2 machines) than versions before 6.00!
The Stealth feature is invoked with the parameter ST:M or ST:F on the
"DEVICE=C:\QEMM\QEMM386.SYS ..." line of your CONFIG.SYS file (located in the
root directory of your bootup drive).
Your program's problem may be related to the Stealth feature of QEMM-386,
provided you have invoked Stealth. We will check your CONFIG.SYS file for the
ST:x parameter to determine the next troubleshooting STEP for you to take.

With a file editor or file viewer, go to the C:\ directory (root
directory of your bootup drive) and load the CONFIG.SYS file. Search the
DEVICE=C:\QEMM\QEMM386.SYS line for either ST:M or ST:F.

??? If the QEMM386.SYS line DOES NOT have a ST:M or ST:F parameter (which
means you are not using the Stealth feature of QEMM-386), then go to
STEP 6.

We want to remove all Stealth-related parameters (ST:M, ST:F, XST=,
XSTI=, DBF=, FSTC, FRAME=) to test whether Stealth is involved with your
program's problem. Here's an example of removing these parameters:

Original line:
DEVICE=C:\QEMM\QEMM386.SYS R:1 RAM ROM X=D000-D3FF ST:M XST=C000
<---delete-->
Line without Stealth parameters:
DEVICE=C:\QEMM\QEMM386.SYS R:1 RAM ROM X=D000-D3FF

Use a text editor to edit your CONFIG.SYS file and remove the
Stealth-related parameter(s), then re-boot your computer and try to re-create
the problem.

??? If the problem still exists, please go to STEP 6.

??? If the problem goes away, then your program's problem is due to a
conflict with QEMM-386's Stealth feature. The next step for you is to
leave this technical note and get the technote STEALTH.TEC, which covers
how to correct problems which only occur with Stealth.

Information on obtaining the STEALTH.TEC technote (CompuServe: STEALT.ZIP
QFAX number: 205) is provided in Appendix-A at the end of this technote.


(STEP 6)

CREATE A CLEAN ENVIRONMENT FOR QEMM-386
---------------------------------------
The problem you are experiencing is caused by either QEMM-386 or by a
device driver in the CONFIG.SYS file or by a program in the AUTOEXEC.BAT file.
To determine whether the problem is caused by QEMM-386 or a device driver
or program in the CONFIG.SYS or AUTOEXEC.BAT, we must create a clean
environment for QEMM-386. This requires removing ALL lines from the
CONFIG.SYS and AUTOEXEC.BAT files which do not directly affect the program
that is experiencing problems.
First, you need to make back-up copies of your CONFIG.SYS and
AUTOEXEC.BAT files (which are located in the root directory) because we are
going to modify these files. To make the back-up copies of these files
perform the following 4 commands at the DOS prompt:

1) C:
2) CD\
3) COPY CONFIG.SYS CONFIG.OLD
4) COPY AUTOEXEC.BAT AUTOEXEC.OLD

Now, edit your CONFIG.SYS file so that only the lines that are ABSOLUTELY
necessary to re-create the problem remain in the CONFIG.SYS file. You need
the QEMM386.SYS line and the FILES= line as a minimum; delete every other line
unless it is ABSOLUTELY needed to re-create the problem.

The following is an example CONFIG.SYS file for our example:

#1 DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF
2 DEVICE=C:\UTIL\CACHE.SYS
#3 FILES=25
4 BUFFERS=30
#5 DEVICE=C:\QEMM\LOADHI.SYS /R:2 C:\SCAN\SCANNER.SYS 256
6 DEVICE=C:\DOS\ANSI.SYS
7 DEVICE=C:\FAXING\FAX.SYS
#8 SHELL=C:\COMMAND.COM /P /E:768
#9 DEVICE=C:\QEMM\LOADHI.SYS /R:3 C:\NETW\NETWORK.SYS
10 STACKS=0,0

The # indicates lines which are ABSOLUTELY necessary to include in the
CONFIG.SYS file in order to re-create the example problem. Let's see why (you
may want to look at the QEMM-386 example problem scenario located on the
second page of this Technote again):

line 1) We NEED the QEMM-386 driver to re-create the problem.
line 2) A disk cache IS NOT necessary to re-create the problem.
line 3) We NEED to include the FILES= statement.
line 4) The BUFFERS statement IS NOT needed.
line 5) The scanner IS part of our problem.
line 6) ANSI.SYS IS NOT needed to re-create the problem.
line 7) The fax board has NOTHING to do with the problem.
line 8) The SHELL= statement tells DOS where the command processor is.
line 9) We NEED to log on to the network to run the scanner program.
line 10) The Stacks statement IS NOT necessary.

(If you are not sure if a line is absolutely necessary in your CONFIG.SYS
or AUTOEXEC.BAT files, delete it! Users of real-time disk compression
software products like STACKER or SuperStor should take special care not to
remove any drivers that may be required to access their compressed drives.
Please check your compression software documentation before deleting any
DEVICE line you are unfamiliar with.)

This leaves our CONFIG.SYS with:

DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF
FILES=25
DEVICE=C:\QEMM\LOADHI.SYS /R:2 C:\SCAN\SCANNER.SYS 256
SHELL=C:\COMMAND.COM /P /E:768
DEVICE=C:\QEMM\LOADHI.SYS /R:3 C:\NETW\NETWORK.SYS

Now, since the OPTIMIZE program was executed, some of the device drivers
have been loaded high and we have to make sure these drivers are loaded low.
This is because a device driver may behave incorrectly when loaded high, which
the LOADHI program cannot detect in advance!

Original Line:
DEVICE=C:\QEMM\LOADHI.SYS /R:2 C:\SCAN\SCANNER.SYS 256
<------delete--------->

Line without LOADHI reference:
DEVICE=C:\SCAN\SCANNER.SYS 256

This leaves our CONFIG.SYS with:

DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF
FILES=25
DEVICE=C:\SCAN\SCANNER.SYS 256
SHELL=C:\COMMAND.COM /P /E:768
DEVICE=C:\NETW\NETWORK.SYS

and boost the FILES= to at least 40.

The final CONFIG.SYS looks like:

DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF
FILES=40
DEVICE=C:\SCAN\SCANNER.SYS 256
SHELL=C:\COMMAND.COM /P /E:768
DEVICE=C:\NETW\NETWORK.SYS

(Your CONFIG.SYS may only need the QEMM386.SYS and FILES=40 line. Don't
worry if your CONFIG.SYS isn't 5 lines long.)

Save the CONFIG.SYS and let's modify your AUTOEXEC.BAT file. The only
lines which we need to keep are the PROMPT and PATH statements.

The following is an sample AUTOEXEC.BAT file for our example
troubleshooting scenario:

1 ECHO OFF
#2 PATH C:\;C:\DOS;C:\UTILS;C:\EDITOR;F:\SCANNER;
3 C:\QEMM\LOADHI C:\UTIL\FASTKEYB
#4 PROMPT $P$G
#5 C:\QEMM\LOADHI /R:1 C:\NETW\LOGIN
6 SET TEMP=F:\WINDOWS\TEMP
7 FAXSETUP 125

The # indicates lines which are absolutely necessary to re-create the
problem. Here's why:

Line 1) The ECHO statement IS NOT necessary.
Line 2) We NEED the PATH statement.
Line 3) Keyboard accelerator IS NOT needed.
Line 4) Prompt statement is for your convenience.
Line 5) We NEED to access the network in our example scenario.
Line 6) This SET statement IS NOT necessary.
Line 7) The FAX board has NOTHING to do with our problem.

This leaves our AUTOEXEC.BAT as:

PATH C:\;C:\DOS;C:\UTILS;C:\EDITOR;F:\SCANNER;
PROMPT $P$G
C:\QEMM\LOADHI /R:1 C:\NETW\LOGIN

Now, since we have run the OPTIMIZE program, some of our device drivers
have been loaded high and we have to make sure these drivers are loaded low.
All we have to do is remove the LOADHI from these lines.

Original Line:
C:\QEMM\LOADHI /R:1 C:\NETW\LOGIN
<----delete------->

New line (without LOADHI reference):
C:\NETW\LOGIN

This leaves our final AUTOEXEC.BAT with:

PATH C:\;C:\DOS;C:\UTILS;C:\EDITOR;F:\SCANNER;
PROMPT $P$G
C:\NETW\LOGIN

(Your AUTOEXEC.BAT may only need the PATH and PROMPT lines. Don't worry
that your AUTOEXEC.BAT isn't 3 or more lines long)

Save the AUTOEXEC.BAT file.
Now reboot your machine and try to re-create the problem.

??? If the problem still exists, go to STEP 7.

??? If the problem goes away, go to STEP C.


(STEP 7)

MODIFY THE QEMM386.SYS LINE
---------------------------
By modifying the CONFIG.SYS and AUTOEXEC.BAT files in STEP 6, we have
shown that the problem is caused either by QEMM-386, your program, or a driver
needed to run your program. Now we will modify your QEMM386.SYS line in the
CONFIG.SYS file by adding parameters (and possibly removing some of the
parameters that are already on the line) to avoid possible conflicts involving
QEMM-386.

Modify the QEMM386.SYS line of your CONFIG.SYS file to look EXACTLY as
follows:

DEVICE=C:\QEMM\QEMM386.SYS X=A000-C7FF X=F000-FFFF NO NS NT NCF NOSH DB=4

Be sure that you DO NOT add the 'RAM' parameter to this line!

??? If you have a version of QEMM greater than 6.00 and are using the
Stealth parameter (ST:M or ST:F), please DO NOT include the Stealth
parameter at this time. BUT make a mental note of it, as you will add
this parameter back to the QEMM386.SYS line in STEP 13. Also, you will
want to remove any Stealth-related parameters at this time (you may not
have any of these): XST= , XSTI=, DBF=, FSTC, FRAME=.

If your QEMM386.SYS line previously contained a parameter to EXCLUDE an
area of memory such as EXCLUDE= or X= or AROM= or ARAM=, then you should also
add this parameter to the end of the QEMM386.SYS line. DO NOT add any
INCLUDE= or I= parameters, even if you previously had any! In our example, we
previously had the AROM=C800-CBFF parameter. Adding this parameter to the
above DEVICE line will modify the line to:

DEVICE=C:\QEMM\QEMM386.SYS X=A000-C7FF X=F000-FFFF NO NS NT NCF NOSH DB=4
AROM=C800-CBFF
^
(Please note that the "AROM=" parameter is NOT on the next line,
but is on the same line immediately after "DB=4". Many editors
will allow wrap-around of the same line)

Save the CONFIG.SYS file.
Now reboot your machine and try to re-create the problem.

??? If the problem still exists, go to STEP 8.

??? If the problem goes away, go to STEP 11.


(STEP 8)

TRY TO RE-CREATE THE PROBLEM WITHOUT QEMM-386 INSTALLED
-------------------------------------------------------
By adding/stripping parameters from the QEMM386.SYS line of your
CONFIG.SYS file, we have eliminated many of the possible conflicts which QEMM-
386 may have with your system.
To determine whether QEMM-386 is solely responsible for your problems, we
will need to run your software without QEMM-386 loaded. If your program uses
expanded memory, then another memory manager (such as DOS 5 or Windows EMM386
driver) MUST be loaded in place of QEMM-386 in order to test whether your
program doesn't work with QEMM-386 vs. any other expanded memory manager.

??? Does your program need expanded memory in order to operate properly? If
so, please go to STEP 9 (otherwise proceed with this STEP).

We will need to re-boot your computer without QEMM-386 loaded. To
accomplish this, we DO NOT have to remove the QEMM386.SYS line from the
CONFIG.SYS file!

Please re-boot your machine. During the re-boot, your computer will
BEEP. When you hear the BEEP, immediately hold down on the ALT key (and keep
it pressed down) until you see the following message on screen:

QEMM386: Press to unload QEMM or any other key
to continue with QEMM...

If you do not see this message, please retry again by rebooting your
machine!

Press the ESCAPE (ESC) key to bypass QEMM-386 and try to re-create the
problem.

??? If the problem still exists, go to STEP B.

??? If the problem goes away, go to STEP A.


(STEP 9)

USE ANOTHER EXPANDED MEMORY MANAGER INSTEAD OF QEMM-386
-------------------------------------------------------
The problem that you're having may be caused by QEMM-386 or any other
expanded memory manager that is loaded. If your program or device driver uses
expanded memory, then we must test whether the problem is due solely to
QEMM-386 by testing another expanded memory manager. If your system has
problems with another expanded memory manager loaded, then your program has a
problem with expanded memory managers in general and QEMM-386 is not to blame
for the errors you have been experiencing. If this is the case, you should
contact the developers of that program for information on options or special
setup considerations for use with expanded memory managers.
You are probably running with Windows 3.x or DOS 5, both of which come
with expanded memory managers. Windows 3.0 comes with HIMEM.SYS and
EMM386.SYS. Both DOS 5 and Windows 3.1 come with HIMEM.SYS and EMM386.EXE.
We will now modify your CONFIG.SYS to use these drivers instead of
QEMM-386 and try to re-create the problem. First, make a back-up copy of the
"clean environment" version of the CONFIG.SYS file by entering the following 3
commands at the DOS prompt:

1) C:
2) CD\
3) COPY CONFIG.SYS CONFIG.Q

We will attempt to re-create the problem by using the other drivers,
HIMEM.SYS and EMM386.SYS (EMM386.EXE if you are using DOS 5.0 or Windows 3.1)
which when loaded together are similar to the Extended and Expanded memory
features of QEMM.

First, you must find where these files are located on your hard disk
(They are most likely found in the C:\DOS, C:\, C:\WINDOWS directories). Now,
edit the CONFIG.SYS and replace the QEMM386.SYS driver with these drivers
(ASSUME for our example that HIMEM.SYS is in the root directory and EMM386.SYS
is in the DOS directory):

DEVICE=C:\HIMEM.SYS
DEVICE=C:\DOS\EMM386.SYS ON 4096 (EMM386.EXE for DOS 5 or Windows 3.1)
FILES=40
DEVICE=C:\SCAN\SCANNER.SYS 256
SHELL=C:\COMMAND.COM /P /E:768
DEVICE=C:\NETW\NETWORK.SYS

Save the CONFIG.SYS, reboot, and try to re-create the problem.

??? If the problem still exists, then go to STEP B.

??? If the problem goes away, go to STEP 10.


(STEP 10)
---------

CONFIGURE QEMM-386 SIMILARLY TO THE OTHER MEMORY MANAGERS
---------------------------------------------------------

We want to find out what the other memory managers are doing to make your
program work properly so that we can configure QEMM-386 to emulate them. We
must use the MANIFEST program to view what the other drivers are doing.

1) Reboot your computer to get to the DOS prompt
2) C:\QEMM\MFT [type this at the DOS prompt to start MANIFEST]

Hit the DOWN-ARROW key once (this will give you the First Meg/Overview
screen). The box in the center of the screen will look similar to this:

Memory Area Size Description
0000 - 003F 1K Interrupt Area
0040 - 004F 0.3K BIOS Data Area

0050 - 006F 0.5K System Data
0070 - 0FB0 61K DOS
0FB1 - 21F8 73K Program Area
21F9 - 9FFF 504K [Available]
Conventional memory ends at 640K
A000 - AFFF 64K VGA Graphics
B000 - B7FF 32K Unused
B800 - BFFF 32K VGA Text
C000 - C7FF 32K Video ROM
C800 - CFFF 32K Unused
D000 - DFFF 64K Page Frame <----------------------------|
E000 - EFFF 64K Unused |
F000 - FFFF 64K System ROM |
|
|
Look for the Page Frame. We must use the QEMM-386 parameter FRAME=|
to emulate where the Page Frame is located when using the other drivers.
(Notice that the Page Frame above starts at D000.)
Hit the ESCAPE key twice to exit MANIFEST and perform the following four

commands at the DOS prompt:

1) C:
2) CD\
3) RENAME CONFIG.SYS CONFIG.M [Save the CONFIG.SYS w/other drivers]
4) COPY CONFIG.Q CONFIG.SYS [Bring back the STEP-9 CONFIG.SYS]

Add the following parameters to the end of the QEMM386.SYS line of your
CONFIG.SYS file:

NV NVR NTR LD NX NR NRH NOVDS FRAME=XXXX
^^^^
(XXXX is the starting memory area of
the Page Frame when using the other drivers on your machine. In this EXAMPLE,
FRAME=D000)
The QEMM386.SYS line for this EXAMPLE now looks like:

DEVICE=C:\QEMM\QEMM386.SYS X=A000-C7FF X=F000-FFFF NO NS NT NCF NOSH
AROM=C800-CBFF NV NVR NTR LD NX NR NRH NOVDS FRAME=D000

NOTE: As before, this is all one line; do NOT hit the RETURN key when you
reach NOSH at the end of the first line.

Reboot and try to re-create the problem.

??? If the problem still exists , then go to STEP A.

??? If the problem goes away, then go to STEP 11.


(STEP 11)

CREATING HIGH RAM FOR QEMM-386
------------------------------
We have properly configured QEMM-386 without High RAM to work with your
program. We must add the RAM parameter to end of the QEMM386.SYS line in your
CONFIG.SYS to create High RAM. Edit your CONFIG.SYS file and add RAM to the
end of the QEMM386.SYS line (DEVICE=C:\QEMM\QEMM386.SYS ... RAM).
Reboot your machine and try to re-create the problem.

??? If the problem recurs go to STEP 12.

??? If the problem does not occur then proceed below:

In STEP 7, we added the following parameters to the QEMM386.SYS line:
X=A000-C7FF X=F000-FFFF NO NS NT NCF NOSH DB=4. We will attempt to recover
some/all of the HIGH Ram which we eXcluded. Edit the QEMM386.SYS line of the
CONFIG.SYS file and delete the three parameters listed below, one at a time.

X=A000-C7FF
X=F000-FFFF
NCF

(Be sure to save the CONFIG.SYS and reboot the machine, then try to recreate
the problem after each time you remove a parameter!) If removing any of the
above parameters does not cause the problem to reappear, you DON'T need this
parameter. However, if the problem does occur again, the parameter needs to be
kept.

??? If the problem still doesn't occur and you WERE using the Stealth
feature (ST:M or ST:F) from QEMM version 6.00 or greater, then go to
STEP 13.

??? If the problem still doesn't occur and you WERE NOT using the Stealth
feature (ST:M or ST:F) from QEMM version 6.00 or greater, then go to
STEP C.


(STEP 12)

ELIMINATING HIGH RAM CONFLICTS
------------------------------
It appears that there is a conflict between one of your adapters and
QEMM-386. QEMM-386 is not recognizing that your adapter is there and QEMM-386
is mapping memory on top of the adapter memory. We must exclude all High RAM
areas to test this hypothesis and if indeed this is the case, we will
systematically narrow down what area really needs to be excluded!

1) C:\QEMM\MFT [type this at the DOS prompt to start MANIFEST]

Hit the DOWN-ARROW key once (this will give you the First Meg/Overview
screen). The box in the center of the screen will look as follows:

You will see a screen similar to this:

Memory Area Size Description
0000 - 003F 1K Interrupt Area
0040 - 004F 0.3K BIOS Data Area
0050 - 006F 0.5K System Data
0070 - 0FB0 61K DOS
0FB1 - 21F8 73K Program Area
21F9 - 9FFF 504K [Available]
Conventional memory ends at 640K
A000 - AFFF 64K VGA Graphics
B000 - B7FF 32K Unused
B800 - BFFF 32K VGA Text
C000 - C7FF 32K Video ROM
C800 - CFFF 32K High RAM <------------|
D000 - DFFF 64K Page Frame |
E000 - EFFF 64K High RAM <------------|
F000 - FFFF 64K System ROM |
|
We want to eXclude all High RAM areas! -------|

We do this by using the EXCLUDE= (X= for short) parameter to QEMM-386.
For this example, we have two High RAM areas to exclude: from C800-CFFF and
E000-EFFF. The corresponding parameters to ADD to end of the QEMM386.SYS line
in the CONFIG.SYS file would be:

X=C800-CFFF X=E000-EFFF

Add as many X= parameters as needed to your CONFIG.SYS to exclude as many
High RAM areas that your machine has.
Reboot your machine and try to re-create the problem.

??? If the problem occurs, then go to STEP A.

??? If the problem goes away, then we know there was a memory conflict and we
should now try to narrow down which address range in High RAM has been
causing the conflict. This will allow you to get back as much High RAM
as possible! Often when there is a conflict in memory, there is a 16K
area that needs to be excluded and we should now narrow down the
eXclusion of High RAM areas in question. EXAMPLE: We have excluded
C800-CFFF which is a 32K area and E000-EFFF which is a 64K area. These
numbers are in hexadecimal (base 16) and may confuse you! (You can
access a technnote on hexadecimal numbers by calling our Q/FAX line,
(310)-314-3214 to download technote number 190 to your own fax machine.)
These 2 areas use 6 different 16K areas: C800-CBFF, CC00-CFFF, E000-
E3FF, E400-E7FF, E800- EBFF, EC00-EFFF. To narrow down the area, we
would use the X= parameter, trying all six combinations, one at a time.
More than likely, five out of the six combinations will cause the problem
to occur, but one out of the six will resolve the problem.

The process of actually discovering the address range in High RAM you
must exclude to avoid conflicts, rather than relying on tedious trial and
error, is further explained in the Quarterdeck technote EXCLUDE.TEC. [The
above information is adequate enough to resolve your conflicts; however, the
technote will further explain the procedures for those wishing to obtain more
information on the topic.] Please go to Appendix A at the end of this
technote if you wish to obtain EXCLUDE.TEC (COMPUSERVE file name is EXCLUD.ZIP
or QFAX#219).


??? When you have determined which area needed to be excluded, and you WERE
using the Stealth feature (ST:M or ST:F) from QEMM-386 version 6.00 or
greater, then go to STEP 13.

??? When you have determined which area needed to be excluded, and you WERE
NOT using the Stealth feature (ST:M or ST:F) from QEMM-386 version 6.00
or greater, then go to STEP C.


(STEP 13)

ADDING THE STEALTH PARAMETER BACK
---------------------------------
We have properly configured QEMM-386 with High RAM to work with your
program. We must now add the Stealth (and any Stealth-related) parameter to
the end of the QEMM386.SYS line in your CONFIG.SYS to enable Stealth. Edit
your CONFIG.SYS file and add ST:M or ST:F (and any Stealth-related parameter
that was ORIGINALLY on your QEMM386.SYS line) to the end of the QEMM386.SYS
line:

DEVICE=C:\QEMM\QEMM386.SYS ... RAM ST:x [possibly other Stealth parameters].

Reboot your machine and try to re-create the crash.

??? If the problem still doesn't occur, then go to STEP C.

??? If the problem recurs, then your program's problem is due to a
conflict with QEMM-386's Stealth feature. NOW, the next step FOR YOU is
to leave this technote (for now) and get the technote STEALTH.TEC to
resolve the Stealth conflict.

Information on obtaining the STEALTH.TEC technote (CompuServe file name
is STEALT.ZIP; QFAX document number is 205) is provided in Appendix A at
the end of this technote.

Once you have resolved the Stealth-related problem with the current
CONFIG.SYS, please go to STEP C.
------------------------------------------------------------------------

(STEP A)
--------
The problem you are having requires further troubleshooting techniques
and investigation. Call our Technical Support line at (310) 392-9701 for
further assistance -- we'll be happy to help out!

When you call, please have the following files available:

* Your original CONFIG.SYS and AUTOEXEC.BAT files
* 2-line CONFIG.SYS (QEMM386.SYS and FILES=xx ONLY)
* 2-line AUTOEXEC.BAT (PATH and PROMPT ONLY)
* CONFIG.Q (only if you have gone thru STEP 9)
* CONFIG.M (only if you have gone thru STEP 10)

Be sure to mention that you have been using QEMMFLOW.TEC.


(STEP B)
--------
We have shown that the program in question has problems EVEN WHEN QEMM-
386 IS NOT LOADED ON YOUR MACHINE. Therefore QEMM-386 is not responsible for
the problems you are experiencing. The next step is for you to consult the
documentation or contact the makers of the software or hardware which is
having the problem(s).


(STEP C)
--------
CONGRATULATIONS, you have successfully configured QEMM-386 and your
program to work together! Enter the following 6 commands at the DOS prompt:

1) C:
2) CD\
3) RENAME AUTOEXEC.BAT AUTOEXEC.Q
4) COPY CONFIG.SYS CONFIG.Q
5) COPY CONFIG.OLD CONFIG.SYS [Bring back your original file]
6) COPY AUTOEXEC.OLD AUTOEXEC.BAT [Bring back your original file]

Edit the CONFIG.SYS file and replace the original QEMM386.SYS line with
the one you have created by using this technote (now in CONFIG.Q) and make
sure FILES= at least 40!
Reboot the machine and try to re-create the problem.

??? If the problem is still no longer occurring, the problem is solved!


??? If the problem now occurs, then go to STEP D.


(STEP D)
--------
Since the problem does not occur with the stripped down CONFIG.SYS and
AUTOEXEC.BAT but does occur with a full CONFIG.SYS and AUTOEXEC.BAT file,
there is a command line in one of these files that has been causing the
problem. To determine which file the command line is in, we will bring back
the AUTOEXEC.BAT (Path and Prompt) that we previously created in STEP 6:

Enter the following 4 commands at the DOS prompt:

1) C:
2) CD\
3) COPY AUTOEXEC.BAT AUTOEXEC.OLD
4) COPY AUTOEXEC.Q AUTOEXEC.BAT

Reboot your machine and try to re-create the problem.

??? If the problem still exists, then we know that the command line which
is giving us problems is located in the CONFIG.SYS file and if the
problem goes away, the command line is in the original AUTOEXEC.BAT
file.

Now you must systematically determine which command line is giving you
trouble! Try deleting one line at a time (if you have a long CONFIG.SYS or
AUTOEXEC.BAT file try deleting 2-3 lines at a time) until you find out which
line is causing the problem.
When you finally determine which line is causing the problem:

1) If the device driver or TSR is loaded into High RAM, use the procedure
in STEP 6 to load it low and see if this corrects the problem.
2) Read the manual or call the technical support line for the product
which you are loading to determine where the problem might lie.
3) If a TSR or device driver has a parameter that tells it to load/use
XMS or EMS, then have it load/use conventional memory instead.
4) Refer to your DOS manual to determine DOS command problems.
5) JUST GET RID OF THAT LINE! The line causing the problem may be issuing
a command that you really don't need anyway.


(APPENDIX - A)
OBTAINING QUARTERDECK TECHNOTES
-------------------------------
There are five ways to obtain Quarterdeck technotes:
1) On CompuServe [GO QUARTERDECK, Library 2]. Download the CompuServe file
name.
2) On BIX [JOIN DESQVIEW, LISTINGS]. Download the TECHNOTE file name.
3) On the Quarterdeck BBS [310-314-3227]. Download the TECHNOTE file name.
4) On the Quarterdeck Q/FAX [310-314-3214]. Download the QFAX# (Q/FAX will
automatically fax the technote back to your fax machine instantly!).
5) Call Quarterdeck Technical Support [310-392-9701] and we will gladly
fax/mail it to you.

************************************************************************
* Trademarks are property of their respective owners. *
*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) 1992 by Quarterdeck Office Systems *
************************ E N D O F F I L E *************************