From: "quarterdeck canada" <quarterdeck.canada@canrem.com>
Subject: qemm 6.02 optimize an
Reply-To: "quarterdeck canada" <quarterdeck.canada@canrem.com>
Organization: Canada Remote Systems
Distribution: comp
Date: 20 Dec 92 23:10:17 EST

(Continued from the previous message)

one of the two hidden files that load invisibly when you boot).  When you load
a device driver with LOADHI.SYS DOS sees \LOADHI as the device name and does
not change the number Int 12 reports so PROTMAN.DOS may write the code/data it
loads into 90K beneath the top-of-memory into an inappropriate place.
     In order to figure out how much memory a program takes to load (often
more than the amount of memory a program takes to remain resident) OPTIMIZE,
in its second step, loads all programs in the CONFIG and AUTOEXEC with LOADHI
/GS.  With the /GS parameter LOADHI writes "LOADHISIGNATURE!" all over
conventional memory (beginning on top of the currently available address)
BEFORE it loads its program.  Then after LOADHI has loaded its program it can
search beyond the resident portion of the just-loaded program to find where
LOADHISIGNATURE! begins again so it can discover how much memory the program
used to load.  Since DOS has no means of allocating memory from the top down
PROTMAN.DOS has no means of reserving the address space into which it has
loaded its code/data at 90K beneath the top-of-memory.  The first LOADHI/GS
after PROTMAN.DOS loads wipes out this code/data.  When a subsequent LANMAN
program (like NETBIND) that uses the services of PROTMAN.DOS loads, 
PROTMAN.DOS does not find this code/data in place and the loading of the 
network programs fails.

USING OPTIMIZE WITH LANMAN
     As discussed in the PROTMAN.DOS section above you must resort to a
"trick" to use OPTIMIZE with LANMAN.  The trick is to make PROTMAN.DOS load
high into a sufficiently large region during the second step of OPTIMIZE and
load low in the third step.

     1) Place the RAM parameter on QEMM-386 or QEMM-50/60 or install QRAM in
     the CONFIG.SYS file.  Reboot and make sure that the biggest High RAM 
     region (as reported on Manifest's First Meg/Overview screen) is at least 
     96K in size.
          If you do not have a High RAM region at least 96K big you cannot run 
     OPTIMIZE with PROTMAN and you should not proceed to step 2.  Instead you 
     must manually place LOADHI.SYS and LOADHI.COM on every line in the 
     CONFIG.SYS and AUTOEXEC.BAT file that contains a program that you want to 
     load high.  (See the LOADHI chapter in your QEMM-386, QEMM-50/60, or QRAM 
     manual for more details.)  Do not, however, place LOADHI on the PROTMAN 
     line.  Then reboot without running OPTIMIZE.  This configuration should 
     let you successfully load most of your programs high.

     2) If you have any programs that allocate Upper Memory Blocks (UMBs) 
     through the Extended Memory Specification you must stop them from doing 
     so (by using the programs' own parameters) before proceeding further.  
     Such programs can interfere with OPTIMIZE's calculations under any 
     circumstances; with the procedure that we are about to use a program that 
     allocates a UMB may overwrite the code/data that PROTMAN.DOS writes into 
     90K below top-of-memory. Although this is a temporary precaution for 
     running OPTIMIZE with PROTMAN it is a good practice generally because 
     LOADHI can load a program into a specific region, allowing OPTIMIZE to 
     configure the programs loaded into High RAM in the most efficient manner. 
     If you desire you can revert to letting programs load themselves high 
     after the completion of OPTIMIZE.

     3) If your biggest High RAM region is 96K or larger start OPTIMIZE.  Let 
     OPTIMIZE modify your CONFIG.SYS and AUTOEXEC.BAT files in preparation for 
     the Detection Phase.  When you see the OPTIMIZE screen titled "DETECTION 
     PHASE," (before the first re-boot) hit Esc, then F1, to break out of 
     OPTIMIZE.

     4) Use an editor to edit the PROTMAN line in the CONFIG.SYS file.  Remove 
     all the parameters to LOADHI.SYS on that line.  (There should be two:  a 
     /GS 3parameter that directs the /GETSIZE data to LOADHI.OPT, and a LABEL 
     parameter.)  Leave LOADHI.SYS and all PROTMAN's parameters on the line; 
     leave all the other lines alone.

     For example if the PROTMAN line in the CONFIG.SYS says:

     DEVICE=C:\QEMM\LOADHI.SYS /GS:C:\QEMM\LOADHI.OPT /LABEL:AB
     ...C:\LANMAN\PROTMAN.DOS /I:C:\LANMAN\PROTOCOL.INI

     (the above is all one line in the CONFIG.SYS) then change the line to:

DEVICE=C:\QEMM\LOADHI.SYS C:\LANMAN\PROTMAN.DOS /I:C:\LANMAN\PROTOCOL.INI

     5) Reboot and let OPTIMIZE complete normally.

          When you're all done, PROTMAN will be loaded low, but it only uses 
     100 bytes or so (the newer PROTMAN may use about 6K).  All other programs 
     will be OPTIMIZEd.

SUMMARY

     Because LANMAN 2.1's NET START WORKSTATION and LOAD NETBEUI load their
daughters high only by means of a private interface to the UMBs created by DOS
5, DOS 5 users must have "DOS=UMB" in their CONFIG.SYS (or, if you already
have "DOS=HIGH", change it to "DOS=HIGH,UMB".)
     Because NETWKSTA uses EMS incorrectly you must add the line "LIM=NO" IF
you use DOS 5 AND the Stealth feature of QEMM-386.
     Because of PROTMAN.DOS's unusual behavior you must observe the
precautions described in the above section "USING OPTIMIZE WITH LANMAN".

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

(Continued in the next message)
---
  DeLuxe 1.25 #6922  DESQview 386 = DESQview + QEMM 386
--
Canada Remote Systems  - Toronto, Ontario
World's Largest PCBOARD System - 416-629-7000/629-7044