home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-04-12 | 153.2 KB | 3,782 lines |
-
-
-
-
-
-
-
- THE LAST BYTE MEMORY MANAGER (tm)
-
-
- An Upper Memory Manager for MS-DOS
-
-
-
-
- Version 2.00
-
-
-
-
-
-
- Copyright (C) 1990-92
-
- All Rights Reserved
-
-
- by
-
-
- KEY SOFTWARE PRODUCTS
-
- 440 Ninth Avenue
- Menlo Park, California 94025
-
- (415) 364-9847
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Last Byte Memory Manager is a trademark of Key Software Products.
- MS-DOS and Windows 3.0 are trademarks of Microsoft Corporation.
- DR-DOS is a trademark of Digital Research Incorporated.
- 4DOS is a trademark of J.P. Software.
- Hyperdisk is a trademark of HyperWare.
- Other company trademarks are used with the company name.
-
-
-
-
-
-
- THE LAST BYTE MEMORY MANAGER (tm)
-
-
- Table of Contents
-
-
- CHAPTER 1 - INTRODUCTION ........................... 4
- 1.1 Important Advantages ........................ 4
-
- CHAPTER 2 - SYSTEM REQUIREMENTS ..................... 6
- 2.1 Supported Hardware .......................... 6
- 2.2 Checking Compatibility Using CHIPSET .......... 8
-
- CHAPTER 3 - DISTRIBUTION FILES ...................... 11
-
- CHAPTER 4 - GETTING STARTED ......................... 13
- 4.1 Testing LASTBYTE.SYS HIGHDRVR.SYS and HIGHTSR.EXE 13
- 4.2 Mapping Upper Memory with HIGHMEM .............. 15
- 4.3 Running the LICENSE Program ................... 16
-
- CHAPTER 5 - DETAILED DESCRIPTIONS ................... 17
- 5.1 LASTBYTE.SYS ............................... 17
- 5.2 HIGHAPND.EXE and HIGHAPND.SYS ................ 23
- 5.3 HIGHBFRS.EXE (MS-DOS 3 only) .................. 25
- 5.4 HIGHDISK.SYS ............................... 27
- 5.5 HIGHDRVR.SYS ............................... 28
- 5.6 HIGHEMS3.SYS and HIGHEMS4.SYS ................ 28
- 5.7 HIGHENV.EXE ................................ 29
- 5.8 HIGHFILE.EXE ............................... 31
- 5.9 HIGHHOLE.EXE ............................... 31
- 5.10 HIGHINST.EXE .............................. 32
- 5.11 HIGHKEY.EXE ............................... 33
- 5.11.1 Options .............................. 33
- 5.11.2 Editing Commands ...................... 33
- 5.12 HIGHMARK.EXE .............................. 35
- 5.13 HIGHMEM.EXE ............................... 36
- 5.14 HIGHSPLR.EXE .............................. 36
- 5.15 HIGHTSR.EXE ............................... 37
- 5.15.1 The /NOENV Option ...................... 38
- 5.16 HIGHUMM.SYS ............................... 39
- 5.17 HIGHUNDO.EXE .............................. 40
-
- CHAPTER 6 - HINTS / SUGGESTIONS / EXPLANATIONS ......... 41
- 6.1 The /SIZE Option ............................. 41
- 6.1.1 Measuring Load Requirements Using "/SIZE" . 41
- 6.1.2 Achieving Best Fit Using "/SIZE:n1" ....... 42
- 6.1.3 Borrowing Initialization Memory Using "/SIZE:n 42
- 6.2 The /LOW Option .............................. 42
- 6.3 The /RESTRICT Option ......................... 43
- 6.4 The /!NOPAUSE Option ......................... 43
- 6.5 Specifying Command Line Options with Indirect Files 43
- 6.6 Using the DOS=F000:32 Option .................. 44
- 6.7 Video Display RAM above 640k ................... 45
- 6.8 Video Adapter Bios ROMs ....................... 46
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- THE LAST BYTE MEMORY MANAGER (tm)
-
-
- 6.9 LASTBYTE.SYS and Expanded Memory .............. 46
- 6.10 Fine-Tuning your Adapter Hardware Configuration 47
-
- CHAPTER 7 - USE WITH OTHER SOFTWARE ................... 49
- 7.1 Microsoft's FASTOPEN and MODE programs ......... 49
- 7.2 Microsoft's SHARE program .................... 49
- 7.3 Microsoft's MS-DOS 5.0 ....................... 50
- 7.3.1 Using DEVICEHIGH and LOADHIGH ............ 51
- 7.3.2 Using HIGHDRVR and HIGHTSR ............... 51
- 7.4 Microsoft's Windows 3.0 ...................... 52
- 7.4.1 Modifying the Windows SYSTEM.INI File ..... 52
- 7.4.2 Positioning an EMS Page Frame ............. 53
- 7.4.3 "Unsupported Data Configuration" ........ 53
- 7.4.4 HIGHMEM and Windows 386 Enhanced Mode ...... 54
- 7.4.5 HIGHDISK and Windows 386 Enhanced Mode ..... 54
- 7.5 HyperWare's HyperDisk ....................... 54
- 7.6 J.P. Software's 4DOS ......................... 55
- 7.7 David Hamilton's BUFFIT ...................... 55
- 7.8 Charles Lazo's WAS ........................... 56
-
- APPENDIX 1 - HOW TO REACH US .......................... 57
-
- APPENDIX 2 - ACKNOWLEDGEMENTS ...................... 58
-
- APPENDIX 3 - CHIPSET LIMITATIONS .................... 59
-
- APPENDIX 4 - LICENSED DISTRIBUTORS .................. 61
-
- APPENDIX 5 - LIMITED WARRANTY ....................... 63
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 4
-
-
- CHAPTER 1 - INTRODUCTION
-
-
- The Last Byte Memory Manager is a collection of software that
- can provide up to 384k of additional memory to your computer in
- the upper memory area between 640k and 1 meg. It does this by
- using left-over shadow ram memory, existing fixed read/write
- (RAM) memory, or by mapping expanded memory (EMS) pages into the
- upper area.
-
- With The Last Byte Memory Manager, device drivers, terminate and
- stay resident (TSR) programs, MS-DOS disk buffers, and the
- master environment can be moved up into upper memory, leaving
- more conventional memory available for your application
- programs. Depending on your hardware, you may also be able to
- extend the total conventional memory from 640k to as much as
- 736k.
-
- The Last Byte Memory Manager comes with utility programs that
- use upper memory to create ram disks, print spoolers, command
- line recall (history) buffers, emulated expanded memory, and TSR
- "markers" (to facilitate TSR removal). But best of all, these
- utilities can even use disabled shadow ram memory normally
- hidden behind the display buffer, read-only memories (ROMs), and
- other adapter cards.
-
-
- 1.1 Important Advantages
-
- The Last Byte Memory Manager offers six significant advantages
- over other MS-DOS Upper Memory Managers:
-
- o The Last Byte Memory Manager uses no conventional
- memory.
-
- o The Last Byte Memory Manager will work with any
- processor chip, even the 8088 used in the original
- IBM PC. Many memory managers require a 386 cpu or
- better.
-
- o The Last Byte Memory Manager does not use protected
- mode software. This means that unlike those that
- do, The Last Byte Memory Manager is totally
- compatible with any protected mode software, not
- just Microsoft Windows.
-
- o The Last Byte Memory Manager doesn't require any
- extended memory. Other memory managers depend on
- the processor's ability to remap physical memory
- from above 1MB into the upper memory area.
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 5
-
-
- o On motherboards that use one of the supported
- memory controller chips, The Last Byte Memory
- Manager, unlike all other MS-DOS memory managers,
- can use the unused shadow ram normally disabled by
- the display buffer, ROMs or adapter cards. This
- gives it the unique ability to use all 384k of
- upper memory!
-
- o The Last Byte Memory Manager does not slow down the
- performance of your computer, both because it does
- not incur the 5-10% execution overhead inherent in
- protected mode, and because it uses regular
- (full-speed) memory. (Some memory managers use the
- actual EGA/VGA graphics buffer as MS-DOS memory,
- but the display buffer memory of some EGA/VGA
- adapter cards can be as much as six times slower
- than regular memory.)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 6
-
-
- CHAPTER 2 - SYSTEM REQUIREMENTS
-
-
- Fundamentally, The Last Byte Memory Manager requires version 3.1
- or later of MS-DOS and some method of implementing memory in the
- upper memory area between 640k and 1 meg. Any Intel (or
- Intel-compatible) processor will do, including the original
- Intel 8088 cpu. No extended memory is required.
-
-
- 2.1 Supported Hardware
-
- To install The Last Byte Memory Manager, your computer must have
- any one of the following:
-
- o Fixed the 32-bit "Built In Memory" installed in some
- Compaq 386 machines), or
-
- o An expanded memory board (EEMS, LIM 3.2 EMS, or LIM
- 4.0 EMS), or
-
- ┌─────────────────────────────────────────────────┐
- │ NOTE: Using a LIM 3.2 EMS board is not advised │
- │ as a method of providing upper memory. It pro- │
- │ vides only 64k of upper memory and prevents ap- │
- │ plication software from using expanded memory. │
- └─────────────────────────────────────────────────┘
-
- o A 386sx, 386, 486, or 486sx processor and the
- Microsoft Windows 3.0 or DOS 5 versions of EMM386,
- or
-
- o One of the following shadow ram controller chips:
-
- Chips and Technologies:
-
- 82C212 - From the CS8221 NEAT (tm) chipset
- 82C222 - From the CHIPS/250 PS/2 50/60 chipset
- 82C230 - The PS/2 30 Single Chip Controller
- 82C235 - The SCAT (tm) Single Chip AT VLSI chip
- 82C241 - From the CS8223 LeAPset (tm) chipset
- 82C302 - From the CS8230 386/AT CHIPSet (tm)
- 82C307 - From the CS8231 386/AT CHIPSet (tm)
- 82C311 - From the CS8233 PEAK 386/AT CHIPSet (tm)
- 82C322 - From the CHIPS/280 PS/2 70/80 chipset
- 82C351 - From the CS82310 PEAK DM/386 AT CHIPSet (tm)
- 82C812 - From the CS8281 NEATsx (tm) chipset
- 82C836 - The SCATsx (tm) Single Chip AT VLSI chip
- 82C841 - From the CS8283 LeAPset-sx (tm) chipset
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 7
-
-
- ETEQ Microelectronics:
-
- 82C491 - From the Cougar 386DX/486DX chipset
-
- Forex Computer Corporation:
-
- FRX36C300 - From the FRX36C300/200 Cache chipset
-
- Intel Corporation:
-
- 82343 - From the 82340SX Chip Set
- 82346 - From the 82340DX Chip Set
- 82359 - From the 82350DT EISA Chip Set
-
- OPTi Electronics:
-
- 82C281 - From the Cache SX/AT chipset (w/posted write)
- 82C282 - From the Cache SX/AT chipset (w/o posted write)
- 82C283 - From the Block Interleave SX/AT chipset
- 82C382 - From the HiD/386 AT chipset
- 82C391 - From the 386WB PC/AT chipset
- 82C461 - From the Notebook PC/AT chipset
- 82C482 - From the HiB/486 AT chipset
- 82C493 - From the 486SXWB PC/AT chipset
- 82C496 - From the DXBB PC/AT chipset
- 82C682 - From the 386/486WB EISA chipset
-
- Sun Electronics (SUNTAC):
-
- ST62C202 - From the chipset 20 for 286
- ST62C241 - From the chipset 24 for 386
- ST62C251 - From the chipset 25 for 286 and 386sx
-
- Symphony Laboratories:
-
- SL82C361 - From the SL82C360 80386DX/SX chipset
- SL82C461 - From the SL82C460 80486 chipset
-
- Texas Instruments:
-
- TACT82411 - The Snake Single-Chip AT Controller
- TACT82S411 - The Snake+ Single-Chip AT Controller
-
- United Microelectronics Corporation (UMC):
-
- UM82C212 - From the UM82C210 386SX/286 AT Chip Set
- UM82C481 - From the UM82C480 50Mhz 80486 Chip Set
-
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 8
-
-
- ┌─────────────────────────────────────────────────┐
- │ NOTE: The UM82C212 is indistinguishable from │
- │ the Chip & Technologies 82C212. CHIPSET and │
- │ LASTBYTE.SYS will identify it as the latter. │
- └─────────────────────────────────────────────────┘
-
- VLSI Technology:
-
- VL82C202 - PC/AT-Compatible High Speed Memory Controller
- VL82C320 - From the TOPCAT 286/386sx Chip Set
- VL82C330 - From the TOPCAT 386 DX Chip Set
- VL82C486 - Single Chip, High Performance 486 PC/AT Controller
-
- ┌─────────────────────────────────────────────────┐
- │ NOTE: There is a pin on the VLSI VL82C202 that │
- │ controls whether or not the shadow ram memory │
- │ has been relocated above 1 meg as extended │
- │ memory. This pin is usually connected to a │
- │ jumper or DIP switch on the motherboard. It │
- │ may be necessary to change the jumper or DIP │
- │ switch setting to work properly with this chip. │
- └─────────────────────────────────────────────────┘
-
- Not all memory controller chips allow use of the entire 384k of
- upper memory. Consult the appendix on "CHIPSET LIMITATIONS" for
- further information.
-
-
- 2.2 Checking Compatibility Using CHIPSET
-
- CHIPSET is a program that simply checks to see if your computer
- has one of the memory controllers required to use The Last Byte
- Memory Manager.
-
- A>CHIPSET
-
- CHIPSET will identify the particular memory controller you have,
- if any. If it can't find a memory controller, it will look for
- fixed memory in the upper area or expanded memory as a means of
- installing The Last Byte Memory Manager. If it is successful,
- it will give you the option of automatically linking to the
- INSTALL program to setup for use of The Last Byte Memory
- Manager.
-
- CHIPSET and INSTALL automatically sense whether you have a color
- or monochrome display to determine how to present data on the
- screen. However, you may force the mode by using one of the
- /MONO, /COLOR, or /LCD command line options.
-
- If your computer has one of the listed devices, then The Last
- Byte Memory Manager should work on your computer. If your
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 9
-
-
- computer uses another kind of chipset, it may not be supported
- for one of the following reasons:
-
-
- o Some chipsets do not provide shadow ram support.
-
- Examples: VLSI Technologies 82C100 series
- Western Digital chipsets
- Texas Instruments TACT82300 series
- Early Suntac chipsets (ST62BC001-6)
- United Microelectronics Corp. UM82C231
-
-
- o Some chipsets have shadow ram, but it can only be
- put into either write-only mode (for copying rom
- contents to ram), or read-only mode (to prevent
- accidental writes into what's supposed to be a copy
- of rom).
-
- Examples: ACC Microelectronics chipsets
- Headland Technologies chipsets
- G2 chipsets
-
-
- o Many device drivers and TSRs either use Direct
- Memory Access (DMA) directly, or else they employ
- disk buffers that MS-DOS accesses via DMA. The
- hardware design of some memory controller chips
- prevent DMA from accessing the shadow ram, and thus
- loading this kind of software into shadow ram
- memory is pointless.
-
- Examples: VLSI Tech. VL82C286 & VL82C386 TOPCAT
-
-
- o The Last Byte Memory Manager software is
- table-driven, making it relatively easy to adapt to
- different memory controller architectures, but
- there are limits!
-
- Examples: Zymos chipsets
- United Micro. Corp. UM82C384, '388, '389
- Forex Computer Corp. FRX36C100
- Silicon Integrated System Corp. (SIS)
- chipsets
-
-
- o Some memory controllers are designed so that they
- can be "locked" at the end of software
- initialization, requiring a hardware reset to
- unlock, and thus preventing The Last Byte Memory
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 10
-
-
- Manager from accessing the controller.
-
- Examples: Intel 82335, 82335SX
-
-
- Some of these chips, however, have hardware EMS support and thus
- many of their motherboards come with an EMS device driver
- designed specifically to take advantage of this capability. So
- in many cases, you can install this driver first, and then The
- Last Byte Memory Manager can use it to manage the upper memory
- area.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 11
-
-
- CHAPTER 3 - DISTRIBUTION FILES
-
-
- Version 2.00 of The Last Byte Memory Manager consists of the
- following distribution files. Feel free to upload this package
- to any bulletin board, but please be sure all original
- (unmodified) distribution files are included in the upload.
-
- CHIPSET.EXE A program to test your computer for compati-
- bility with The Last Byte Memory Manager.
-
- CLOCK.EXE A TSR program to display the current time in the
- upper left-hand corner of the screen. (Requires
- ANSI.SYS.)
-
- HIGHAPND.EXE A program to enable/disable an extension of conven-
- HIGHAPND.SYS tional memory beyond 640k up to 704k or even 736k,
- depending on your hardware configuration.
-
- HIGHBFRS.EXE A program to put the MS-DOS 3.xx disk buffers
- (i.e., as specified in the "BUFFERS=" command
- of CONFIG.SYS) in upper memory.
-
- HIGHDISK.SYS A device driver that creates a ram disk in
- upper memory.
-
- HIGHDRVR.SYS A device driver used to load other device
- drivers into upper memory.
-
- HIGHEMS3.SYS A pair of device drivers that emulate expanded
- HIGHEMS4.SYS memory in upper memory.
-
- HIGHENV.EXE A program to move the master environment from
- conventional memory to upper memory.
-
- HIGHFILE.EXE A program to implement the DOS "FILES=" option
- using upper memory rather than conventional
- memory.
-
- HIGHHOLE.EXE A program to locate empty space in shadowed ROMs
- that can be converted to free High-DOS memory.
-
- HIGHINST.EXE Exactly like HIGHTSR, except used with the
- "INSTALL=" command in a CONFIG.SYS file.
-
- HIGHKEY.EXE A command line recall editor similar to the DOS 5
- DOSKEY program, but which can store the command
- line history in bank-switch memory.
-
- HIGHMARK.EXE A program to mark TSR's so that they may be
- removed from upper memory at a later time.
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 12
-
-
-
- HIGHMEM.EXE A program to display a map of upper memory usage.
-
- HIGHSPLR.EXE A program to create a printer spooler in upper
- memory.
-
- HIGHTSR.EXE A program to load TSR's into upper memory.
-
- HIGHUMM.DOC A device driver that application programmers may
- HIGHUMM.SYS use to access upper memory from their own pro-
- grams. (For a detailed specification of the soft-
- ware interface, see the information in the file
- HIGHUMM.DOC.)
-
- HIGHUNDO.EXE A program to remove TSR's (and their associated
- mark) that have been previously marked with
- HIGHMARK.
-
- INSTALL.EXE A program to automatically create or modify your
- CONFIG.SYS and AUTOEXEC.BAT files for use with
- The Last Byte Memory Manager.
-
- LASTBYTE.DOC This text file.
-
- LASTBYTE.SYS A device driver that must be loaded before any
- other software of The Last Byte Memory Manager.
-
- LICENSE.EXE A program to install your name and personal
- access key for full operation of LASTBYTE.SYS.
-
- ORDERFRM.DOC A text file containing individual and site
- license order forms.
-
- TLBMM.EXE A program that returns a non-zero errorlevel
- if The Last Byte Memory Manager is not
- installed. (Useful in .BAT files.)
-
- WHATSNEW.120 A text file describing changes since the
- previous version.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 13
-
-
- CHAPTER 4 - GETTING STARTED
-
-
- The first thing to do is to be sure that The Last Byte Memory
- Manager will work on your computer. You can do this by simply
- running the program called CHIPSET. If successful, it will then
- ask you if you would like to run the INSTALL program to create
- or modify your CONFIG.SYS and AUTOEXEC.BAT files for use with
- The Last Byte Memory Manager. If you prefer, you can run
- INSTALL and it will automatically run CHIPSET for you.
-
-
- 4.1 Testing LASTBYTE.SYS HIGHDRVR.SYS and HIGHTSR.EXE
-
- To install The Last Byte Memory Manager on a floppy diskette for
- testing, perform the following three steps:
-
- Step 1: Use the MS-DOS FORMAT command with the /S
- option to prepare a bootable floppy disk.
- You will need this in step 2.
-
- Step 2: Run the CHIPSET program. If it succeeds, it
- will ask you "Do you want to run the INSTALL
- program now?". Answer yes. When it displays
- the first screen of the INSTALL program,
- select the first option, "Creating a
- demonstration diskette" and follow the
- prompts.
-
- Step 3: Once you have created your demonstration
- diskette, press Ctrl-Alt-Del to reboot your
- computer from the diskette.
-
- If everything goes ok, during the boot you'll briefly see a
- sign-on box that looks something like the following:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 14
-
-
- ╔═══════════════════════════════════════════════════════════════════╗
- ║ THE LAST BYTE MEMORY MANAGER (tm) Version 2.00a ║
- ║ Copyright (C) 1990-92, Key Software Products, All Rights Reserved ║
- ║ Licensed for EVALUATION ONLY ║
- ╟───────────────────────────────────────────────────────────────────╢
- ║ 25.0 Mhz 80386 with Chips & Technologies 82C302C ║
- ╟───────────────────────────────────────────────────────────────────╢
- ║ Address Range Size Width Bandwidth Description ║
- ║ 00000-9FFFF 640 KB 32 bits 38.0 MB/Sec Conventional Memory ║
- ║ A0000-FFFFF 384 KB 32 bits 38.0 MB/Sec Shadow Ram Memory ║
- ║ A0000-AFFFF 64 KB 16 bits 3.1 MB/Sec VGA Graphics Buffer ║
- ║ B8000-BFFFF 32 KB 16 bits 3.1 MB/Sec VGA Color Text Bfr ║
- ║ C0000-C7FFF 32 KB 16 bits 3.1 MB/Sec VGA Adapter Bios ║
- ║ C8000-CB7FF 14 KB 8 bits 1.3 MB/Sec Fixed Disk Bios ║
- ║ CB800-CBFFF 2 KB 8 bits 1.3 MB/Sec Fixed Disk Ram ║
- ║ F0000-FFFFF 64 KB 16 bits 3.1 MB/Sec AMI Bios (03/01/90) ║
- ╟───────────────────────────────────────────────────────────────────╢
- ║ Conventional High-DOS Bank-Switch Shadowed Roms Excluded ║
- ║ 640k 32k 32k 96k 224k ║
- ╟───────────────────────────────────────────────────────────────────╢
- ║ The Last Byte Memory Manager is a trademark of Key Software Prod. ║
- ╚═══════════════════════════════════════════════════════════════════╝
-
- If your computer stops before displaying the entire box shown
- above, or if it fails to operate properly after booting, this
- may be because The Last Byte Memory Manager failed to identify
- one of your installed adapters that uses some portion of the
- upper memory address space. If this happens, you'll probably
- need to use an "EXCLUDE=" option on the LASTBYTE.SYS command
- line to manually disable the corresponding region(s) where
- conflict occurs. To temporarily get around this problem, you
- can reboot and manually bypass all The Last Byte Memory Manager
- device drivers and TSR's by simultaneously holding down the
- <alt> key, the <ctrl> key, and either the <leftshift> or
- <rightshift> key during the boot sequence.
-
- After AUTOEXEC.BAT is finished, the screen will be filled with
- the output of the HIGHMEM program and the current time will be
- displayed in inverse video in the upper left-hand corner. The
- latter verifies that HIGHTSR has successfully loaded CLOCK into
- upper memory and that ANSI.SYS is installed and operating.
-
- To exit from HIGHMEM, simply press the Esc key. If you like,
- you can run HIGHUNDO to remove the CLOCK program from memory,
- and then HIGHMEM again to see that it has been removed.
-
- Once you are convinced that The Last Byte Memory Manager is
- working satisfactorily, you may install it on your hard disk by
- making drive C: the current drive by entering
-
- C:
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 15
-
-
-
- and rerunning CHIPSET or INSTALL.
-
-
- 4.2 Mapping Upper Memory with HIGHMEM
-
- Depending on what adapter cards you have installed, HIGHMEM's
- output should look something like that shown below.
-
-
- HIGHMEM v2.00a (C) Key Software Products 1990-92. All Rights Reserved.
-
- MCB Hex Address Description [Type] <Mark> High-DOS Bnk-Swtch Total
- ──── ─────────── ───────────────────────── ──────── ───────── ───────
- B000 A0000-AFFFF Reserved Memory Group:
- B79D A0000-A042F ╠═TSR Marker <1> 1,072
- B002 A0000-A042F ║ └─8-bit EGA Graphics Buffer 1,072
- B79B A0430-A7FFF ╠═8-bit EGA Graphics Buffer [ 31,696] [31,696]
- B004 A8000-AFFFF ╚═8-bit EGA Graphics Buffer 32,768
- B006 B0070-B10CF ANSI [DEV] 4,192 4,192
- B10D B10E0-B112F CLOCK [ENV] <1> 80 80
- B113 B1140-B12EF CLOCK [TSR] <1> 432 432
- B12F B1300-B79AF [∙∙∙Free∙∙∙] [ 26,288] [26,288]
- B79F B7A00-B7EFF LASTBYTE [DEV] 1,280 1,280
- B7FE B8000-FFFFF Reserved Memory Group:
- B7F0 B8000-BFFFF ╠═8-bit EGA Color Text Buffer 32,768
- B7F2 C0000-C3FFF ╠═Shadowed 8-bit EGA Bios Rom 16,384
- B7F4 C4000-C7FFF ╠═Excluded Block 16,384
- B7F6 C8000-CB7FF ╠═8-bit Fixed Disk Adapter Bios 14,336
- B7F8 CB800-CBFFF ╠═8-bit Fixed Disk Adapter Ram 2,048
- B7FA CC000-EFFFF ╠═Excluded Block 147,456
- B7FC F0000-FFFFF ╚═Shadowed 16-bit AMI Main Bios 65,536
- ─────── ─────── ───────
- Upper Memory In Use: 5,984 1,072 334,736
- [Free Upper Memory]: 26,288 31,696 57,984
- MCB Overhead: 496 n/a 496
- ─────── ─────── ───────
- Total Upper Memory: 32,768 32,768 393,216
-
-
- The column labelled "Bank-Switch" shows which entries can be
- used as bank-switch memory for a ram disk, a print spooler,
- emulated EMS memory, or TSR markers.
-
- Numbers enclosed in brackets (e.g., "[ 26,128]") refer to memory
- that is available for use. Once you have licensed your copy of
- The Last Byte Memory Manager, the "Excluded Block" shown above
- would be added to the free High-DOS memory pool, and the other
- entries labelled "EGA ... Buffer" would be added to the free
- bank-switch memory pool.
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 16
-
-
- The column labelled "Mark" is used in conjunction with HIGHMARK
- and HIGHUNDO.
-
-
- 4.3 Running the LICENSE Program
-
- The Last Byte Memory Manager is distributed as a fully
- functional set of software. In its original form, you will be
- able to use all the features, but with three restrictions:
-
-
- o The amount of upper memory available to you will be
- limited to 32k of High-DOS memory and another 32k
- of Bank-Switch memory, and
-
- o The maximum number of device drivers and/or TSRs
- will be limited to 2.
-
- o The HOLE option of LASTBYTE.SYS is not available.
-
-
- Access to the rest of upper memory requires that you purchase a
- personal eight-character access key and install it using the
- LICENSE program. The access key may be obtained directly from
- Key Software Products or one of the authorized distributors
- listed at the end of this document. The LICENSE program must be
- run on the same computer on which you intend to install The Last
- Byte Memory Manager.
-
- LICENSE automatically senses whether you have a color or
- monochrome display to determine how to present data on the
- screen. However, you may force the mode using one of the /MONO,
- /COLOR, or /LCD command line options.
-
- Once you have licensed your copy of LASTBYTE.SYS you will
- immediately have access to the rest of upper memory. No other
- files, diskettes, or manuals need to be ordered. We do not send
- out a new diskette or printed manual when you order an access
- key; otherwise the price would have to be greater. You may
- obtain your access key by mail by filling out the order form
- (included in the file ORDERFRM.DOC) and mailing it with the
- calculated amount to Key Software Products, or by contacting one
- of our distributors. If you order by mail, be sure to print
- your name clearly - it will be displayed in the sign-on screen
- of LASTBYTE.SYS and is used to determine your access key.
-
-
-
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 17
-
-
- CHAPTER 5 - DETAILED DESCRIPTIONS
-
-
- A complete detailed description of the command line syntax and
- options of each device driver and utility program in The Last
- Byte Memory Manager is provided below. With the exception of
- LASTBYTE.SYS which comes first, they are organized in
- alphabetical order for ease of reference.
-
-
- 5.1 LASTBYTE.SYS
-
- During initialization, LASTBYTE.SYS scans upper memory looking
- for Bios ROMs, display ram, and adapter cards that occupy the
- upper memory area. The unoccupied portion of upper memory
- defaults to High-DOS memory (for device drivers and TSR's). If
- your computer uses one of the supported memory controller chips,
- the occupied portion of the upper memory area will default to
- Bank-Switch memory that can be made accessible for Ram disks, a
- Print Buffer, emulated EMS memory, etc.
-
- These defaults can be modified by the use of command line
- options. There are several command line options for
- LASTBYTE.SYS. Many of these use a format like:
-
- <keyword>=<base>:<size>
-
- where "<keyword>" is one of the option keywords and may be
- abbreviated by its first letter, "<base>" is a four-digit
- hexadecimal segment address in the range A000 to FC00, and
- "<size>" is a decimal number in kilobytes.
-
- There are two restrictions on these options:
-
- o The base must be exactly 4 hexadecimal digits, must
- lie at or above A000, and must be a multiple of
- 0020 (512 bytes). (For APPEND, the base must
- always be A000, or may be omitted.)
-
- o The size must be in the range 1-384 kb.
-
- The "multiple of 0020" requirement for the base is necessary to
- be consistent with the way that The Last Byte Memory Manager
- organizes high memory during initialization. However, this
- requirement is often affected by the coarser resolution of the
- memory controllers:
-
- The upper area is partitioned into blocks. Some controllers use
- 16k blocks, some use 32k blocks, and some use 64k blocks. Each
- block must be either totally enabled or disabled. I.e., if any
- part of a block's address space is disabled by the presence of
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 18
-
-
- an adapter card, the entire block of memory is disabled and
- cannot be made available as High-DOS Memory.
-
- APPEND=<base>:<size> -or- APPEND=<size>
-
- Allocates a region of upper memory for appending
- to the end of conventional memory, thus
- increasing it beyond 640k. The memory is NOT
- added until it is enabled with HIGHAPND. If
- "<base>" is used, it must be A000. (Note:
- "<size>" is limited to 16k in the unlicensed
- version so that some High-DOS memory will still
- be available.)
-
- For example, to force the 64k address range
- starting at segment A000 to be appended to the
- end of the 640k of Conventional memory, the
- proper option syntax would be:
-
- APPEND=64
-
- BANKSWITCH=<base>:<size>
-
- Forces a region of upper memory that would
- normally be used as High-DOS memory to be made
- available as Bank-Switch memory.
-
- ┌─────────────────────────────────────────────────┐
- │ This option requires a memory controller chip. │
- └─────────────────────────────────────────────────┘
-
- CACHE -or- CACHE=<kbytes>
-
- Forces LASTBYTE.SYS to think that there is a
- cache between the CPU and main memory and to set
- its size. (This has nothing to do with disk
- caching!) This option is not normally necessary;
- LASTBYTE.SYS automatically detects the presence
- of a cache and its size. If you use the CACHE
- option without specifying the size, it will
- default to 512k.
-
- Activating bank-switch memory causes the contents
- of a cache (if present) to be invalid; this is
- known as a "cache coherency" problem. If a cache
- is detected during installation, LASTBYTE.SYS
- checks to see if any portion of the upper address
- space is cached. If not, then no cache coherency
- problem exists.
-
- If the upper address space is cached, however,
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 19
-
-
- LASTBYTE.SYS will flush the cache on every access
- to Bank-Switch memory in order to prevent the
- cache from providing invalid data to the CPU. On
- a 486 it does this by executing a special
- instruction that resets the cache. On other
- processors, the cache is flushed by filling it
- from low memory. In the latter case, the size
- value discussed above is used to determine how
- much to fill.
-
- DOS=<base>:<size>
-
- Forces a region of upper memory that would
- normally be used as Bank-Switch memory to be made
- available as High-DOS memory.
-
- EXCLUDE=<base>:<size>
-
- Forces a region of upper memory unavailable as
- either High-DOS or Bank-Switch memory.
-
- HOLE=<base>:<size>
-
- Creates a "hole" of free High-DOS memory within
- the address space of a ROM that is shadowed. Use
- the HIGHHOLE program to determine where these
- holes are located, and the corresponding values
- of <base> and <size>.
-
- ┌─────────────────────────────────────────────────┐
- │ NOTES: (1) The HOLE option is not available in │
- │ the unlicensed version of LASTBYTE.SYS. (2) The │
- │ <base> and <size> parameters of the HOLE option │
- │ are different from other options: <size> is in │
- │ bytes and must be a multiple of 16; <base> may │
- │ be any hexadecimal value from A000 to FFFF. │
- └─────────────────────────────────────────────────┘
-
- MOVE=VIDEOBIOS
-
- Tries to move an EGA or VGA bios to a better
- location within the available upper memory in
- order to reduce fragmentation of free memory.
-
- MOVE=MAINBIOS[,ADDHOLES]
-
- Tries to move the main bios to a better location
- within the available upper memory in order to
- reduce fragmentation of free memory.
- "MOVE=MAINBIOS,ADDHOLES" will create seven holes
- in the residual 8k left at FE00 for a total of
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 20
-
-
- more than 3k.
-
- MOVE=OVERLAY
-
- This option is for chipsets in which the main
- bios shadow ram cannot be made read/write (OPTi
- and ETEQ). This option puts that ram in
- write-only mode, copies the video bios on top of
- the main bios initialization code at the
- beginning of the bios, then returns the ram to
- read-only mode. Then the old video bios region
- is converted to usable Hi-DOS memory.
-
- MOVE=XBDA
-
- This option relocates the Extended Bios Data Area
- (XBDA), if it exists, into Upper Memory. The
- XBDA is usually 1k reserved at the top of
- conventional memory by the main Bios. Not all
- machines use an XBDA, but if it exists,
- LASTBYTE.SYS will report 639k of Conventional
- Memory instead of 640k, and HIGHAPND will refuse
- to append any memory. Some machines may not
- operate properly with a relocated XBDA, so use
- this option with caution. (Note that some
- computer viruses also "steal" the top 1k of
- memory.)
-
- PHYSICAL=<memorycontroller>[,OVERRIDE][,NOEMS]
-
- where "<memorycontroller> is determined by the
- CHIPSET program.
-
- The "OVERRIDE" suboption:
-
- Many memory controller chips can relocate all or
- part of shadow ram to the top of (extended)
- memory. If LASTBYTE.SYS fails to install with
- the error message: "Shadow Ram memory is
- relocated/remapped", try adding the OVERRIDE
- suboption to the PHYSICAL option. This disables
- any shadow ram relocation that may be in effect,
- regardless of your CMOS configuration menu
- setup. The CMOS setup menu of your BIOS may also
- provide an option to disable relocation directly,
- but there are some that determine whether to
- relocate or not based on other configuration
- options.
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 21
-
-
- The "NOEMS" suboption:
-
- May be used in conjunction with PHYSICAL=LIM4EMS
- or EEMS to use the 64k page frame as High-DOS
- Memory; must be used in conjunction with
- PHYSICAL=LIM3EMS. Doing so disables other
- (normal) use of all expanded memory.
-
- RESTRICT=<ab>,<cd>,<ef>
-
- Address lines A15 and A16 are not latched in
- hardware design of the AT bus. As a consequence,
- some 16-bit adapter cards do not properly decode
- these address lines within the narrow time
- constraints imposed by the Address Latch Enable
- (ALE) signal, and will occassionally respond to a
- memory access that is directed at some other
- portion of the address space. Thinking that it
- is for them, they force the transfer into 16-bit
- mode even though the intended recipient requires
- 8-bit mode, and thus cause erroneous data to be
- transferred to the bytes in the odd-numbered
- addresses.
-
- The most common (and damaging) occurence occurs
- during the 8-bit DMA transfers between a floppy
- disk drive and upper memory near the address
- space occupied by an offending 16-bit adapter
- card.
-
- Due to organization of the address signals on the
- AT bus, this phenomena only occurs when the two
- address areas are within the same 128k region.
- There are three such regions in the upper area:
- A0000-BFFFF, C0000-DFFFF, and E0000-FFFFF.
- LASTBYTE.SYS automatically senses the presence of
- 16-bit adapter cards in each of these three
- regions and records this information within its
- resident image for use by its utilities.
- LASTBYTE.SYS skips this test if it detects a PC
- with a Micro Channel bus (like the PS/2) since
- problem was corrected in its design.
-
- The RESTRICT option is provided to override this
- automatic detection of 16-bit adapters. Each of
- the three arguments (one per 128k region) should
- be replaced by either "0" (indicating no 16-bit
- adapters), or "1" (indicating the presense of a
- 16-bit adapter).
-
- For example, the option RESTRICT=1,1,0 would
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 22
-
-
- imply that one or more 16-bit adapters are
- located in the first two 128k regions of upper
- memory (A000-DFFF), so that when the /RESTRICT
- option of HIGHDRVR, HIGHTSR, HIGHINST, HIGHUMM,
- HIGHEMS3, and HIGHEMS4 is used, only High-DOS
- memory in the region E000-FFFF will be
- allocated. This is the default for HIGHBFRS, but
- may be disabled by use of its /NORESTRICT
- option.
-
- SHADOW=<base>:<size>
-
- The Last Byte Memory Manager will automatically
- copy the video bios and main bios to shadow ram
- if they aren't already shadowed. However, it
- will not do so for other adapter ROMs. This is
- because some controllers "hide" a small RAM by
- overlaying it in a portion of the same address
- space they declare as being filled with ROM.
- Such a RAM is no longer accessible when the ROM
- is shadowed, usually causing the adapter to stop
- functioning.
-
- This option is for those who want to forces a
- region of memory (presumably ROM) to be copied
- into shadow ram. If other hardware is detected
- outside the specified region, but within the same
- memory controller block which conflicts with this
- request, a corresponding error message will be
- displayed and LASTBYTE.SYS will not be
- installed.
-
- ┌─────────────────────────────────────────────────┐
- │ This option requires a memory controller chip. │
- └─────────────────────────────────────────────────┘
-
- TEXT=n
-
- The information screen invoked by the "?" option
- defaults to bright white on blue if a color
- display is active, and to inverse video if a
- monochrome monitor is active. This option
- changes the default to 'n', where n is the
- hexadecimal value of the attribute byte used to
- paint the screen.
-
- ? (A question mark)
-
- Causes LASTBYTE.SYS to erase the screen, display
- a summary of what it finds in the upper memory
- area, and pause for two seconds to give the user
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 23
-
-
- an opportunity to read the information. To
- freeze this display for a longer period, press
- <Ctrl>-S; then to continue with CONFIG.SYS
- processing, press any key.
-
-
- 5.2 HIGHAPND.EXE and HIGHAPND.SYS
-
- HIGHAPND.EXE is a program that can only be used in conjunction
- with the "APPEND=" option of LASTBYTE.SYS. HIGHAPND.SYS is a
- device driver version of HIGHAPND.EXE. Either can be used to
- append some of the upper memory that begins at 640k onto the end
- of conventional memory (and also to return later to 640k).
-
- Monochrome (MDA), Hercules, and CGA display adapters don't use
- the 64k region starting at A000, and so this memory can be used
- to extend conventional memory from 640k to 704k, provided there
- is available read/write memory in this area. CGA display
- adapters also don't use the next 32k either, and so CGA users
- may be able to extend conventional memory all the way to 736k.
-
- EGA and VGA display adapters have a 64k hi-resolution graphics
- display buffer that is located at A000. This buffer is only
- needed when you are using only hi-resolution graphics. When the
- display is in either text or low-resolution CGA graphics modes,
- this memory is not used, and may be replaced (switched) with
- shadow ram memory if available, or the display buffer itseld may
- be used to extend conventional memory. Since most EGA and VGA
- adapters usually don't use the 32k region at B000, you may even
- be able to extend conventional memory up to 736k.
-
- You may either use HIGHAPND.SYS during CONFIG.SYS processing, as
- in:
-
- DEVICE=HIGHAPND.SYS ON {Extends conv. memory beyond 640k}
- . . .
- DEVICE=HIGHAPND.SYS OFF {Resets conv. memory to 640k}
-
- ╔═════════════════════════════════════════════════╗
- ║ WARNING: HIGHAPND.SYS may not work properly ║
- ║ with some versions of MS-DOS; in such cases, ║
- ║ use HIGHAPND.EXE instead. There is no benefit ║
- ║ to using HIGHDRVR.SYS to load HIGHAPND.SYS ║
- ║ because it never stays resident. ║
- ╚═════════════════════════════════════════════════╝
-
- or use HIGHAPND.EXE during AUTOEXEC.BAT processing (or at any
- time after the computer is booted), as in:
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 24
-
-
- A>HIGHAPND ON {Extends conv. memory beyond 640k}
- . . .
- A>HIGHAPND OFF {Resets conv. memory to 640k}
-
- ╔═════════════════════════════════════════════════╗
- ║ WARNING: HIGHAPND.EXE may not work properly ║
- ║ with DR DOS. In such cases, use HIGHAPND.SYS. ║
- ╚═════════════════════════════════════════════════╝
-
-
- Don't forget - both HIGHAPND.SYS and HIGHAPND.EXE require the
- use of an APPEND option on the LASTBYTE command line.
-
- HIGHAPND can be used without any command line options to
- determine the current size of conventional memory and the state
- of EGA/VGA hi-resolution graphics:
-
- A>HIGHAPND
-
- You can put these commands into a batch file to simplify
- switching back and forth. For example, if you want the extra
- memory all the time except when you need hi-res graphics for
- Microsoft Windows, create a batch file like the following:
-
- @ECHO OFF
- HIGHAPND OFF
- WIN %1 %2
- HIGHAPND ON
-
- HIGHAPND will automatically disable any EGA or VGA hi-resolution
- graphics capability whenever conventional memory has been
- extended beyond 640k. This makes software that attempts to
- sense what type of display adapter is installed think that you
- have only a CGA adapter. Later, when you need the graphics
- capability, you can disable the memory extension and
- hi-resolution graphics will be automatically re-enabled.
-
- If you have hi-res graphics disabled and run a program that
- tries to use hi-res graphics without first sensing for an EGA or
- VGA adapter, LASTBYTE.SYS will notice the conflict, issue an
- error message, and terminate the program. Some programs
- redirect a few interrupts during their initialization and then
- restore them before termination. LASTBYTE.SYS's termination of
- graphics programs doesn't know how to restore these interrupts,
- so in some cases you may have to reboot the computer. In other
- words, if you experience this kind of program termination with
- an application program, it's best to reboot and prepare a batch
- file (as shown above) to run the program.
-
- HIGHAPND provides more detailed control over this protection
- through the /HIRESGFX option as described below. This may be
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 25
-
-
- helpful, for example, with software that uses the 43 (50) line
- text mode of the EGA (VGA) adapter. (The setting of this option
- is only meaningful when HIGHAPND ON is in effect.)
-
- /HIRESGFX=TRAPPED
-
- Disables all EGA/VGA high-resolution graphics
- functions provided by video BIOS interrupt 10h
- and makes programs think a CGA adapter is
- installed. (This is the default.)
-
- /HIRESGFX=SENSED
-
- Disables all EGA/VGA high-resolution graphics
- functions provided by video BIOS interrupt 10h,
- but does let programs sense the presence of an
- EGA or VGA adapter.
-
- /HIRESGFX=ALLOWED
-
- Allows all video BIOS interrupt 10h function
- calls, even if they might use the 64k EGA/VGA
- graphics display buffer at A000-AFFF.
-
- Technical Note
-
- HIGHAPND requires either a memory controller chip or
- an EGA or VGA display adapter. If the memory
- controller chip can enable shadow ram memory at A000,
- then shadow ram memory will be used to extend
- conventional memory; otherwise, HIGHAPND will convert
- the graphics display buffer of the EGA or VGA display
- adapter into an extension of conventional memory.
-
-
-
- 5.3 HIGHBFRS.EXE (MS-DOS 3 only)
-
- ╔═════════════════════════════════════════════════╗
- ║ WARNING: Placing MS-DOS buffers in high memory ║
- ║ can result in the loss of data. I.e., it can ║
- ║ damage the directory and file allocation tables ║
- ║ of your disk. Read everything in this section ║
- ║ before considering the use of this utility. ║
- ╚═════════════════════════════════════════════════╝
-
- HIGHBFRS can be used to place MS-DOS 3.x buffers in upper
- memory, but you must be careful that this does not cause DMA
- transfers into a 128k region of memory containing a 16-bit
- adapter, or else you may damage the data on your disk. (See the
- discussion of the "RESTRICT" option of LASTBYTE.SYS.) HIGHBFRS
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 26
-
-
- offers two solutions to this problem: The first (and default)
- solution is to restrict buffer placement to particular 128k
- regions where there is no conflict.
-
- If all three 128k regions contain 16-bit adapters, then a second
- (different) solution may be both necessary and sufficient. It
- intercepts transfers between floppy disk drives and upper
- memory, and redirects the transfer through an intermediate
- sector buffer in conventional (low) memory. The corresponding
- command line option would be:
-
- HIGHBFRS /FLOPPY
-
- Almost all hard disk controllers use 16-bit CPU instructions
- (rather than DMA) to transfer data and thus do not incur this
- problem.
-
- HIGHBFRS defaults to the maximum number of buffers and
- automatically determines the safest location for loading them
- into upper memory by checking with LASTBYTE.SYS for the location
- of 16-bit adapter cards, if any. If none of the three 128k
- segments is considered "safe", it will enable interception of
- floppy transfers. Any of these defaults can be overridden by
- one or more of the following command line options:
-
- BUFFERS=<number>
-
- Changes the number of MS-DOS buffers to the value
- specified; "<number>" is a number from 1-99, or
- may be replaced by the word "MAXIMUM".
-
- /NORESTRICT (Abbreviated "/N")
-
- Disables the default restriction on buffer
- placement caused by the presence of 16-bit
- adapter cards or by use of the "RESTRICT" option
- on the LASTBYTE.SYS command line.
-
- /FLOPPY (Abbreviated "/F")
-
- Enables redirection of Bios INT 13h calls that
- attempt to transfer data between a floppy disk
- drive and upper memory. If redirected, such
- transfers go through an intermediate buffer
- located in conventional memory. (Disables
- restrictions on buffer placement.)
-
- When HIGHBFRS is invoked with no command line arguments, it
- simply reports the number of MS-DOS buffers presently located in
- upper memory and whether or not transfers between floppy disk
- drives and upper memory are redirected. You may use the HIGHMEM
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 27
-
-
- program to determine where the buffers have been placed in upper
- memory.
-
- Microsoft recommends setting the "BUFFERS=" option in CONFIG.SYS
- according to the type of application most frequently used.
- Implicit within this recommendation is the assumption that you
- won't change the value very often since it requires editing
- CONFIG.SYS and rebooting.
-
- In general, more buffers help when running programs that perform
- random access on a relatively small number of disk records (such
- as the index for a database program), or if your disk has many
- subdirectories organized on several levels.
-
- Since HIGHBFRS allows you to increase or decrease the number of
- buffers dynamically, you could create some batch files to tune
- the number of buffers to fit the application you're running at
- the moment.
-
-
- 5.4 HIGHDISK.SYS
-
- HIGHDISK.SYS is a device driver that implements a ram disk in
- upper memory. Bank-Switch Memory is allocated first, and if
- that isn't enough, then High-DOS Memory is allocated to satisfy
- the total request. The device driver automatically loads itself
- into upper memory, putting most of itself in bank-switch memory
- if available, without using HIGHDRVR or the DOS 5 DEVICEHIGH
- command, as in:
-
- DEVICE=HIGHDISK.SYS
-
- This creates a ram disk that uses all available upper memory,
- with 32 directory entries and sectors of 128 bytes each.
-
- A command line option may be used to specify the size of the RAM
- disk as in:
-
- DEVICE=HIGHDISK.SYS 100
-
- This creates a 100k byte ram disk.
-
- Other command line options may be used to change the number of
- bytes per sector and directory entries, as in:
-
- DEVICE=HIGHDISK.SYS 100 256 64
-
- This creates a 100k RAM disk with 256 bytes per sector and 64
- root directory entries.
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 28
-
-
- ╔═════════════════════════════════════════════════╗
- ║ NOTE: If you have used the command DOS=UMB or ║
- ║ DOS=HIGH,UMB with HIGHUMM.SYS to let DOS 5.0 ║
- ║ manage the Upper Memory Blocks, you must limit ║
- ║ how much upper memory HIGHUMM can use so that ║
- ║ some will be available for HIGHDISK. ║
- ╚═════════════════════════════════════════════════╝
-
-
- 5.5 HIGHDRVR.SYS
-
- HIGHDRVR is a device driver that is used to load other device
- drivers into upper memory. For a brief introduction to its use,
- see the section titled "Testing LASTBYTE.SYS HIGHDRVR.SYS and
- HIGHTSR.EXE" in the "GETTING STARTED" chapter at the beginning
- of this manual. Also see the sections in the "HINTS /
- SUGGESTIONS / EXPLANATIONS" chapter near the end of this
- document on the /SIZE, /LOW, and /RESTRICT options.
-
- The command line syntax of the CONFIG.SYS line for HIGHDRVR is:
-
- DEVICE=[path]HIGHDRVR.SYS <filespec>
-
- where '<filespec>' is the filename of the device driver to be
- loaded high, optionally prefixed by a drive and directory
- specifcation. The filespec may be preceded by one or more of
- the /SIZE, /LOW, and /RESTRICT options, and followed by options
- at the end of the command line as required by the particular
- driver to be loaded.
-
- When HIGHDRVR searches the disk for the device driver to load,
- it follows the following search strategy:
-
- (1) If '<filespec>' includes a drive or directory
- specification, this will be the only place that
- HIGHDRVR will look.
-
- Otherwise, HIGHDRVR will search for the driver in:
-
- (2) The current (root) directory, and then
-
- (3) The same directory where HIGHDRVR was found.
-
-
- 5.6 HIGHEMS3.SYS and HIGHEMS4.SYS
-
- Two expanded memory emulators are provided with The Last Byte
- Memory Manager. Both use upper memory as expanded memory.
- HIGHEMS3.SYS is compliant with the older LIM 3.2 spec, and
- HIGHEMS4.SYS with the newer LIM 4.0 spec. Both are included
- since the HIGHEMS3.SYS requires much less memory for the device
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 29
-
-
- driver itself than HIGHEMS4.SYS. In many applications, you may
- find that 3.2 is all you need.
-
- These device drivers emulate expanded memory! That means that
- they use software to copy data back and forth between the
- logical EMS memory (pages) and the page frame. Obviously, this
- is much slower than the performance you would realize with
- hardware support, or even with EMM386. Therefore, these device
- drivers are provided as a last resort for those who have no
- other way of providing EMS memory to their applications, such as
- users with only 1 meg of memory.
-
- Both HIGHEMS3.SYS and HIGHEMS4.SYS have an optional command line
- parameter which is the number of 16k EMS pages to allocate. If
- omitted, the maximum allocation will be used. Bank-Switch
- memory is allocated first, and if that isn't enough, then
- High-DOS Memory is allocated to satisfy the total page request.
-
- Use only one of these device drivers, and load it after
- LASTBYTE.SYS. The driver automatically loads itself into upper
- memory, putting much of itself into bank-switch memory if
- available, without the need for either HIGHDRVR or the DOS 5
- DEVICEHIGH command. Also see the section on the /RESTRICT
- option in the "HINTS / SUGGESTIONS / EXPLANATIONS" chapter near
- the end of this document.
-
- ╔═════════════════════════════════════════════════╗
- ║ NOTE: If you have used the command DOS=UMB or ║
- ║ DOS=HIGH,UMB with HIGHUMM.SYS to let DOS 5.0 ║
- ║ manage the Upper Memory Blocks, you must limit ║
- ║ how much upper memory HIGHUMM can use so that ║
- ║ some will be available for HIGHEMS3/HIGHEMS4. ║
- ╚═════════════════════════════════════════════════╝
-
-
- 5.7 HIGHENV.EXE
-
- HIGHENV is a utility that moves the master environment of the
- command processor (typically COMMAND.COM) out of conventional
- memory and into High-DOS memory. It can also be used to change
- the size of the environment at any time.
-
- ╔═════════════════════════════════════════════════╗
- ║ WARNING: HIGHENV is incompatible with Novell. ║
- ╚═════════════════════════════════════════════════╝
-
- If used without a command line option, HIGHENV simply reports
- the location, capacity, and length of the master environment.
- If the environment has not been moved from low memory, it also
- examines and reports potential references to the environment
- that exist within the command processor. If one or more are
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 30
-
-
- located, the first line(s) of output from HIGHENV will be:
-
- "Potential command processor patch at location XXXX."
-
- where "XXXX" will vary from one command processor to another.
- HIGHENV should be used this way at least once to determine what
- "/PATCH" options (described below) may be required.
-
- To move the master environment into upper memory, you must use
- one or more /PATCH options and may use a /SIZE option. The
- patch options specify locations in the command processor that
- must be modified. (If there are no locations in the command
- processor that need to be modified, use /PATCH=NONE.) The
- /PATCH option may only be specified once, when the environment
- is moved from low to upper memory. The patch locations are
- recorded in upper memory and are automatically adjusted if the
- environment is repositioned within upper memory as the result of
- a subsequent use of HIGHENV to resize the environment.
-
- The size option is simply a number that specifies the extra
- space in bytes to be allocated to accomodate additional
- environment strings besides those already established. If the
- size option is omitted, the size of the environment block (and
- thus its capacity for growth) will not be changed.
-
- ╔═════════════════════════════════════════════════╗
- ║ WARNING: The SET command of COMMAND.COM norm- ║
- ║ ally warns you if you run out of space in the ║
- ║ master environment. However, if you have used ║
- ║ HIGHENV to move it into upper memory, this ║
- ║ safeguard no longer exists - you'll just write ║
- ║ over the next thing in upper memory! Be sure ║
- ║ to check the HIGHENV report to be sure that you ║
- ║ have enough extra space in the environment so ║
- ║ that this won't occur. ║
- ╚═════════════════════════════════════════════════╝
-
- A maximum of four command processor locations to be patched may
- be specified in either of two ways:
-
- A>HIGHENV 256 /PATCH=1057 /PATCH=1536
-
- -or-
-
- A>HIGHENV 256 /PATCH=1057,1536
-
- Each of the patch numbers specify a location in the memory image
- of the command processor; these locations contain the segment
- address of the master environment, and must be modified to point
- to the new master environment in upper memory. Possible values
- to be used are restricted to those locations reported when
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 31
-
-
- HIGHENV is run with no command line options and before the
- environment has been moved into upper memory.
-
- COMMAND.COM usually contains only one such location that needs
- to be patched; 4DOS contains none (use /PATCH=NONE). (Note:
- HIGHENV always patches the environment address stored in the
- program segment prefix of the command processor - this patch
- does not need to be specified.)
-
- ╔═════════════════════════════════════════════════╗
- ║ NOTE: The /U option of 4DOS is an alternative ║
- ║ method for placing the master environment in ║
- ║ upper memory. You don't need to use HIGHENV if ║
- ║ you are already using the /U option of 4DOS. ║
- ╚═════════════════════════════════════════════════╝
-
- Once moved into upper memory, the size of the environment may be
- changed by using HIGHENV with simply a size option. For
- example, to shrink the environment to only enough room for the
- current environment strings, use:
-
- A>HIGHENV 0
-
- Or to change the growth capacity to allow for the current
- environment strings plus 100 bytes more, use:
-
- A>HIGHENV 100
-
-
- 5.8 HIGHFILE.EXE
-
- This program is used to implement most of the CONFIG.SYS
- "FILES=n" directive in High-DOS memory rather than in
- Conventional memory. The amount of memory required by the
- "FILE=n" directive is approximately 'n' times 59 bytes. Set the
- minimum of FILES=8 in the CONFIG.SYS file, and then place the
- rest in High-DOS memory. For example, the command:
-
- HIGHFILE 42
-
- will add an additional FILES=42 (2500 bytes) in High-DOS memory,
- for a total of FILES=50.
-
- ┌─────────────────────────────────────────────────┐
- │ NOTE: Windows 3.0 may not run in 386 Enhanced │
- │ mode with FILES in upper memory. │
- └─────────────────────────────────────────────────┘
-
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 32
-
-
- 5.9 HIGHHOLE.EXE
-
- HIGHHOLE is a utility program that finds unused space ("holes")
- in ROMs. A "hole" is defined as a sequence of at least 256
- bytes, all having the same value, and usually corresponds to
- unused, left-over space in the ROM. If the ROM is shadowed,
- this space can usually be converted into free High-DOS memory
- using the "HOLE=" option of LASTBYTE.SYS.
-
- ┌─────────────────────────────────────────────────┐
- │ NOTE: The HOLE option is not available in the │
- │ unlicensed version of LASTBYTE.SYS. │
- └─────────────────────────────────────────────────┘
-
- These holes are often less than 1k in size, but sometimes as
- large as 6k. Since The Last Byte Memory Manager uses a "best
- fit" strategy when allocating Hi-DOS memory, even the smaller
- holes can become useful to hold the master environment created
- by HIGHENV, the markers of HIGHMARK, or with utilities like
- HIGHDISK and HIGHSPLR that can distribute their memory among
- several small pieces. In addition, The Last Byte Memory Manager
- will use the smallest holes for memory control blocks (MCB's)
- that must be allocated for Bank-Switch memory needs.
-
- HIGHHOLE merely locates probable holes, and suggests the
- corresponding option to be used with LASTBYTE.SYS. To activate
- these holes, you must then modify your configuration to include
- these options. No option will be suggested for a hole if (1)
- the corresponding ROM area is not shadowed, (2) the hole is in
- the Bios Data Area (FE05-FFFF), or (3) the corresponding shadow
- ram is not controlled by The Last Byte Memory Manager.
-
- NOTE: Use of LASTBYTE.SYS's HOLE option will cause warm boots to
- be converted into cold boots.
-
-
- 5.10 HIGHINST.EXE
-
- HIGHINST is simply a TSR version of HIGHTSR that is designed for
- use with the MS-DOS "INSTALL=" directive of a CONFIG.SYS file.
- MS-DOS requires that the program named in an INSTALL directive
- to be the name of a TSR, and anything else (e.g., HIGHTSR, which
- is not a TSR) will produce an error message. A small part of
- HIGHINST (96 bytes) will remain resident in conventional
- memory.
-
- For a full description of command line options and syntax, see
- the description for HIGHTSR. Also see the sections on the
- /SIZE, /LOW, and /RESTRICT options in the "HINTS / SUGGESTIONS /
- EXPLANATIONS" chapter near the end of this document.
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 33
-
-
-
- 5.11 HIGHKEY.EXE
-
- HIGHKEY is a advanced command line editor that can recall and
- edit previous commands. HIGHKEY is similar to the DOSKEY
- program in DOS 5, but with filename completion and the unique
- ability to store the command line history and much of itself in
- bank-switch memory. It does not support DOSKEY macros, or the
- editing keys F7, F9, Alt+F7, or Alt+F10.
-
- To install HIGHKEY, simply enter it as a command at the prompt:
-
- A>HIGHKEY
-
- This will allocate a recall buffer with a default size of 512
- bytes, but which can be changed at any time with the use of a
- command line option.
-
-
- 5.11.1 Options
-
- All of the keywords that follow may be abbreviated.
-
- /BUFSIZE=n Empties the recall buffer, and resizes it to 'n'
- bytes. If 'n' is replaced by the word "MAXIMUM",
- the recall buffer size will use all available memory
- up to 65535 bytes.
-
- /INSERT Sets the default typing mode to insert.
-
- /OVERSTRIKE Sets the default typing mode to overstike.
-
- /HISTORY Displays the contents of the command line
- recall buffer on the screen.
-
- filespec A filename, optionally preceeded by a drive and
- directory specification. If used with the /HISTORY
- option, causes the recall buffer to be written to
- the specified file. If used without the /HISTORY
- option, it loads the recall buffer from the file.
-
-
- 5.11.2 Editing Commands
-
- Some of the HIGHKEY editing commands use what is known as the
- "template". The template is initialized to a copy of the
- previous command line, but may be modified by one or more of the
- editing commands.
-
- Left Arrow Moves the cursor back one character.
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 34
-
-
- Right Arrow Moves the cursor forward one character.
-
- Up Arrow Recalls the previous command and stores
- it in the template.
-
- Down Arrow Recalls the next command and stores it
- in the template.
-
- PgUp Recalls the oldest command and stores it
- in the template.
-
- PgDn Recalls the most recent command and stores
- it in the template.
-
- Ctrl+Left Arrow Moves the cursor back one word.
-
- Ctrl+Right Arrow Moves the cursor forward one word.
-
- Home Moves the cursor to the beginning of
- the command line.
-
- End Moves the cursor to the end of the
- command line.
-
- Esc Erases the command line; does not affect
- the template.
-
- Ins Toggles insert versus overwrite mode.
-
- Backspace Deletes the character to the left of the
- cursor; does not affect the template.
-
- Del Deletes the character at the cursor; does
- not affect the template.
-
- Ctrl+End Deletes from the cursor to the end of
- the line; does not affect the template.
-
- Ctrl+Home Deletes from the beginning of the line
- up to but not including the cursor; does
- not affect the template.
-
- F1 Copies one character from the template.
-
- F2 Waits for a keypress, then inserts charac-
- ters from the template up to but not in-
- cluding the first occurrence of that key.
-
- F3 Copies the remainder of the template to
- the command line.
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 35
-
-
- F4 Waits for a keypress, then deletes charac-
- ters from the template up to but not in-
- cluding that key. The template is then
- displayed on the command line.
-
- F5 Copies the command line to the template
- and then erases the command line.
-
- F6 Inserts an end-of-file character (Ctrl+Z).
-
- F8 Searches for the next command that matches
- the characters in the command line up to
- the position of the cursor, then copies
- that command to the template.
-
- Tab Searches for a file on the disk whose name
- matches the partial filespec given by the
- text indicated by the cursor. If found,
- the filespec is completed on the command
- line.
-
-
- 5.12 HIGHMARK.EXE
-
- Sometimes it can be useful to remove one or more TSR's from
- memory, either because you no longer want to use the features
- that they provide or perhaps in order to make room for another
- set of TSR's.
-
- In order to be able to remove a group of TSR's from upper
- memory, they must be be marked. To mark them, run HIGHMARK once
- before you use HIGHTSR to load the TSR's. Then later, simply
- run HIGHUNDO - the mark and all of its associated TSR's will be
- removed.
-
- HIGHMARK may be executed more than once to establish multiple
- levels of TSR's to be removed. Each execution of HIGHMARK
- places another mark in memory with a unique mark number. Every
- TSR loaded by HIGHTSR is automatically associated with the most
- recent execution of HIGHMARK. You can use HIGHMEM to see the
- marks, their mark number, and the set of TSR's associated with
- the mark. Every execution of HIGHUNDO will then remove the set
- of TSR's associated with the most recent HIGHMARK.
-
- You may specify a mark level on the command line of HIGHUNDO.
- This will cause it to remove all the TSR's and marks whose mark
- number is greater than or equal to the number on the command
- line.
-
- IMPORTANT: When a mark is removed using HIGHUNDO, two basic
- things happen: (1) the interrupt vector table is restored to its
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 36
-
-
- state prior to the corresponding HIGHMARK, and (2) any memory
- control blocks marked with the same mark number are released.
- If you have installed one or more TSR's since the mark was
- established, but did so without the use of HIGHTSR, these TSR's
- will be disabled but they will not be removed from memory. The
- following three examples indicate this consequence:
-
- Disabled and Diabled but Disabled but
- removed remains remains
- -------- ------------ ------------
- A>HIGHMARK A>HIGHMARK A>HIGHMARK
- A>HIGHTSR CLOCK A>CLOCK A>LOADHIGH CLOCK
- A>HIGHUNDO A>HIGHUNDO A>HIGHUNDO
-
-
- 5.13 HIGHMEM.EXE
-
- HIGHMEM is a program that provides a display of what is loaded
- into the upper memory area. For a detailed description on using
- the HIGHMEM program, see the section titled "Mapping Upper
- Memory with HIGHMEM" in the "GETTING STARTED" chapter at the
- beginning of this manual.
-
- HIGHMEM automatically senses whether you have a color or
- monochrome display to determine how to present data on the
- screen. However, you may force the mode using one of the /MONO,
- /COLOR, or /LCD command line options.
-
-
- 5.14 HIGHSPLR.EXE
-
- HIGHSPLR is a interrupt-driven print spooler that creates a
- print buffer in upper memory. Once installed, programs that
- send output to the printer are no longer held up waiting for the
- printer, but rather simply send their output to the buffer.
- Characters in the buffer are then sent to the printer by the
- resident portion of HIGHSPLR while your computer is free to do
- other work.
-
- Unlike the MS-DOS printer spooler (PRINT), HIGHSPLR is driven by
- the printer hardware interrupt line that signals printer
- "ready", rather than the timer tick (that only interrupts 18
- times per second). Unlike PRINT, this allows full-speed
- transfers (e.g., up to about 8,000 cps) to the printer even
- while executing other programs.
-
- HIGHSPLR tries to place its buffer in Bank-Switch memory, but
- will use High-DOS memory if a sufficient amount of Bank-Switch
- memory is not available. The size of the buffer will default to
- all available Bank-Switch and High-DOS memory, but may be
- restricted (or resized later) by a command line option.
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 37
-
-
-
- HIGHSPLR supports both parallel and serial printers, but
- defaults to LPT1. Multiple copies of HIGHSPLR can be installed
- to support more than one printer. HIGHSPLR determines the
- physical i/o port address and interrupt vector automatically
- from the device name (e.g., LPT2), but these defaults can be
- altered with command line options.
-
- HIGHSPLR also has a unique "monitor" option. While output is
- being sent to the printer, you can monitor the actual transfer
- rate by entering the command,
-
- A>HIGHSPLR MONITOR
-
- The monitor operation may be terminated at any time by pressing
- a key, or will automatically terminate when the print buffer has
- been emptied. Once terminated, HIGHSPLR will display the
- maximum and average transfer rates measured during the monitor
- operation.
-
- The command line syntax for HIGHSPLR is given below. All
- parameters are optional and may be specified in any order. All
- of the options except LPT, COM, and IRQ may be abbreviated by
- their first letter;
-
- HIGHSPLR [opt] [opt] ... [opt]
-
- where opt may be selected from:
-
- LPT1 LPT2 LPT3 POLL COM1 COM2 COM3 COM4
- IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7
- RESET NOTEST MONITOR KBYTES=# PORT=#
- or FLOW=<type>, where <type> is selected from:
-
- XON DTR RTS NONE (default)
-
- Normally, neither the "PORT" or "IRQ" options are necessary
- since they are automatically derived from the "COM" or "LPT"
- option. Use "POLL" if you don't want to use interrupt-driven
- output; this may be necessary if another parallel port is in use
- for some other purpose (e.g., with Lantastic/Z). The "RESET"
- option provides a way to cancel printing from the buffer (and do
- a form-feed) at any time. One of the FLOW control options (XON,
- DTR, RTS) may be required with some serial (COM) printers to
- provide flow control. The "NOTEST" option disables the default
- test for functionality of the physical port that occurs when the
- software is first installed.
-
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 38
-
-
- 5.15 HIGHTSR.EXE
-
- HIGHTSR is a program that is used to load TSR programs into
- upper memory. For a brief introduction to its use, see the
- section titled "Testing LASTBYTE.SYS HIGHDRVR.SYS and
- HIGHTSR.EXE" in the "GETTING STARTED" chapter at the beginning
- of this manual. In addition to the /NOENV option described
- below, also see the sections on the /SIZE, /LOW, and /RESTRICT
- options in the "HINTS / SUGGESTIONS / EXPLANATIONS" chapter near
- the end of this document.
-
- The command line syntax for HIGHTSR is:
-
- [path]HIGHTSR <filespec>
-
- where '<filespec>' is the filename of the TSR program to be
- loaded high, optionally prefixed by a drive and directory
- specifcation. The filespec may be preceded by one or more of
- the /SIZE, /LOW, /NOENV, and /RESTRICT options, and followed by
- options at the end of the command line as required by the
- particular TSR to be loaded.
-
- When HIGHTSR searches the disk for the device driver to load, it
- follows the same strategy that MS-DOS uses when loading
- programs:
-
- (1) If '<filespec>' includes a drive or directory
- specification, this will be the only place that
- HIGHTSR will look.
-
- Otherwise, HIGHTSR will search for the TSR program in:
-
- (2) The current directory, and then
-
- (3) Those directories given by the PATH environment
- variable.
-
-
- 5.15.1 The /NOENV Option
-
- All programs, including TSR's, are allocated two regions of
- memory when they are loaded: One is the area for the program
- itself, and the other is for a copy of the environment. Most
- TSR's don't make use of their environment, and some actually
- release it to the operating system rather than hanging onto it.
-
- If HIGHMEM finds an environment block, the corresponding entry
- in the "Description" column will have the name of the TSR that
- it belongs to (such as "CLOCK.EXE") followed by the indication
- "[Env]". Occassionally, you may see a similar indication
- "[Dat]"; this is a data block explicitly allocated by the TSR
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 39
-
-
- for some unknown purpose.
-
- TSRs that eliminate their PSP
-
- The authors of some TSR's attempt to save a little
- extra memory by having the TSR eliminate its own
- Program Segment Prefix (PSP) during initialization.
- Doing so makes it impossible to identify the TSR's
- environment block. However, this byte-saving
- mentality will usually mean that the TSR's
- initialization code also eliminates its environment
- block, so this is rarely a problem.
-
-
- If you see a block labelled "[Env]" in the output of HIGHMEM,
- then you can use the /NOENV command line option of HIGHTSR to
- release this block, even if the TSR didn't:
-
- HIGHTSR /NOENV CLOCK
-
- As noted earlier, some TSRs will release their environment
- anyway and so you may be tempted to load them without using the
- /NOENV option. This usually will create a "hole" in upper
- memory since the TSR's environment is almost always allocated
- just below the TSR itself. Use of the /NOENV option forces the
- environment to be allocated down in conventional memory (where
- it will be reclaimed later) so that the "hole" is eliminated.
-
-
- 5.16 HIGHUMM.SYS
-
- HIGHUMM is a device driver that creates, and lets application
- software use, Upper Memory Blocks (UMB's) in the upper memory
- area via a standard protocol that is part of what is known as
- the Extended Memory Specification (XMS). The number, size, and
- location of UMB blocks vary widely depending upon the types of
- hardware adapter cards resident within the upper address space.
-
- HIGHUMM may be installed in one of two ways:
-
- o If an XMS driver (such as HIMEM.SYS) has already
- been loaded, HIGHUMM will link into it, providing
- an implementation of the two XMS functions for
- accessing what the XMS specification refers to as
- "Upper Memory Blocks" (UMB's). For example,
-
- DEVICE=LASTBYTE.SYS {and any options}
- DEVICE=HIGHDRVR.SYS C:\DOS\HIMEM.SYS {and any options}
- DEVICE=HIGHUMM.SYS
-
- Although described in the XMS specification, so far
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 40
-
-
- the UMB functions have not been implemented in any
- version of HIMEM.SYS. If your XMS driver happens
- to also be a UMB provider, HIGHUMM will abort with
- a corresponding error message. You may then use
- the /REPLACE option on the HIGHUMM.SYS command line
- to force it to take over responsibility for
- providing UMBs.
-
- o If an XMS driver has not been loaded, then HIGHUMM
- will become a UMB-Only XMS device driver, providing
- support for XMS functions 00h (Get Version Number),
- 10h (Allocate UMB Block), 11h (Deallocate UMB
- Block). All other XMS functions will return
- failure, indicating that the function is not
- implemented. For example,
-
- DEVICE=LASTBYTE.SYS {and any LASTBYTE options}
- DEVICE=HIGHUMM.SYS
-
- Important!
-
- If another XMS device driver is used (e.g., to
- provide management of extended memory or the
- upper memory area), it must be loaded before
- HIGHUMM.SYS.
-
-
- If you want to limit how much upper memory can be allocated by
- HIGHUMM as UMB's, you can specify this in kbytes as an option on
- the HIGHUMM.SYS command line, as in:
-
- DEVICE=HIGHUMM.SYS 60
-
- This provides a guarantee that some amount of upper memory will
- never be allocated by HIGHUMM.SYS, and will thus still be
- available for other uses.
-
- HIGHUMM requires that LASTBYTE.SYS be installed first. It
- automatically loads itself into upper memory, putting much of
- itself into bank-switch memory if available, without using
- either HIGHDRVR or the DOS 5 DEVICEHIGH command. Also see the
- section on the /RESTRICT option in the "HINTS / SUGGESTIONS /
- EXPLANATIONS" chapter near the end of this document.
-
-
- 5.17 HIGHUNDO.EXE
-
- For a complete discussion of HIGHUNDO see the description of its
- companion program, HIGHMARK in an earlier section.
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 41
-
-
- CHAPTER 6 - HINTS / SUGGESTIONS / EXPLANATIONS
-
-
- The following article provides an excellent definition of the
- various kinds of memory, such as conventional, extended,
- expanded, high, and upper. More important, however, is its
- discussion of how various adapter cards make use of the upper
- address space, and may provide some insight if you're having
- problems getting The Last Byte Memory Manager to install
- properly:
-
- Barry Simon, "How to Get the Most from Your System's
- High DOS Memory", PC Magazine, Vol. 9, No. 10 (May 29,
- 1990), pp. 347-358.
-
-
- 6.1 The /SIZE Option
-
- This option may be used with HIGHDRVR, HIGHINST, and HIGHTSR.
-
- The amount of High-DOS memory required to load a device driver
- or TSR is the larger of two amounts: (1) the amount required
- during initialization and (2) the final resident requirement
- once installed. Either or both of these may be greater than or
- equal to the size of the file.
-
- Most device drivers and TSR's require more memory for
- initialization than when resident, although there are a few
- (such as SMARTDRV.SYS and NANSI.SYS) which require extra
- resident memory for buffers, etc. The normal operation of
- HIGHDRVR, HIGHTSR, and HIGHINST is to use the largest free
- High-DOS memory block to load the software since the resident
- memory requirement cannot be determined until after the software
- has been loaded and initialized.
-
- Unfortunately, this can lead to a less than optimum use of
- memory. If the memory requirements were known, then a memory
- block could be selected using a "best fit" strategy; i.e., the
- smallest free High-DOS memory block which is larger than or
- equal to the load requirement. This usually results in much
- better utilization of memory.
-
- 6.1.1 Measuring Load Requirements Using "/SIZE"
-
- If inserted on the command line of HIGHTSR, HIGHINST, or
- HIGHDRVR as shown below:
-
- HIGHTSR /SIZE PRINT /D:PRN
-
- then both the initialization and resident requirements will be
- displayed on the console after the software has been loaded and
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 42
-
-
- initialized.
-
- 6.1.2 Achieving Best Fit Using "/SIZE:n1"
-
- The larger of the initialization and resident requirements may
- be specified with the /SIZE option to force a "best fit"
- allocation. For example:
-
- HIGHTSR /SIZE:17120 PRINT.EXE /D:PRN
-
- 6.1.3 Borrowing Initialization Memory Using "/SIZE:n1 n2"
-
- Usually the resident requirement is less than the initialization
- requirement. If there isn't enough free High-DOS memory to
- satisfy the initialization requirement, but there is enough for
- the resident requirement, then you may still be able to load
- your software by adding a second parameter to the /SIZE option,
- as in:
-
- HIGHTSR /SIZE:16208,5776 PRINT /D:PRN
-
- In this example, the initialization requirement is specified by
- the first parameter and is 16208 bytes; the resident requirement
- is specified by the second parameter and is 5776 bytes. Note
- that specifying the second parameter is not helpful unless the
- resident requirement is less than the initialization
- requirement.
-
- When the second parameter is used, HIGHTSR first looks for a
- free area larger than or equal to the initialization requirement
- (the first parameter); if found, it simply loads the software in
- this area and the second paramter is ignored. Otherwise,
- HIGHTSR searches for a free area larger than or equal to the
- resident requirement (the second parameter), and which has
- "data" allocated immediately above it that can be temporarily
- moved to create enough free memory to satisfy the initialization
- requirement. Such "data" includes High-DOS memory used by
- HIGHDISK, HIGHEMS3, HIGHEMS4, HIGHSPLR, HIGHKEY, and for TSR
- markers.
-
-
- 6.2 The /LOW Option
-
- This option can be used with HIGHDRVR, HIGHINST, and HIGHTSR.
-
- As noted earlier, TSR's and device drivers often require much
- more memory during installation as compared to that required
- once they are resident. This can prevent loading them into
- High-DOS memory even if there's enough for the resident image
- (but not enough for initialization).
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 43
-
-
- HIGHTSR, HIGHINST, and HIGHDRVR provide an option "/LOW" that
- can be used with some TSR's and device drivers to get around
- this problem:
-
- HIGHTSR /LOW APPEND
-
- -or-
-
- DEVICE=HIGHDRVR.SYS /LOW MYDRIVER.SYS
-
- For example, the first example above loads a TSR (APPEND.EXE)
- and initializes it in low (conventional) memory where there's
- lots of room, then copies the (smaller) resident image up into
- upper memory.
-
- ╔═════════════════════════════════════════════════╗
- ║ WARNING: The design of some software may pre- ║
- ║ vent the /LOW option from working properly. ║
- ║ Don't use it unless necessary, and then only ║
- ║ after you have tested it to be sure everything ║
- ║ works as expected. (For example, it will NOT ║
- ║ work with PRINT, SHARE, FASTOPEN, MODE, or ║
- ║ HyperDisk.) ║
- ╚═════════════════════════════════════════════════╝
-
-
- 6.3 The /RESTRICT Option
-
- This option can be used with HIGHDRVR, HIGHINST, HIGHTSR,
- HIGHUMM, HIGHEMS3, and HIGHEMS4. When used, it restricts which
- 128k regions of upper memory may be allocated for use with these
- utilities. For a detailed discussion of why these regions may
- need to be restricted and how to control the restrictions, see
- the discussion of the RESTRICT option in the detailed
- description of LASTBYTE.SYS.
-
-
- 6.4 The /!NOPAUSE Option
-
- All of the utility programs (*.EXE files) that come with The
- Last Byte Memory Manager support the command line option
- "/!NOPAUSE". This option eliminates the wait-for-keyboard pause
- after an error message is displayed. When one of these programs
- terminates with an error message, it also returns a non-zero
- errorlevel which can be tested in batch files to make automatic
- decisions about how to proceed. The /!NOPAUSE option simply
- makes use of the errorlevel more practical.
-
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 44
-
-
- 6.5 Specifying Command Line Options with Indirect Files
-
- Some of the device drivers and utility programs in The Last Byte
- Memory Manager package may require lots of options to be
- specified. To avoid lengthly command lines, these options can
- be placed in a text file if the name of that file is specified
- on the command line preceded by the '@' character. For example,
- you'd probably run out of room if all of the following options
- were required on the LASTBYTE.SYS command line:
-
- APPEND=64 DOS=B000:32 DOS=F000:32 ? 82C302
-
- As an alternative, create a corresponding text file called
- LASTBYTE.CFG (for example), and put the options into it:
-
- A000:64
- DOS=B000:32 DOS=F000:32
- ? 82C302
-
- (Carriage returns in the indirect file are treated as blanks)
-
- Then the CONFIG.SYS command line becomes simply:
-
- DEVICE=LASTBYTE.SYS @LASTBYTE.CFG
-
- In effect, options taken from the indirect file are inserted
- into the command line, so that one or more indirect file
- references may be placed among other options on the command
- line:
-
- DEVICE=LASTBYTE.SYS ? @TLB.1 A=A000:32 @C:\TLB\TLB.2
-
- Indirect files may be used on the command line of any device
- driver (.SYS files) or utility program (.EXE files) in The Last
- Byte Memory Manager package.
-
-
- 6.6 Using the DOS=F000:32 Option
-
- The 64k region starting at paragraph address F000 is the Bios
- ROM. Many computers use a Bios ROM developed by AMI or
- Phoenix. The more recent versions of these ROMs devote the
- first 32k to initialization code that is only used during the
- boot sequence, and use the second 32k for that portion that must
- remain available at all times. (This seems to be true of the
- Award Bios as well, but has not been verified.)
-
- By the time your computer gets to the point in its boot sequence
- where it is installing the device drivers (e.g., when it is
- installing LASTBYTE.SYS), the Bios initialization code is no
- longer needed. If you have one of these AMI or Phoenix Bios
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 45
-
-
- chips, you can capture another 32k of upper memory by using a
- DOS=F000:32 option on the LASTBYTE.SYS command line.
-
- Of course, whenever you press Ctrl-Alt-Del to do a warm boot,
- the ROM Bios initialization code needs to be executed again!
- And that could be a problem since you've effectively disabled it
- with the DOS=F000:32 option! Fortunately, LASTBYTE.SYS
- intercepts all keyboard input and keeps an eye out for
- Ctrl-Alt-Del. When it sees the warm boot request, it will force
- a cold boot if you've used the DOS=F000:32 option. This
- re-enables the entire 64k Bios ROM so that the initialization
- code is reactivated before the processor tries to execute it.
- Otherwise a normal warm boot is used.
-
- ╔═════════════════════════════════════════════════╗
- ║ WARNING: Some TSRs intercept keyboard interrupt ║
- ║ 9, and jump directly into a fixed location in ║
- ║ the Bios ROM where the Warm Boot code begins. ║
- ║ Unfortunately, this will bypass LASTBYTE.SYS's ║
- ║ attempt to turn the ROM back on. ║
- ╚═════════════════════════════════════════════════╝
-
-
- 6.7 Video Display RAM above 640k
-
- In general, the region A0000-BFFFF is the video display buffer
- area. Various display adapters (MDA, Hercules, CGA, EGA, and
- VGA) typically use only a small subset of this space. The Last
- Byte Memory Manager automatically senses what kind of video
- display adapter is installed and reserves the space it uses.
-
- The MDA (monochrome) adapter implements a 4k text buffer at
- B0000-B0FFF, and the CGA (color) adapter implements a 16k text
- and graphics buffer at B8000-BBFFF. The Hercules adapter uses
- the entire 64k region at B0000-BFFFF in graphics modes, although
- only the first 4k of this space (B0000-B0FFF) is used for text
- modes.
-
- The EGA and VGA adapters have a 64k graphics display buffer at
- A0000-AFFFF, and a 32k text display buffer at either B0000-B7FFF
- (when used with a monochrome display), or at B8000-BFFFF (when
- used with a color display).
-
- The following chart summarizes these regions as well as some of
- the DOS and APPEND optons you may be able to use on the
- LASTBYTE.SYS command line with these adapters. Unfortunately,
- the ROM bios on a (very) few PC's may write into locations
- outside the area reserved for a particular type of display. If
- you decide this is happening, you may need to add one or more
- EXCLUDE options to the LASTBYTE.SYS command line to disable that
- region.
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 46
-
-
-
- LASTBYTE.SYS Command Line Options for Display Adapters
-
- Adapter Reserved DOS APPEND
- ------- -------- ------- -------
- CGA B800:16 96
- MDA B000:4 64
- Hercules B000:64 B400:48 64
-
- EGA/VGA A000:64 BC00:16 96
- w/Color B800:32
- Display
-
- EGA/VGA A000:64 B400:16 64
- w/Mono B000:32
- Display
-
- VGA Bios C000:32 C600:8 (see next section)
-
- Note: Windows 3.0 may write in the region B000-BFFF.
-
- The ability to use the DOS and APPEND options depends on the
- availability of other memory in the indicated area. For further
- information, consult the appendix on "CHIPSET LIMITATIONS".
-
-
- 6.8 Video Adapter Bios ROMs
-
- MDA and CGA use the standard ROM Bios; they have no ROM of their
- own. EGA and VGA adapters, however, incorporate their own ROM
- Bios chip right on the adapter card. LASTBYTE.SYS successfully
- recognizes these ROMs, but has to treat VGA in a special manner:
-
- The VGA adapter made by IBM has a 24k ROM installed at
- C0000-C5FFF, which means that the 8k at C6000-C7FFF should be
- usable. Although almost all VGA clones have a ROM signature
- that indicates 24k, many of them use the C6000-C7FFF space for
- ROM Bios or RAM extensions that provide their "Super VGA"
- features. In particular, the Video7 and Paradise VGA's
- incorporate their own RAM from C6000-C7FFF. (This may also be
- true of other VGA boards that uses a VLSI chip manufactured by
- Chips and Technologies, Tseng Labs, Paradise, or Headland
- Technologies.) For this reason, when LASTBYTE.SYS finds
- anybody's VGA adapter, it automatically assumes that there is a
- 32k ROM at C0000-C7FFF.
-
-
-
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 47
-
-
- 6.9 LASTBYTE.SYS and Expanded Memory
-
- Expanded memory always has an associated device driver. If that
- driver is loaded before LASTBYTE.SYS in the CONFIG.SYS file (and
- if the hardware is enabled) LASTBYTE.SYS will recognize the 64k
- EMM page frame of the expanded memory and do the right thing: It
- will treat the page frame like any other adapter ram and disable
- the motherboard RAM that falls in the same address space so that
- it doesn't interfere with the page frame. For example, if the
- EMM driver is loaded first, LASTBYTE.SYS will report the 64k EMM
- page frame as "EMS Page Frame".
-
- This works fine, of course, but loading the EMM driver first
- precludes the possibility of loading it into upper memory. To
- get the EMM driver into upper memory means that it must be
- loaded after LASTBYTE.SYS, but you must be careful!
-
- If LASTBYTE.SYS is loaded first, the page frame will be
- recognized only in two cases:
-
- o The page frame used by the expanded memory
- controller built into some memory controller chips
- will be recognized and reported as "EMS Page
- Frame".
-
- o The page frame of a REAL expanded memory board is
- (if enabled) recognized and reported as "Adapter
- RAM".
-
- In either case, LASTBYTE.SYS will not use that memory space.
-
- ╔═════════════════════════════════════════════════╗
- ║ WARNING: Some EMS boards must be enabled by ║
- ║ their device driver before they respond as ║
- ║ read/write memory. This prevents LASTBYTE.SYS ║
- ║ from recognizing them, and you may need a ║
- ║ BANKSWITCH option to keep LASTBYTE.SYS from ║
- ║ using the page frame memory space. ║
- ╚═════════════════════════════════════════════════╝
-
- If you don't have an expanded memory board, but have used a
- device driver (like EMM386) that EMULATES expanded memory using
- extended memory, then LASTBYTE.SYS will not know about the page
- frame unless the emulator is loaded first. If LASTBYTE.SYS is
- loaded first, then you must use a "EXCLUDE=" (not
- "BANKSWITCH="!) command line option of LASTBYTE.SYS to reserve a
- 64k region where the emulated page frame can be placed. For
- EMM386, the page frame must be positioned at C000, C400, C800,
- CC00, D000, D400, D800, DC00, or E000.
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 48
-
-
- 6.10 Fine-Tuning your Adapter Hardware Configuration
-
- Many adapter cards occupy some portion of the upper address
- space. Some of these cards, such as SCSI Disk Controllers,
- often have DIP switches or jumpers that can be used to set the
- address space they occupy to one of a few alternatives.
-
- If the memory map displayed by HIGHMEM is fragmented because one
- of these adapters sits between two "....DOS Free" areas, you may
- want to try to reposition the address space occupied by that
- adapter by modifying the DIP switch or jumper settings on the
- card.
-
- Having one large free memory block is better than two smaller
- ones because TSR's and device drivers almost always require more
- memory during initialization than once installed. In other
- words, neither of the two smaller blocks may be large enough for
- the installation, but might if they were combined.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 49
-
-
- CHAPTER 7 - USE WITH OTHER SOFTWARE
-
-
- 7.1 Microsoft's FASTOPEN and MODE programs
-
- The FASTOPEN and MODE programs that come with MS-DOS are TSR's
- and as such may be loaded into upper memory with either HIGHTSR
- or HIGHINST. Once installed, each requires very little memory,
- something on the order of 10k or less. However, neither will
- install unless a lot of memory is available - approximately
- 50-90k. (The actual requirement depends partly on command line
- options; you can determine the requirement using the /SIZE
- option of HIGHTSR or HIGHINST.)
-
- ╔═════════════════════════════════════════════════╗
- ║ WARNING: Do NOT use the /LOW option of HIGHTSR ║
- ║ or HIGHINST with FASTOPEN or MODE - it won't ║
- ║ work and could damage data on your disk! ║
- ╚═════════════════════════════════════════════════╝
-
- The worst part is that if FASTOPEN fails to install itself
- successfully, it doesn't issue any error message - it simply
- doesn't display the normal "FASTOPEN installed" sign-on
- message. Moral: Let FASTOPEN and MODE be the first TSR's that
- are installed into High Memory in your AUTOEXEC.BAT file so that
- they get access to the maximum amount of memory.
-
- The second hassle with these two TSR's is that they cannot be
- removed by using HIGHMARK and HIGHUNDO. Evidently they modify
- memory other than that tracked by HIGHMARK (the interrupt vector
- table and that memory allocated to them).
-
-
- 7.2 Microsoft's SHARE program
-
- MS-DOS 4 installs the SHARE program automatically if you have a
- hard disk which is greater than 32 MB in a single partition. It
- does this without asking because it is otherwise possible to
- corrupt the data on the disk when running programs that use the
- old File Control Block (FCB) approach to access files.
-
- Unfortunately, some internal parts of MS-DOS 4.0 also still use
- FCB's! So don't try to prevent SHARE from being loaded by
- removing it from your system! If MS-DOS can't find it, you'll
- get a warning message during the boot saying that "SHARE should
- be loaded for large media". You could load it during
- AUTOEXEC.BAT processing, but you'll still get the warning
- because the check occurs during CONFIG.SYS processing.
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 50
-
-
- ╔═════════════════════════════════════════════════╗
- ║ NOTE: Version 5 of MS-DOS has corrected this ║
- ║ problem and no longer loads SHARE automatically ║
- ║ regardless of the size of your hard disk. ║
- ╚═════════════════════════════════════════════════╝
-
- So how can you load this TSR into upper memory without getting
- the warning? MS-DOS recently introduced the "INSTALL="
- directive that allows TSR's to be installed during CONFIG.SYS
- processing. Programs that Microsoft suggests be loaded in this
- manner include FASTOPEN, KEYB, NLSFUNC, and SHARE. For example:
-
- INSTALL=C:\DOS\SHARE.EXE
-
- The above command, however, causes SHARE to be loaded down in
- conventional memory. to get it into upper memory, use:
-
- INSTALL=HIGHINST.EXE C:\DOS\SHARE.EXE
-
- ╔═════════════════════════════════════════════════╗
- ║ WARNING: Do NOT use the /LOW option of HIGHINST ║
- ║ with SHARE - it won't work and could damage ║
- ║ data on your disk! ║
- ╚═════════════════════════════════════════════════╝
-
-
- 7.3 Microsoft's MS-DOS 5.0
-
- With the introduction of MS-DOS 5.0, Microsoft has added
- extensive support for loading software into high memory. This
- includes not only device drivers and TSRs, but also the MS-DOS
- disk buffers, the master environment, and most of the operating
- system itself.
-
- This capability requires the use of an Upper Memory Block (UMB)
- server such as Key Software Products' HIGHUMM.SYS. Although the
- MS-DOS 5.0 version of EMM386 has been modified to provide such
- support, there are several disadvantages to using it instead of
- The Last Byte Memory Manager to load software high:
-
- o EMM386 requires a 386 or better processor.
- (HIGHUMM does not.)
-
- o EMM386 requires that HIMEM.SYS be loaded first.
- (HIGHUMM does not. However, HIMEM is also needed
- to load the operating system itself into extended
- memory; The Last Byte Memory Manager allows you to
- load HIMEM into upper memory using HIGHDRVR.)
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 51
-
-
- o Using HIMEM and EMM386 as the basis of UMB support
- requires that both be loaded into conventional
- memory, where they use approximately 10k bytes.
-
- o EMM386 puts the processor into protected mode,
- adding an instruction execution time penalty of
- about 5%.
-
- There are two basic approaches that you can take to load
- software into upper memory using MS-DOS 5.0 and The Last Byte
- Memory Manager. The first of these is to install HIGHUMM and
- use the 'DEVICEHIGH' and 'LOADHIGH' commands introduced in
- MS-DOS 5.0; the other is to use HIGHDRVR and HIGHTSR
- (HIGHINST).
-
- We recommend the latter approach because HIGHDRVR and HIGHTSR
- provide a richer set of options for controlling the load high
- process.
-
-
- 7.3.1 Using DEVICEHIGH and LOADHIGH
-
- To use this approach, your CONFIG.SYS file should contain the
- following lines:
-
- DOS=HIGH,UMB
- DEVICE=LASTBYTE.SYS {and any options}
- DEVICE=HIGHDRVR.SYS C:\DOS\HIMEM.SYS
- DEVICE=HIGHUMM.SYS {and any options}
-
- Then you can use the MS-DOS 5.0 DEVICEHIGH command in additional
- lines of your CONFIG.SYS file to load your other device drivers
- into upper memory, as in:
-
- DEVICEHIGH={device driver to be loaded high}
- DEVICEHIGH={device driver to be loaded high}
- . . .
- DEVICEHIGH={device driver to be loaded high}
-
- With this CONFIG.SYS file, your AUTOEXEC.BAT file may load TSRs
- high using the MS-DOS 5.0 LOADHIGH command as in:
-
- LOADHIGH C:\DOS\PRINT
-
-
- 7.3.2 Using HIGHDRVR and HIGHTSR
-
- The second approach is to use the HIGHDRVR and HIGHTSR utilities
- of The Last Byte Memory Manager in the normal manner. To use
- this approach, your CONFIG.SYS file should contain the following
- lines:
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 52
-
-
-
- DOS=HIGH
- DEVICE=LASTBYTE.SYS {and any options}
- DEVICE=HIGHDRVR.SYS C:\DOS\HIMEM.SYS
-
- Then you can use HIGHDRVR in additional lines of your CONFIG.SYS
- file to load your other device drivers into upper memory, as in:
-
- DEVICE=HIGHDRVR.SYS {device driver to be loaded high}
- DEVICE=HIGHDRVR.SYS {device driver to be loaded high}
- . . .
- DEVICE=HIGHDRVR.SYS {device driver to be loaded high}
-
- With this CONFIG.SYS file, your AUTOEXEC.BAT file should load
- TSRs high using HIGHTSR as in:
-
- HIGHTSR C:\DOS\PRINT
-
-
- 7.4 Microsoft's Windows 3.0
-
- In general, The Last Byte Memory Manager has a high degree of
- compatibility with Windows 3.0. If you are having trouble
- running Windows, first be sure that your system is properly
- configured so that it runs without The Last Byte Memory Manager
- installed. If you have isolated the problem to their
- combination, then perhaps the following information will help to
- correct the problem:
-
-
- 7.4.1 Modifying the Windows SYSTEM.INI File
-
- With Windows 3.0 running in 386 enhanced mode, LASTBYTE.SYS and
- Windows will both try to use the upper memory area, thus
- creating a conflict. To avoid the conflict, you must ask
- Windows to not use this region. This can be done with a few
- configuration options in the [386Enh] section of the Windows
- SYSTEM.INI file:
-
- EMMExclude=A000-FFFF
- HighFloppyReads=no
- DualDisplay=yes
- SystemROMBreakPoint=no
-
- If you have used the "EXCLUDE" option of LASTBYTE.SYS to disable
- any region of the upper memory, then Windows may be told it is
- ok to use that area. For example, if LASTBYTE.SYS is loaded
- using the line:
-
- DEVICE=LASTBYTE.SYS EXCLUDE=D000:64
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 53
-
-
- then you may use the following configuration option (in addition
- to the EMMExclude option above) in your SYSTEM.INI file:
-
- EMMInclude=D000-DFFF
-
- The EMMInclude option will take precedence over the EMMExclude
- option when the two overlap, as above.
-
-
- 7.4.2 Positioning an EMS Page Frame
-
- If you are using the Real or Standard modes of Windows, you may
- have installed an EMS device driver for those applications that
- need expanded memory. In an attempt to reduce fragmentation of
- upper memory, it is useful to position the EMS Page Frame either
- at the bottom or top of an otherwise empty region of upper
- memory. However, if you have used the DOS=F000:32 option to
- gain another 32k of DOS memory, don't position your EMS Page
- Frame at E800 - Windows will not run with it any higher than
- E000.
-
- The Enhanced 386 mode of Windows will automatically emulate
- expanded memory for those applications that require it.
- Unfortunately, Windows ignores the EMMExclude option and
- positions the EMS page frame in upper memory. If the same 64k
- area is used by The Last Byte Memory Manager for something else,
- your system may hang. To correct the problem, add an
- "EMSPageFrame=nnnn" option in your SYSTEM.INI file to tell
- Windows where to put the page frame, combined with an
- "EXCLUDE=nnnn:64" option on the LASTBYTE.SYS command line to
- keep it from using this area.
-
-
- 7.4.3 "Unsupported Data Configuration"
-
- The 386 Enhanced mode of Windows 3.0 has a restriction that it
- cannot run when certain types of software have been loaded
- high. When this happens, Windows will terminate and display the
- error message, "Unsupported Data Configuration". This only
- happens in 386 Enhanced mode, and is not related in particular
- to use of The Last Byte Memory Manager.
-
- Device drivers that are known to load high without this problem
- include HIMEM.SYS, MOUSE.SYS, SETVER.SYS, ANSI.SYS, and all the
- Key Software Products device drivers. A device driver and a TSR
- known to cause this problem are EGA.SYS and DOSKEY.COM. If you
- are experiencing this error message, you can either run Windows
- in another mode, or try modifying your CONFIG.SYS and
- AUTOEXEC.BAT files to locate and remove the offending software.
-
- Microsoft is removing this restriction in version 3.1 of
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 54
-
-
- Windows.
-
-
- 7.4.4 HIGHMEM and Windows 386 Enhanced Mode
-
- MS-DOS applications run from inside Windows 3.0 are given their
- own "virtual" address space of 640k. Windows tells the
- processor to map memory references in this space to the
- particular 640k of physical memory which has been allocated to
- the application. References outside this range are considered
- invalid and thus return garbage. Since HIGHMEM is a program
- that inspects upper memory between 640k and 1 meg, there's no
- way it can execute properly in this context. HIGHMEM will
- behave normally outside of Windows.
-
-
- 7.4.5 HIGHDISK and Windows 386 Enhanced Mode
-
- HIGHDISK.SYS also uses memory in the 640k to 1 meg range and so
- is susceptible to the same problems that HIGHMEM experiences as
- discussed above. Outside of Windows, and in any mode other than
- 386 Enhanced Mode, HIGHDISK will behave normally.
-
-
- 7.5 HyperWare's HyperDisk
-
- HyperDisk is a shareware disk caching utility. It's too large
- to load high with HIGHDRVR or HIGHTSR under the 32K limit
- imposed by the unlicensed evaluation version of The Last Byte
- Memory Manager. However, if your computer uses a Chips and
- Technologies NEAT or 386/AT chipset, you can work around this
- limitation by using HyperDisk's "XS" option to load itself into
- the 48k block starting at E400. Be sure to exclude this area by
- using the following option on the LASTBYTE.SYS command line:
-
- DEVICE=LASTBYTE.SYS EXC=E400:48
-
- If you have a licensed version of The Last Byte Memory Manager,
- or if you don't have one of the Chips and Technologies chipsets
- mentioned above, then a better approach is to use either
- HIGHDRVR or HIGHTSR (as appropriate) to load HyperDisk high
- (without HyperDisk's "XS" option). This method guarantees that
- the minimum amount of upper memory will be used.
-
-
-
-
-
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 55
-
-
- HyperDisk can be downloaded from HyperWare's BBS at (615)
- 864-6871, or obtained directly from:
-
- HyperWare
- RR#1, Box 91
- Pall Mall, TN 38577
- Voice: (615) 864-6868
- FAX: (615) 864-6870
-
-
- 7.6 J.P. Software's 4DOS
-
- 4DOS is a shareware replacement for COMMAND.COM. HIGHUMM.SYS
- may be used to move the 4DOS command processor and its master
- environment into "Upper Memory Blocks" (UMB's) in the upper
- memory area, thus reducing the amount of conventional memory
- below 640k used by 4DOS from 3.4k bytes to 256 bytes.
-
- First you must install HIGHUMM.SYS as described earlier in this
- manual. Then add a "SHELL=" line to CONFIG.SYS for 4DOS,
- including the options "/U" (to place the command processor in an
- UMB) and "/E:512U" (to place the master environment in an UMB).
- The value "512" is of course only an example - other environment
- sizes may be specified. You may also want to specify these
- options for secondary shells in the 4DSHELL environment
- variable. Consult the 4DOS documentation for further details.
-
- 4DOS may be downloaded from Channel 1 BBS at (617) 354-8873, or
- obtained directly from:
-
- J.P. Software CompuServe: 75300,210
- P.O. Box 1470 BIX: "trawson"
- E. Arlington, MA 02174 Internet, Bitnet, etc:
- Voice: (617) 646-3975 75300.210@compuserve.com
- Fax: (617) 646-0904
-
-
- 7.7 David Hamilton's BUFFIT
-
- There's a very nice shareware scroll-back TSR called BUFFIT that
- saves lines of text that have been scrolled off the top of the
- screen and allows you to pull them back down for review. One of
- the advantages of version 3.0 and later of BUFFIT is that it
- will load itself entirely into a UMB provided by HIGHUMM.SYS,
- thus using no conventional memory at all.
-
- To install BUFFIT into upper memory, first you must install the
- HIGHUMM.SYS device driver by inserting the following lines in
- your CONFIG.SYS file:
-
- DEVICE=LASTBYTE.SYS {and any LASTBYTE options}
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 56
-
-
- DEVICE=HIGHUMM.SYS
-
- Then all you have to do is reboot your computer and run BUFFIT
- from the command line, or else add it to your AUTOEXEC.BAT
- file.
-
- BUFFIT is available from a number of BBS's, usually under the
- filename BUFFIT30.ZIP.
-
-
- 7.8 Charles Lazo's WAS
-
- On a computer with no expanded memory, you might want to use
- HIGHEMS3 to provide some Expanded Memory for Charles Lazo's
- scroll-back TSR, WAS.COM. This utility saves lines of text that
- have been scrolled off the top of the screen and allows you to
- pull them back down for review. WAS is available from a number
- of BBS's, usually under the filename WAS062.ZIP.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 57
-
-
- APPENDIX 1 - HOW TO REACH US
-
-
- The KSP telephone (415-364-9847) is shared by our BBS and our
- voice mail answering system. Approximate hours of operation
- are:
-
- Voice mail system: 8am - 5pm PST (weekdays)
-
- BBS system: 5pm - 8am PST (24 hrs on weekends)
-
- BBS Parameters: 1200/2400/9600 baud (v.32, v.42bis)
- 8 data bits, No Parity
-
- If your call is answered by the voice mail system, it can take a
- message that will be automatically forwarded to someone who can
- return your call as soon as possible. In addition, it offers a
- touch-tone driven menu of useful information about our product.
-
- If you have access to electronic mail, you can send us a message
- via any of the following:
-
- On BITNET, send mail to: DLEWIS@SCU.BITNET
-
- On COMPUSERVE, send mail to: >Internet:DLEWIS@SCUACC.SCU.EDU
-
- On CONNECT, send mail to: CONNECT id "DASNET"
-
- 1st line of message: \"DLEWIS@SCUACC.SCU.EDU\"@DASNET
-
- On FIDONET, send mail to: UUCP
-
- 1st line of message: To: DLEWIS@SCUACC.SCU.EDU
-
- On INTERNET, send mail to: DLEWIS@SCUACC.SCU.EDU
-
- On MCI,
-
- At the "To:" prompt enter: DLEWIS (EMS)
- At the "EMS:" prompt enter: Internet
- At the "Mbx:" prompt enter: DLEWIS@SCUACC.SCU.EDU
-
- On PRODIGY, send mail to: VGDC59A
-
- On TELENET's Telemail Service:
-
- Send to: [INTERMAIL/USCISI]TELEMAIL/USA
- 1st line of message: Forward: ARPA
- 2nd line of message: To: DLEWIS@SCUACC.SCU.EDU
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 58
-
-
- APPENDIX 2 - ACKNOWLEDGEMENTS
-
-
- The Last Byte Memory Manager wouldn't exist without all the
- companies that manufacture the shadow ram memory controller
- chips, and who have provided techinical information on how to
- program their configuration registers. If you know of a memory
- controller chip we haven't included, please let us know and we
- will try to add it.
-
- The Last Byte Memory Manager consists of almost a megabyte of
- source code, written mostly in C with a sprinkling of assembly
- language, and compiled using version 3.1 of the DeSmet/C-Ware C
- compiler. We are grateful for the simplicity, flexibility, and
- speed of this compiler, as well as the generous support provided
- by Joel and Susan Farley of C-Ware Corporation.
-
- The Last Byte Memory Manager could not have been created without
- the gracious support of many people. We wish to thank the
- following individuals who helped to test beta versions or
- offered useful suggestions for new features: Ron Cohen, J.B.
- Compton, David Durgee, Mike Hagerty, Scott Jordahl, Alan
- Lambert, Rob Nee, Kevin Parris, Dan Proctor, Graham Robertson,
- Ken Sanquist, Tony Sheehan, Peter Summers, Steve Hodsdon,
- Anthony Cox, My Phung, Martin Beckmann, and Prof. Timo Salmi (of
- the University of Vaasa, Finland).
-
- Thank's also go to Tom Rawson of J. P. Software for providing a
- copy of 4DOS, to Sue Nageotte of Digital Research for providing
- a copy of DR DOS, and to Pat Gelsinger of Intel Corporation for
- lending his intimate knowledge of the 80x86 instruction sets.
- And finally, a special thanks to Serge Caron and Roger Cross for
- their suggestions, technical advice, patience, and friendship.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 59
-
-
- APPENDIX 3 - CHIPSET LIMITATIONS
-
-
- Some of the features offered by The Last Byte Memory Manager are
- dependent on the presence of a shadow ram memory controller
- chip, what memory it controls, and the organization of that
- memory into regions. Shown below is a summary of RAM and ROM
- regions controlled by each of the memory controller chips that
- we support. Each entry indicates the starting segment address
- of memory, followed by an indication of the organization of that
- memory into regions.
-
- Part No. Ram Range RAM Regions ROM Regions
- -------- --------- ---------- -----------
- 82C212 A000-FFFF A000:24x16k C000:4x64k
- 82C222 A000-FFFF A000:24x16k C000:4x64k
- 82C230 A000-FFFF A000:24x16k C000:4x64k
- 82C235 A000-FFFF A000:24x16k C000:8x32k
- 82C241 A000-FFFF A000:24x16k C000:4x64k
- 82C281 C000-EFFF C000:12x16k C000:3x64k
- 82C282 C000-EFFF C000:12x16k C000:3x64k
- 82C283 C000-EFFF C000:12x16k C000:3x64k
- 82C302 A000-FFFF A000:24x16k C000:4x64k
- 82C302C A000-FFFF A000:24x16k C000:4x64k
- 82C307 A000-FFFF A000:24x16k C000:4x64k
- 82C311 A000-FFFF A000:24x16k C000:4x64k
- 82C322 A000-FFFF A000:16x16k,1x128k C000:2x64k,1x128k
- 82C351 A000-FFFF A000:24x16k C000:4x64k
- 82343 C000-EFFF C000:12x16k n/a
- 82346 C000-EFFF C000:12x16k n/a
- 82359 A000-FFFF A000:24x16k n/a
- 82C382 C000-EFFF C000:12x16k C000:3x64k
- 82C391 C000-EFFF C000:12x16k C000:3x64k
- 82C461 C000-EFFF C000:12x16k C000:3x64k
- 82C482 C000-EFFF C000:12x16k C000:3x64k
- 82C491 C000-EFFF C000:12x16k C000:3x64k
- 82C493 C000-EFFF C000:12x16k C000:3x64k
- 82C496 C000-EFFF C000:12x16k C000:3x64k
- 82C682 C000-FFFF C000:8x16k,2x64k n/a
- 82C812 A000-FFFF A000:24x16k C000:4x64k
- 82C836 A000-FFFF A000:24x16k C000:8x32k
- 82C841 A000-FFFF A000:24x16k C000:4x64k
- FRX36C300 C000-FFFF C000:6x32k,1x64k n/a
- SL82C361 C000-FFFF C000:8x16k,2x64k C000:8x16k,2x64k
- SL82C461 C000-FFFF C000:8x16k,2x64k C000:8x16k,2x64k
- ST62C202 E000-FFFF E000:4x32k n/a
- ST62C241 E000-FFFF E000:4x32k n/a
- ST62C251 E000-FFFF E000:4x32k n/a
- TACT82411 A000-FFFF A000:24x16k C000:4x64k
- TACT82S411 A000-FFFF A000:24x16k C000:4x64k
- UM82C212 A000-FFFF A000:24x16k C000:4x64k
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 60
-
-
- UM82C481 C000-FFFF C000:8x16k,2x64k C000:8x16k,2x64k
- VL82C202 A000-FFFF A000:6x64k n/a
- VL82C320 C000-EFFF C000:12x16k n/a
- VL82C330 C000-EFFF C000:12x16k n/a
- VL82C486 A000-FFFF A000:24x16k n/a
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 61
-
-
- APPENDIX 4 - LICENSED DISTRIBUTORS
-
-
- You can order directly from Key Software Products or any of the
- licensed distributors listed below. Those which can accept
- credit card orders are noted. If you order by credit card, you
- must indicate the type of card, the card number, your name
- exactly as printed on the card, and the card expiration date.
-
- Information in this list is subject to change without notice.
- Foreign exchange rates vary and thus affect overseas pricing, so
- it is a good idea to check with the distributor before
- ordering.
-
- Distributors are for ordering only. For additional information
- about dealer pricing, volume discounts, site licensing, shipping
- of product, returns, latest version number or other technical
- information, call or write Key Software Products directly.
-
- Most distributors can provide the access key directly. The
- Public (software) Library, however, accepts your telephone
- order, and then forwards an E-Mail message to Key Software
- Products. Delivery of this message may take one or two days. We
- will contact you and provide the access key upon receipt of this
- purchase confirmation.
-
- Companies interested in obtaining 10 or more copies of The Last
- Byte Memory Manager with discounted pricing should have an
- officer of the company (such as the president, a vice president,
- director, etc.) complete the Site License Order Form and send it
- directly to Key Software Products, British Software Licensing in
- the United Kingdom, or to Eurocom Shareware in Holland. No
- other distributor will process a Site License request.
-
-
- KEY SOFTWARE PRODUCTS Phone: (415) 364-9847
- 440 Ninth Avenue Price: US $29.95 + Tax (CA)
- Menlo Park, CA 94025 Method: Check
-
-
- The Public (software) Library Phone: (800) 242-4775, or
- P.O. Box 35705 (713) 524-6394
- Houston, Texas 77235-5705 FAX: (713) 524-6398
- CompuServe: 71355,470
- Price: US $29.95 + Tax (TX)
- Method: MC, Visa, AmEx,
- Discover Card
-
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 62
-
-
- HYPERWARE (makes HyperDisk) Phone: (615) 864-6868
- RR#1, Box 91 FAX: (615) 864-6870
- Pall Mall, TN 38577 CompuServe: 72230,2321
- Price: US $29.95 + Tax (TN)
- Method: Master Card, Visa
-
-
- EUROCOM SHAREWARE Contact: Mr. Gary van Beeck
- Zwedenburg 119 Phone: (+31.70) 347-3777
- NL-2591 BD The Hague FAX: (+31.70) 347-7356
- HOLLAND Price: Hfl 74.-- (guilders only)
- Method: By Eurocheque, or
- Postbank (Giro): 188423
- payable to: G. van Beeck
-
-
- BRITISH SOFTWARE LICENSING Contact: Mr. Graham Robertson
- 280 (T/L) West Princes Street Phone: (44.41) 339-8855 x5021
- Glasgow G4 9EU (44.41) 339-7264 (msg)
- UNITED KINGDOM Price: 21 pounds
- Method: Access, Visa, MC, Eurocard
-
- Internet E-Mail: Graham_Robertson@vme.glasgow.ac.uk
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-
- Apr 12, 1992 THE LAST BYTE MEMORY MANAGER (tm) 63
-
-
- APPENDIX 5 - LIMITED WARRANTY
-
-
- This software is provided 'as is' without warranty of any kind,
- either expressed or implied, including, but not limited to the
- implied warranties of merchantability and fitness for a
- particular purpose. The entire risk as to the quality and
- performance of the program is with you.
-
- Some states do not allow the exclusion of implied warranties, so
- the above exclusions may not apply to you. This warranty gives
- you specific legal rights and you may also have other rights
- which vary from state to state.
-
- Key Software Products has taken due care in preparing the
- documentation and software included in The Last Byte Memory
- Manager to ascertain their correctness and effectiveness.
- However, Key Software Products does not warrant that operation
- of this software will be uninterrupted or error free. In no
- event shall Key Software Products be liable for incidental or
- consequential damages in connection with or arising out of the
- furnishing, performance, or use of this software.
-
-
- LICENSE
-
- You MAY use this software on any computer or computers in your
- possesion, but on no more than one computer at any given time.
-
- You MAY copy this software into any machine readable or printed
- form for backup or modification purposes in support of your use
- of the software.
-
- You MAY distribute the original unmodified, unlicensed version
- of this software, but you may not charge a fee exceeding $5.00
- to cover the cost of duplicating, shipping, and handling. You
- may NOT distribute a licensed version of this software.
-
- You may NOT use, copy, modify, sublicense, assign or transfer
- this software and its license, or any copy or modification, in
- whole or in part, except as expressly provided for in this
- license.
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright (C) 1990-92, Key Software Products. All Rights Reserved
-
-