___________________________________________________________________________
STACKER NOTE                                                   STACKER NOTE
Title: Loading Stacker into Upper Memory with MS-DOS 5.0 or Windows 3.1. 
STAC FAX Index #2102 - 6/19/92                          
___________________________________________________________________________

Background.

   MS-DOS 5.0 and Windows 3.1 come with  an expanded memory manager, 
   EMM386.EXE, that enables the loading of device drivers and TSRs into the 
   Upper Memory area on 386 and 486 machines.  The Stacker device driver may 
   be loaded into this area if the system is configured properly and if there 
   is an upper memory block (UMB) large enough to accommodate the driver's 
   initialization size.  Stacker reports the initialization size of its 
   device driver at boot time.   As EMM386 loads, it reports the size of the 
   largest UMB. (Use the pause key during system boot to view these figures.)  
   If you attempt to load the Stacker driver into the UMBs and they are not 
   large enough, the driver will simply load into the lower 640k of 
   conventional memory.  

   Optimizing upper memory usage can be a complex task.  Freeing up UMBs that 
   are large enough may require much trial and error.  You may even have to 
   experiment with the order in which device drivers are loaded.  This 
   document provides the necessary configuration information to get you 
   started.  

Requirements.

   1. The computer must be a 386 or 486 with at least 1MB of memory.
  
   2. The Config.sys file must contain the following statements (in this 
      order):

      DEVICE=C:\<dir>\HIMEM.SYS               (where <dir> is DOS or WINDOWS)    
      DEVICE=C:\<dir>\EMM386.EXE   switches   (switches are explained later)         
      DOS=UMB   (or DOS=HIGH,UMB)
   
   3. You need to tell DOS to load the Stacker device HIGH by changing the          
      syntax from  DEVICE=  to   DEVICEHIGH= in Config.sys.  For example,

                  DEVICE=C:\STACKER\STACKER.COM  C:\STACVOL.DSK
      becomes     DEVICEHIGH=C:\STACKER\STACKER.COM  C:\STACVOL.DSK 
     
      NOTES: 
       
      1. Make sure HIMEM.SYS and EMM386.EXE exist on the uncompressed boot 
         drive or they will not be available during system startup.
         
      2. Stacker's SSWAP program is not memory resident.  Therefore, it is
         not necessary to load its device driver high.
         
EMM386.EXE Switches.
     
   The switches (parameters) tell EMM386 to perform a variety of functions 
   like opening the Upper Memory Area for device drivers and TSRs, or to
   create Expanded (EMS) memory for applications.  The switches you choose 
   will depend on your applications and the type of memory they require.
       
      1. If some applications use EMS memory, use the RAM parameter.  This 
         will provide access to the UMBs and create a 64k EMS page frame. 
          
         For example:  DEVICE=c:\DOS\EMM386.EXE RAM 
        
      2. If no EMS memory is required, use the NOEMS parameter.  This 
         will provide access to the UMBs and create 64K more usable space 
         than the RAM parameter.  No EMS services will be provided.
          
         For example:  DEVICE=c:\DOS\EMM386.EXE  NOEMS
       
      3. In order to free up the MAXIMUM amount of upper memory, you can
         add the m9 parameter.  When used in conjunction with the RAM 
         parameter, this will inform EMM386 to position the page frame
         at address E000h, freeing up an additional 64K of RAM.  When used 
         with the NOEMS parameter, the 64k memory block starting at E000h 
         will be added to the available UMBs.  
          
         For example:   DEVICE=c:\DOS\EMM386.EXE NOEMS m9
          
         This line will free up the maximum amount of UMBs on most systems.  
         It is possible to specify other memory starting address with the 
         m# parameter.  Please consult your DOS or Windows manual.
         
         NOTE: This option will work on most IBM-compatible machines. 
               However, a few machines like the PS/2 contain BIOS information 
               at E000.  You will not be able to use the M9 option on these 
               machines.       

Checking Stacker's memory location.

   To see if the Stacker device driverwas successfully loaded into the UMBs, 
   use the DOS MEM command. Type: MEM /C  to view the memory map.
     
The Stacker XT/8 coprocessor card and EMM386. 
  
   If you have the XT/8 coprocessor card, it will be necessary to 
   exclude the 16K upper memory address range that it uses from use 
   by EMM386.  For example, if the coprocessor base address is cc00, 
   add  x=cc00-cfff to the EMM386 device driver.  You can determine the
   coprocessor address by examining the /B= parameter on the Stacker 
   device line in Config.sys.  For example, if /B=CC00, the EMM386 
   line would read:

              DEVICE=C:\DOS\EMM386.EXE NOEMS m9 x=cc00-cfff
     
   Failure to exclude the address will result in the message "Coprocessor 
   not functioning, invoking software driver".
  
   The following table lists the seven possible memory ranges, based on the 
   base address of the XT/8 coprocessor card:
          
          Base Address   <range> to Exclude
          
          ------------   ------------------
          c400           c400-c7ff
          c800           c800-cbff
          cc00           cc00-cfff
          d000           d000-d3ff
          d400           d400-d7ff
          d800           d800-dbff
          dc00           dc00-dfff

   NOTE: The Stacker AT/16 card uses an exclusive I/O address so
         it requires no special treatment.

___________________________________________________________________________
Copyright 1993, Stac Electronics                    

     
     
     
     
     
