home *** CD-ROM | disk | FTP | other *** search
- Changes in TSR Utilities Version 3.0
- Kim Kokkonen
- TurboPower Software
- 10/24/91
- ------------------------------------
-
- This file describes changes in version 3.0 of the TSR Utilities,
- relative to the previous version, 2.9. It assumes familiarity with
- previous versions of the utilities. See TSR.DOC for more information.
-
- Version 3.1 of the utilities is a cleanup version, fixing
- compatibility problems and downright bugs discovered in version 3.0.
- See the Version History in TSR.DOC for details.
-
- If you're updating from a previous version of the utilities, be sure
- to replace every file with the new version, since many of the programs
- work cooperatively.
-
- Generally, the utilities have been updated for compatibility with
- MS-DOS 5.0, and to support high memory (upper memory blocks) as
- implemented in DOS 5.0. The high memory features of TSR Utilities
- version 3.0 are available only if you are running DOS 5.0. Note,
- however, that recent versions of QEMM386 and 386MAX respect the DOS
- 5.0 upper memory architecture and thus the TSR Utilities will work
- correctly if you're using these versions of QEMM386 or 386MAX with DOS
- 5.0.
-
- If you're using just the high memory features of MS-DOS 5.0 itself,
- without additional memory managers, note that you must have at least
- the following in your CONFIG.SYS in order for the TSR Utilities to
- access high memory:
-
- DEVICE=HIMEM.SYS
- DEVICE=EMM386.SYS RAM
- DOS=UMB
-
- See the discussion of the EMM386.SYS driver in your MS-DOS 5.0
- documentation for more information about options compatible with
- creating upper memory blocks.
-
- If you are using QEMM386 or 386MAX, in some cases it is still
- necessary to put one of the following statements in your CONFIG.SYS
- file:
-
- DOS=HIGH,UMB
- -or-
- DOS=UMB
-
- The following table provides compatibility details on recent versions
- of these memory managers:
-
- Memory Manager Compatibility with TSR Utilities upper memory features
- -------------- ------------------------------------------------------
- 386MAX 5.12 ok (don't put UMB in CONFIG.SYS)
- 386MAX 5.11 ok (don't put UMB in CONFIG.SYS)
- 386MAX 5.10 not compatible
- 386MAX 5.00 not compatible
-
- QEMM386 6.00 ok (requires UMB in CONFIG.SYS)
- QEMM386 5.11 not compatible
-
- If you have a memory manager besides those reported here, we'd like to
- know about your results. Try MAPMEM /U with and without DOS=UMB in
- your CONFIG.SYS. If you get a high memory report from MAPMEM, and if
- your memory manager is still able to load TSR's into high memory, then
- you can assume that the memory manager is compatible with TSR
- Utilities 3.0.
-
- Note that even if the table says "not compatible" you can still use
- the TSR Utilities 3.0 without upper memory support.
-
- The /U option of DISABLE, MAPMEM, RELEASE, and RELNET activates the
- high memory features of these utilities. DISABLE won't deactivate or
- reactivate a TSR loaded in high memory unless /U is specified. MAPMEM
- doesn't report programs loaded above 640K unless /U is specified.
- WATCH transparently accesses high memory when necessary.
-
- The /U option causes a fundamental change in the behavior of RELEASE
- and RELNET. It is important that you understand what it does in order
- to use these utilities properly.
-
- When the /U option is *not* specified, RELEASE and RELNET remove
- programs in address order. That is, with a few exceptions, they
- deallocate any memory blocks that have a memory address greater than
- or equal to that of the mark.
-
- This behavior is almost never appropriate when TSR's are loaded high.
- When high memory is involved, the *chronological* order in which TSR's
- were loaded rarely matches the *address* order in which they were
- loaded. Before TSR's could be loaded high, these two orderings were
- usually the same, so no distinction was necessary. Now, however, it's
- common to load one program high, then one low, then another high; or
- to load one program into "region 2" of high memory, then another into
- "region 1", and so on.
-
- Therefore, when the /U option is activated, RELEASE and RELNET release
- memory in *chronological* order. That is, they free up all memory
- blocks allocated since the time the mark was placed, regardless of the
- address position of the memory. Additional information is now stored
- in the mark file or memory image to allow this to occur. Only when /U
- is specified do RELEASE and RELNET access high memory.
-
- If you have *any* TSR's loaded into high memory, you should use the /U
- option, even if the particular TSR you're unloading is located in low
- memory. Depending on the chronological order in which you loaded the
- TSR's, an unload from low memory may also trigger unloads from high
- memory, or vice versa.
-
- When you intend to use the /U option, you must provide a unique mark
- name for each mark (because there is no unambiguous way to find the
- correct unnamed mark). A mark name is inherent in the filename
- specified to FMARK and MARKNET.
-
- Because of the chronological nature of RELEASE /U, you can load the
- MARK high and the associated TSR low (or vice versa) if desired.
-
- --------------------------------------------------------------------
-
- The following list details the changes made for version 3.0 to each
- program in the TSR Utilities:
-
- DEVICE.EXE
- - no substantive changes
-
- DISABLE.EXE
- - deactivates programs loaded high if the new /U option is specified
- - uses a feature new to DOS 5 to find TSR's by name even if they
- have released their environment
- - new /Q option prevents writing any screen output
-
- EATMEM.COM
- - no substantive changes
-
- FMARK.COM
- - new /Q option prevents writing any screen output
- - stores new "mcb chain" section of mark file for use in releasing
- programs loaded high
- - the mark itself may be loaded high
-
- MAPMEM.EXE
- - rewritten from scratch to allow reporting of upper memory blocks
- - fixes problems that occurred when TSR's were loaded in CONFIG.SYS
- - low memory report includes pre-DOS memory blocks so that the
- blocks total to 640K
- - reports on device driver memory allocation under DOS 5 when the /V
- option is active
- - reports EMS handle names when available
- - uses a feature new to DOS 5 to report TSR's by name even if they
- have released their environment
- - modifies some command line options (type MAPMEM /? to see current
- options)
- - new /C option checks for presence of a named TSR
- (syntax: /C TsrName). Halts with ErrorLevel 2 if the TSR isn't
- loaded, ErrorLevel 1 if there is a command line syntax error, or
- ErrorLevel 0 if the TSR is loaded. Note that this feature does not
- require WATCH to be in memory.
- - new /F option reports on just the free memory blocks available in
- normal, high, expanded, and extended memory
- - new /Q option prevents writing any screen output when the /C
- option is used
- - new /S option reports a summary of all memory areas
- - new /U option activates upper memory reporting
- - new /X option activates reporting of extended (XMS) memory
-
- MARK.COM
- - new /Q option prevents writing any screen output
- - stores new "mcb chain" section of memory mark for use in releasing
- programs loaded high. This increases the amount of memory used for
- a mark by about 50 to 500 bytes depending on the number of memory
- blocks allocated.
- - the mark itself may be loaded high
-
- MARKNET.EXE
- - new /Q option prevents writing any screen output
- - stores new "mcb chain" section in mark file for use in releasing
- programs loaded high
- - saves BIOS data area associated with LPT ports
- - saves XMS (extended memory) allocation state
- - the mark itself may be loaded high. Note, however, that MARKNET
- needs up to 18K of free memory when it is initially loaded, even
- though it keeps less than 300 bytes when it goes resident.
-
- RAMFREE.COM
- - no substantive changes (version 3.1 now supports >640K free RAM)
-
- RELEASE.EXE
- - fixes problems that occurred when TSR's were loaded in CONFIG.SYS
- - closes open file handles of released memory blocks
- - updated for new behavior of WATCH
- - new /Q option prevents writing any screen output
- - new /U option allows it to remove programs loaded high
- - increases maximum number of memory blocks to 256
- - won't do an unnamed release on a memory mark loaded prior to a
- file mark
-
- RELNET.EXE
- - fixes problems that occurred when TSR's were loaded in CONFIG.SYS
- - updated for new behavior of WATCH
- - new /Q option prevents writing any screen output
- - new /U option allows it to remove programs loaded high
- - increases maximum number of memory blocks to 256
- - adds automatic cancellation of NetWare IPX event control blocks,
- now allowing independent release of Novell's NETBIOS.EXE TSR
- - new (in 3.1) /I option prevents cancellation of IPX control blocks
- - restores BIOS data area associated with LPT ports
- - restores XMS (extended memory) allocation state
-
- WATCH.COM
- - corrects problem that occurred when TSR's unloaded themselves
- - WATCH itself may be loaded high
- - adds support for TSR's loaded high. Substantial rewriting was
- required to provide this feature.