home *** CD-ROM | disk | FTP | other *** search
/ MS-DOS 8.0 / MS-DOS8.iso / SOFTWARE / QEMM / TECHNOTE / MAXMEM.TEC < prev    next >
Text File  |  1997-05-15  |  16KB  |  333 lines

  1.  
  2.                  Maximizing Conventional Memory
  3.  
  4.  Quarterdeck Technical Note #296              Filename: MAXMEM.TEC
  5.  by Michael Bolton                          CompuServe: MAXMEM.TEC
  6.  Last revised:  4/02/95                       Category: QEMM
  7.  
  8.  Subject: Providing the maximum possible amount of conventional
  9.           memory in DOS, DESQview, DESQview/X, and Microsoft
  10.           Windows.
  11.  
  12.  DOS and the programs that run under it are limited, except in
  13.  special circumstances, to the first megabyte of the processor's
  14.  address space. This has consequences for DOS programs, and for
  15.  operating environments such as Quarterdeck's DESQview and
  16.  DESQview/X, and Microsoft Windows.
  17.  
  18.  Documentation for Quarterdeck products contains extensive
  19.  information on memory management, and should be consulted for more
  20.  detailed study. This technical note provides a list of the most
  21.  important quick tips for assuring that you have the maximum amount
  22.  of conventional memory available, whether you are working from
  23.  DOS, DESQview, DESQview/X, or Microsoft Windows.  Note that many
  24.  of the QEMM features suggested below will be enabled for you
  25.  automatically at the time you install QEMM.
  26.  
  27.  1. Use QSETUP
  28.  
  29.  The QSETUP program that comes with QEMM runs under DOS and
  30.  Windows.  Its job is to provide you with an easy-to-use way of
  31.  configuring QEMM's features, which are described below.  QSETUP
  32.  will allow you to configure QEMM, to active the DOS-Up feature
  33.  (including DOS=HIGH), and to enable Stealth D*Space.  At the end
  34.  of the QSETUP process, you will be given an opportunity to run
  35.  OPTIMIZE.
  36.  
  37.  2. Use OPTIMIZE
  38.  
  39.  The OPTIMIZE process uses QEMM's RAM parameter and the LOADHI
  40.  utilities to move as many programs as possible out of the
  41.  conventional memory area and above 640K.  If necessary, OPTIMIZE
  42.  will offer the option to activate QEMM's Stealth parameter
  43.  (detailed below).  You should run OPTIMIZE
  44.  
  45.  - after running QSETUP
  46.  - after changing CONFIG.SYS or AUTOEXEC.BAT
  47.  - after adding or removing hardware from your system
  48.  
  49.  Regardless of the change that you have made, running OPTIMIZE will
  50.  ensure that you get the maximum conventional memory.
  51.  
  52.  2. Use Manifest.
  53.  
  54.  The Manifest program that comes with QEMM provides you with a
  55.  detailed view of the configuration of your PC.  When run under
  56.  DESQview, DESQview/X, or Microsoft Windows, Manifest can tell you
  57.  about the state of the current window.  Manifest also includes
  58.  detailed hints on how to get more conventional memory on your PC;
  59.  check the Hints Overview AND the Hints Detail screen.
  60.  
  61.  3. Use Stealth
  62.  
  63.  Go into Manifest, and inspect the QEMM Overview screen.  If the
  64.  screen does not display "Stealth Type" and "Stealth ROMs" and if
  65.  you have less conventional memory than you would like, run the
  66.  QSETUP.  OPTIMIZE program again. When OPTIMIZE offers to test for
  67.  Stealth compatibility, answer Yes, and if OPTIMIZE finds that
  68.  Stealth is compatible with your system, OPTIMIZE will activate
  69.  StealthROM.  StealthROM is quite robust and compatbile, and
  70.  typically results in 83K of extra High RAM into which DOS programs
  71.  can be loaded. If you are having compatibility problems with
  72.  Stealth, consult your QEMM manual or "QEMM GENERAL
  73.  TROUBLESHOOTING" (STEALTH.TEC).  The time you take in
  74.  troubleshooting a Stealth conflict is well worth the memory gain.
  75.  
  76.  4. Use DOS-Up
  77.  
  78.  QEMM's DOS-Up feature moves parts of DOS, including FILES,
  79.  BUFFERS, LASTDRIVE, the DOS Data Segment (which is a block of
  80.  memory that DOS uses to keep track of its own operation), and the
  81.  command processor (typically COMMAND.COM) high.  The DOS kernel
  82.  itself may also be loaded high (see the next section).  Using
  83.  DOS-Up can result in a saving of 7K-70K of conventional memory. To
  84.  activate DOS-Up, go into QSETUP, choose DOS-Up Options, and enable
  85.  Partial (if you are you a DESQviewor DESQview/X user) or All (if
  86.  you do not use DESQview or DESQview/X). Save your configuration,
  87.  and run OPTIMIZE.
  88.  
  89.  5. Use DOS=HIGH
  90.  
  91.  One of the features that you may activate from QSETUP is the
  92.  DOS=HIGH feature.  This loads the DOS kernel -- about 43K of code
  93.  -- into the first 64K above the 1024K line, thanks to technology
  94.  originally discovered by Quarterdeck in 1986.  If you are a
  95.  DESQview or DESQview/X user, it is typically worthwhile NOT to use
  96.  this feature.  DESQview and DESQview/X use this memory (called the
  97.  High Memory Area, or HMA) more effectively than DOS does.
  98.  Generally, you will receive maximum memory gains if you use
  99.  DOS=HIGH, unless you are using DESQview or DESQview/X. To activate
  100.  DOS=HIGH, go into QSETUP, choose DOS-Up Options, and enable All
  101.  (or choose Partial and ensure that DOS=HIGH is activated.  Save
  102.  your configuration, and run OPTIMIZE.
  103.  
  104.  6. Use ST-DSPC
  105.  
  106.  QEMM 7.0 and later come with a feature for DOS's disk compression
  107.  software (DoubleSpace, and in DOS 6.22, DriveSpace) for which
  108.  Quarterdeck has special support.  The code for the disk
  109.  compression software can be placed into expanded memory, replacing
  110.  a driver tht is typically over 40K with one that is typically
  111.  under 4K.  This generally represent substantial memory savings;
  112.  although DoubleSpace can be loaded high, it still takes memory in
  113.  the first megabyte of adddress space. Stealth D*Space removes most
  114.  of this overhead. If you are using DOS's disk compression,
  115.  activate QEMM's Stealth D*Space feature. To do this, go into
  116.  QSETUP, choose ST*DPACE Options, and choose L for Enable or
  117.  disable Stealth D*Space.  On the next screen, choose Y to enable
  118.  Stealth D*Space.  Save your configuration, and run OPTIMIZE.
  119.  
  120.  7. Use QEMM's Stacker Feature
  121.  
  122.  QEMM comes with a feature that can allow Stacker 4 to put most
  123.  of its code outside of conventional memory.  Stacker's overhead in
  124.  conventional memory or in High RAM to as little as 10K on MS-DOS 6
  125.  systems.  This can save a great deal of memory indeed on Stac'd
  126.  systems whose hard drives have large cluster sizes.
  127.  
  128.  A program is available to enable users of Stacker 4 to enable this
  129.  feature is available to all registered users of Stacker 4, either
  130.  from Stac Electronics or from Quarterdeck, under the filename
  131.  S4UP.EXE.
  132.  
  133.  To get your copy of this file, join the CompuServe forum for
  134.  either Quarterdeck or Stac, by typing GO QUARTERDECK or GO STAC at
  135.  any CompuServe main prompt. Alternatively, using your modem, call
  136.  
  137.  Stac Electronics BBS  (619) 431-5956
  138.  Quarterdeck BBS       (310) 309-3227
  139.  
  140.  Oce you have acquired this file and run the update, you may
  141.  activate the Stacker feature in this way:
  142.  
  143.  1. If you are currently inside Windows, exit it.
  144.  2. At the DOS prompt, change to the Stacker directory.
  145.  3. Type ED /I
  146.  4. Press Enter to insert a new line.
  147.  5. On this new line, type /QD
  148.  6. Press Ctrl-Z to exit the editor, and save your changes.
  149.  7. Restart your system to put the changes into effect.
  150.  
  151.  As usual, since this represents a change to your CONFIG.SYS, use
  152.  the OPTIMIZE program again.
  153.  
  154.  8. Use EMS or XMS
  155.  
  156.  Many programs -- TSRs, device drivers, and applications -- are
  157.  able to use expanded memory (EMS) or extended memory (XMS) reduce
  158.  their DOS overhead.  These features are sometimes automatic, but
  159.  are sometimes enabled via parameters (or command-line switches) or
  160.  initialization files.  Additionally, parameters may exist that
  161.  simply reduce the program's size -- sometimes by disabling
  162.  unneeded features -- without using expanded or extended memory.
  163.  This may require a little research on your part -- such parameters
  164.  are found in the online help or in the documentation for the
  165.  program.  However, this research can reap rich rewards in memory
  166.  savings.  Some programs that run only in conventional memory do
  167.  not have switches to activate EMS or XMS usage, but instead come
  168.  with EMS-using equivalents.  Novell's NETX network shell is an
  169.  example of this; while it uses 43K of conventional memory, and
  170.  does not use EMS, it is typically accompanied by EMSNETX (which
  171.  requires less than 10K of coventional memory) and XMSNETX (which
  172.  takes similar overhead). These programs are functionally
  173.  equivalent to NETX, but save considerable amounts of memory.
  174.  
  175.  Also consult the Quarterdeck Technical Note "Why the EMS Page
  176.  Frame is Important" (FRAME.TEC)
  177.  
  178.  9. Use Vidram
  179.  
  180.  VIDRAM provides up to 96K of extra conventional memory if you are
  181.  using text programs.  VIDRAM does this by borrowing address space
  182.  from the VGA graphics buffer on your video card.  VIDRAM can be
  183.  enabled or disabled on the fly, and can also run in text windows
  184.  within Microsoft Windows.  DESQview/X users in particular can take
  185.  advantage of VIDRAM (see the next section of this note.)  In order
  186.  to activate VIDRAM, simply type
  187.  
  188.  VIDRAM ON
  189.  
  190.  On some video cards, it may be necessary to add the parameter
  191.  VIDRAMEMS (VREMS) to the QEMM386.SYS line in CONFIG.SYS for VIDRAM
  192.  to work properly from the DOS prompt.  This parameter is
  193.  incompatible with Microsoft Windows.  However, even on such cards,
  194.  VIDRAM will work in a Microsoft Windows window without the VREMS
  195.  parameter.
  196.  
  197.  10. Streamline your CONFIG.SYS and AUTOEXEC.BAT
  198.  
  199.  If you are loading many device drivers or TSRs, they will have a
  200.  direct impact on conventional memory.
  201.  
  202.  Programs such as disk caches, RAM drives, or video speedup
  203.  utilities typically consume memory in the first megabyte.  If you
  204.  do not need these drivers, or are unsure of their usefulness, you
  205.  may consider removing them to see the impact on performance.  You
  206.  may find that the benefit of additional memory outweighs the gains
  207.  provided by such utilities.  Arriving at optimal performance will
  208.  require you to decide which features are more important than
  209.  others.
  210.  
  211.  If you are using DESQview, DESQview/X, or Microsoft Windows, TSRs
  212.  or device drivers such as ANSI.SYS, DOSKEY or Sidekick should be
  213.  removed from the AUTOEXEC.BAT and loaded in a window instead. Such
  214.  programs only have a memory impact on the window in which they are
  215.  loaded, but if loaded before your operating environment will
  216.  reduce the size of all of the windows on your system.
  217.  
  218.  11. Consider removing QDPMI
  219.  
  220.  Many modern DOS-Extended programs use the DOS Protected Mode
  221.  Interface (DPMI) in order to get access to extended memory.
  222.  However, the DPMI specification suggests that, in the absence of a
  223.  DPMI host, other strategies such as VCPI or XMS can and should be
  224.  used to get access to extended memory.  This means that the
  225.  Quarterdeck DPMI Host (QDPMI.SYS) may not be necessary on your
  226.  system.  If so, use QSETUP to disable QDPMI, save your
  227.  configuration, and run OPTIMIZE.
  228.  
  229.  12. Use QEMM's Analysis Procedure to Gain High RAM
  230.  
  231.  If you're not using QEMM's StealthROM feature, you may still be
  232.  able to us  e small amounts of address space that are marked as
  233.  reserved by the System ROM, but which are acutally unused.  The
  234.  Analysis procedure is documented in the QEMM manual.  You should
  235.  not need to perform an Analysis if you are using StealthROM, which
  236.  typically gains much more High RAM.
  237.  
  238.  13. On DESQview/X Systems with 8514/A Graphics Adapters, Use VIDRAM
  239.  
  240.  If you have an 8514 hardware-compatible video card and DESQview/X,
  241.  you can use VIDRAM without disabling graphics!  This is because
  242.  8514/A graphics adapters do not use the address space that VGA
  243.  adapters do, and because DESQview/X specifically supports the 8514
  244.  adapter.  This can create DESQview/X windows that can provide
  245.  64K-96K of conventional memory.  Note that if your 8514 card
  246.  requires a driver then it is not likely to be hardware compatible
  247.  and that this hint may not be successful.
  248.  
  249.  First, add the VREMS to the QEMM386.SYS line in the CONFIG.SYS
  250.  file.
  251.  
  252.  DEVICE=C:\QEMM\QEMM386.SYS RAM VREMS
  253.  
  254.  Then, type the following line before you enter DESQview/X.  You
  255.  may choose to add this line to your AUTOEXEC.BAT file, or to any
  256.  batch file that starts DESQview/X:
  257.  
  258.  C:\QEMM\VIDRAM ON
  259.  
  260.  This line will activate VIDRAM and extend conventional memory.
  261.  When you start DESQview/X, it may report "GRFVGA.DVR does not find
  262.  the correct video adapter".  You may safely ignore this message;
  263.  DESQview/X will function properly.
  264.  
  265.  14. Reduce the overhead of your operating environment.
  266.  
  267.  DESQview and DESQview/X's Setup programs contain some settings
  268.  that may allow you to squeeze an extra few K of memory out of a
  269.  heavily loaded system, at the potential cost of some speed or
  270.  performance.
  271.  
  272.  "Common Memory" is memory used by DESQview and DESQview/X to
  273.  manage its windows, and the amount you need is usually
  274.  proportionate to the number of windows you open, and the amount of
  275.  text you intend to transfer with DESQview's Mark and Transfer
  276.  feature.  The default (and minimum) value under current versions
  277.  of DESQview is 20K, and should permit the transfer of several
  278.  screen's worth of data and several windows open simultaneously; if
  279.  your common memory setting is higher than this, you may wish to
  280.  reduce it.  Under DESQview/X, the default value is 32K; this may
  281.  be reduced by a few K to eke out an equivalent amount of window
  282.  memory.
  283.  
  284.  "DOS Buffers for EMS" (under DESQview) or "DOS I/O Buffer" is
  285.  memory used by DESQview to manage file operations into expanded
  286.  memory.  The default value is 2K under DESQview, and 8K under
  287.  DESQview/X.  Users of QEMM who are not on a network can set this
  288.  figure to 0K with no loss of performance.  The value of this field
  289.  can affect the speed of disk access; however, it is rarely
  290.  worthwhile to choose a value higher than 10K or 15K.
  291.  
  292.  If you wish to throw away a few DESQview features, you can
  293.  probably scrimp a few more K from the Setup program.
  294.  
  295.  On the Keyboard option, you can save as much as 12K if you tell
  296.  DESQview that you don't wish to use the Learn feature.  This will
  297.  disable DESQview's very useful macro system.
  298.  
  299.  On the Video Monitor option, you can save anywhere from 0K to 16K
  300.  if you tell DESQview that you don't wish to display text and
  301.  graphics at the same time. This will disable DESQview's Video
  302.  Options menu, prevent graphics programs from being seen when they
  303.  are in background, and prevent virtualization of graphics. You can
  304.  save another 2-9K by choosing 0 for "What Display Adapter do you
  305.  have?".  This causes DESQview not to load a video driver.  This
  306.  will keep DESQview from saving and restoring graphics screens or
  307.  virtualizing graphics.
  308.  
  309.  On the Performance option, you can save 2K by setting the "Manage
  310.  Printer Contention?" field to its default value of N. This means
  311.  that DESQview will not intervene to prevent two programs from
  312.  printing at the same time.
  313.  
  314.  On the Network option, you may disable the network support, or
  315.  decrease the size of the buffer.  This support is needed only for
  316.  certain network-specific program, and not for most normal DOS
  317.  applications that are merely run off the network.
  318.  
  319.  The amount of memory you will save will be about 5K plus the size
  320.  of the buffer reserved in the second field.  Unless you know that
  321.  you need this service, you should try running without it and
  322.  seeing if you have problems without it that you do not have with
  323.  it.  You may also try decreasing the size of the buffer.  The
  324.  default is 8K.
  325.  
  326.  ******************************************************************
  327.  *      Trademarks are property of their respective owners.       *
  328.  *   This and other technical notes may be available in updated   *
  329.  *     forms through Quarterdeck's standard support channels.     *
  330.  *          Copyright (C) 1996 Quarterdeck Corporation            *
  331.  ******************** E N D   O F   F I L E ***********************
  332.  
  333.