home *** CD-ROM | disk | FTP | other *** search
/ Shareware 1 2 the Maxx / sw_1.zip / sw_1 / MEM_MAN / QEMMERR.ZIP / QEMMERR.TEC
Text File  |  1992-03-26  |  16KB  |  300 lines

  1. ID:QM QEMM-386 / LOADHI Error Messages
  2. Quarterdeck Technical Note #192
  3. by Todd Threadgill
  4. last revision:  January 31, 1992
  5.  
  6. The Quarterdeck Expanded Memory Manager-386 (QEMM-386) is an extremely
  7. sophisticated utility program and, as such, may encounter a wide number of
  8. situations that can cause errors.  In this document, QEMM-386's error messages
  9. are outlined and discussed.  We will also present various troubleshooting tips
  10. that should solve the problem leading to the error message.
  11.  
  12.  
  13. MESSAGE 1:  "QEMM386:  Cannot load because there is not enough memory"
  14.  
  15. This error message can appear for several different reasons, often on machines
  16. with a total of one megabyte of RAM (640K conventional + 384K extended).  When
  17. QEMM-386 starts up, it finds all of the memory in your system and puts it into
  18. one big pool. Then it checks the parameters that were specified in the QEMM-386
  19. command line in the CONFIG.SYS file.  If there is not enough memory available
  20. to provide all of the services requested by the user as well as those that
  21. QEMM-386 performs by default, QEMM-386 will terminate with this error message.
  22.  
  23.      WHAT YOU CAN DO:  Be sure to remove any EXTMEM (EXT) or MEMORY (MEM)
  24.      parameters that may reside on the QEMM386.SYS device line, as these
  25.      parameters can easily prevent QEMM from loading when set incorrectly.
  26.      Give QEMM-386 parameters that will cause it to use less memory.  Such
  27.      parameters include NOFILL (NO), NOROM (NR), and MAPS=0.  If you have
  28.      specified the ROM parameter, remove it.  Also, you may need to exclude
  29.      some of your usable High RAM areas - on a EGA/VGA system, try X=B000-B7FF;
  30.      on a Hercules system the NV parameter should be sufficient. If your system
  31.      has Shadow RAM, QEMM-386 can usually use it as well, so enabling the
  32.      shadow RAM is a good idea when this message appears.  (Note that QEMM-386
  33.      is not able to detect and use all types of Shadow RAM.)  The preferable
  34.      solution to this problem is to install more memory in the computer.  This
  35.      will allow QEMM-386 to perform all of its memory-enhancing functions,
  36.      while also providing more expanded memory for applications that need it.
  37.  
  38.  
  39. MESSAGE 2:  "QEMM386:  Cannot load because the processor is already in Virtual
  40.              86 mode"
  41.  
  42.      The Intel 386 processor can run in one of three different modes:  Real
  43.      mode, Protected mode, and Virtual 8086 mode.  When QEMM-386 starts up,
  44.      its default settings tell it to place the processor in Virtual 86 mode. 
  45.      Only one program can do this, and since QEMM-386 is a "control program"
  46.      -- that is, it takes control of the whole machine's operation -- it is
  47.      forced by the design of the 80386 processor to become the program that
  48.      places the machine into Virtual 86 mode.  QEMM-386 will not load if some
  49.      other program has already done this.
  50.  
  51.      WHAT YOU CAN DO:  First check to make sure that QEMM-386 is the first
  52.      line in your CONFIG.SYS file.  If it is not, then move the QEMM-386 line
  53.      to the beginning of the file and see if QEMM-386 will load.  If QEMM-386
  54.      still refuses to load, or it was the first program to load in your
  55.      CONFIG.SYS, then you should check your machine's BIOS settings. 
  56.      Sometimes the BIOS may have certain settings (these may appear in the
  57.      BIOS setup as "extended features") that may need to be turned off.
  58.  
  59.                               *** WARNING ***
  60.      Your computer's BIOS is a highly sophisticated piece of software.
  61.      Quarterdeck does not recommend experimenting with BIOS settings unless you
  62.      are familiar with your BIOS' operation.  If you are the least bit unsure
  63.      of how to make changes to your BIOS setup, seek the assistance of a
  64.      hardware technician before continuing, or consult the documentation for
  65.      your computer.
  66.  
  67.  
  68. MESSAGE #3:  "QEMM386: Cannot load because an expanded memory manager is
  69.               already loaded."
  70.  
  71. Only one expanded memory manager can be present on the computer at any one
  72. time.  When QEMM-386 initializes, it checks to see if another expanded memory
  73. manager has already been loaded into the system.  If it detects the presence of
  74. such a memory manager, it will abort with this error message rather than
  75. attempt to install itself.  Since QEMM-386 is designed to provide all of the
  76. features you need in an expanded memory manager, the old expanded memory
  77. manager is no longer needed.
  78.  
  79.      WHAT YOU CAN DO:  Check your CONFIG.SYS for another expanded memory
  80.      manager, or place QEMM-386 on the first line of the CONFIG.SYS.  Expanded
  81.      memory managers tend to have the letters "EMM" or "EMS" in their names, so
  82.      if you see a line that looks like this:
  83.  
  84.                       DEVICE=C:\DOS\EMM386.EXE
  85.                   or  DEVICE=C:\REMM.SYS
  86.                   or  DEVICE=C:\EMM.SYS
  87.                   or  DEVICE=C:\EMS.SYS
  88.                   or  DEVICE=C:\CEMM.EXE
  89.  
  90.      remove the line from the CONFIG.SYS file.
  91.  
  92.  
  93. MESSAGE #4:  "QEMM386:  Unknown Microchannel Adapter ID: XXXX"
  94.  
  95. On Microchannel computers, each installed adapter has its own ID number.  This
  96. number is a four-digit alphanumeric code.  When QEMM-386 initializes during
  97. boot-up, it notes the names of all of the adapters that are present and
  98. compares them to a list of adapters contained in its MCA.ADL file.  If an
  99. adapter is present that is not listed in the MCA.ADL file, QEMM-386 will
  100. display the above error message.
  101.  
  102.      WHAT YOU CAN DO:  Add the Microchannel Adapter ID information to your
  103.      MCA.ADL file, following the information listed in Appendix D of the
  104.      QEMM-386 manual.  Alternatively, you may print out the @XXXX.ADF file
  105.      (where XXXX represents the four-character alphanumeric code that appears
  106.      in the error message) and fax it to Quarterdeck at (310) 314-3217.  We'll
  107.      be happy to send you the additions you need to make or to translate your
  108.      adapter's settings into the format needed by QEMM-386.  Also, updated
  109.      MCA.ADL files are available on CompuServe, BIX, and Quarterdeck's own
  110.      Bulletin Board System - (310) 314-3227.
  111.      Quarterdeck also offers a Technical Note that discusses the MCA.ADL file
  112.      in detail. You may obtain this document, MCA.TEC, through Quarterdeck's
  113.      Q/FAX service -- call (310) 314-3214 from your fax machine and download
  114.      document #223.
  115.  
  116.  
  117. MESSAGE #5:  "QEMM386:  Cannot find file MCA.ADL."
  118.  
  119. With this message the QEMM386.SYS device driver is reporting that it cannot
  120. find the MCA.ADL file that it uses to determine memory locations used by
  121. adapter cards in Microchannel machines (see message above).  QEMM386.SYS looks
  122. for MCA.ADL in the directory from which it was loaded in the CONFIG.SYS file
  123. (e.g. if your CONFIG.SYS contains a line that reads
  124. DEVICE=C:\QEMM\QEMM386.SYS, QEMM will look in the C:\QEMM directory for the
  125. MCA.ADL file).
  126.  
  127.      WHAT YOU CAN DO:  Ensure that the MCA.ADL file is located in the
  128.      directory that is specified on the QEMM386.SYS device line in your
  129.      CONFIG.SYS file.
  130.  
  131. MESSAGE #6:  "QEMM386:  Cannot load because this is not an 80386."
  132.  
  133. When QEMM-386 initializes, it checks the machine to ensure that a 386/486
  134. processor is present.  QEMM-386 cannot run on 80286, 8088, or 8086 machines.
  135.  
  136.      WHAT YOU CAN DO:  If QEMM-386 displays this error on a 386/486 machine,
  137.      you should re-install QEMM-386.  If the message still appears, you should
  138.      obtain a new copy of QEMM-386 and try again.  SPECIAL NOTE FOR 386 ADD-IN
  139.      BOARD OWNERS: This error message may appear if QEMM386.SYS appears in the
  140.      CONFIG.SYS file before the driver for your particular 386 add-in board.
  141.      Put the board's driver before QEMM386.SYS in the CONFIG.SYS and the
  142.      problem should go away.
  143.  
  144. MESSAGE #7:  "QEMM386:  Cannot load because there is no room for a Page
  145.               Frame."
  146.  
  147. In order to create and utilize expanded memory, QEMM-386 must create a page
  148. frame that is 64K in size.  By default, QEMM-386 attempts to put the page frame
  149. between A000 (640K) and F000 (960K).  However, some configurations prevent
  150. QEMM-386 from placing a page frame above A000 by splitting, or fragmenting, the
  151. unused areas above A000 into chunks that are less than 64K in size.  If
  152. QEMM-386 cannot place the page frame above A000, it will attempt to place it in
  153. conventional memory.  When it cannot create a page frame at all, QEMM-386 will
  154. display the above error message.
  155.  
  156.      WHAT YOU CAN DO:  Try re-arranging any adapters so that a 64K area above
  157.      A000 is unused.  This may involve changing physical switch settings on
  158.      your machine's adapters, or, on PS/2 and other Microchannel machines, this
  159.      will entail using the Reference Diskette.  If rearranging the adapters'
  160.      locations above A000 is not possible, remove any exclusions (X=xxxx-xxxx)
  161.      statements that reference areas between 0000 and 9FFF.
  162.  
  163.  
  164. MESSAGE #8:  "QEMM386:  Cannot load because QEMM is already loaded."
  165.  
  166. QEMM-386 is a control program, that oversees virtually all aspects of the
  167. computer's operation.  By definition there can only be one control program in
  168. charge of the system at any one time.  As a result, QEMM-386 cannot be loaded
  169. on top of itself. QEMM-386 is intelligent, and can detect its own presence
  170. while loading.  If it sees that it has already been loaded, it will abort with
  171. the above error message.
  172.  
  173.      WHAT YOU CAN DO:  This error will only result if you have multiple lines
  174.      in your CONFIG.SYS file that load the QEMM386.SYS device file. By
  175.      removing all but one of these lines you will solve the problem.
  176.  
  177.  
  178. MESSAGE #9:  "QEMM386:  Disabling StealthROM:F because the page frame does not
  179.               overlap any ROM."
  180.  
  181. QEMM-386 Version 6.0's new Stealth technology "hides" ROM areas above 640K and
  182. allows them to be used as either High RAM or part of the EMS page frame.  In
  183. order to use STEALTHROM:F, the page frame must be located atop a Stealthed ROM
  184. area.  By default, QEMM will do its best to place the page frame properly.
  185. However, if the page frame has been explicitly set (by using QEMM's FRAME=
  186. parameter) at an address that is not occupied by a ROM, or if all ROMS have
  187. been excluded with the X= parameter, QEMM will disable ST:F and continue.  This
  188. may result in an overall reduction of the amount High RAM created by QEMM-386.
  189.  
  190.      WHAT YOU CAN DO:  Remove the FRAME= parameter from your QEMM386.SYS
  191.      device line in your CONFIG.SYS file.  If there are no FRAME= parameters
  192.      on the device line, check for exclusions (EXCLUDE= or X= parameters) that
  193.      may be "covering" ROM areas, remove them, and try again.
  194.  
  195.  
  196. MESSAGE #10:  "QEMM386:  Disabling StealthROM:M because there is no page
  197.                frame."
  198.  
  199. A page frame is required in order to use the ST:M parameter and take full
  200. advantage of Stealth.
  201.  
  202.      WHAT YOU CAN DO:  Check your QEMM386.SYS device line in your CONFIG.SYS
  203.      file for the following parameters:
  204.  
  205.         FRAME=NONE (FR=NONE)
  206.         NOEMS
  207.         FRAMELENGTH=x (FL=x) -- where x is a value less than 4
  208.  
  209.      If your QEMM386.SYS device line contains any of the above parameters,
  210.      Stealth will be automatically disabled.  To use Stealth, remove the
  211.      appropriate parameters.
  212.  
  213.  
  214. MESSAGE #11:  "QEMM386:  Disabling Stealth because QEMM could not locate the
  215.                ROM handler for INT xx."
  216.  
  217. For best results when using Stealth, QEMM-386 must monitor some interrupts at
  218. all times.  When these interrupts have been diverted by a program, QEMM-386
  219. will disable Stealth.  As a result QEMM-386 should usually be loaded on the
  220. first line of your machine's CONFIG.SYS file, and this is practical in the
  221. vast majority of configurations.  However, there are times when it is
  222. desirable to load other device drivers before QEMM386.SYS.  When doing this,
  223. some device drivers may make it impossible for Stealth to "see" all of the
  224. activity in the machine, and problems can result.
  225.  
  226.      WHAT YOU CAN DO:  If possible, place the QEMM386.SYS device line at the
  227.      beginning of your CONFIG.SYS file.  If this is not possible, use
  228.      HOOKROM.SYS (included with QEMM-386 version 6.0 and later) -- this device
  229.      driver must be placed at the beginning of the CONFIG.SYS file!
  230.      HOOKROM.SYS acts as a secretary for QEMM-386, taking notes about the state
  231.      of the machine as the CONFIG.SYS is processed, and then passing these
  232.      notes to QEMM-386 so that it can operate properly with Stealth active.
  233.      Please see the READ.ME file included with QEMM-386 for more information
  234.      about HOOKROM.SYS.
  235.  
  236. MESSAGE #11:  "Cannot load because QEMM is not registered.
  237.                Run the INSTALL program to register."
  238.  
  239. The files on the QEMM-386 product diskette must be installed by running the
  240. INSTALL program -- they will not function properly when copied over by DOS'
  241. COPY command.
  242.  
  243.      WHAT YOU CAN DO:  Run the INSTALL program from the QEMM-386 product
  244.      diskette.
  245.  
  246.  
  247. MESSAGE #12:  "CONTEXTS is no longer a QEMM parameter!" or
  248.               "NAMES is no longer a QEMM parameter!"
  249.  
  250. QEMM-386 versions 4.23 and earlier featured a CONTEXTS parameter, which allowed
  251. users to specify the maximum number of mapping contexts that QEMM-386 could
  252. save at one time. Mapping contexts are now determined by the number of HANDLES
  253. provided by QEMM-386 (ranging from 16 to 255, 64 by default). Similarly, it was
  254. determined that the function of the NAMES parameter (also from QEMM-386
  255. versions 4.23 and earlier), which specified the maximum number of named
  256. handles, could be included into the HANDLES parameter. As a result the CONTEXTS
  257. and NAMES parameters were determined to be superfluous and were abandoned in
  258. QEMM-386 version 5.0 and later.
  259.  
  260.      WHAT YOU CAN DO:  Remove the CONTEXTS=xxx and MAPS=xxx parameters from
  261.      your QEMM386.SYS device line in your CONFIG.SYS file.
  262.  
  263.  
  264. MESSAGE #13:  "LOADHI:  The high memory chain is corrupted!"
  265.  
  266. QEMM-386 uses a collection of high memory areas called a "memory chain" to keep
  267. track of the TSR's and device drivers that are loaded high by the LOADHI
  268. programs.  If there is a conflict in high memory, this chain can become
  269. corrupted.
  270.  
  271.      WHAT YOU CAN DO:  This error message is usually accompanied by an address
  272.      (for example, C800).  You can frequently resolve the conflict with an
  273.      exclusion on the QEMM-386 device line in the CONFIG.SYS file.  Also, it is
  274.      possible that other drivers or programs that are being loaded in the
  275.      CONFIG.SYS or AUTOEXEC.BAT may be corrupting the high memory chain, in
  276.      which case you should clean out your CONFIG and AUTOEXEC of any device
  277.      drivers or TSRs that aren't absolutely vital to your machine's operation, 
  278.      then replace each line of each file, one at a time, rebooting each time 
  279.      you make a change, until the conflicting driver or TSR is discovered.
  280.  
  281.  
  282. MESSAGE #14:  "LOADHI:  Cannot write to log file."
  283.  
  284. Usually this error appears when there is a copy of the QEMM386.SYS device
  285. driver in the root directory of the hard drive, as well as in the QEMM
  286. subdirectory.  This can cause confusion when loading high.
  287.  
  288.      WHAT YOU CAN DO: Make sure that QEMM386.SYS is only found in the QEMM
  289.      subdirectory, and that the QEMM-386 device line in the CONFIG.SYS file
  290.      specifically points to that subdirectory (i.e.,
  291.      DEVICE=C:\QEMM\QEMM386.SYS, vs.  DEVICE=QEMM386.SYS).
  292.  
  293.  
  294.   ************************************************************************
  295.   *This technical note may be copied and distributed freely as long as it*
  296.   *is distributed in its entirety and it is not distributed for profit.  *
  297.   *         Copyright (C) 1990-2 by Quarterdeck Office Systems           *
  298.   ************************ E N D   O F   F I L E *************************
  299.  
  300.