home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-10-24 | 63.6 KB | 1,442 lines |
-
-
-
-
-
-
-
-
-
-
- THE LAST BYTE (tm)
-
-
- A DOS Memory Manager for Chips & Technologies Motherboards
-
-
-
-
- Version 1.14
-
- Revised: October 24, 1990
-
-
-
-
-
- Copyright (C) 1990
- All Rights Reserved
-
-
-
-
- by
-
-
- KEY SOFTWARE PRODUCTS
- 440 Ninth Avenue
- Menlo Park, California 94025
- (415) 364-9847
-
-
-
-
-
-
-
-
-
-
-
-
-
- Prodigy E-Mail Address: VGDC59A
- E-Mail on Internet, Bitnet, etc: DLEWIS@SCU.BITNET
- CompuServe E-Mail Address: >Internet:DLEWIS@SCU.BITNET
-
-
-
-
-
-
-
- Oct 24, 1990 The LAST BYTE (tm) 1
-
-
- _1_.__I_n_t_r_o_d_u_c_t_i_o_n________
-
- LASTBYTE is a collection of software that can make up to 384k
- more memory available to your 286, 386, or 386SX machine by
- taking advantage of those motherboards that use one of the
- following memory controller chips manufactured by Chips and
- Technologies:
-
- 82C302 - Used with 386 Systems without a Cache
- 82C307 - Used with 386 Systems with a Cache
- 82C212 - Part of the NEAT Chipset for 286 and 386
- 82C812 - Part of the NEAT Chipset for 386SX
-
- LASTBYTE does this by using the 384k of high memory (in the
- 640k-1MB range) that is on your motherboard but which is
- normally only used for Shadow RAM.
-
- With LASTBYTE, this memory can also be used for TSR's, TSR
- markers (to facilitate TSR removal), device drivers, DOS
- Buffers, RAM disks, and Emulated Expanded Memory rather than
- loading all of these into conventional memory (0-640k) where
- they use precious DOS memory space needed by your application
- programs. If you don't have an EGA or VGA, or if you don't use
- graphics, then conventional memory (available to application
- programs) can be extended from 640k to as much as 736k.
-
- Other system requirements: DOS 3.0 or higher, 1M or more of
- (physical) memory.
-
- Important Differences
-
- LASTBYTE has five significant advantages over other DOS Memory
- Managers:
-
- o LASTBYTE doesn't require a 386. Most other DOS
- memory managers won't work on 286 systems. The
- only hardware required by LASTBYTE is the Chips and
- Technology chipset and 1MB of hardware.
-
- o LASTBYTE doesn't use any 386 protected mode
- software. This means that unlike some other DOS
- memory managers, LASTBYTE works well with Microsoft
- Windows/386 and Windows 3.0.
-
- o LASTBYTE doesn't require any extended memory (above
- 1MB). Other DOS memory managers depend on the 386
- processor's ability to remap physical memory from
- above 1MB into high memory, but of course that
- memory is no longer available as extended memory.
- LASTBYTE uses the memory you already have sitting
- between 640k and 1Meg.
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- Oct 24, 1990 The LAST BYTE (tm) 2
-
-
- o LASTBYTE, unlike all other DOS memory managers, can
- use the high memory addresses that coincide with
- the Display Buffer, Bios ROM or any adapter that
- you have installed. LASTBYTE uses a
- "Bank-Switching" technique to use this memory as a
- Ram Disk, as Expanded Memory, and to hold TSR
- "markers" to facilitate TSR removal. This gives
- LASTBYTE the unique ability to use *ALL* 384k of
- high memory!
-
- o LASTBYTE does not slow down the performance of your
- computer, both because it does not incur the
- instruction execution inherent in 386 protected
- mode, and because it uses regular (full-speed)
- memory. (Some memory managers use the actual
- EGA/VGA graphics buffer as DOS memory, but the
- display buffer memory of some EGA/VGA adapter cards
- can be as much as six times slower than regular
- memory.)
-
-
- _2_.__I_n_s_t_a_l_l_a_t_i_o_n________
-
- You should first install LASTBYTE on a floppy to verify that you
- can boot and operate your PC reliably with LASTBYTE installed:
-
- Step 1: Use the FORMAT command with the /S option to
- prepare a bootable floppy disk.
-
- Step 2: Copy all (it's easier) of the LASTBYTE files
- onto the diskette. (Actually, all you need
- are LASTBYTE.SYS, HIGHDRVR.SYS, HIGHTSR.EXE,
- HIGHMEM.EXE, HIGHMARK.EXE, HIGHUNDO.EXE,
- CLOCK.EXE, COLS.40, and COLS.80.)
-
- Step 3: Copy the DOS device driver file ANSI.SYS onto
- the diskette.
-
- Step 4: Create a CONFIG.SYS file on the floppy that
- contains the lines:
-
- DEVICE=LASTBYTE.SYS ?
- DEVICE=HIGHDRVR.SYS ANSI.SYS
-
- The "?" in the first line is intentional - it
- directs LASTBYTE to display what it finds in
- the high memory address space.
-
-
-
-
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- Oct 24, 1990 The LAST BYTE (tm) 3
-
-
-
- Step 5: Create an AUTOEXEC.BAT file on the floppy that
- contains the lines:
-
- HIGHMARK
- HIGHTSR CLOCK
-
- Step 6: Boot from the floppy. (Note: NEAT chipsets on
- 286 and 386sx motherboards with only 1 Meg of
- physical memory provide a setup option to use
- the 384k as Extended Memory by relocating it
- just above the 1 Meg boundary. This option
- is incompatible with LASTBYTE and must be
- disabled in the CMOS Setup Configuration
- Menu.)
-
-
- If everything goes ok, you'll see a sign-on box that looks
- something like the following:
-
- ╔═══════════════════════════════════════════════════════════════════╗
- ║ The Last Byte v1.14f - Licensed for EVALUATION ONLY ║
- ║ Copyright (C) 1990, Key Software Products, All Rights Reserved ║
- ╟───────────────────────────────────────────────────────────────────╢
- ║ Memory locations A0000-BFFFF (128k) are VGA Display RAM. ║
- ║ Memory locations C0000-C7FFF ( 32k) are ROM Bios Code. ║
- ║ Memory locations C8000-CB7FF ( 14k) are Adapter Rom. ║
- ║ Memory locations CB800-CBFFF ( 2k) are Adapter Ram. ║
- ║ Memory locations F0000-FFFFF ( 64k) are ROM Bios Code. ║
- ╟───────────────────────────────────────────────────────────────────╢
- ║ Conventional High-DOS Bank-Switch Shadow-Ram Excluded ║
- ║ 640k 32k 32k 96k 224k ║
- ╚═══════════════════════════════════════════════════════════════════╝
-
- If your PC stops before displaying the entire box shown above,
- or if it fails to operate properly after booting, this is
- because LASTBYTE failed to identify one of your installed
- adapters that uses some portion of the high-memory address
- space. If this happens, you'll probably need to use the
- "EXCLUDE=" command line option (discussed below) to manually
- disable the corresponding region(s) where conflict occurs. To
- temporarily get around this problem, you can manually abort all
- LASTBYTE device drivers and TSR's by simultaneously holding down
- the <left shift>, <alt>, and <ctrl> keys during the boot
- sequence.
-
- After AUTOEXEC.BAT is finished, you'll see the current time
- displayed in inverse video in the upper left-hand corner of your
- screen. This verifies that HIGHTSR has succesfully loaded the
- CLOCK.EXE into high memory. You can verify that ANSI.SYS is
- installed and operating by using the commands:
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- Oct 24, 1990 The LAST BYTE (tm) 4
-
-
-
- TYPE COLS.40
-
- {switches display to 25 rows by 40 columns}, or
-
- TYPE COLS.80
-
- {switches display to 25 rows by 80 columns}.
-
- (These commands will display garbage on the screen if ANSI.SYS
- has not been installed.)
-
- Now run HIGHMEM to get a map of high memory. Depending on what
- adapter cards you have installed, HIGHMEM's output should look
- something like this:
-
- HIGHMEM v1.14e (C) Key Software Products 1990. All Rights Reserved.
-
- MCB Address Range Description High-DOS Bnk-Swtch Total Mark
- ──── ───────────── ──────────────── ──────── ───────── ─────── ────
- C400 ┌ A0000-C3FFF <Wrap Block>
- C402 ├─ A0000-A7FFF VGA Display Ram [ 32,768] 32,768
- C404 ├─ A8000-BFFFF VGA Display Ram 98,304
- C406 └─ C0000-C3FFF Shadow Ram 16,384 16,384
- C408 C4090-C467F LASTBYTE.SYS 1,520 1,520
- C468 C4690-C46CF CLOCK.EXE [Env] 64 64
- C46D C46E0-C488F CLOCK.EXE 432 432
- C489 C48A0-C7FDF ....DOS Free [ 14,144] 14,144
- C7FE ┌ C8000-CBFFF <Wrap Block>
- CC00 ├─ C8000-C97FF Adapter Rom 6,144
- CC02 ├─ C9800-C9FFF Adapter Ram 2,048
- CC04 └─ CA000-CBFFF DOS Unusable 8,192
- CC06 CC070-CD1EF ANSI.SYS 4,480 4,480
- CD1F CD200-CFF9F ....DOS Free [ 11,680] 11,680
- CFFE ┌ D0000-FFFFF <Wrap Block>
- CFFA ├─ D0000-EFFFF Excluded Block 131,072
- CFFC └─ F0000-FFFFF Shadow Ram 65,536 65,536
- ─────── ─────── ───────
- High Memory In Use: 6,496 81,920 334,176
- [Free High Memory]: 25,824 32,768 58,592
- MCB Overhead: 192 256 448
- ─────── ─────── ───────
- Total High Memory: 32,512 114,944 393,216
-
-
- Paging the output of HIGHMEM
-
- You may use the "/Page" (or simply "/P") option of
- HIGHMEM to force the output to pause after each screen
- full.
-
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- Oct 24, 1990 The LAST BYTE (tm) 5
-
-
-
- This listing is for a PC that has an EGA display adapter and a
- SCSI hard disk adapter. The "Shadow Ram" at C0000-C3FFF is the
- EGA Bios and the "Adapter Rom" and "Adapter Ram" are on the SCSI
- adapter card. The "DOS Unusable" region exists because of the
- 16k resolution of the Chips and Technologies memory controller.
- On a more typical machine (without a SCSI hard disk), the entire
- 16k region from C8000-CBFFF would be available for device
- drivers and TSR's.
-
- The column labelled "Bnk-Swtch" shows which entries can be used
- as Bank-Switch memory for Ramdisk, emulated EMS memory, or TSR
- markers.
-
- Numbers enclosed in brackets (e.g., "[ 14,144]") refer to memory
- that is available for use. Once you have licensed your copy of
- LASTBYTE, the "Excluded Block" shown above would be added to the
- free High-DOS memory pool, and the second entry labelled "EGA
- Display Ram" would be added to the free Bank-Switch memory
- pool. That means a total of approximately 160k of memory
- available for device drivers and TSR's and another 128k for Ram
- Disks, TSR markers, or emulated EMS memory. (Sections 11, 12,
- and 14 explain how you may even be able to increase the 160k
- figure to 224k or even 288k.)
-
- The column labelled "Mark" is used in conjunction with HIGHMARK
- and HIGHUNDO. In particular, you may have wondered why the
- command HIGHMARK was included in the AUTOEXEC.BAT file. Since
- it was executed before running HIGHTSR CLOCK, you are now able
- to remove the clock from memory by simply running HIGHUNDO. Try
- it!
-
-
- _3_.__C_o_m_m_a_n_d__L_i_n_e__O_p_t_i_o_n_s__F_o_r__L_A_S_T_B_Y_T_E_._S_Y_S____
-
- During initialization, LASTBYTE.SYS scans high memory looking
- for Bios ROMs, Display Ram, and Adapter Cards that occupy the
- 640k-1M address space. The unoccupied portion of high memory
- defaults to High-DOS memory (for device drivers and TSR's),
- while the occupied portion defaults to Bank-Switch memory that
- can be made accessible for Ram disks, emulated EMS memory, etc.
-
- These defaults can be modified by the use of command line
- options. There are four command line options for LASTBYTE.SYS
- (you may abbreviate any of these by using only the first
- letter):
-
- DOS (Abbreviated "D")
-
- Forces a region of high memory that would
- normally be used as Bank-Switch memory to be made
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- Oct 24, 1990 The LAST BYTE (tm) 6
-
-
- available as High-DOS memory.
-
- BSW (Abbreviated "B")
-
- Forces a region of high memory that would
- normally be used as High-DOS memory to be made
- available as Bank-Switch memory.
-
- EXCLUDE (Abbreviated "E")
-
- Forces a region of high memory to not be
- available either as High-DOS or as Bank-Switch
- memory.
-
- APPEND (Abbreviated "A")
-
- Reserves a region of high memory for appending to
- the end of DOS low (conventional) memory, thus
- increasing it beyond 640k. The memory is NOT
- added until it is enabled with HIGHAPND.
- Requires setting "<base>" (see below) to A000,
- and "<size>" to a multiple of 16k. (Note:
- "<size>" is limited to 16k in the unlicensed
- version so that some High DOS memory will still
- be available.)
-
- ? (A question mark)
-
- Causes LASTBYTE.SYS to display a summary of what
- it finds in the High Memory address space.
-
- The format of the APPEND, DOS, BSW, and EXCLUDE options is:
-
- <keyword>=<base>:<size>
-
- where "<base>" is a base paragraph (segment) address expressed
- as four hexadecimal digits, and "<size>" is kilobytes expressed
- in decimal. For example, to force the 64k address range
- starting at segment A000 to be used as Bank-Switch memory, the
- proper option syntax would be:
-
- BSW=A000:64
-
- (Examples of why this option can be useful are found in Section
- 12, "Video Display RAM above 640k".)
-
- In a similar manner, to force LASTBYTE to use the 32k region
- starting at segment F000 as High-DOS Memory, the proper option
- syntax would be:
-
- DOS=F000:32
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- Oct 24, 1990 The LAST BYTE (tm) 7
-
-
-
- (Examples of why this option can be useful are found in Section
- 11, "Using the DOS=F000:32 Option with AMI Bios Chips".)
-
- 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
- 0080 (2k). (For APPEND, the base must always be
- A000.)
-
- o The size must be in the range 2-384 kb, and must be
- a multiple of 2.
-
-
- The reason for the "multiple of 2 (kb)" requirement is that
- LASTBYTE tries to allocate memory in 2k increments,
- corresponding to the IBM spec that Bios ROM's are sized in
- multiples of 2kb. However, this is somewhat complicated by the
- coarse 16k resolution of the Chips and Technology memory
- controllers:
-
- The Chips and Technologies memory controller chips divide the
- 640k-1M area into 24 blocks of 16k each. Each 16k block must be
- either totally enabled or disabled. I.e., if any part of a 16k
- address space is occupied by an adapter card, the entire 16k
- block of memory must be disabled and cannot be made available as
- High DOS Memory. Thus the "DOS=" option restricts "<size>" to
- multiples of 16, and "<base>" to addresses that begin on 16k
- boundaries.
-
- Once you are convinced that LASTBYTE is working satisfactorily,
- you may copy it to your hard disk and modify the CONFIG.SYS and
- AUTOEXEC.BAT files there accordingly.
-
-
- _4_.__H_I_G_H_M_A_R_K__a_n_d__H_I_G_H_U_N_D_O_:__U_n_l_o_a_d_i_n_g__T_S_R_s__f_r_o_m__M_e_m_o_r_y__
-
- 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 high 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 assoicated TSR's will be
- removed.
-
- HIGHMARK may be executed more than once to establish levels of
- TSR's to be removed. Each execution of HIGHMARK places another
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- Oct 24, 1990 The LAST BYTE (tm) 8
-
-
- 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 HIGHMARK.
- 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.
-
-
- _5_.__H_I_G_H_I_N_S_T_:__L_o_a_d_i_n_g__S_H_A_R_E_._E_X_E__i_n_t_o__H_i_g_h__M_e_m_o_r_y___
-
- DOS 4 now 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 otherwise it is 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 DOS still use FCB's! So
- don't try to prevent SHARE from being loaded by removing it from
- your system! If 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.
-
- So how can you load this TSR into High Memory without getting
- the warning? 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
-
- However, the above command causes SHARE to be loaded down in
- Conventional Memory. To get it into High Memory, use:
-
- INSTALL=HIGHINST.EXE C:\DOS\SHARE.EXE
-
- HIGHTSR works too, but you get an error message about the above
- line in CONFIG.SYS. This is because the DOS expects the name
- that immediately follows the equals sign to be a TSR, and
- anything else (e.g., HIGHTSR) will cause the error message.
-
- HIGHINST is a copy of HIGHTSR that has been modified to be a TSR
- so that this error message can be avoided. Since HIGHINST
- itself is a TSR, a small part of it will remain resident down in
- Conventional Memory, but only 96 bytes.
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- Oct 24, 1990 The LAST BYTE (tm) 9
-
-
-
-
- _6_.__T_h_e__/_S_I_Z_E__o_p_t_i_o_n__o_f__H_I_G_H_D_R_V_R__H_I_G_H_T_S_R__a_n_d__H_I_G_H_I_N_S_T_
-
- The amount of High-DOS memory required to load a device driver
- or TSR (hereafter called the "load requirement") is the larger
- of two amounts: (1) the amount required during initialization
- (greater than or equal to the size of the file) and (2) the
- amount required when finally resident.
-
- Although the final resident requirement of any high-loaded
- software may be obtained from the HIGHMEM output, remember that
- the initialization (and thus the load) requirement may be
- greater than EITHER the file size or the HIGHMEM listing!
-
- 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. And then there's the weird
- behavior of FASTOPEN and MODE that require even more than this!
- (See section 8, "Installing FASTOPEN and MODE into High
- Memory".) Thus the normal operation of HIGHDRVR, HIGHTSR, and
- HIGHINST is to use the largest free High-DOS memory block to
- load the driver 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.
-
- HIGHDRVR, HIGHTSR, and HIGHINST have a special option /SIZE that
- can be used to report the load requirement:
-
- DEVICE=HIGHDRVR.SYS /SIZE SMARTDRV.SYS 2048 512
- or: INSTALL=HIGHINST.EXE /SIZE SHARE.EXE
- or: HIGHTSR /SIZE PRINT.COM /D:PRN
-
- The load requirement will then be displayed on the console after
- the software has been loaded and initialized. This information
- can then be used to specify the value (expressed in bytes) to be
- used with the /SIZE option to force a "best fit" allocation.
- For example:
-
- DEVICE=HIGHDRVR.SYS /SIZE:16240 SMARTDRV.SYS 2048 512
- or: INSTALL=HIGHINST.EXE /SIZE:13616 SHARE.EXE
- or: HIGHTSR /SIZE:17120 PRINT.COM /D:PRN
-
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- Oct 24, 1990 The LAST BYTE (tm) 10
-
-
-
- _7_.__T_h_e__/_N_O_E_N_V__o_p_t_i_o_n__o_f__H_I_G_H_T_S_R__a_n_d__H_I_G_H_I_N_S_T__
-
- 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
- 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 for HIGHTSR, HIGHINST, or
- HIGHMEM 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 following command line option of HIGHTSR or
- HIGHINST to release this memory, even if the TSR didn't:
-
- INSTALL=HIGHINST.EXE /NOENV CLOCK.EXE
- or: HIGHTSR /NOENV CLOCK
-
- The /NOENV (and /SIZE) options must PRECEDE the name of the TSR
- that is to be loaded high by HIGHTSR or HIGHINST. Case of the
- option is insignificant.
-
-
- _8_.__I_n_s_t_a_l_l_i_n_g__F_A_S_T_O_P_E_N__a_n_d__M_O_D_E__i_n_t_o__H_i_g_h__M_e_m_o_r_y__
-
- The FASTOPEN and MODE programs that comes with DOS are TSR's and
- as such may be loaded into high 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, like around
- 50-90k. (The actual requirement depends partly on command line
- options; you can determine the requirement using the /SIZE
- option of HIGHTSR or HIGHINST.)
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- Oct 24, 1990 The LAST BYTE (tm) 11
-
-
-
- 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 the LASTBYTE utilities: the
- interrupt vector table and that memory allocated to them.
-
-
- _9_.__H_I_G_H_D_I_S_K_:__A__R_a_m__D_i_s_k__i_n__B_a_n_k_-_S_w_i_t_c_h__M_e_m_o_r_y__
-
- HIGHDISK.SYS is a device driver that uses high memory to
- implement a Ram Disk. Bank-Switch Memory is allocated first,
- and if that isn't enough, then High-DOS Memory is allocated to
- satisfy the total page request. The device driver itself may be
- loaded into high memory by using HIGHDRVR.SYS to load
- HIGHDISK.SYS.
-
-
- Minimum Requirement
-
- The amount of available Bank-Switch memory must be
- sufficient to hold the Ram Disk's boot sector, one
- copy of the FAT, and the directory. Normally this is
- not a problem, but may require that HIGHDISK be loaded
- before HIGHEMS3 (or HIGHEMS4).
-
-
- A typical command in CONFIG.SYS might be:
-
- DEVICE=HIGHDRVR.SYS HIGHDISK.SYS
-
- This creates a RAM disk that uses all available High Memory,
- with 32 directory entries and sectors of 128 bytes each.
-
- A command line option may be used to change the size of the RAM
- disk as in:
-
- DEVICE=HIGHDRVR.SYS 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=HIGHDRVR.SYS HIGHDISK.SYS 100 256 64
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- Oct 24, 1990 The LAST BYTE (tm) 12
-
-
-
- This creates a 100k RAM disk with 256 bytes per sector and 64
- root directory entries.
-
-
- _1_0_.__W_i_n_d_o_w_s__3_._0__C_o_m_p_a_t_i_b_i_l_i_t_y______
-
- In general, LASTBYTE has a high degree of compatibility with
- Windows 3.0. However, if you use the 386 Enhanced Mode of
- Windows 3.0, there are some fine points that need clarification:
-
-
- 10.1 Modifying the Windows SYSTEM.INI File
-
- On a 386 or 386sx with Windows 3.0 running in 386 enhanced mode,
- LASTBYTE and WINDOWS will both try to use the high memory area
- between 640k-1M, thus creating a conflict. To avoid the
- conflict, you must ask WINDOWS not to use this region. This can
- be done with a configuration option in the [386Enh] section of
- the Windows SYSTEM.INI file:
-
- EMMExclude=A000-FFFF
-
- If you have used the "EXCLUDE" option of LASTBYTE.SYS to disable
- any region of the high memory, then Windows may be told it is ok
- to use that area. For example, if LASTBYTE is loaded using the
- line:
-
- DEVICE=LASTBYTE.SYS EXCLUDE=D000:64
-
- 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.
-
-
- 10.2 HIGHMEM and Windows 386 Enhanced Mode
-
- DOS applications (such as HIGHMEM) run from inside Windows 3.0
- are given their own "virtual" address space of 640k. Windows
- tells the 386 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 memory between 640k-1M, there's no way it
- can execute properly in this context. Outside of Windows, and
- in any mode other than 386 Enhanced Mode, HIGHMEM will behave
- normally.
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- Oct 24, 1990 The LAST BYTE (tm) 13
-
-
-
-
- 10.3 HIGHDISK and Windows 386 Enhanced Mode
-
- HIGHDISK.SYS also uses memory in the 640k-1M range and so is
- susceptible to the same problems that HIGHMEM experiences as
- discussed above in Section 10.2. Outside of Windows, and in any
- mode other than 386 Enhanced Mode, HIGHDISK will behave
- normally.
-
-
- _1_1_.__U_s_i_n_g__t_h_e__D_O_S_=_F_0_0_0_:_3_2__O_p_t_i_o_n__w_i_t_h__A_M_I__B_i_o_s__C_h_i_p_s_
-
- The 64k region starting at paragraph address F000 is the Bios
- ROM. Many of the popular 286, 386, and 386sx clones use a Bios
- ROM developed by AMI. 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.
-
- By the time your PC gets to the point in its boot sequence where
- it is setting up 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 Bios chips, you can
- capture another 32k of high memory by using a DOS=F000:32 option
- (see Section 3, "Command Line Options For LASTBYTE.SYS").
-
- 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.
-
-
- Keyboard TSRs
-
- Some TSRs intercept the keyboard hardware interrupt 9,
- and will jump directly into a fixed location in the
- Bios ROM where the Warm Boot code begins.
- Unfortunately, this will bypass LASTBYTE's attempt to
- turn the ROM back on.
-
-
-
-
-
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- Oct 24, 1990 The LAST BYTE (tm) 14
-
-
- _1_2_.__V_i_d_e_o__D_i_s_p_l_a_y__R_A_M__a_b_o_v_e__6_4_0_k____
-
- 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. LASTBYTE
- automatically senses what kind of video display adapter is
- installed and reserves that portion of this address space that
- might POTENTIALLY be used by the adapter. You can determine
- where these areas are with the HIGHMEM command or with the "?"
- option on the command line of LASTBYTE.SYS.
-
- Theoretically, neither the EGA or VGA should use the 32k
- monochrome region (B0000-B7FFF), and only use the 64k graphics
- buffer (A0000-AFFFF) in high-resolution graphics modes.
- However, the ROM Bios of a few EGA or VGA adapters have been
- known to write into one or more of these areas even if they
- aren't in monochrome or graphics mode. Thus when LASTBYTE
- detects an EGA or VGA adapter, it reserves the entire 128k
- display buffer between A0000-BFFFF.
-
- If a Hercules adapter is found, LASTBYTE reserves the entire 64k
- range B0000-BFFFF as Bank-Switch memory in case Hercules
- graphics modes are used although only the first 4k of this space
- is used for text modes.
-
- Like the text-only mode of a Hercules card, an MDA adapter
- should use only the 4k range B0000-B0FFF, and clearing the
- screen with a DOS "CLS" command should erase the screen by
- writing (only) in this region. However, the ROM BIOS on some
- clones assumes that the MDA display buffer fills a larger (16k)
- region between B0000-B3FFF and may write into memory beyond the
- first 4k.
-
- Similarly, the four video text pages of the CGA, EGA, and VGA
- adapters occupy only the 16k range B8000-BBFFF, but some
- software will write to the second 16k between BC000-BFFFF.
-
- Therefore, if any (monochrome) Display Buffer RAM is found at
- B0000, LASTBYTE reserves the entire 32k range B0000-B7FFF. If
- any (CGA, EGA or VGA) Display Buffer RAM is found at B8000,
- LASTBYTE reserves the entire 32k range B8000-BFFFF.
-
- You may choose to override these rather conservative defaults
- with the "DOS=" command line option as described below. In
- addition to the constraints imposed by your particular video
- display adapter, the 16k resolution of the Chips and
- Technologies memory controller limit what you can do. For more
- information, review the discussion in Section 3, "Command Line
- Options For LASTBYTE.SYS".
-
- The following chart summarizes the conservative approach taken
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- Oct 24, 1990 The LAST BYTE (tm) 15
-
-
- by LASTBYTE as well as what "DOS=" options you may be able to
- use:
-
- Display Reserved "DOS=" "APPEND="
- Adapter by default Options Options
- ------- ----------- -------- ---------
- Monochrome B0000-B7FFF A000:64 or A000:64
- B400:16 and A000:64
-
- Hercules B0000-BFFFF A000:64 or A000:64
- B400:48 (1) and A000:64
-
- CGA B8000-BFFFF A000:96 or A000:96
- BC00:16 (2) and A000:96
-
- EGA and VGA A0000-BFFFF A000:64 (1) or A000:96
- B000:32 and A000:64
- BC00:16 (2,3) and A000:96
-
- VGA Bios Rom C0000-C7FFF C600:8 (4)
-
- Notes: (1) Cannot be used with graphics modes.
- (2) WINDOWS 3.0 may write in this area!
- (3) May be combined with DOS=B000:32.
- (4) See section 13, "Video Adapter Bios ROMs"
-
- _1_3_.__V_i_d_e_o__A_d_a_p_t_e_r__B_i_o_s__R_O_M_s_____
-
- MDA and CGA use the standard ROM Bios; they have no ROM of their
- own. Hercules, EGA, and VGA adapters, however, incorporate
- their own ROM Bios chip right on the adapter card. LASTBYTE
- 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. For this reason,
- when LASTBYTE finds anybody's VGA adapter, it automatically
- assumes that there is a 32k ROM at C0000-C7FFF.
-
-
- _1_4_.__H_I_G_H_A_P_N_D_:__S_t_r_e_t_c_h_i_n_g__C_o_n_v_e_n_t_i_o_n_a_l__M_e_m_o_r_y__b_e_y_o_n_d__6_4_0_k___
-
- 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 memory that begins at 640k onto the end of
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- Oct 24, 1990 The LAST BYTE (tm) 16
-
-
- DOS Conventional (low) 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. CGA display
- adapters also don't use the next 32k either, and so CGA users
- may 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 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.
-
- 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.
-
- HIGHAPND.SYS can be used during CONFIG.SYS processing:
-
- DEVICE=HIGHAPND.SYS ON {Extends conv. memory beyond 640k}
-
- DEVICE=HIGHAPND.SYS OFF {Resets conv. memory to 640k}
-
- Note: HIGHAPND.SYS may not work properly with some versions
- of DOS; in such cases, use HIGHAPND.EXE instead.
-
- or HIGHAPND.EXE can be used during AUTOEXEC.BAT processing or at
- any time after the computer is booted:
-
- A>HIGHAPND ON {Extends conv. memory beyond 640k}
-
- A>HIGHAPND OFF {Resets conv. memory to 640k}
-
- Note: HIGHAPND.EXE may not work properly with DR DOS;
- in such cases, use HIGHAPND.SYS instead.
-
- HIGHAPND (or HIGHMEM) 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
-
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- Oct 24, 1990 The LAST BYTE (tm) 17
-
-
- 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
- WINDOWS, create a batch file like the following to run windows:
-
- @ECHO OFF
- HIGHAPND OFF
- WIN %1 %2
- HIGHAPND ON
-
- 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 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'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 prepare a batch file (as shown above) to
- run the program.
-
- Notes
-
- o The use of HIGHAPND.EXE requires the use of an
- APPEND=A000:?? option on the LASTBYTE command
- line.
-
- o There is no benefit to using HIGHDRVR.SYS to load
- HIGHAPND.SYS into high memory because it never
- stays resident.
-
-
- _1_5_.__U_s_i_n_g__T_h_e__L_a_s_t__B_y_t_e__w_i_t_h__E_x_p_a_n_d_e_d__M_e_m_o_r_y__
-
- 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 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 (as described above), LASTBYTE 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 High Memory. To
- get the EMM driver in to High 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
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- Oct 24, 1990 The LAST BYTE (tm) 18
-
-
- recognized only in two cases: (1) The Page Frame used by the
- Expanded Memory controller built into the Chips and Technologies
- NEAT chipsets will be recognized and reported as "EMS Page
- Frame". (2) The Page Frame of a REAL expanded memory board is
- (if enabled) recognized and reported as "Adapter RAM". In
- either case, LASTBYTE will not use that memory space.
-
-
- Recognizing EMS Boards
-
- Some EMS boards must be enabled by their device driver
- before they respond as read/write memory. This
- prevents LASTBYTE from recognizing them, and you will
- have to use a "BSW=" option to keep LASTBYTE from
- using the Page Frame memory space.
-
-
- If you don't have an expanded memory board, but have used a
- device driver (like EMM386.SYS) 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 "BSW="!)
- command line option of LASTBYTE.SYS to reserve a 64k region
- where the emulated Page Frame can be placed. (Do NOT use a
- corresponding EMMInclude option in the SYSTEM.INI file.) For
- EMM386.SYS, this 64k region must lie at C000, C400, C800, CC00,
- D000, D400, D800, DC00, or E000.
-
-
- _1_6_.__H_I_G_H_E_M_S_:__E_m_u_l_a_t_i_n_g__E_x_p_a_n_d_e_d__M_e_m_o_r_y__w_/_B_a_n_k_-_S_w_i_t_c_h__M_e_m_o_r_y___
-
- Two Expanded Memory Emulators are provided with LASTBYTE. Both
- use high 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 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.SYS. Therefore, these
- device drivers are provided for those who have no other way of
- providing EMS memory to their applications, such as users with
- only 1Meg 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
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- Oct 24, 1990 The LAST BYTE (tm) 19
-
-
- Memory is allocated first, and if that isn't enough, then other
- High Memory is allocated to satisfy the total page request.
-
- Use only one of these device drivers, and load it AFTER
- LASTBYTE.SYS. The driver itself may be loaded into high memory
- using HIGHDRVR.SYS.
-
-
- Suggestion
-
- On a machine 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 WAS050.ZIP or
- WAS050.ARC.
-
-
- _1_7_.__F_i_n_e_-_T_u_n_i_n_g__y_o_u_r__A_d_a_p_t_e_r__H_a_r_d_w_a_r_e__C_o_n_f_i_g_u_r_a_t_i_o_n____
-
- Many adapter cards occupy some portion of the 640k-1Meg 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 chioces.
-
- 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.
-
-
- _1_8_.__U_s_i_n_g__H_I_G_H_U_M_M_._S_Y_S__w_i_t_h__4_D_O_S_____
-
- 4DOS is a shareware replacement for COMMAND.COM. HIGHUMM.SYS
- may be used in conjunction with the DOS device driver HIMEM.SYS
- to move the 4DOS command processor and its master environment
- into "Upper Memory Blocks" (UMB's) between 640k and 1M, thus
- reducing the amount of conventional memory below 640k used by
- 4DOS from 3.4k bytes to 256 bytes.
-
- First you must be sure that your CONFIG.SYS file contains the
- following three lines:
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- Oct 24, 1990 The LAST BYTE (tm) 20
-
-
-
- DEVICE=LASTBYTE.SYS {and any LASTBYTE options}
- DEVICE=HIGHDRVR.SYS HIMEM.SYS {and any HIMEM options}
- DEVICE=HIGHDRVR.SYS HIGHUMM.SYS
-
- Then you must 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 The Future Technology BBS at (617)
- 720-3600.
-
-
- _1_9_.__H_I_G_H_B_F_R_S_:__L_o_a_d_i_n_g__D_O_S__B_u_f_f_e_r_s__i_n_t_o__H_i_g_h__M_e_m_o_r_y__
-
- NOTE: HIGHBFRS *ONLY* works for DOS 3.xx. It does *NOT* work
- for DOS 4.
-
- ╔═════════════════════════════════════════════════╗
- ║ WARNING! PLACING 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. ║
- ╚═════════════════════════════════════════════════╝
-
- Some 16-bit adapter cards do not properly decode the address
- lines within the narrow time constraints imposed by the Address
- Latch Enable (ALE) signal. As a result, such cards 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 high 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 high memory area: A0000-BFFFF,
- C0000-DFFFF, and E0000-FFFFF.
-
- Evidence of this hardware problem has been exhibited by other
- memory managers that also offer software to locate DOS buffers
- in high memory. The problem is NOT unique to LASTBYTE.
-
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- Oct 24, 1990 The LAST BYTE (tm) 21
-
-
- HIGHBFRS offers two solutions to this problem. The first (and
- preferred solution) is to restrict the placement of DOS buffers
- to particular 128k regions in high memory. For example, if you
- have an offending 16-bit VGA card, you would want to place the
- DOS buffers in only the last 128k region since the VGA display
- buffer occupies A0000-AFFFF and B8000-BFFFF and because the VGA
- Bios Rom occupies C0000-C7FFF. The corresponding command line
- options (explained in more detail later) would be:
-
- HIGHBFRS A000-BFFF=0 C000-DFFF=0 BUFFERS=20
-
- If you have 16-bit adapter cards in all three 128k segments,
- then a second (different) solution may be both necessary and
- sufficient. It intercepts transfers between floppy disk drives
- (an 8-bit DMA interface) and high memory, and redirects the
- transfer through an intermediate sector buffer in conventional
- (low) memory. Almost all hard disk controllers use 16-bit CPU
- instructions to transfer data and thus do not incur the
- problem. The corresponding command line options would be:
-
- HIGHBFRS FLOPPY=1 BUFFERS=20
-
- To use HIGHBFRS, you MUST set "BUFFERS=1" in your CONFIG.SYS
- file. This one buffer in Conventional (low) memory is required
- by the FLOPPY option as the intermediate buffer for transfers
- between floppy disk drives and high memory.
-
- The command line options of HIGHBFRS are as follows:
-
-
- BUFFERS=<number> (Abbreviated "B=<number>")
-
- Changes the number of DOS buffers to the value
- specified. (Note: "<number>" is a number from
- 1-99.)
-
- BUFFERS=MAXIMUM (Abbreviated "B=M")
-
- Changes the number of DOS buffers to the maximum
- permitted by the amount of available unrestricted
- memory, but no more than the DOS limit of 99.
-
- FLOPPY=<switch> (Abbreviated "F=<switch>")
-
- Enables (1) or disables (0) redirection of Bios
- INT 13h calls that attempt to transfer data
- between a floppy disk drive and high memory. If
- redirected, such transfers go through an
- intermediate buffer located in Conventional (low)
- memory. (Note: "<switch>" is either 0 or 1.)
-
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- Oct 24, 1990 The LAST BYTE (tm) 22
-
-
- A000-BFFF=<switch> (Abbreviated "A=<switch>")
- C000-DFFF=<switch> (Abbreviated "C=<switch>")
- E000-FFFF=<switch> (Abbreviated "E=<switch>")
-
- where "<switch>" is 0 or 1. Enables (1) or
- disables (0) the placement of DOS buffers in the
- corresponding 128k region of the high memory
- address space.
-
- All of these are optional, may be combined at random, and may be
- abbreviated by their first letter (e.g., A=<switch> instead of
- A000-BFFF=<switch>). The first time you run HIGHBFRS, all the
- options default to 1 unless overridden by command line
- arguments. Each successive time HIGHBFRS is run, the defaults
- are whatever the last setting of each option happens to be.
-
- When HIGHBFRS is invoked with no command line arguments, it
- simply reports the number of DOS buffers presently located in
- High Memory and whether or not transfers between floppy disk
- drives and high memory are redirected. You may use the HIGHMEM
- program to determine where the buffers have been placed in high
- 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.
-
- However, since HIGHBFRS allows you to increase or decrease the
- number of buffers dynamically, you could create some batch files
- to invoke your applications with the optimum number.
-
- 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.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-
- The LAST BYTE (tm)
-
-
- Table of Contents
-
-
- 1. Introduction .................................... 1
-
- 2. Installation .................................... 2
-
- 3. Command Line Options For LASTBYTE.SYS ............... 5
-
- 4. HIGHMARK and HIGHUNDO: Unloading TSRs from Memory ..... 7
-
- 5. HIGHINST: Loading SHARE.EXE into High Memory ......... 8
-
- 6. The /SIZE option of HIGHDRVR HIGHTSR and HIGHINST ...... 9
-
- 7. The /NOENV option of HIGHTSR and HIGHINST ............. 10
-
- 8. Installing FASTOPEN and MODE into High Memory ......... 10
-
- 9. HIGHDISK: A Ram Disk in Bank-Switch Memory ............ 11
-
- 10. Windows 3.0 Compatibility ........................ 12
- 10.1 Modifying the Windows SYSTEM.INI File ......... 12
- 10.2 HIGHMEM and Windows 386 Enhanced Mode .......... 12
- 10.3 HIGHDISK and Windows 386 Enhanced Mode ......... 13
-
- 11. Using the DOS=F000:32 Option with AMI Bios Chips ...... 13
-
- 12. Video Display RAM above 640k ....................... 13
-
- 13. Video Adapter Bios ROMs ........................... 15
-
- 14. HIGHAPND: Stretching Conventional Memory beyond 640k 15
-
- 15. Using The Last Byte with Expanded Memory ............. 17
-
- 16. HIGHEMS: Emulating Expanded Memory w/Bank-Switch Memory 18
-
- 17. Fine-Tuning your Adapter Hardware Configuration .... 19
-
- 18. Using HIGHUMM.SYS with 4DOS ....................... 19
-
- 19. HIGHBFRS: Loading DOS Buffers into High Memory ....... 20
-
-
-
-
-
-
-
-
-
-
-
- Copyright (C) 1990, Key Software Products. All Rights Reserved
-
-