
                         QEMM Utilities

 Quarterdeck Technical Note #294             Filename: QEMMUTIL.TEC
 by Quarterdeck Documentation              CompuServe: QUTIL.TEC
 Last Revised: 04/05/95                      Category: QEMM
 
 Subject: A discussion of the utilities that come with QEMM.
 
 
 Utility Programs
 ----------------
 
 This technical note describes several miscellaneous utility
 programs included with QEMM. The programs described herein let you
 load device drivers before QEMM, load device drivers from the DOS
 prompt, ensure that Microsoft Windows runs properly with QEMM if
 you install Windows after QEMM, fix certain problems that occur on
 some Toshiba laptop PCs, fix problems that may occur if you are
 running LAN WorkPlace for DOS and fix bootup problems that occur
 with some Ultra Stor disk controllers.  Read this document if any
 of these topics concern you.
 
 
 DEVICE.COM: Loading Device Drivers from the DOS Prompt
 ------------------------------------------------------
 
 DEVICE.COM is a program you can use to load certain device drivers
 from the DOS prompt instead of from CONFIG.SYS. DEVICE.COM will
 load character device drivers (e.g., a mouse driver, ANSI.SYS),
 but not block device drivers (e.g., drivers for disk compressors,
 RAM disks or CD ROM drives). In general, a block device is one
 that will be assigned a drive letter (e.g., E:, H:). You may want
 to use DEVICE.COM for the following reasons:
 
 - To load a device driver in a DESQview or DESQview/X window, or
   in a Microsoft Windows DOS window. For example, if you have a
   program that requires ANSI.SYS, you can load ANSI.SYS in that
   program's window without imposing ANSI's overhead on all your
   other windows.
 
 - To load a device driver from the DOS prompt when you need it.
 
 - To load a device driver in AUTOEXEC.BAT to help QEMM's Optimize
   program do a more efficient job of loading programs into upper
   memory. Occasionally a driver in CONFIG.SYS uses enough upper
   memory that there is not enough left to load a subsequent driver
   or TSR. In this case, you can try using DEVICE.COM to load the
   device driver in AUTOEXEC.BAT after the later driver or TSR has
   been loaded. This method is especially worth trying if Optimize
   is unable to load a very large TSR or driver into upper memory,
   after loading a preceding driver into upper memory.
 
 The syntax for DEVICE.COM is:
 
     DEVICE device_driver_pathname
 
 For example, to load ANSI.SYS from the DOS prompt you would type:

     DEVICE C:\DOS\ANSI.SYS.
 

 FIXINT13.SYS
 ------------
 
 FIXINT13.SYS prevents certain problems that can happen when the
 CONFIG.SYS file is being executed and problems occur on the DOS
 stack. FIXINT13's job is to switch away from the DOS stack and on
 to its own stack in conventional memory when a BIOS disk call
 occurs while the CONFIG.SYS file is being processed. If you give
 FIXINT13 the /STACKSIZE=xxxx parameter, you can also change the
 size of FIXINT13's stack, to prevent stack overruns. The default
 size of the FIXINT13 stack is 256 bytes; xxxx can be any value
 between 128 and 1024.
 
 FIXINT13 is needed with some UltraStor disk controllers to prevent
 "Device not found" errors during the boot process. FIXINT13 with
 the /STACKSIZE=384 parameter also prevents "Configuration too
 large for memory" errors or crashes in the CONFIG.SYS file on some
 systems with Adaptec 1542c controllers.
 
 If you think you need FIXINT13.SYS, load it in the CONFIG.SYS
 file, immediately before the QEMM386.SYS line (and after
 DOSDATA.SYS and any other programs loaded before QEMM386.SYS). For
 example:
 
     DEVICE=C:\QEMM\FIXINT13.SYS
 
     or
 
     DEVICE=C:\QEMM\FIXINT13.SYS /STACKSIZE=384 
 

 HOOKROM.SYS: Loading Device Drivers before QEMM
 -----------------------------------------------
 
 HOOKROM.SYS is a device driver that allows you to load other
 device drivers before QEMM in your CONFIG.SYS file. You may need
 HOOKROM.SYS if you need to load a device driver before QEMM386.SYS
 and you are using QEMM's Stealth ROM feature (i.e., you have the
 parameter ST:M or ST:F on the QEMM386.SYS device line in
 CONFIG.SYS). Though it is usually best to load device drivers
 after QEMM386.SYS, there are some special drivers (like the ones
 that manage some 80386 conversion hardware) that must load before
 QEMM386.SYS.  These drivers may obscure information that QEMM
 needs to enable the Stealth ROM feature. If this is the case,
 QEMM386.SYS will post an error message that reads,

 QEMM386: Disabling Stealth ROM because QEMM could not locate the
 ROM handler for INT x

 where x is the number of an interrupt handler that QEMM needs to
 manage for the Stealth ROM process to work.
 
 The solution to this problem is to place the line 

    DEVICE=C:\QEMM\HOOKROM.SYS

 at the beginning of the CONFIG.SYS file, before the driver that
 needs to be loaded before QEMM386.SYS.  HOOKROM will gather the
 necessary information for QEMM386.SYS, so that the special driver
 does not interfere with the Stealth ROM process.
 
 
 LWPFIX: Fixing Problems with LAN WorkPlace
 ------------------------------------------
 
 LWPFIX.COM is a TSR that works around problems with some versions
 of Novell's LAN WorkPlace for DOS. Specifically, some versions of
 Novell's TCPIP.EXE do not properly save and restore the state of
 two of the processor's 32-bit extended registers; this can cause
 malfunctions and crashes when other programs are using these
 registers. By adding the command C:\QEMM\LWPFIX.COM to your
 AUTOEXEC.BAT after TCPIP.EXE is loaded, you ensure that the
 original contents of these registers will be restored after
 TCPIP.EXE finishes using them.
 
 You will need LWPFIX.COM if you are using versions 4.00 or 4.01 of
 LAN WorkPlace for DOS; you may need it with some later versions.
 LWPFIX.COM does no harm even if it is not needed, so it may be
 worth loading LWPFIX.COM if you are experiencing problems with any
 version of LAN WorkPlace for DOS. DESQview/X automatically loads a
 driver that performs the same function as LWPFIX.COM, so
 LWPFIX.COM is only needed to fix problems that occur outside of
 DESQview/X.
 
 
 QWINFIX: Using Microsoft Windows with QEMM
 ------------------------------------------
 
 QWINFIX.COM makes Microsoft Windows 386 enhanced mode compatible
 with QEMM. QWINFIX does this by adding the line

 SystemROMBreakPoint=false

 to the [386Enh] section of Windows' SYSTEM.INI file. If you have
 Windows installed on your PC at the time you install QEMM, QEMM's
 installation program will run QWINFIX. If you install Windows
 after installing QEMM, you should run QWINFIX. To run QWINFIX:
 
     Switch to Windows' directory (usually \WINDOWS).
 
     Type QWINFIX and press Enter.


 QEMMREG: Displaying QEMM's Version and Serial Number
 ----------------------------------------------------
 
 QEMMREG.COM displays QEMM's version number and your serial number.
 To use QEMMREG, type
 
    QEMMREG

 and press Enter


 SCANMEM.COM: Checking for Memory Above the 16MB Line
 ----------------------------------------------------

 SCANMEM.COM is a program that scans your PC's memory, looking for
 memory that is not reported by the BIOS, and reports a parameter
 you can use to make QEMM see this memory. This program may be
 useful if your system has more than 16 megabytes of memory and you
 cannot access the memory above 16 megabytes after installing QEMM.
 The USERAM:XX:YY parameter to QEMM performs a similar function,
 scanning all of the address range between XX and YY; running
 SCANMEM is not a prerequisite to using USERAM.  However, you can
 use SCANMEM.COM to find the precise ranges of addresses that can
 be specified to USERAM; this may save a couple of moments when you
 boot your machine.

 Some systems with more than 16 megabytes of memory do not report
 all of their memory through the appropriate BIOS call (the
 standard method for reporting how much memory is installed in a
 system). On such a system, QEMM will not automatically detect the
 memory above 16 megabytes. Certain Compaq and Dell PCs and PCs
 with older Micronics motherboards (e.g., some Gateways) with more
 than 16 megabytes of memory are the most notable examples. SCANMEM
 tries to locate regions of RAM that QEMM does not detect
 automatically when it loads. If you have a system with more than
 16 megabytes of RAM and you suspect that all your memory is not
 available, follow the steps below:

 First, run Manifest to see if the memory is recognized. Type

    MFT

 and press Enter.

 Near the bottom of the Manifest System Overview screen, you will
 see a number for Total Extended Memory (pooled). If you have over
 16 megabytes of RAM and the amount displayed is less than 16384K,
 your system's BIOS is not reporting the memory above 16 megabytes,
 and you should continue with the steps below.

 Note: If you are having problems accessing memory above 16
 megabytes on a Dell PC, contact Dell's technical support. They may
 be able to supply you with an updated version of the system BIOS
 that fixes this problem.

 You should not run the SCANMEM program when QEMM386.SYS, DOS's
 HIMEM or EMM386, or any other memory manager is loaded. Similarly,
 you should not use any program that uses extended memory without
 the assistance of a memory manager; some disk caches or RAM disks
 may do this.  The ideal environment for running SCANMEM is a
 completely clean boot with no CONFIG.SYS or AUTOEXEC.BAT.

 Reboot your PC without any extended memory managers or consumers
 present.  After rebooting, type SCANMEM and press Enter.

 SCANMEM will scan your PC's memory, and if it finds a memory
 region that QEMM has not detected, it will post a message listing
 the exact form of the USERAM=xxxxxxxx-yyyyyyyy parameter that you
 should put on the QEMM386.SYS device line in CONFIG.SYS. SCANMEM
 will list an address range in eight-digit hexadecimal format
 (e.g., USERAM=00100000-00206000). When you add the USERAM
 parameter to the QEMM386.SYS device line, use all the digits given
 in the address. This parameter will reclaim the memory; SCANMEM's
 only job is to suggest the appropriate USERAM parameter (for
 information on the USERAM parameter, see Chapter 7).

 If SCANMEM lists a USERAM parameter, jot it down, when edit your
 CONFIG.SYS file and add the exact parameter SCANMEM reported to
 the QEMM386.SYS device driver line.

 Save your CONFIG.SYS file and reboot.

 After rebooting, you should be able to access the memory above 16
 megabytes. You can use Quarterdeck Manifest to verify that the
 memory is recognized (see the first step above).

 SCANMEM may post various messages:

 Address wrap at xxxxx, where xxxxx is a memory address, means that
 SCANMEM has detected that your PC's address space is smaller than
 the four gigabytes that the 386 processor can address. This
 message is for your information and does not invalidate SCANMEM's
 findings.

 NOUSERAM=xxxxx-yyyyy, where xxxxx and yyyyy are memory addresses,
 means that SCANMEM does not detect memory in the address range
 xxxxx-yyyyy, even though your system's BIOS has reported enough
 extended memory to fill these addresses. If you see this message,
 you may wish to use your PC's system setup to reconfigure your
 machine so that the BIOS reports extended memory properly.

 Error: Invalid USERAM due to memory cache! means that SCANMEM has
 detected that the USERAM=xxxxx-yyyyy parameter that it last
 printed to the screen is invalid and should not be used. You
 should ignore only the last USERAM message printed to the screen;
 previous USERAM messages are valid. This error may occur if an
 unusual memory cache makes the contents of memory appear to be
 variable.


 T386.EXE: Displaying the Pop-up Menu on Toshiba Laptops
 -------------------------------------------------------
 
 T386.EXE is a program for Toshiba laptop computers which
 allows the Toshiba pop-up menu to appear when QEMM is enabled.
 T386 works on many Toshiba laptops.
 
 If the computer is in virtual-8086 mode, Toshiba's pop-up menu
 will display only if the expanded memory manager calls itself
 "T386." The computer is always in virtual-8086 mode when
 expanded memory is in use or High RAM has been created.
 Therefore, when QEMM is performing these services you will not
 be able to access the pop-up menu. The T386 program makes QEMM
 appear to be named T386 and allows the menu to work properly.
 To use T386.EXE:
 
 Type

    T386

 and press Enter
 
 You can load T386.EXE into upper memory by typing LOADHI T386.
 
 You may want to load T386 from your AUTOEXEC.BAT file, so it
 will run whenever you start your PC. We suggest you run
 Optimize after adding this or any other program to
 AUTOEXEC.BAT.
 
 To remove T386 from memory (even if it is loaded into upper
 memory):
 
 Type

    T386 R

 and press Enter


 ******************************************************************
 *      Trademarks are property of their respective owners.       *
 *   This and other technical notes may be available in updated   *
 *     forms through Quarterdeck's standard support channels.     *
 *          Copyright (C) 1996 Quarterdeck Corporation            *
 ******************** E N D   O F   F I L E ***********************

