  About RAMBOOST.TXT
  ==================
  
  This purpose of RAMBOOST.TXT is to help you configure and use PC
  Tools Pro RAMBoost. This document includes the following sections:
  
      *    RAMBoost Changes and Additions
      *    About the RAMBOOST.INI File
      *    RAMBOOST.INI File Definitions
      *    The RAMBoost Memory Optimizer
      *    A Guide to What's Where in Reserved Memory
      *    Helpful Hints
      *    Upper Memory Block Use
  
  RAMBoost Changes and Additions
  ==============================
  
  This section describes the changes and additions to RAMBoost for the
  PC Tools Pro version. 
  
  
  LEARN Mode Enhancement
  ----------------------
  The TrackPIF option, now included in the [Learn] section of the
  RAMBOOST.INI file, monitors all device drivers and executable files
  under the control of RAMBoost. If any of these files change, RAMBoost
  detects the change and automatically initiates a LEARN mode on the
  next reboot.
  
  
  Multi-Config Environments
  -------------------------
  RAMSETUP now searches for the CONFIG environment variable to
  determine if MS-DOS 6 Multi-Config is being used. When found,
  RAMBoost substitutes its profile name (RAMBOOST.INI) for the value of
  the CONFIG variable.
  
  NOTE:  RAMSETUP looks for the Multi-Config variable in the CONFIG.SYS
  file, and, if found, processes only that environment. Then RAMSETUP
  removes all LOADHIGH-type syntax from all of the Multi-Config
  environments in the AUTOEXEC.BAT file upon execution. It may remove
  LOADHIGH commands that you want to retain in certain environments.
  You can examine your original AUTOEXEC.BAT file -- renamed to
  AUTOEXEC.CPS by RAMSETUP -- and enter the LOADHIGH commands you want
  to restore in the new AUTOEXEC.BAT file. There should be no LOADHIGH
  commands of any kind in any environments controlled by RAMBoost.
  
  In multiple configuration environments, the [Learn] section of the
  RAMBOOST.INI file no longer records a "csig" assignment. Instead, an
  "msig" assignment is used to define the active Multi-Config
  environment. RAMSETUP creates a new .INI file, matching the name of
  the config variable <%config%>, in the data directory, where <config>
  is the current value of the environment variable. This feature cannot
  be applied to AUTOEXEC.BAT since all possible batch file program
  flows cannot be determined. 
  
  
  Stacker 3.1
  -----------
  RAMBoost is now compatible with the Stacker 3.1 upgrade for DOS 6.
  Stacker 3.1 usually is installed under DOS 6 similarly to
  DoubleSpace: in the root directory of the boot drive under the name
  DBLSPACE.BIN. DOS then loads it prior to processing the CONFIG.SYS.
  STACHIGH.SYS relocates the Stacker 3.1 kernel (loaded by DOS as
  DBLSPACE.BIN) to upper memory. This device should come immediately
  after the RAMBOOST.EXE device line in the CONFIG.SYS. Under normal
  conditions, RAMSETUP does this automatically.
  
  
  DOS UMB Support
  ---------------
  RAMBoost now has built-in DOS=UMB support. RAMBOOST.EXE advises DOS
  that it is running in DOS=UMB mode when it completes the ACTIVE
  cycle. This means that direct XMS UMB memory requests and LOADHIGH
  commands will be honored from the command line, up to the limit of
  available UMB memory. The default setting is NOSMARTUMB (off). To
  activate this new function, you must edit the RAMBOOST.INI file to
  include the following command in the [System] section:
  
      [System]
      option=SmartUMB
  
  
  Novell DOS 7 Support
  --------------------
  RAMBoost now recognizes Novell DOS 7. RAMSETUP installs EMM386.EXE
  for Novell DOS 7 using the same rules as DR DOS 6's EMM386.SYS.
  
  
  SmartFRAME Support
  ------------------
  RAMBoost now optimizes using SmartFRAME when the EMS page frame
  follows the last UMB. SmartFRAME also now tests for its EMS version
  to be 4.0 or greater. If it is not, option=NoSmartFRAME is assumed.
  
  
  RAMBoost within DESQview or Windows
  -----------------------------------
  RAMBoost no longer resets automatically from the DESQview DOS box or
  enhanced Windows environment. Ordinarily, RAMBoost queries to restart
  the computer after executing a change of mode command, such as
  RAMBoost LEARN or RAMBoost ACTIVE. This query and the option to reset
  are now inhibited if the command was run from an enhanced Windows or
  DESQview DOS box environment. This eliminates problems sometimes
  encounted by abnormally terminating the protected operating system.
  
  
  RAMSETUP.EXE
  ------------
  1.  RAMSETUP.EXE now supports BUFFERS=XX,N where N is the number of
  read-ahead buffers that DOS will use, usually for short reads and
  directory searches. RAMSETUP no longer strips the ",N" parameter when
  updating CONFIG.SYS. The read-ahead buffer is a candidate for UMB
  optimization.
  
  2.  If RAMSETUP detects 386MAX Version 7 or above, or detects BlueMAX
  Version 6.02 or above, it adds the NO58 parameter to the MAX profile.
  If you install one of these versions after RAMBoost is loaded, you
  will need to edit the MAX profile manually, or run RAMSETUP again.
  Any version of 386MAX or BlueMAX prior to the versions listed above
  should not include NO58 in the profile.
  
  3.  RAMSETUP deletes from the CONFIG.SYS file two unnecessary and
  incompatible BlueMAX or 386MAX Version 7 devices, both named
  EXTRADOS.MAX.
  
  4.  RAMSETUP deletes from the CONFIG.SYS file two unnecessary and
  incompatible QEMM Version 7 devices:  
  
  DOS-UP.SYS and DOSDATA.SYS. 
  
  
  About the RAMBOOST.INI File
  ===========================
  
  The purpose of the RAMBOOST.INI file is to tell RAMBoost which
  options to use on startup. 
  
  The RAMBoost configuration file is an editable ASCII text file. It
  contains all the necessary parameters for RAMBoost to manage your
  system. The profile is named RAMBOOST.INI. When RAMBoost needs to
  consult or edit this profile, it searches for it in the \DATA
  subdirectory below the current directory.
  
  You can edit the RAMBOOST.INI file to customize RAMBoost's automated
  process.
  
  The RAMBOOST.INI file, which has eight sections, is similar to
  Microsoft Windows’ WIN.INI file. Each section begins with a section
  header, and contains specific assignments relevant to the operation
  of RAMBoost. The sections are:  
  
      *    System
      *    PIF.Advice
      *    Completion Triggers
      *    Text
      *    Learn
      *    PIF
      *    Learn.PIF
      *    Learn.UMB
  
  Each section might contain comments you add, assignments, and blank
  lines. The first character on a comment line must be a semicolon. 
  
  Neither the parameter, nor the value assigned to it, is
  case-sensitive. The following table shows the notational conventions
  used for this document. Do NOT include the angle brackets in the
  profile.
  
  This Symbol             Indicates that the Parameter is
  ---------------------------------------------------------
  [  ] - Square brackets  Headers
  <  > - Angle brackets   Place holder
  ---------------------------------------------------------
  
  RAMBOOST.INI File Definitions, following, describes the different
  sections in detail. 
  
  
  RAMBOOST.INI File Definitions
  =============================
  
  [System]  
  
  backup=<method> 
  
  Advises RAMBoost as to which backup method to use when the
  RAMBOOST.INI file is altered. The choices are:
  
  Method   Description
  ------------------------------------------------------------
  none     Doesn't save a backup of the file.
  
  standard Names the new file RAMBOOST.INI and the old file 
           RAMBOOST.OLD. This is the default.
  
  numbered Names the new file RAMBOOST.INI and the old file 
           RAMBOOST.nnn where nnn is the lowest 3-digit 
           number that does not exist.
  ------------------------------------------------------------
  
  backupextensions=<extension>
  
  When a backup copy is made of the RAMBOOST.INI file, the three-letter
  extension specified by this option is the extension of the backup
  copy. For example, if the extension is specified as CP9 then
  RAMBOOST.INI becomes RAMBOOST.CP9. The backup extension is supported
  only in standard mode.
  
  limit=<segment>
  
  RAMBoost measures the size of programs and device drivers during
  LEARN mode. The limit tag restricts RAMBoost's measurement of a
  program or device driver's load-time memory requirements to a
  specific segment address in low DOS memory.
  
  lowfiles=<number>
  
  Specifies the minimum number of DOS system file handles to be
  maintained in low DOS memory for compatibility with Windows. This
  value is calculated by RAMSETUP and is inserted into RAMBOOST.INI at
  setup time. RAMSETUP uses whichever value is greater:  its
  calculation or the LowFiles assignment in the RAMSETUP.INI file.
  
  loadquery=<prompt>
  
  Specifies the level of prompting that RAMBoost provides when loading
  into memory. The default value is yesno.
  Valid prompt levels are:
  
      Full:  RAMBoost displays three prompts (Y/N/A) when 
      loading. The user selects "Y" to have RAMBoost load, 
      "N" to not have RAMBoost load, or "A" to always load 
      and suppress all prompts until RAMSETUP.EXE is run 
      again. 
  
      Yesno:  RAMBoost displays two prompts (Y/N) when 
      loading. The user selects "Y" to have RAMBoost load, 
      or "N" to not have RAMBoost load. This is the default.
  
      None:  RAMBoost displays no prompts. You can still
      interrupt RAMBoost's loading by holding down the 
      [Ctrl], [Alt], and both [Shift] keys prior to its 
      loading.
  
  minumbs=<number>
  
  Specifies the minimum free memory. Replace <number> with the number
  of free kilobytes that must be available in upper memory for RAMSETUP
  to install RAMBoost in your CONFIG.SYS file. The default value is 32,
  which is enough for most systems. This option helps avoid low-memory
  conditions that occur with some TSRs and device drivers.
  
  mode=<mode>
  
  Specifies the mode of operation RAMBoost uses when loading into
  memory. If a MODE command is not found in the [System] section of the
  RAMBoost profile, then RAMBoost is disabled. The various modes are:
  
  Option   Description
  ------------------------------------------------------------
  learn    Instructs RAMBoost to install in LEARN mode. In 
           this mode, RAMBoost watches, rather than assists 
           DOS in executing the CONFIG.SYS and AUTOEXEC.BAT 
           files. When the boot process is complete, RAMBoost 
           writes what it has learned back to the 
           configuration file, disables LEARN mode, and 
           reboots the system in its ACTIVE operational mode.
  
  active   The normal mode of operation. When RAMBoost is 
           active, it is capable of performing its functions. 
           The memory optimizer process during setup normally 
           places RAMBoost into ACTIVE mode.
  
  enabled  Similar to ACTIVE mode, except it will not 
           automatically revert to LEARN mode when the 
           configuration changes. Instead, you are asked 
           whether to revert to LEARN mode, or proceed in 
           ACTIVE mode.
  
  passive  RAMBoost provides UMB management only. No programs 
           are loaded into upper memory.
  ------------------------------------------------------------
  
  optimizerui=<filename> <arguments>
  
  ouiminmem=<kbytes>
  
  Do not modify the values for the optimizerui or ouiminmem options.
  
  option=<option>
  
  These options enable or disable a particular RAMBoost feature. The
  options are:
  
  Option        Description
  ------------------------------------------------------------
  binddevices   This option is set by RAMBoost when it 
                discovers that a new device, such as a 
                CD-ROM, has been added to the system.
  
  display       Enables RAMBoost Mode display when you start 
                your PC so that when you reboot your PC, you 
                see RAMBoost’s current mode displayed in text 
                on your screen.
  
  noframe       Disables the EMS page frame on LIM 3.2, LIM 
                4.0, and EEMS boards and drivers. This allows 
                the 64K-page frame and any additional pages 
                to be mapped as UMBs for use by RAMBoost. 
                No EMS memory is addressable while this 
                option is invoked.
  
  nosmartframe  Disables the RAMBoost default of SMARTFRAME. 
                Tells RAMBoost not to use the EMS page frame 
                to assist in loading programs into high 
                memory. RAMBoost may also implicitly disable 
                SMARTFRAME if it determines that using 
                SMARTFRAME is not safe.
  
  quiet         Disables the DOS table relocation messages 
                and the operational mode banner. 
  
  smartstack    Instructs RAMBoost to correct a 
                [Ctrl]-[Alt]-[Del] problem that may occur 
                with DOS 5.0's EMM386.EXE driver, or other 
                386 control programs.
  
  smartframe    Enables the SmartFrame if possible (default). 
                SmartFrame borrows the EMS page frame 
                temporarily for loading programs and device 
                drivers.
  
  smarttsr      Allows self-loading TSRs to be considered as 
                candidates for upper memory during the 
                optimization process.
  
  smartumb      RAMBOOST.EXE advises DOS that it is running 
                in DOS=UMB mode when it completes the ACTIVE 
                cycle. This means that direct XMS UMB memory 
                requests and LOADHIGH commands will be 
                honored from the command line, up to the 
                limit of available UMB memory. The default 
                setting is NOSMARTUMB (off). To activate this 
                new function, you must edit the RAMBOOST.INI 
                file to include the following command in the 
                [System] section: 
  
                     [SYSTEM]
                     option=SmartUMB.
  
  recover       Attempts to run the setup program when 
                RAMBoost fails to load.
  
  test          Performs a complete memory test on all DOS= 
                and UMB= memory ranges.
  
  verbose       Enables full DOS table relocation messages, 
                allowing you to see RAMBoost's status while 
                it relocates the DOS tables. 
  ------------------------------------------------------------
  
  reset=<reset_mode> 
  
  Specifies the mode by which RAMBoost will reset the processor when
  required. The options are:
  
  Mode          Description
  ------------------------------------------------------------
  cold          Performs a cold reboot (default).
  
  hard          Performs a hard reboot by pulling the processor 
                reset pin low.
  
  warm          Performs a warm reboot.
  
  fast          Performs a reboot using interrupt 19h.
  ------------------------------------------------------------
  
  resetdelay=<seconds>
  
  Advises RAMBoost to wait <seconds> number of seconds before resetting
  the computer. The default is 3 seconds. It may be necessary to change
  this value to allow some time for disk-caching programs with delayed
  write options to flush their buffers to disk before the processor is
  reset. 
  
  NOTE:  RAMBoost attempts to advise disk caches of an impending reset
  by issuing the DOS function call to reset (before any delay).
  
  setup=<filename.ext>
  
  Specifies an override of the name of the RAMSETUP program. It is used
  during startup, when RAMBoost needs to execute its setup program in
  response to a system problem that requires configuration recovery,
  such as a corrupted CONFIG.SYS file.
  
  terminatedelay=<seconds>
  
  Specifies the number of seconds to wait for an answer to the query
  "Load RAMBoost [Y/N]," which is issued at startup. When that number
  of seconds expires without an answer, RAMBoost continues to load. If
  the TerminateDelay=0, then the query is not issued. The default is 3
  seconds.
  
  NOTE:  Regardless of the TerminateDelay setting, you can always cause
  a terminate query to appear at startup by holding down [Ctrl], [Alt],
  and both [Shift] keys simultaneously while RAMBoost is loading.
  
  timertype=<displaytype>
  
  Specifies the way in which RAMBoost displays timer information during
  the optimize process.
  
  Mode          Description
  ------------------------------------------------------------
  elapsed       Displays the time elapsed from the beginning of 
                the optimization.
  
  eta           Displays how long RAMBoost estimates the 
                optimization will take. This value is updated 
                dynamically during the optimization.
  ------------------------------------------------------------
  
  
  [PIF.Advice]
  
  <filename.ext>=low|high=<segment>, locked
  
  This section is used to override RAMBoost's automated process. If you
  want a file to remain in conventional DOS memory and not be loaded
  high, the information should be placed in this section.
  
  For example, if you want the DOS FILES to remain in low memory, use
  this syntax:
  
           FILES=LOW, LOCKED 
  
  Individual expressions in this [PIF.Advice] section are separated by
  a comma, at least one space. The word LOCKED must be included at the
  end of the command line, as shown above. For other syntax examples,
  review the [PIF.Advice] section in the RAMBOOST.INI file.
  
  
  [CompletionTriggers]  
  
  shell=<filename.ext>
  
  RAMBoost builds a list of file names from 0 or more shell=
  assignments in this section when starting a LEARN-mode pass. During
  this pass, RAMBoost compares the file name associated with every
  program execution against each file name in the list. When a match
  occurs, RAMBoost optionally compares the size of the file to the size
  recorded in the list, (if present) to verify the match. RAMBoost
  terminates LEARN mode on the first confirmed match, and immediately
  invokes the memory optimizer.
  
  ignore=<filename.ext>
  
  Tells RAMBoost to bypass loading the specified program during a LEARN
  mode, thereby excluding its execution during the LEARN mode. Once the
  memory optimizer is done, it reboots the system in ACTIVE mode and
  loads the program in conventional memory.
  
  
  [Text]
  
  These assignments work in conjunction with option=display from the
  [System] section. The default is option=quiet, which supresses the
  display of this banner. This allows you to configure the text that
  will appear in the RAMBoost Mode Display Tag. These strings are
  truncated at 29 characters, and will be displayed entirely in
  uppercase. The following examples show text-string assignments that
  RAMBoost recognizes.
  
  learntext=<text>
  
  Replaces default text for LEARN mode indicator. The default indicator
  is Learn.
  
  activetext=<text>
  
  Replaces default text for ACTIVE mode indicator. The default is
  Active.
  
  
  [Learn]  
  
  RAMBoost uses the [Learn] section of its profile to keep information
  that controls the LEARN mode operations. 
  
  When RAMBoost optimizes memory, it collects certain data about the
  system at that time and records it in this section. Should any part
  of this data change, RAMBoost reverts from ACTIVE to LEARN mode
  automatically. This data is inspected and compared to existing
  conditions when RAMBoost is loaded.
  
  The assignments are:
  
  Assignment                   Description
  ---------------------------------------------------------
  ASIG=timestamp               Time stamp on AUTOEXEC.BAT.
  
  CSIG=timestamp               Time stamp on CONFIG.SYS.
  
  PSIG=timestamp               Time stamp on RAMBOOST.INI.
  
  MSIG=SSSSCCCC, <config>      For MS DOS 6 Multi-Config
  
  DSIG=DOS info                DOS version and OEM name.
  
  BSIG=d:                      Boot drive letter.
  
  FSIG=serial #                Boot drive serial # (DOS + 4).
  
  LSIG=checksum                Time stamp on executable file.
  
  XSIG=checksum                Time stamp on user-defined file.
  -------------------------------------------------------------
  
  NOTE:  These assignments are modified only under the control of
  RAMBoost and are presented for explanatory purposes only.
  
  RAMBoost writes these signatures after it optimizes memory
  successfully. When starting in ACTIVE mode, RAMBoost reads each
  signature and compares these values to the current values in the
  system. If any signature is different, RAMBoost reverts to LEARN mode
  automatically. During startup when MODE=ENABLED, RAMBoost performs
  the same tests; however, if a change has occurred, RAMBoost only
  recommends reverting to LEARN mode to query you.
  
  If a signature does not exist in the file, the corresponding check is
  not performed. There might be 0 or more XSIG= assignments. These
  assignments are created and deleted by the RAMBoost Track utility,
  which allows you to configure RAMBoost to track extra configuration
  files. Use this syntax to track additional files:
  
      ramboost track <path\filename.ext>
  
  RAMBoost observes some [Learn] options. The options are:
  
  Option        Description
  ------------------------------------------------------------
  keepinfo      When RAMBoost is invoked at the end of a 
                LEARN mode, this option causes RAMBoost to 
                write its collected data to the file. Enables 
                RAMBoost to perform offline optimizations 
                later, based on that data. RAMBoost writes 
                this data to the [Learn.PIF] and [Learn.UMB] 
                sections.
  
  trackpif      When RAMBoost is invoked at the end of a 
                LEARN mode, this option causes RAMBoost to 
                individually write an LSIG= in the [Learn] 
                section for each executable file seen by 
                RAMBoost. If any executable file is updated
                or changed, RAMBoost will activate a LEARN
                mode on the next reboot.
  
  noabortreset  Normally, RAMBoost attempts to reset the 
                computer when activated by the completion of 
                LEARN mode (online optimization). This option 
                prevents RAMBoost from resetting the computer 
                when the process is terminated prematurely by 
                operator intervention.
  ------------------------------------------------------------
  
  optmethod=<method>
  
  Advises RAMBoost as to which optimization method to use. The <method>
  is a variable number that has the following meaning:
  
  Number   Description
  ------------------------------------------------------------
  0        Requires RAMBoost to choose either the detailed 
           method (1) or the quick method (2), based on 
           overall upper memory requirements, and the amount 
           of upper memory available. This is the default.
  
  1        Forces RAMBoost to always perform a detailed 
           (1-pass) optimization. This method is the most 
           precise, though it can be time-consuming. 
  
  2        Forces RAMBoost to always perform a quick (2-pass) 
           optimization. Though this method is not as precise 
           as the detailed method, and it is generally much 
           faster.
  
  -1       Similar to method 0, except on making its 
           decision, RAMBoost displays a dialog box allowing 
           you to reverse its decision.
  ------------------------------------------------------------
  
  NOTE:  RAMBoost attempts to fit programs, device drivers, and DOS
  tables in upper memory. The strategy used is "best fit," allocating
  from the smallest upper memory block, which satisfies the size of an
  upper memory request.
  
  
  [PIF]
  
  Do not change any of the information in this section. These entries
  are modified only under the control of RAMBoost and are presented
  here for explanatory purposes only. If you want to override
  Ramboost's configuration in order to relocate a program elsewhere in
  memory, make the change in the [PIF.Advice] section, as described
  previously.
  
  These are examples of PIF entries
  
  ramboost=     high=D000, need=10256, keep=10256
  ramdrive.sys= high=C800, need=6912,  keep=1136,  size=5873
  setver.exe=   high=B000, need=14736, keep=400,   size=12007
  winox.sys=    high=C800, need=4032,  keep=2784,  size=2998
  mouse.sys=    low,       need=56032, keep-17040, size=55007
  files=        high=D000, need=1600,  keep=1600
  fcbs=         high=D000, need=256,   keep=256
  buffers=      high=D000, need=512,   keep=512
  drives=       high=D000, need=624,   keep=624
  stacks=       high=C800, need=624,   keep=624
  stacks=       high=C800, need=2384,  keep=2384
  smartdrv.exe= high=DA00, need=44688, keep=26896,  size=43609
  ipx.com=      high=B000, need=28752, keep=19824,  size=27459
  netx.com=     high=DA00, need=53728, keep=43872,  size=52443
  doskey.com=   high=C800, need=7888,  keep=5744,   size=5883
  
  
  This section defines the memory requirements of specific programs and
  device drivers. Each assignment in this section has the general
  format:
  
      filename.ext=<data>
  
  Filename.ext is the name of the program or device driver image file.
  The data associated with the assignment might contain one or several
  of the following expressions. 
  
  Each PIF will have either a LOW or HIGH=<segment> in the assignment:
  
      low|high=<segment>
  
  LOW advises RAMBoost not to relocate this program or device driver
  into upper memory. HIGH advises RAMBoost that the program or device
  driver will be loaded into upper memory. 
  
  If <segment> is specified in conjunction with HIGH, then RAMBoost
  attempts to load the program or device driver at or above the
  specified <segment> address.
  
  need=<bytes>
  
  Specifies the minimum amount of memory the program needs to
  initialize and load into memory.
  
  keep=<bytes>
  
  Informs RAMBoost how much memory the program or device driver
  requires once it is resident. RAMBoost allocates the greater of the
  KEEP or NEED values. Once the program or device driver is resident,
  RAMBoost recovers any remaining memory for the next program load.
  
  size=<bytes>
  
  RAMBoost compares the size recorded in the PIF section to the amount
  of memory the file occupies on the hard disk. This provides extra
  verification that this PIF is to be used with the current program or
  device driver.
  
  ems
  
  Instructs RAMBoost to make the PIF available for SMARTFRAME loading.
  RAMBoost normally adds this to the PIF command during the LEARN
  process if it determines that the PIF would benefit from SMARTFRAME
  loading.
  
  
  [Learn.PIF]  
  
  These are examples of [Learn.PIF] entries:
  
  ramboost=     high, need=10256, keep=10256
  ramdrive.sys= high, need=5888,  keep=1136,  size=5873
  setver.exe=   high, need=13712, keep=400,   size=12007
  winox.sys=    high, need=3008,  keep=2784,  size=2998
  mouse.sys=    high, need=55008, keep=17040, size=55007
  files=        high, need=1600,  keep=1600
  fcbs=         high, need=256,   keep=256
  buffers=      high, need=512,   keep=512
  drives=       high, need=624,   keep=624
  stacks=       high, need=624,   keep=624
  stacks=       high, need=2384,  keep=2384
  command.com=  high, need=48416, keep=5584,  size=47845
  smartdrv.exe= high, need=43664, keep=26896, size=43609
  ipx.com=      high, need=27728, keep=19824, size=27459
  netx.com=     high, need=52704, keep=43872, size=52443
  doskey.com=   high, need=6864,  keep=5744,  size=5883
  
  RAMBoost generates this section when activated by the completion of a
  LEARN-mode pass, and when the [Learn] Option=KeepInfo is in effect.
  The PIF assignments in this section record the name and size of each
  program or device driver RAMBoost measured as a candidate for upper
  memory, along with its initial and final memory requirements.
  
  
  [Learn.UMB]  
  
  These are examples of [Learn.UMB] entries:
  
  umb=C800-CBFF
  umb=D000-D3FF
  umb=B000-B7FF
  umb=DA00-EFFF
  umb=0000-9FFF
  
  RAMBoost inherits the UMB chain provided by the memory manager during
  a LEARN-mode pass, and when the [Learn] Option=KeepInfo is in effect,
  writes out this section. The assignment is:
  
      umb=<range>
  
  Specifies the base segment address and top segment address of a UMB
  that is available for use by RAMBoost when it starts. The DOS memory
  arena is also recorded in a UMB assignment.
  
  
  The RAMBoost Memory Optimizer
  =============================
  
  RAMBoost makes its best attempt to provide the maximum DOS memory.
  The RAMBoost memory optimizer determines which of two optimization
  methods is better for your system's configuration. It is possible
  that RAMBoost will not pick the better method for your machine. The
  following options allow you additional control over the memory
  optimizer's operation. 
  
  OPTMETHOD=1
  
  Use this option if the memory optimizer leaves a high number of
  programs in low memory. For example, RAMBoost has 128 K to work with,
  but moves only 40 K of your 100 K network out of DOS. To correct
  this, edit the RAMBOOST.INI file and add the following command line
  to the [Learn] section:
  
  Syntax example:
  
      [LEARN]
      OPTMETHOD=1
  
  This forces RAMBoost to re-optimize for maximum precision. Using this
  method, however, causes the memory optimizer to be slower during the
  optimize process. System performance is not affected during normal
  operations.
  
  OPTMETHOD=2
  
  Use this option if the memory optimizer takes a long time to optimize
  the system. For example, RAMBoost has 2 billion combinations to check
  and is estimating 2 hours or more to complete. To increase the speed
  of the optimization, edit the RAMBOOST.INI file and add the following
  command line to the [LEARN] section:
  
  Syntax example:
  
      [LEARN]
      OPTMETHOD=2
  
  This method can reduce the estimated 2 hours to approximately 30
  seconds. In most cases, this is the default method that RAMBoost
  uses.
  
  
  A Guide to What's Where in Reserved Memory
  ==========================================
  
  In an IBM-compatible computer, 384 K of memory is reserved for
  hardware expansion. This area is located from 640 K to 1 MB (1024 K).
  Certain pieces of hardware -- video cards and BIOS ROMs for example
  -- use part of this memory. Some of these devices can be relocated
  and some cannot be moved. Typically, part of this memory is unused
  and can be reclaimed for use as DOS memory. RAMBoost works with a
  memory platform to move DOS programs to this upper memory, as it is
  known. 
  
  For reference, the following list shows devices that use part of this
  upper memory. This indicates which expansion cards you own are using
  memory, and how much of this upper memory space each adapter uses.
  The locations shown in the table below are typical areas for each
  card. These may vary from machine to machine, depending on other
  expansion cards or on the technician who set up the machine. 
  
  The list also provides the hexadecimal addresses used by the device,
  and the number of kilobytes of memory space this equates to. When a
  device can be moved, a list of alternate locations is given. When a
  device cannot be moved, it is marked as unmovable.
  
                                         Kilobytes of
                     Hexadecimal         Memory Space
  BIOS ROMs          Addresses Used      Used
  ---------------------------------------------------
  XT                 F800-FFFF or             32 K
                     FC00-FFFF                16 K
  
  286*               F0000-FFFF or            64 K
                     E000-FFFF                128 K
  
  386SX/386DX/486    F000-FFFF                64 K
  
  PS/2 Models 25 & 30 
  (8088 CPU)         F000-FFFF                64 K
  
  PS/2 Models 30-286 
  and up             E000-FFFF                128 K
  ---------------------------------------------------
  
  *  E000-F000 is usually not available on these machines, even if not
  used by BIOS ROMs. The 286 machines that use the Chips and
  Technologies NEAT CHIPSet are an exception to this rule, and the
  E000-F000 range is typically available.
  
  
                                              Kilobytes of
                          Hexadecimal         Memory Space
  Video Cards             Addresses Used      Used
  ------------------------------------------------------------
  Monochrome Text 
  (MDA)                   B000-B800                32 K
  
  Monochrome Graphics 
  (MGA)                   B000-B800                32 K
  
  Compaq 
  Plasma/monochrome       B800-C000                32 K
  
  Hercules Monochrome     B000-C000                64 K
  Graphics (HGC) (Often 
  shows only B000-B800 until 
  switched into a graphics 
  mode by an application.)
  
  Hercules Incolor Card   B000-C000                64 K
  
  Color Graphics Adapter 
  (CGA)                   B800-C000                32 K
  
  Enhanced Graphics       A000-B000                112 K
  Adapter (EGA)           B800-C400                112 K
  
  Super Enhanced Graphics A000-B000                128 K
  Adapter (SEGA)          B800-C800
  
  Video Graphics Array    A000-B000                128 K
  (VGA)                   B800-C800
  
  Enhanced Video Graphics A000-B000                144 K
  Array (VGA+)            B800-CC00
  
  AT&T Display Enhanced   A000-C000                128 K
  Video (DEV)
  
  AT&T CGA Double Scan    B800-C000                32 K
  
  Professional Graphics   B800-C000                40 K
  Array (PGA)             C600-C800
  
  PGA with EGA            A000-B000                120 K
  (dual monitors)         B800-C400
                          C600-C800
  
  Professional Graphics   B800-C000                40 K
  Controllers (such as    C600-C800
  Matrox or Number Nine) 
  (These cards vary in 
  their exact requirements. 
  Consult your Users Guide 
  for the video card for 
  this information.)
  
  PS/2 Monochrome VGA     B000-B800                32 K
  (mode mono)
  
  PS/2 Monochrome VGA     B800-C000                32 K
  (mode co80)
  
  PS/2 Color VGA          A000-B000                96 K
                          B800-C000
  
  Sigma Laserview         B000-C000                128 K
                          D000-E000
                          (second half can be 
                          anywhere from 8000-E000, 
                          first half not movable)
  
  Amdek 1280 (also Taxan) A000-B000                104 K
                          B800-C000
                          C400-C600
  
  Wyse 700                A000-B000                112 K
                          B800-C400
  
  Genius display          A000-B000                128 K
                          B800-C800
  
  Cornerstone full-page   B000-C000 
  display                 (mono emulation)
                          C800-D000 
                          (no emulation)
                          B000-B800 (if mono 
                          registers are clear)     32-64 K
  ------------------------------------------------------------
  
  
                                              Kilobytes of
                          Hexadecimal         Memory Space
  Network Hardware        Addresses Used      Used
  ------------------------------------------------------------
  
  Arcnet (generic);       D000-D400           16 K
  Alternates: 
  dependent on card
  
  Ethernet (generic);     D000-D400           16 K
  Alternates: 
  dependent on card.
  
  3Com Tokenlink          No space required*  
  
  3Com Etherlink (3C501)  No space required   
  
  3Com Etherlink II (3C503) No space required*
  Alternates:  
  16 K at C800, CC00, 
  D800, DC00, or disabled
  
  Alloy Slave card        D000-E000           64 K
  (dual segment)
  
  Alloy Slave card        D000-E000           64 K
  (single segment)
  
  AT&T Starlan; 
  Alternates: A000-A200,  C000-C200           8 K
  B000-B200, D000-D200, 
  E000-E200, or F000-F200
  
  Coconet Ethernet;       D000-D200           8 K
  Alternates: Any 8 K from 
  8000-EE00
  
  Data General            D000-D400           16 K
  
  DCA 10Net Arcnet (2 Mbs)     No space required   
  
  DCA 10Net Ethernet      D800-DC00           16 K
  (10 Mbs)  Alternates: 
  Any 16 K from A000-DC00
  
  DEC Depca card;         D000-E000           64 K
  Alternates: Movable, but 
  not documented.
  
  IBM 3270 Emulation card;     CC00-D000      16 K
  Alternates:  Any 16 K 
  from C800-E000
  
  IBM Token Ring;         CC00-D000           32 K
  Alternates:             D800-DC00
  ROM - Any 16 K from 
  8000-FC00  
  RAM - Any 16 K from 
  8000-FC00
  
  Lantastic               D800-E000           32 K
  
  Micom Interlan 5210     D000-D400           16 K
  Ethernet; 
  Alternates: Any 16 K 
  from C000-E000
  
  Novell NE1000           No space required*  
  
  Novell NE2000           No space required*  
  
  SMC Arcnet PC100,PC110;      D000-D400      16 K
  Alternates: C000-C400 only
  
  SMC Arcnet PC120;       D000-D400           16K
  Alternates: Any 16 K from 
  0000-FFFF
  
  SMC Arcnet PC210;       D000-E000           64 K
  Alternates: Not movable
  
  SMC Arcnet PC220;       D000-D200           8 K
  Alternates: Any 8 K from 
  C000-E000
  
  SMC Arcnet PC500;       Dynamic             16 K
  Alternates: Will find 
  and automatically use 
  any empty 16 K from 
  A000-F000
  
  TRW PC2001 Ethernet     D000-E000            64 K
                          when using TRW 
                          software prior to 
                          version 4.06. 
                          No space required 
                          when using TRW software 
                          version 4.06 or higher.
  
  Tops Flashcard          No space required
  
  Ungerman-Bass;          D800-E000           32 K
  Alternates: Any 32 K 
  from 8000-FFFF
  
  Western Digital WD8003E;     C400-C600      8 K
  Alternates: Any 8 K from 
  A000-E000, can also be set 
  for any 32 K from A000-E000
  ------------------------------------------------------------
  
  * Some networks may require the optional Shared RAM on the adapter
  card to be enabled. Banyan Vines, for example, requires the 3Com
  Etherlink II (3C503) card to enable its RAM (usually 16 K from
  CC00-D000). Check your network manuals for the exact requirements.
  
  
                                              Kilobytes of
                          Hexadecimal         Memory Space
  Expanded Memory Cards   Addresses Used      Used
  ------------------------------------------------------------
  
  Generic (EMS,           D000-E000           64 K
  LIM 3.2, LIM 4.0);  
  Alternates:  
  Any 64 K from C000-E000  
  (Includes Intel Above 
  Board, etc.)
  
  AST Rampage (EEMS)      D000-E000           64 K
  or compatibles; 
  Alternates:  
  Any 64 K from A000-E000
  ------------------------------------------------------------
  
  
                                              Kilobytes of
                          Hexadecimal         Memory Space
  Hard Disk Controllers   Addresses Used      Used
  ------------------------------------------------------------
  MFM                     No space required*  
  
  RLL                     C800-CC00           16 K
  
  IDE                     No space required   
  
  SCSI                    CC00-D000           16 K
  
  ESDI                    CC00-D000           16 K
  ------------------------------------------------------------
  
  * On XT machines, a hard-drive controller always uses memory, usually
  8 K from C800-CA00.
  
  
                                              Kilobytes of
                          Hexadecimal         Memory Space
  Miscellaneous Cards     Addresses Used      Used
  ------------------------------------------------------------
  Bus Mouse               No space required   
  
  Serial Mouse            No space required   
  
  Tape Backups            D000-D400*          16 K
  
  Scanners                D000-D400           16 K
  ------------------------------------------------------------
  
  * These cards may use 16 K or more, depending on the card. Most do
  not use any memory. Check your user’s manual for the scanner or tape
  unit for specific information. 
  
  
  Helpful Hints
  =============
  
  Microsoft Windows 3.x
  ---------------------
  RAMBoost is shipped with a single pre-configured option in the
  RAMBOOST.INI file. This option loads the DOS FILES command into low
  memory and locks them there. This allows Windows 3.x to run correctly
  in Enhanced Mode. Windows will fail to operate if you remove or alter
  this command. For reference, the command is found in the PIF section
  of the RAMBOOST.INI and is provided here:
  
           FILES=low, locked
  
  
  MS-DOS 5.0 EMM386.EXE and [Ctrl]-[Alt]-[Del]
  --------------------------------------------
  When using the EMM386.EXE driver under MS-DOS 5.0 to provide a memory
  platform for RAMBoost, the [Ctrl]-[Alt]-[Del] function may not work
  correctly. This will result in the machine hanging rather than
  rebooting. This is due to the DOS 5.0 protected-mode manager not
  passing the reboot request to RAMBoost, and attempting to reboot the
  machine itself. There are two options that can be used to correct
  this problem. 
  
  1.  Edit your RAMBOOST.INI file and add a command to the 
      [SYSTEM] section, for example:
  
           [SYSTEM]
           OPTION=SMARTSTACK
  
      This causes RAMBoost to correct the problem.
  
  2.  In addition, there is an alternative reboot sequence 
      inside RAMBoost. To access this feature, from DOS type
  
           RAMBoost Reset [Enter]
  
      This allows RAMBoost to reboot the machine correctly.
  
  
  FASTOPEN
  --------
  FASTOPEN, when loaded with the /X option, performs EMS calls for
  every DOS function. This EMS activity causes RAMBoost to determine
  that it is not safe to use the SMARTFRAME for programs that load
  after FASTOPEN. 
  
  Load FASTOPEN as one of the last items in the AUTOEXEC.BAT file so
  that the SMARTFRAME processor can do its best job. This caveat also
  applies to RAM disks, disk-caching programs, and other resident
  software that routinely makes EMS calls. If an extended memory
  alternative is available rather than EMS, then that alternative is
  preferred, especially in 386 environments.
  
  
  Fragmented Memory and Correction Actions
  ----------------------------------------
  It is much more efficient to create a small number of large UMBs than
  it is to create a large number of small UMBs. In addition, the
  RAMBoost memory optimizer might take a long time to find an optimal
  arrangement if the number of UMBs is larger than 3 or 4. 
  
  The optimization pass might take some time to complete, since, in
  some cases, RAMBoost must consider billions of possible alternative
  combinations. 
  
  When setting up a system, you should install your adapters and
  add-ons in such a way as to
  
  *   Maximize the amount of leftover UMB space
  *   Minimize the number of UMBs to be created
  *   Maximize the size of each UMB to be created.
  
  Some things, such as BIOS ROMs or video adapters, cannot be moved. In
  this case, move other expansion cards adjacent to these unmovable
  devices. This helps reduce the number of UMBs and consolidates the
  free memory space into larger areas.
  
  This is typically accomplished by changing switch settings or moving
  a jumper block on your expansion card. The user's guide for each of
  your expansion cards should detail which jumpers or switches to
  change.
  
  Some general guidelines are:
  
  *   Move your network card. These typically reside in an 
      area of memory that split the upper memory region into 
      two or more small blocks. Move it as close to the BIOS 
      ROM as you can, or as close to the video card as you 
      can. This allows you to create one large block by 
      combining the two or more smaller ones. On systems with 
      a VGA card and color monitor, the section from 
      B000-B800 can often be used to move the network card. 
      This often provides an even larger memory region for 
      RAMBoost to use.
  
  *   If you are using an EMS card or driver, decide if you 
      absolutely need it. (Lotus 1-2-3 does need it.) If you 
      are using Windows in enhanced mode, for example, 
      Windows would prefer to have extended memory instead of 
      expanded. If you do not need EMS, you might be able to 
      claim another 64 K for RAMBoost to use by using the 
      NOFRAME option to disable the EMS page frame and 
      driver. 
  
  Some remapping suggestions are:
  
  *   IBM Token Ring adapters
  
      This uses RAM from D800-DC00 and ROM from CC00-D000. 
      This, combined with the video card, usually splits the 
      HIDOS region into four or more pieces. By moving its 
      ROM to B000-B400 and the RAM to B400-B800 on color 
      systems the memory is reorganized into one or two 
      larger blocks. Switches on the card are changed to move 
      ROM, and a parameter is added to either TOKREUI.COM or 
      DXMC0MOD.SYS to move RAM.
  
  NOTE:  PS/2 models 50 and newer use the reference disk rather than
  switches to move the ROM. RYBS supplies a rewritten ADF file for the
  Token Ring cards that allow more re-mapping options than the
  IBM-supplied ADF file does.
  
  *   Arcnet or Ethernet cards
  
      These typically use memory from D000-D400, again 
      splitting HIDOS into two or more pieces. By moving this 
      to C800-CC00 on VGA systems, to C000-C400 on monochrome 
      systems, or to DC00-E000 on most 286s, you gain one 
      large memory block.
  
  NOTE:  With networks such as Novell, you might be required to
  regenerate the network shell. Most network software allows you to add
  a parameter to one of the drivers to tell the network where you have
  moved the adapter.
  
  *   Hard drive controllers
  
      These usually reside from C800-CC00 or CC00-D000. The 
      first (C800-CC00) is already correct if you have a VGA 
      card. Otherwise, they should be mapped to either C800-
      CC00 or DC00-E000. The 286 machines with monochrome 
      cards work more efficiently using DC00-E000 for the 
      hard drive controller, while XT and 386 machines work 
      more efficiently using C800-CC00.
  
  NOTE:  Remappping a hard-drive controller does not require
  reformatting the drive. 
  
  
  Upper Memory Block Use
  ======================
  
  Conventional DOS memory is the most useful type of memory because the
  application can use it directly. Upper memory use increases the
  conventional DOS memory available to application programs in two
  ways:  
  
  *   DOS Extension  
  
      Any upper memory mapped below the video adapter becomes 
      DOS Extension memory. It is used by application 
      programs directly, without the help of special 
      software. In essence, DOS Extension increases the 
      amount of contiguous DOS memory available to a DOS 
      application. The video adapter type determines the 
      amount of DOS Extension memory provided to the system. 
      The table below shows the relationship between popular 
      video adapter types and the amount of DOS memory 
      available after upper memory is installed.
  
  
      Video Adapter Type     DOS Memory
      ----------------------------------
      CGA                      736 K
      Color Hi Res (PGC)       736 K
      Monochrome               704 K
      EGA/VGA Graphics Mode    640 K
      EGA/VGA Text Mode        736 K
      ----------------------------------
  
  
  NOTE:  When the EGA/VGA graphics area at A000-ATFF is made available
  to DOS conventional memory, graphics programs do not run.
  
  *   Load resident software into UMBs
  
      Terminate-and-stay-resident programs (TSRs) -- such as 
      device drivers, network software, DOS tables, 
      COMMAND.COM, and TSR utilities (pop-ups) -- can be 
      executed in UMB memory. When these programs load, 
      instead of using conventional DOS memory, they will be 
      located in UMB memory. The conventional DOS memory that 
      they consumed in the past is now available to 
      application programs.
  
  
  Loading Assistance
  ------------------
  Device drivers, TSR programs, and DOS tables are known collectively
  as objects that RAMBoost can free from main memory and relocate.
  RAMBoost assists DOS in relocating objects into UMB (or HMA) from
  DOS. RAMBoost monitors all crucial DOS entry points, allowing it to
  see in great detail what is being loaded. This approach allows
  RAMBoost to relocate any device driver or TSR, without modification
  to any line in CONFIG.SYS, AUTOEXEC.BAT, or any batch file called by
  or chained to your AUTOEXEC.BAT file. It doesn’t matter if a TSR or
  overlay is executed directly or indirectly from another program, such
  as a network shell. RAMBoost sees it all in exactly the same way DOS
  does. Even the primary command shell might be relocated, simply and
  transparently. 
  
  DOS Tables
  ----------
  RAMBoost relocates all memory associated with the following DOS
  tables, which can be specified in CONFIG.SYS:  
  
      FILES=n
      FCBS=n, m
      BUFFERS=n
      LASTDRIVE=d
      STACKS=n
      DEVICE=<devicename.ext>
  
  NOTE:  DOS 4.0 provides read-ahead buffers and optionally supports
  buffers in EMS. RAMBoost can relocate all main memory requirements in
  support of BUFFERS, including read-ahead buffers.
  







