home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / tsr / tsrcom33.zip / TSR30.DOC < prev    next >
Text File  |  1992-01-08  |  11KB  |  239 lines

  1.                  Changes in TSR Utilities Version 3
  2.                              Kim Kokkonen
  3.                           TurboPower Software
  4.                                11/22/91
  5.                 ------------------------------------
  6.  
  7. This file describes changes in version 3.3 of the TSR Utilities,
  8. relative to an earlier version, 2.9. It assumes familiarity with
  9. previous versions of the utilities. See TSR.DOC for more information.
  10.  
  11. Version 3.0 of the utilities was the first new version for a couple of
  12. years, and included a number of major changes. Version 3.1 of the
  13. utilities was a cleanup version, fixing compatibility problems and
  14. downright bugs discovered in version 3.0. Version 3.2 of the utilities
  15. generalizes the high memory support, so that it no longer requires DOS
  16. 5.0 or a particular version of any memory manager. Version 3.3 cleans
  17. up a few problems in 3.2 and generalizes the way command lines are
  18. parsed for options. In 3.3, command line options need not be separated
  19. by spaces, and they can be taken from an environment variable having
  20. the same name as the program.
  21.  
  22. If you're updating from a previous version of the utilities, be sure
  23. to replace every file with the new version, since many of the programs
  24. work cooperatively.
  25.  
  26. Generally, the utilities have been updated for compatibility with
  27. MS-DOS 5.0, and to support high memory (upper memory blocks) as
  28. implemented by DOS 5.0 and other third party memory managers. Any
  29. memory manager that supports the UMB (upper memory block) features of
  30. XMS (extended memory specification) memory managers should work with
  31. the high memory features of the TSR Utilities. This includes 386MAX
  32. (Qualitas), QEMM386 (Quarterdeck), HIMEM/EMM386 (Microsoft), and
  33. HIDOS/EMM386 (Digital Research).
  34.  
  35. If you're using just the high memory features of MS-DOS 5.0 itself,
  36. without additional memory managers, note that you must have at least
  37. the following in your CONFIG.SYS in order for the TSR Utilities to
  38. access high memory:
  39.  
  40.   DEVICE=HIMEM.SYS
  41.   DEVICE=EMM386.SYS RAM
  42.   DOS=UMB
  43.  
  44. See the discussion of the EMM386.SYS driver in your MS-DOS 5.0
  45. documentation for more information about options compatible with
  46. creating upper memory blocks.
  47.  
  48. With other memory managers such as QEMM and 386MAX you should *not*
  49. put the DOS=UMB statement in CONFIG.SYS. (This is a change from
  50. versions 3.0 and 3.1 of the TSR Utilities.)
  51.  
  52. To test whether your memory manager is compatible with the TSR
  53. Utilities high memory features, try entering MAPMEM /U at the DOS
  54. command line. If you get a high memory report from MAPMEM, then you
  55. can assume that the memory manager is compatible with TSR Utilities
  56. 3.0. Because of the lack of complete standards for managing high
  57. memory, the names and attributes of programs in high memory may
  58. sometimes appear garbled: unfortunately there is little we can do
  59. about this without building features specific to particular memory
  60. managers into the TSR Utilities.
  61.  
  62. Note that even if you don't get a high memory report from MAPMEM, you
  63. can still use the TSR Utilities 3.0 without upper memory support.
  64.  
  65. The /U option of DISABLE, MAPMEM, RELEASE, and RELNET activates the
  66. high memory features of these utilities. DISABLE won't deactivate or
  67. reactivate a TSR loaded in high memory unless /U is specified. MAPMEM
  68. doesn't report programs loaded above 640K unless /U is specified.
  69. WATCH, MARK, FMARK, and MARKNET transparently access high memory when
  70. it is available.
  71.  
  72. The /U option causes a fundamental change in the behavior of RELEASE
  73. and RELNET. It is important that you understand what it does in order
  74. to use these utilities properly.
  75.  
  76. When the /U option is *not* specified, RELEASE and RELNET remove
  77. programs in address order. That is, with a few exceptions, they
  78. deallocate any memory blocks that have a memory address greater than
  79. or equal to that of the mark.
  80.  
  81. This behavior is almost never appropriate when TSR's are loaded high.
  82. When high memory is involved, the *chronological* order in which TSR's
  83. were loaded rarely matches the *address* order in which they were
  84. loaded. Before TSR's could be loaded high, these two orderings were
  85. usually the same, so no distinction was necessary. Now, however, it's
  86. common to load one program high, then one low, then another high; or
  87. to load one program into "region 2" of high memory, then another into
  88. "region 1", and so on.
  89.  
  90. Therefore, when the /U option is activated, RELEASE and RELNET release
  91. memory in *chronological* order. That is, they free up all memory
  92. blocks allocated since the time the mark was placed, regardless of the
  93. address position of the memory. Additional information is now stored
  94. in the mark file or memory mark to allow this to occur. Only when /U
  95. is specified do RELEASE and RELNET access high memory.
  96.  
  97. If you have *any* TSR's loaded into high memory, you should use the /U
  98. option, even if the particular TSR you're unloading is located in low
  99. memory. Depending on the chronological order in which you loaded the
  100. TSR's, an unload from low memory may also trigger unloads from high
  101. memory, or vice versa.
  102.  
  103. When you intend to use the /U option, you must provide a unique mark
  104. name for each mark (because there is no unambiguous way to find the
  105. correct unnamed mark). A mark name is inherent in the filename
  106. specified to FMARK and MARKNET.
  107.  
  108. Because of the chronological nature of RELEASE /U, you can load the
  109. MARK high and the associated TSR low (or vice versa) if desired.
  110.  
  111. When you use the /U option with RELEASE, RELNET, or DISABLE, the
  112. programs must be able to find high memory blocks. If no high memory
  113. blocks are found, the programs will halt with an error. Another
  114. option, /H, will use high memory if it is found, or revert to the
  115. default low memory behavior if none is found.
  116.  
  117. --------------------------------------------------------------------
  118.  
  119. The following list details the changes made for version 3.3 to each
  120. program in the TSR Utilities:
  121.  
  122. DEVICE.EXE
  123.   - takes program options from an environment variable named DEVICE if
  124.     found
  125.  
  126. DISABLE.EXE
  127.   - deactivates programs loaded high if the new /U option is specified
  128.   - uses a feature new to DOS 5 to find TSR's by name even if they
  129.     have released their environment
  130.   - new /Q option prevents writing any screen output
  131.   - new /H option works like /U if high memory is found
  132.   - takes program options from an environment variable named DISABLE
  133.     if found
  134.  
  135. EATMEM.COM
  136.   - no substantive changes
  137.  
  138. FMARK.COM
  139.   - new /Q option prevents writing any screen output
  140.   - stores new "mcb chain" section of mark file for use in releasing
  141.     programs loaded high
  142.   - the mark itself may be loaded high
  143.  
  144. MAPMEM.EXE
  145.   - rewritten from scratch to allow reporting of upper memory blocks
  146.   - fixes problems that occurred when TSR's were loaded in CONFIG.SYS
  147.   - low memory report includes pre-DOS memory blocks so that the
  148.     blocks total to 640K
  149.   - reports on device driver memory allocation under DOS 5 when the /V
  150.     option is active
  151.   - reports EMS handle names when available
  152.   - uses a feature new to DOS 5 to report TSR's by name even if they
  153.     have released their environment
  154.   - modifies some command line options (type MAPMEM /? to see current
  155.     options)
  156.   - new /C option checks for presence of a named TSR
  157.     (syntax: /C TsrName). Halts with ErrorLevel 2 if the TSR isn't
  158.     loaded, ErrorLevel 1 if there is a command line syntax error, or
  159.     ErrorLevel 0 if the TSR is loaded. Note that this feature does not
  160.     require WATCH to be in memory.
  161.   - new /F option reports on just the free memory blocks available in
  162.     normal, high, expanded, and extended memory
  163.   - new /Q option prevents writing any screen output when the /C
  164.     option is used
  165.   - new /S option reports a summary of all memory areas
  166.   - new /U option activates upper memory reporting
  167.   - new /X option activates reporting of extended (XMS) memory
  168.   - supports some segment naming conventions of DRDOS 6
  169.   - fixes problem with TSRs that shrink their environment to zero size
  170.     (Flushot+)
  171.   - takes program options from an environment variable named MAPMEM if
  172.     found
  173.  
  174. MARK.COM
  175.   - new /Q option prevents writing any screen output
  176.   - stores new "mcb chain" section of memory mark for use in releasing
  177.     programs loaded high. This increases the amount of memory used for
  178.     a mark by about 50 to 500 bytes depending on the number of memory
  179.     blocks allocated.
  180.   - the mark itself may be loaded high
  181.  
  182. MARKNET.EXE
  183.   - new /Q option prevents writing any screen output
  184.   - stores new "mcb chain" section in mark file for use in releasing
  185.     programs loaded high
  186.   - saves BIOS data area associated with LPT ports
  187.   - saves XMS (extended memory) allocation state
  188.   - the mark itself may be loaded high. Note, however, that MARKNET
  189.     needs up to 18K of free memory when it is initially loaded, even
  190.     though it keeps less than 300 bytes when it goes resident.
  191.   - takes program options from an environment variable named MARKNET
  192.     if found
  193.  
  194. RAMFREE.COM
  195.   - now supports >640K free RAM
  196.   - adds current environment block size to reported free RAM
  197.  
  198. RELEASE.EXE
  199.   - fixes problems that occurred when TSR's were loaded in CONFIG.SYS
  200.   - closes open file handles of released memory blocks
  201.   - updated for new behavior of WATCH
  202.   - new /Q option prevents writing any screen output
  203.   - new /U option allows it to remove programs loaded high
  204.   - new /H option works like /U if high memory is found
  205.   - increases maximum number of memory blocks to 256
  206.   - won't do an unnamed release on a memory mark loaded prior to a
  207.     file mark
  208.   - reverses order in which memory blocks are released to work
  209.     correctly with 386MAX high memory
  210.   - merges free blocks in high memory when possible (QEMM doesn't do
  211.     this automatically)
  212.   - takes program options from an environment variable named RELEASE
  213.     if found
  214.  
  215. RELNET.EXE
  216.   - fixes problems that occurred when TSR's were loaded in CONFIG.SYS
  217.   - updated for new behavior of WATCH
  218.   - new /Q option prevents writing any screen output
  219.   - new /U option allows it to remove programs loaded high
  220.   - new /H option works like /U if high memory is found
  221.   - increases maximum number of memory blocks to 256
  222.   - adds automatic cancellation of NetWare IPX event control blocks,
  223.     now allowing independent release of Novell's NETBIOS.EXE TSR
  224.   - new (in 3.1) /I option prevents cancellation of IPX control blocks
  225.   - restores BIOS data area associated with LPT ports
  226.   - restores XMS (extended memory) allocation state
  227.   - reverses order in which memory blocks are released to work
  228.     correctly with 386MAX high memory
  229.   - merges free blocks in high memory when possible (QEMM doesn't do
  230.     this automatically)
  231.   - takes program options from an environment variable named RELNET
  232.     if found
  233.  
  234. WATCH.COM
  235.   - corrects problem that occurred when TSR's unloaded themselves
  236.   - WATCH itself may be loaded high
  237.   - adds support for TSR's loaded high
  238.   - reduce resident size of WATCH by about 1000 bytes
  239.