ID:EX Using QEMM-386's Analysis Procedure to Find Memory Conflicts
Quarterdeck Technical Note #219 Filename: EXCLUDE.TEC
by Quarterdeck Testing & Compatibility CompuServe: EXCLUD.TEC
Last revised: 7/02/92 Category: QEMM
Subject: Finding potential conflicts in the address space between 640K and 1MB
by using QEMM-386's Analysis procedure. An important note for users
on network workstations.
The purpose of this document is to explain the use of QEMM-386's ANALYSIS
feature for the purpose of finding other users of the address space between
640K and 1024K that QEMM-386 is not finding on boot and must be EXCLUDEd
explicitly on the QEMM386.SYS line of the CONFIG.SYS. If you are using
Stealth, the issue discussed here should be addressed with the technote,
WHAT IS ANALYSIS?
Whenever QEMM-386 is "on" it monitors the use of the first megabyte
address space. The QEMM-386/ANALYSIS screen of MANIFEST shows what portions
of the address space need to be excluded with the letter X (red on color
monitors) if QEMM-386 is not creating high RAM.
WHY SHOULD I USE ANALYSIS?
If you are getting an Exception #13, are unable to access your network
when QEMM-386 is installed, cannot access a floppy, print, run some program,
lock-up at some identifiable point in operating your computer (from booting to
running your word processor), or have some other problem when running QEMM-386
that you do not have when you do not run QEMM-386, then the ANALYSIS procedure
may be a useful diagnostic process.
WHY IS THIS NECESSARY?
This procedure is necessary sometimes because Adapter ROMs and Adapter
RAMs do not identify themselves in such a way as to be detected properly by
QEMM-386. Adapter ROMs are supposed to identify their length in the third
byte of the ROM itself but sometimes report a smaller size. Adapter RAMs that
are not active at boot look exactly like unoccupied address space. QEMM-386
maps unused portions of the system BIOS ROM and will map over such adapter
ROMs and RAMs. Some special CGA video cards have two pages of video: one at
B800-BBFF, the second at BC00-BFFF. QEMM-386 often maps over the second page,
causing a conflict if you run a program that tries to use the second page. In
rare circumstances there are programs that use portions of the high address
HOW DOES ANALYSIS WORK?
The QEMM-386/ANALYSIS screen of MANIFEST is a cross-reference between
the QEMM-386/TYPE and QEMM-386/ACCESSED screens. The TYPE screen shows who
QEMM-386 thinks is using the address space: Video, ROM, Page frame, High RAM,
etc. The ACCESSED screen shows whether the address space has been accessed.
When QEMM-386 is not itself accessing the high address space (as it will when
the RAM parameter is on the QEMM386.SYS line of the CONFIG.SYS) and QEMM-386
is finding that some portion of the address space is being accessed yet QEMM-
386 is not detecting the existence of a video card, ROM, adapter RAM or ROM,
or the like in this same portion of the address space, but is finding it
"mappable" instead, then the ANALYSIS screen will report that this portion of
the address space must be EXCLUDEd.
How do I use ANALYSIS to find EXCLUDEs?
First remove the RAM parameter from the QEMM386.SYS line of the
CONFIG.SYS and add the ON and MA=0 parameters. This is to make sure that
QEMM386 is not itself a user of the high address space and that it is on.
Then reboot the machine and run the software that was causing the problem.
The problem should not recur. Then, without rebooting, look at the QEMM-
386/ANALYSIS screen of MANIFEST. If you see Xs then these portions of the
address space must be EXCLUDEd on the QEMM386.SYS line of the CONFIG.SYS. See
the QEMM-386 manual section on the syntax of the EXCLUDE parameter.
If the QEMM-386 is putting the page frame over a portion of the address
space that QEMM-386 should not be mapping then it may be necessary to put the
parameter FR=NONE on the QEMM386.SYS line of the CONFIG.SYS during the
Once you are done with the ANALYSIS process you can restore the RAM
parameter to the QEMM386.SYS line along with the appropriate EXCLUDEs.
HOW CAN ANALYSIS FAIL?
The only serious pitfall to the ANALYSIS process is that there are users
of the high address space that use the high address space only momentarily.
There is a Bernoulli Box that has an Adapter ROM that goes in the high
address space. When the device driver for the Bernoulli Box loads it searches
for itself at the beginning of every 8K portion of the address space beginning
at C800. If the Adapter ROM is at DC00 (say) then the device driver will
access every other 4k of the address space from C800 to DC00, causing Xs to
appear on the ANALYSIS screen every other block in this area even though the
areas between C800-DBFF are only being used during the searching process.
These areas need not be excluded, only, possibly, the DC00-DEFF, where the
Adapter ROM of the Bernoulli Box resides.
When you go into enhanced mode of Microsoft's Windows then QEMM-386 is
not active and the ANALYSIS process is not useful for the period of time that
you are in enhanced mode.
WHAT COST CAN THERE BE IN EXCLUDING AN AREA?
EXCLUDing a portion of the address space will only cost you, at the
worst, a bit of usable high RAM. It will not make your system malfunction in
any other way.
If you add an EXCLUDE you should run OPTIMIZE again because your
available high RAM regions have been resized and, possibly, renumbered.
WHAT ABOUT THOSE GREEN "I"S?
The green I you see on the QEMM-386/ANALYSIS screen indicates that this
portion of the address space has not been accessed by anyone YET and QEMM-386
is not mapping this portion of the address space. It is quite possible that
this portion of the address space will be accessed later. (The portion of the
system BIOS rom that contains the code for controlling the floppy drive may
report that it is INCLUDable until you actually use the drive. If you INCLUDE
it you will have no problem until you access a floppy.) The QEMM-386 manual
discusses the use of the ANALYSIS process for this purpose; this document does
Quarterdeck has done its best to identify users of the high address
space but it is not 100% successful. ANALYSIS is a tool to allow the user to
find high address space users he/she cannot identify through the documentation
of his/her hardware.
To begin the ANALYSIS process the QEMM-386 line of the CONFIG.SYS will
device=c:\qemm\qemm386.sys on ma=0
n=0123 4567 89AB CDEF
0n00 XXXX XXXX XXXX XXXX
1n00 ++++ ++++ ++++ ++++
2n00 ++++ ++++ ++++ ++++
3n00 ++++ ++++ ++++ ++++
4n00 ++++ ++++ ++++ ++++
5n00 ++++ ++++ ++++ ++++
6n00 ++++ ++++ ++++ ++++
7n00 ++++ ++++ ++++ ++++
8n00 ++++ ++++ ++++ ++++
9n00 ++++ ++++ ++++ ++++
An00 VVVV VVVV VVVV VVVV
Bn00 ++++ ++++ VVVV VVVV
Cn00 RRRR RRRR ++++ ++++
Dn00 A+++ ++++ ++++ ++++
En00 FFFF FFFF FFFF FFFF
Fn00 ++++ +++R RRRR RRRR
Look at the Dn00 line: QEMM-386 is identifying an Adapter RAM in D000-
n=0123 4567 89AB CDEF
0n00 WWWW AAAA AWWW WWWW
1n00 WWWW WWWW WWWW WWWW
2n00 WWWW WWWW WWWW WWUU
3n00 UUUU UUUU UUUU UUUU
4n00 UUUU UUUU UUUU UUUU
5n00 UUUU UUUU UUUU UUUU
6n00 UUUU UUUU UUUW WWWW
7n00 WWWW WWWW WWWW WWWW
8n00 WUUU UUUU WWUU UUUU
9n00 UUUU UUUU WWWW WWWW
An00 WWUU UUUU UUUU UUUU
Bn00 UUUU UUUU WWWW WWWW
Cn00 WWWW WWWW UUUU UUUU
Dn00 WWAA UUUU UUUU UUUU
En00 UUUU UUUU UUUU UUUU
Fn00 UUUU UUUU UUUU UUUW
Look at the Dn00 line: QEMM-386 is detecting that D000-D3FF is actually
being accessed, D000-D1FF being written to and D200-D3FF only being read.
n=0123 4567 89AB CDEF
0n00 OOOO OOOO OOOO OOOO
1n00 OOOO OOOO OOOO OOOO
2n00 OOOO OOOO OOOO OOOO
3n00 OOOO OOOO OOOO OOOO
4n00 OOOO OOOO OOOO OOOO
5n00 OOOO OOOO OOOO OOOO
6n00 OOOO OOOO OOOO OOOO
7n00 OOOO OOOO OOOO OOOO
8n00 OOOO OOOO OOOO OOOO
9n00 OOOO OOOO OOOO OOOO
An00 OOOO OOOO OOOO OOOO
Bn00 OOOO OOOO OOOO OOOO
Cn00 OOIO OIOO OOOO OOOO
Dn00 OXXX OOOO OOOO OOOO
En00 OOOO OOOO OOOO OOOO
Fn00 OOOO OOOO OOOO OOOO
Look at the Dn00 line: ANALYSIS is pointing out to me that I need to
exclude D100-D3FF. I have a network card at D000, QEMM-386 is identifying it
as having only a 4K adapter RAM on boot while it really has a 16K adapter RAM.
ACCESSED is reporting that 16K is being accessed and ANALYSIS is pointing out
that the additional 12K must be EXCLUDEd. My new CONFIG.SYS will have this
device=c:\qemm\qemm386.sys ram x=d100-d3ff
*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) 1990-2 by Quarterdeck Office Systems *
************************ E N D O F F I L E *************************