Quarterdeck Technical Note #219

ID:EX Using QEMM-386's Analysis Procedure to Find Memory Conflicts
Quarterdeck Technical Note #219
By  Quarterdeck Testing & Compatibility Department

                                 EXCLUDE

     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, STEALTH.TEC.


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 put 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 space directly.


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 parameter.  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 are
portions of the address space that 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 ANALYSIS process.
     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 not.

SUMMARY

      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.


EXAMPLE

     To begin the ANALYSIS process the QEMM-386 line of the CONFIG.SYS
will look like:
     device=c:\qemm\qemm386.sys on

     QEMM-386/TYPE

   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-D0FF.

     QEMM-386/ACCESSED

   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.

     QEMM-386/ANALYSIS

   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 line:

device=c:\qemm\qemm386.sys ram x=d100-d3ff

           Copyright (C) 1991 by Quarterdeck Office Systems
                  * * *   E N D   O F   F I L E * * *

Comments

Popular posts from this blog

BOTTOM LIVE script

Fawlty Towers script for "A Touch of Class"