









                       HyperDisk SpeedKit User's Manual

                                     by

                                  HyperWare


                           "Extreme PC Performance"


                                  HyperDisk
                                  HyperKey
                                  HyperScreen


                                 Version 4.65






Program and Document Copyright 1987-1993 by Roger Cross. All Rights Reserved.

HyperWare, HyperDisk, HyperKey, HyperScreen, Touch Shifting, and SpeedKit are
trademarks of Roger Cross.

MS-DOS is a trademark of Microsoft Corporation.
Microsoft Windows is copyrighted by Microsoft Corporation.
Qualitas and 386MAX are trademarks of Qualitas, Inc.
SpeedStor is a trademark of Storage Dimensions.
Disk Manager is a trademark of Ontrack Computer Systems, Inc.

Other programs and/or equipment mentioned herein are trademarks or registered
trademarks of their respective publishers and or
manufacturers.





Quick Installation


If you are familiar with IBM PCs and the configuration of your machine, follow
these steps for quick installation of SpeedKit:

1. Back up your system.

2. Exit from all DOS enhancement products or extender software packages, such as
   Microsoft Windows, Quarterdeck's DESQview, Double DOS, PCMOS, etc.

3. Place a backup of the SpeedKit floppy in drive A (or drive B), and at the
   command prompt type:

    A: [ENTER]
    INSTALL [ENTER]

4. The installer will ask you to choose among various options.

5. When you are asked to set the parameters for each product, you can simply
   accept the default conditions specified by the installation procedure. If
   you want to change the option settings, we recommend that you first read the
   "Options" sections for HyperDisk, HyperKey, and HyperScreen.

   For more detailed information about the installation procedure, see Part 1,
   "Installation."




What's In SpeedKit?

HyperDisk SpeedKit comprises three PC speed-up utilities * HyperDisk, HyperKey,
and HyperScreen * that dramatically increase the efficiency of your personal
computer. You can use them together or separately to completely customize your
PC to fit your personal work style.

HyperDisk

HyperDisk is the most efficient disk caching utility available for your personal
computer system. HyperDisk can improve hard disk system performance by up to
1000 percent, while simultaneously prolonging the lifetime of your drive by
reducing the wear and tear caused by frequent and redundant access.

How Caching Works

In recent years, caching has become a common buzzword in the PC industry. The
concept of caching, however, has been around for a long time and is quite
simple. Caching is simply keeping often-used items accessible. Consider, for
example, the way you use items in your kitchen. You probably use some items
every day, others less frequently, and some only a few times each year. You
probably store the frequently used items in the most accessible place.

Disk caching is simply keeping often-read items readily accessible in your
computer's Random Access Memory, or RAM. Accessing information from RAM is far
faster than accessing it from disk memory. A disk cache maintains a history of
data usage, and when the buffer is full, the oldest or least-used data in RAM is
replaced with new data. You never run out of space because it is automatically
reused to hold your most recent requests.

How HyperDisk Works

When your application issues a disk read operation, HyperDisk intercepts the
request, copies the data from the disk to its buffer memory, and then passes the
data on to the requesting application. HyperDisk copies all subsequent requests
for the same data from its buffer memory to the requesting application.

When your application issues a disk write operation, HyperDisk compares the new
data to the data already in the cache memory. If it is the same data, the
time-consuming disk update is bypassed. HyperDisk copies only active data (data
you are actually using) to the buffer, thus providing much more efficient use of
your machine's RAM.

HyperKey

HyperKey is a powerful keyboard enhancement package that allows each user to
customize all keyboard functions including the type-ahead buffer size, key
repeat rate, length of delay before a key begins repeating, keyboard clicking
sounds, and Touch Shifting for one-finger typing. By adjusting these functions
you can enter data at your own rate.

HyperScreen

HyperScreen is a video enhancement tool that gives you the most power and
versatility from your existing video hardware. HyperScreen's state-of-the-art
software provides automatic screen blanking to keep images from burning into
your display terminal, manual screen blanking at the touch of a key to maintain
the confidentiality of your on- screen documents, and video basic input/output
system (BIOS) speedup to increase display speed in all text modes.




Part 1: Installation


The following procedures give step-by-step instructions for installing the three
components of SpeedKit. System Requirements To install SpeedKit, you will need:

* IBM PC, XT, AT, PS/2, etc.; Compaq Portable, DeskPro, etc.; or any other 100
  percent IBM-compatible machine.

* Microsoft's MS-DOS operating system version 2.xx through 7.xx; or 100 percent
  compatible operating system, such as Digital Research's DR-DOS.



Installation Procedure

It is a good idea to back up your hard disk before installing any new program,
including the utilities in SpeedKit. This is especially true if you have a
particularly complex or nonstandard system.

Caution: Do not install SpeedKit while operating under one of the DOS
enhancement or extender software packages, such as Microsoft Windows or
Quarterdeck's DESQview. HyperDisk is compatible with these systems but must be
installed before these systems are executed. SpeedKit operates by intercepting
a variety of system interrupts (8, 9, 10, 13, 15, 19, 21, and 28) and
redirecting their actions accordingly. DOS enhancement packages often change
the system interrupts on a per task basis and create a situation in which
SpeedKit cannot maintain a coherent image of the system's devices.

To install SpeedKit from a floppy disk to your hard disk, place a the SpeedKit
floppy in drive A (or drive B). After you have exited from all DOS enhancers,
at the command prompt type:

     A: [ENTER]
     INSTALL [ENTER]

if you are installing from a downloaded version, unzip all of the files into
a directory and just type:

     INSTALL [ENTER]



Installing HyperDisk

Warning: If you have Golden Bow's VFEATURE Deluxe, do not install HyperDisk.
VFEATURE is a noncompatible INT13h device driver.

The installer will ask you which parts of the SpeedKit you wish to install.
The default is for Disk, Key, Screen and the support files. You may toggle on
or off the parts that you wish to install. You can then also choose which
directory to install the files to. Once you have chosen what and where to
install press [F10] to continue. You will then be asked about the various
options for each of the pieces being installed. Normally the default options
will be the optimum with the one exception of Stagged Writes for HyperDisk.
You should read more about stagged writes in this manual. The default is for
HyperDisk to not use stagged writes. To turn on this feature enter the S
parameter when prompted for HyperDisk options.

Once the installer has prompted you for your choices, it will install the
proper files and make the necessary changes to your CONFIG.SYS and
AUTOEXEC.BAT files. Once completed you will need to reboot your machine for
the changes to take effect. Backup copies of your AUTOEXEC.BAT and CONFIG.SYS
files will be made with the extension .SPK.



Setting SpeedKit Options

  The operation of all SpeedKit products can be customized by using command-line
  parameters. These parameters can be used on the line that installs the utility
  into memory, whether in CONFIG.SYS or AUTOEXEC.BAT. You can also use the same
  parameters once the product is running by typing them on the command line with
  the program name. Parameters can be upper- or lower-case except where noted.
  If you specify more than one parameter, separate parameters with a space,
  slash, or dash.

Sample Device Driver Parameter Specifications

  The following example illustrates the use of device driver parameter
  specifications in the CONFIG.SYS file. This example assumes you are installing
  SpeedKit products manually and not with the installer. The example shown is
  for HyperKey:

     DEVICE=HYPERKEY.EXE D:250 R:25 B:-

With this set of parameters, the following conditions apply:
*    The delay to repeat time is 250 milliseconds;
*    The minimum repeat delay is 25 milliseconds;
*    No type-ahead buffering.

Sample TSR Parameter Specifications

The following example illustrates the use of TSR parameter specifications in the
AUTOEXEC.BAT file or from the command line:

C:\>HYPERKEY D:300 R:35 B:-

With this set of parameters, the following conditions apply:
*    The delay to repeat time is 300 milliseconds;
*    The minimum repeat delay is 35 milliseconds;
*    No type-ahead buffering.




Part 2: HyperDisk


What is HyperDisk?

HyperDisk is the most efficient disk performance utility for your personal
computer system. HyperDisk can dramatically improve the performance of your
hard disk and increase its lifetime by reducing the wear and tear caused by
frequent access.

HyperDisk improves disk performance by using a small amount of RAM to store the
data you use most often, a process known as buffering. Conventional RAM
requirements vary from 0K to 35K, depending on the model and size of cache
selected, your DOS version, and the available memory of your PC system.

HyperDisk maintains a history of data usage, and when the buffer is full and
space is needed to store new data, the oldest data in the buffer is replaced.
Replacing the oldest data with new data improves performance because in many
cases data is reused frequently.

Many users are familiar with RAM disks as a way to use memory more efficiently.
HyperDisk is similar to a RAM disk but is superior in several ways. Both a RAM
disk and HyperDisk transfer data to and from RAM. However, if you use a RAM
disk you must first copy all the needed files to the RAM disk and then copy
them back to the hard disk after processing has finished. You must put the
entire file in RAM, even if you are only using part of the file. If you need
additional files, you must stop what you're doing and copy the necessary files
to the RAM disk. If the RAM disk becomes full, you must decide which files to
copy back to your hard disk and then delete those files from the RAM disk. If
you need more files for a given task than the RAM disk can hold, you cannot use
the RAM disk. If the power fails or your computer crashes, or if you forget to
copy the data back to your disk or diskette, all your work in the RAM will be
lost.

With HyperDisk you can bypass all the shortcomings of a RAM disk. HyperDisk is
fully automatic. If the cache memory is full when an application issues a new
disk request, HyperDisk will make space available to hold this new data.
HyperDisk continually updates your disk with changes you have made. The
updating is done in the background at times when your computer is idle, to
avoid interrupting your work. HyperDisk automatically writes all new data to
disk, even if you soft-reboot with the [CTRL][ALT][DEL] key combination, so no
updates are lost. When you change diskettes, HyperDisk automatically updates
the cache for the new diskette and beeps to let you know it recognizes the new
diskette.

You can set HyperDisk options to delay immediate updating of the disks and
diskettes, a process that provides much greater disk and diskette efficiency.
Delaying or staging the update allows HyperDisk to sort data for the most
efficient updating. In this way, HyperDisk minimizes the number of disk
rotations and head movements required to update the disk, thus prolonging the
lifetime of your drive.

Additionally, for AT, PS/2, 80386, 80486, and some XT-class computers, updates
are performed in the background asynchronously (Advanced Update Mode), so that
you don't have to wait while the data is being written to the disk or diskette
drives.



HyperDisk Models

You can choose among several HyperDisk models to find the best match for your
system. Which HyperDisk model to install depends on the memory available in
your system and the type of microprocessor you have.

HYPERDKX.EXE (Extended Model)

Use the Extended Model if your system uses one of the 80386-based Expanded
Memory Specification (EMS) emulators such as the Qualitas 386Max, Quarterdeck's
QEMM, Compaq's EMM, etc. The Extended Model uses the memory above 1 MB as cache
memory. Normally, you should use either the Advanced 286 or 386 models, which
are compatible with EMS emulator products, but most of the Advanced Model
support is not available while operating under these EMS emulators. Therefore,
you can save a small amount of conventional memory by using the smaller code
size provided by the Extended Model. (Technical note: This model supports two
transfer protocols, XMS and INT 15h-87h. XMS is the default mode.) For more
information on this model, see Appendix E, "Technical Notes on HyperDisk
HYPERDKX.EXE."

HYPERDKE.EXE (Expanded Model)

Use the Expanded Model if you use Intel Above Board (LIM EMS), AST Research's
EEMM products, or 100 percent compatible products for cache memory. The
Expanded Model uses bank-switched memory like that provided by LIM EMS, EEMM
products, and their 100 percent compatibles. You can finally put this memory in
your computer to work, speeding up all your programs all the time, instead of
having only a few special applications customized to use LIM EMS. You can
install up to 8 MB of expanded memory for LIM EMS 3.2 and up to 32 MB for LIM
EMS 4.0 and EEMM 3.2.

HYPERDKC.EXE (Conventional Model)

Use the Conventional Model if you do not have extended or expanded memory. The
Conventional Model uses the memory between 0K and 640K. This is also the memory
used by DOS and your programs. The best compromise (with the Conventional Model
only) is achieved with a cache size between 128K to about 256K. The default
size is 128K.

HYPER286.EXE (Advanced 286 Model)

Use the Advanced 286 Model if you have an 80286-based computer with extended
memory. The Advanced 286 Model uses proprietary extended memory management for
RAM transfers. This model provides the fastest possible transfers but still
allows other programs to interrupt when needed. If you experience compatibility
problems, use the HYPERDKX.EXE, the Extended Model.

HYPER386.EXE (Advanced 386 Model)

Use the Advanced 386 Model if you have an 80386- or 80486-based computer. The
Advanced 386 Model is the same as the Advanced 286 Model but is optimized for
80386 and 80486 machines. If you experience compatibility problems, use
HYPERDKX.EXE, the Extended Model.



HYPERDK.EXE (Batch File Model)

Use this model in batch files. The purpose of this file is to change the
options for a model of HyperDisk already installed on your computer. Include
this program name in any batch file rather than the above program names. For
example, if you start your computer with HyperDisk enabled but at some point
you want to disable the cache, you can do so in a batch file by adding the
command:

HYPERDK D

The D disables the cache and is explained further in "Basic Options" later in
this section.

HYPERSTB.EXE (Manual Installation Model)

Use this model for manual installations. This program allows you to install and
later uninstall HyperDisk easily and without conflict with other resident
programs. Install HYPERSTB.EXE in either your CONFIG.SYS or AUTOEXEC.BAT file
(normally in the same place as the HyperDisk INSTALL statement). Later, either
near the end of the AUTOEXEC.BAT file or from the command line, you can install
HyperDisk. The function of this model is to reserve the resources needed for
HyperDisk, preventing conflicts with other resident programs installed later.
HYPERSTB.EXE requires only about 400 bytes. No parameters are needed in the
following example:

DEVICE=C:\HYPERSTB.EXE



HyperDisk Common Options

Although most users readily install and use SpeedKit without setting any
options at all, you can improve your system's performance by specifying various
parameters. We strongly recommend that you read this section before specifying
any installation options, so that you know how the options will affect your
system's operation.

Several of the following functions have hotkey commands, which are listed after
the option name. When you use the hotkey commands, the speaker will beep once
to acknowledge completion of the command. If the caching process is disabled by
the hotkeys, the speaker will beep again. In other words, if the command is
accepted and you hear one beep, caching is enabled. If you hear two beeps,
caching is disabled.

The following options can be used to tune the behavior of HyperDisk. Remember
that the default values for all options are the optimal settings for most
systems, except for the Staged Write functions. The default for each parameter
is listed at the end of the description, if applicable. Lowercase, italic nn
following a parameter is a placeholder for a number that you provide.



Basic Options

E * ENABLE/UPDATE HYPERDISK * [CTRL][ALT]E
Enables caching of the selected drive types. If caching is already enabled, any
modified data will be written to update the disk/diskette. Default setting.

D * DISABLE HYPERDISK * [CTRL][ALT]D
Disables caching of all drive types. You can enable caching later using hotkeys
or at the command line. It may be appropriate to use this hotkey command before
loading a program from a copy-protected disk. However, several copy-protected
programs have been tested, and no problems are known.

Note: Always disable HyperDisk when you run disk diagnostics or other system
tests, or any program that directly accesses the disk and/or diskette adapter
hardware.

H * HARD DRIVES ONLY
Caches only hard (fixed media) drives.

F * FLOPPY DRIVE CACHING
Caches all drive types. Default setting.

S * STAGED WRITE HARD * [CTRL][ALT]S
Delays writing hard-drive data changes until the computer is idle, then writes
all changes to disk.

With HyperDisk's Staged Write enabled, you should always press [CTRL][ALT]E to
update your disk before either turning off your computer or pressing the RESET
button, if one is provided. This precaution will ensure that HyperDisk has
copied all data to your disk. HyperDisk will beep once to inform you that the
cache is making any needed disk updates. If any updates are pending, they will
be copied to disk immediately. After your disk access light goes out, feel free
to turn power off.

When HyperDisk accepts data to be written to the disk, it stores that data in a
buffer. Later, when the system is idle (no disk, keyboard, or mouse activity),
the modified data is written to the disk. This feature increases your
computer's performance, since disks are updated only when your computer is not
being used for other tasks. For removable media such as floppy disks, wait
until the diskette has completely updated before removing it. If you remove the
diskette before the update is complete, HyperDisk will interrupt your current
foreground process, beep three times, and indicate that an error has occurred.
Simply replace the diskette in the drive and press R for Retry.



Warning: Staged Write is not for everyone. Never turn power off or press RESET
without first disabling HyperDisk! Do NOT use the Staged Write feature if:

*  all users of a shared computer are not familiar with the HyperDisk Staged
   Write feature. With Staged Write enabled, your disks will not be updated
   immediately, which might cause confusion for a user not familiar with Staged
   Write. Select Staged Write only after all users are aware of how it changes
   the behavior of the computer.

*  the computer crashes frequently because of poor software and/or hardware.

*  bad weather or an overloaded power network cause the power system to fail
   frequently or unpredictably. Most users in this category should purchase an
   Uninterruptible Power Supply (UPS). For more information on UPS, see
   Appendix G, "Uninterruptible Power Supply Support."

*  new software is being tested or developed that may crash the system.

*  you use a software package that does not support the warm-boot
   [CTRL][ALT][DEL] function correctly. Qualitas' 386Max version 4.04 or
   earlier and several other public domain programs fail this test.
   Additionally, if you use any software to reboot your PC automatically,
   disable HyperDisk before running the reboot program.

You can easily disable or enable the Staged Write features with the keyboard
hotkey commands. HyperDisk has separate controls for hard and floppy drives.
When in doubt, use the Write Through functions instead of Staged Write.


A * STAGED WRITE FLOPPY * [CTRL][ALT]A
Same as Staged Write Hard, for floppy drives.

W * WRITE THROUGH HARD * [CTRL][ALT]W
Writes all data through to the hard disk immediately, rather than waiting for
the Timer Delay or Background Update functions. HyperDisk performance will be
somewhat less efficient than with Staged Write enabled, since HyperDisk must
write data to the disk immediately, instead of waiting until the system is idle
or the cache is full. Default setting.

Note: Always select Write Through Hard when you test or install new programs,
debug programs of uncertain integrity, or perform any operation that may crash
your computer.

Q * WRITE THROUGH FLOPPY * [CTRL][ALT]Q
Same as Write Through Hard, for floppy drives. See the note above for Write
Through Hard. Default setting.

XF:file * EXECUTE COMMAND FILE
Directs the program to carry out the commands contained in the designated file
where file is a standard DOS path and filename. You can use this function to
store common procedures or personalized options. Create a file that contains
the command line and parameters desired for a specific user or application. The
command file can contain multiple lines, and comments should be delimited by a
semicolon. The following example is for HyperDisk:

C:\>>HYPERDKC XF:C:\ANYFILE.EXT

Example of ANYFILE.EXT format:

EH:0                ;comment: enable only first hard drive
OT OC               ;comment: disable tone and change line
XB:9                ;comment: update disk every 1/2 second

Windows users can use the parameter XF:CON to be prompted for console
input/output. Use this option for Windows program information file (PIF)
default command-line parameters.



Display Options


OR * OVERRIDE REPORT
Disables the output report that is normally generated whenever you run a
SpeedKit product from the command line. This option is useful if you are
running from batch files and do not want the report to fill the screen.
Specifying OR:- will disable the installation report delay, but the report
itself will still be displayed.

OX * DISABLE REPORT
Displays report unless Override Report is applied. OX or OX:+ disables report
panel; OX:- restores report panel display. OR:- can be used to override the OX
setting. Default is to display report.

OK * OVERRIDE DISPLAY METHOD
Selects the display method. SpeedKit products normally display data directly by
means of the video BIOS. OK or OK:+ forces I/O directly to the video BIOS,
while OK:- forces DOS I/O. Alternatively, the standard output device can be
redirected to any device or file. Default is direct to video BIOS.

In the following example, HyperDisk will display the report by means of DOS
standard output device:

C:\>HYPERDK OK:-

In the following example, output from HyperKey is redirected to console (CON)
device:

C:\>HYPERKEY >>CON

OK:nn * OVERRIDE COLORS/ATTRIBUTES Selects the colors/attributes for the
current display. Color displays provide 16 foreground colors to be applied on
either 8 (CGA) or 16 (EGA/VGA) background colors. Monochrome displays provide a
variety of display attributes. Some allow two or more intensities, underlining,
blinking, etc. For CGA displays, there are 120 useful combinations; EGA/VGA
displays, 240. Monochrome displays vary and are generally less than CGA. You
can enter a value for nn in either decimal or hexadecimal formats. The first
example below is a decimal example with HyperDisk; the second is a hexadecimal
example with HyperScreen:

C:\>HYPERDK OK:30
C:\>HYPERSCR OK:X1E

Both of the above examples select yellow on a blue background. Alternatively,
you can select the colors manually by specifying (using HyperKey as an
example):

C:\>HYPERKEY OK:0

OKC:nn * OVERRIDE COLORS ONLY
Same as OK:nn, except only color display attributes are affected. Useful for
systems with both monochrome and color displays.

OKM:nn * OVERRIDE ATTRIBUTES ONLY
Same as OK:nn, except only monochrome display attributes are affected.



I:nn * FLUSH INDICATOR
Selects a beep indicator tone whenever HyperDisk is updating the modified data
to disk. This feature is useful if you have a system that does not have a drive
indicator light. Experiment with tone frequencies by specifying nn in hertz
(Hz). Also see the P:nn parameter. Default is disabled (I:0).

P:nn * FLUSH INDICATOR PERIOD
Specifies how frequently the Flush Indicator should sound. Units nn are in
seconds. For example, specifying P:5 will set beeps every 5 seconds during the
update flush operation.

R * RESET HYPERDISK HIT
Resets the HyperDisk cache hit percentage after the report is displayed.

OT * OVERRIDE TONE
Disables the acknowledgment tone. OT or OT:+ disables the tone; OT:- restores
the tone. Default is tone enabled.

KT * DISABLE FLOPPY CHANGE TONE
KT or KT:+ disables the tone sounded when a floppy disk media change is
detected; KT:- enables the tone. Default is tone enabled.



Memory-Related Options


C:nn[:nn] * CACHE SIZE
Sets size of memory (in kilobytes) to install initially for use by the
HyperDisk cache. For example, a value of 2048 for nn means 2 MB. You can vary
the cache size after installation using the XC, XD, or XA options, but the size
cannot be larger than the initial value set at installation with the C:nn
option. Use the second [:nn] to set the cache size while Windows is active. You
can add it instead of the CW:nn, CB:nn, or CP:nn parameters described later.
Example: C:2048:1024 sets a 2 MB cache size when Windows is not being used and
a 1 MB cache size whenever Windows is active. Default value for the 286
Advanced, 386 Advanced, Extended, and Expanded models is all the remaining
memory. Default value for the Conventional Model is 128K.

CW:nn * WINDOWS CACHE SIZE
Sets size of cache memory (in kilobytes) while Windows is active. For example,
a value of 1024 means 1 MB.

CB:nn * ALTERNATE WINDOWS 3.0+ SIZING METHOD
Sets the minimum base free memory for use with Windows. Default is 512K.

CP:nn * PERCENT FREE MEMORY
Sets the percentage of free memory HyperDisk can use while Windows is active.
Default is 35 percent.

Windows example

Assume all of the following: Your machine has 6098K of extended memory.
HyperDisk under DOS uses 4096K (C:4096). When Windows starts up, HyperDisk
frees the 4096K and requests the total free memory size, now 6098K. HyperDisk
then subtracts the base free memory size (default of 512K, set using the CB:nn
parameter) for a result of 5585K and takes 35 percent to obtain 1954K as the
new HyperDisk cache size. The actual cache memory will be rounded down to the
nearest whole-number multiple of cache buffers.

XS * SHADOW RAM LOADER
Loads program in Shadow RAM memory. If you have a Chips & Technologies NEAT 210
or 300 Series chip set*based computer or use an XMS-type product that supports
upper memory blocks (UMBs) such as 386Max 4.30+, the SpeedKit program will load
in this special memory using none of the lower 640K of conventional memory.
This option is automatically inactive if loaded high with an external loader,
such as DeviceHigh, LOADhi, LOADhigh, etc.

Note: For Chips & Technologies computers, load high occurs in the
E000:0000-FFFF memory area. Therefore, other programs, adapters, ROMS, or
expanded memory specification (EMS) memory banks must not use this area.

XSL * SPLIT SHADOW RAM LOADING
Load High memory load. Loads code and data tables high and leaves I/O transfer
buffer in low memory. If you have trouble loading HyperDisk high, try this
option. Automatically inactive if loaded high with an external loader, such as
DeviceHigh, LOADhi, LOADhigh, etc.



XC:nn * RESIZE CACHE BUFFER
Resizes the cache buffers to nn K. You cannot specify more cache memory than
was originally installed. XC without a numeric parameter will restore the cache
to its startup value.

XD:nn * DELETE CACHE BUFFERS
Deletes nn K of memory from the current cache buffer. Use this parameter in
conjunction with XA or XC to adjust the cache buffer size for the best use of
your system memory.

  Note: If you are using the Conventional Model, to obtain the best
        configuration of your system memory allocation map, install with the XD
        parameter selected. Also, specify the largest cache size (C:nn) you
        will need at any time. For example, in your CONFIG.SYS file, add:

  DEVICE=HYPERDKC.EXE C:128 XD S A V

  After the system has booted and all your device drivers and TSRs are
  installed, include in your AUTOEXEC.BAT file:

  HYPERDKC XC

  This procedure installs HyperDisk before any other TSR. XD without a
  parameter will allocate no memory to the cache buffers.

XA:nn * ADD CACHE BUFFERS
Adds nn K of memory to the current cache buffer. You cannot specify more memory
than was originally installed. Use XA in conjunction with XD:nn to adjust the
cache buffer size for the best use of your system memory.

XU * UNINSTALL CACHE
Attempts to uninstall HyperDisk from memory. After writing any pending updates
to the disk, HyperDisk will release the cache buffers, restore the system
interrupt vectors as they were before HyperDisk was installed, and release the
memory used by the program code and tables. If you load into memory other
device drivers and/or TSRs that use the same vectors as HyperDisk, the
uninstall operation will fail. Only the cache buffers will be released, and the
cache will be disabled. For best results, install HYPERSTB.EXE in the
CONFIG.SYS file, and load your HyperDisk model in the AUTOEXEC.BAT file.



Keyboard Command Options

KW * KEY WAIT TIME
Selects wait for key after No Parameter status panel. KW or KW:+ enables a
pause after the status panel. KW:- disables the wait for a key. Alternatively,
you can select a time delay by specifying KW:nn, where nn is the number of
seconds to wait before continuing automatically. Default is to wait for a
keystroke if no parameters are specified.

K * HOTKEY ENABLE
Enables or disables the use of HyperDisk's hotkeys. K or K:+ enables the hotkey
functions. K:- disables the hotkeys. Default is enabled.

K:aclr * HOTKEY SHIFT STATES
Alters HyperDisk's hotkey shift states. Normally, you must press [ALT] and
[CTRL] before you select a hotkey letter. However, you can use any combination
of [ALT] , [CTRL], [LEFTSHIFT], and [RIGHTSHIFT]. Specify only the first letter
of the shift key name. For example, to select [CTRL] and [LEFTSHIFT], specify
K:cl. Default is [CTRL][ALT].


Windows Support Option

KA * FLUSH CACHE AT WINDOWS EXIT
KA or KA:+ will force a flush of all cache buffers when you issue an Exit
command from the Program Manager in Windows. This option is useful if you want
to have all of the modified cache buffers written to disk before the exiting of
Windows is completed. KA:- disables this option. KA:- is the default.


Write Verification Options

V * VERIFY READ
Verifies the disk and/or diskette after each disk and/or diskette write. This
option replaces the DOS Verify command. Using the DOS Verify command is not
recommended while HyperDisk's Verify Read is enabled.

N * NO VERIFY
Does not verify the disk and/or diskette after each write. If HyperDisk's
Verify Read is disabled, use DOS VERIFY=ON. Default setting.

VF * VERIFY FLOPPY WRITE OPERATION
VF or VF:+ enables Verify operations for diskettes only. VF:- disables the
verify after write operation. V, V:+, and V:- affect both drive types. Default
is disabled.

VH * VERIFY HARD WRITE OPERATION
VH or VH:+ enables hard disk Verify operations. VH:- disables the verify after
write operation. V, V:+, and V:- affect both drive types. Default is disabled.



HyperDisk Technical Options

These are parameters that can be used to access various technical HyperDisk
functions. These parameters should not be used unless they are specifically
needed. If you are not sure about how these parameters will affect your system,
do not use them.

Advanced Drive-Support Options
EH:n:... * ENABLE SPECIFIC HARD DRIVES
Enables only specified hard drives. n refers to the physical drive number
starting with zero. You can specify as many drives as needed, each delimited by
a colon.

EF:n:... * ENABLE SPECIFIC FLOPPY DRIVES
Same as EH:n, for floppy drives.

DH:n:... * DISABLE SPECIFIC HARD DRIVES
Disables specified hard drives. n refers to the physical drive number starting
with zero. You can specify as many drives as needed, each delimited by a colon.

DF:n:... * DISABLE SPECIFIC FLOPPY DRIVES
Same as DH:n, for floppy drives.

H:dd:ss:hh:ff * HARD DRIVE FORCE PARAMETERS
In the case of translation-type drives where HyperDisk is unable to figure out
what type of physical parameters need to be cached with your hard drive the H:
parameter can be used to tell HyperDisk the configuration of your drive. Be
very careful when using this parameter and make sure to test without Staged
Writes to verify that HyperDisk can properly cache the drive.

  * dd drive number (e.g., 0 for first physical hard drive, 1 for second, etc.)
  * ss number of sectors per track
  * hh number of heads
  * ff first track to start caching on (almost always 0)



Advanced Tuning Options

T:nn * TIMER DELAY
Specifies the computer idle time before writing the modified HyperDisk cache
data to disk, when using Staged Write. You can specify a value of zero for a
1/2 second delay. Units nn are in seconds. Default is 1 second.

M:nn * MEDIA CHECK RATE
Specifies the time period for floppy diskette media verification. Removable
media devices (floppies) are checked periodically to confirm that the media in
the drive still matches the media image in the cache. Units nn are in seconds.
Default is 3 seconds.

Z:nn * SECTORS PER BUFFER
Specifies the number of sectors per cache buffer. A track is mapped to one or
more buffers. This value is autoselected by default. Z:0 specifies full-track
caching. You can respecify this parameter after installation, but for the
extended memory models, you cannot increase the sectors per buffer beyond that
specified at installation. If you want to experiment, install with full-track
buffering. Generally the autoselected value will provide the best overall
performance.

XP:nn * BACKGROUND UPDATE PERCENT
Specifies an upper limit on the percentage of modified buffers before updating
the disk and diskette on every access. The oldest data (LRU data) will be
updated on each cache access until the modified buffer percentage falls below
nn. Default is 75 percent.

XW * CHECK REDUNDANT WRITE
Checks for redundant disk/diskette write operation. This function compares the
write data to the current image held in cache memory. If they are identical,
the update operation is not performed. Only diskette drives that support media
change signaling benefit from this option (720K, 1.2M, 1.44M, etc.). XW or XW:+
enables redundancy checking; XW:- disables. Default is enabled.

Note: HYPERDKX.EXE, the Extended Model, does not support this function.

XWH * CHECK REDUNDANT HARD WRITE
Same as XW, except affects hard disk drives only.

XWF * CHECK REDUNDANT FLOPPY WRITE
Same as XW, except affects diskette drives only.

NR * NO READ AHEAD
Disables read-ahead operations. Improves error handling for some controllers
that time- out when reading over bad sectors. Useful for debugging. Default is
read ahead.

OB:nn * BYPASS SECTOR SIZE
Fine tunes performance when using a small (32K) to medium (384K) cache size.
Normally, HyperDisk disables this value. Specify nn in sectors, ranging from 0
to 128, to restrict the maximum-sized block to be stored in the cache. For
example, if you set OB:10, all transfer requests greater than 10 sectors will
be passed on to the system BIOS and will not be stored in the cache. This
option is useful if you are moving a large amount of data through a small
cache, which would immediately be flooded with new data before the previous
data could be reused. Setting OB:0 will disable this option. Default is
disabled.



Advanced Update Options

XB:nn * BACKGROUND UPDATE TIME
Specifies an upper limit on the age of the oldest modified buffer. After nn
system timer ticks (55 milliseconds per tick), the oldest modified buffer is
updated to disk. The Background Update functions are most useful in systems
that are seldom idle, such as network servers. Default is disabled (XB:0).

XI * ENABLE ADVANCED UPDATE
Enables asynchronous update of the disk and diskette modifications for AT,
PS/2, and some XT-class computers. XI or XI:+ enables function; XI:- disables.
Default is enabled.

XIH * ENABLE ADVANCED HARD DISK UPDATE
Same as XI, except affects hard disk drives only.

XIF * ENABLE ADVANCED FLOPPY UPDATE
Same as XI, except affects diskette drives only.



Advanced Memory Options

VI * QEMM STEALTH SUPPORT
VI or VI:+ enables virtual interrupts; VI:- disables virtual interrupts.
Default is enabled.

G:n * ADVANCED A20 GATE TYPE
Installation only. In order for HyperDisk to access extended memory in the most
effective way, a system address control signal, the A20 gate, must be
controlled. The IBM AT used the 8042 keyboard processor for this task, but this
method proved to be very slow. Consequently, several computer manufacturers
(including IBM when it introduced the PS/2 line) developed other methods to
control the A20 gate signal. Normally, HyperDisk will automatically search your
system to determine the A20 gate control method. If HyperDisk cannot recognize
your system, which might cause your system to hang, you can set this parameter
to tell HyperDisk what type of computer you have. If you encounter such
problems, first try method G:2 (FastA20). If this method fails, use G:0 to
disable the search and use the system BIOS transfer routines, or switch to the
Extended Model, HYPERDKX.EXE. See the following table to determine which method
to use for your system.

Chose       if your system uses

G:1         Standard AT-8042 method
G:2         Fast A20-8042 (this method is usable on most machines)
G:3         PS/2 series chip set
G:4         Dell 300 series and others
G:5         Chips & Technologies NEAT (212) chip set
G:6         QuadramXT
G:7         Inboard 386/PC
G:8         AT Micro-Channel Model 6
G:9         HP Vectra

Methods are searched automatically from high (9) to low (0). See the READTHIS
file for any additions.

OG * OVERRIDE A20 GATE EXIT (only for systems 2 and 9, above)
Specifies that HyperDisk should only open the A20 Gate when it is being used.
OG:+ selects open A20 on demand, close on exit; OG:- selects open on demand,
leave open. If your application wraps 1 MB you should select OG:+. This
parameter is used with CP/M applications. Default is to leave A20 Gate open.

XM * XMS MEMORY ALLOCATION MODE
Requests HyperDisk to use the Extended Memory Manager for allocating extended
memory buffers. If your system uses HIMEM.SYS (an XMS of Lotus-Intel-Microsoft-
AST), HyperDisk automatically allocates and deallocates memory using XMS.

XML * XMS MEMORY BLOCK LOCKING
XML or XML:+ locks XMS memory block; XML:- unlocks XMS memory block. Some XMS
providers and/or applications alter HyperDisk's XMS memory block if it is
unlocked. DR-DOS 6.0's EMM386 and an early Lotus 123R3 release revealed this
problem. Locking the block prevents these bugs in other software from
destroying the cache memory block. Default is to lock XMS blocks.

XT, XTR, XTP * XMS MEMORY TRANSFER MODE
Requests HyperDisk to use the Extended Memory Manager (XMS) allocation and
memory transfer method. See the XM parameter, above. Recommended for AT&T PCs.
XT selects XMS transfer mode in both real and protected mode. XTR selects XMS
transfer mode in real mode. XTP selects XMS transfer mode in protected mode.
See the following table for examples:



If you use                                        install

Microsoft HIMEM.SYS (to avoid problems)           HYPERDK XTR:-
                                                  XTP:+
Windows enhanced mode, no DOS                     HYPERDKX  XT:+
Windows real/enhanced mode, or DOS                HYPER386 XTR:-
                                                  XTP:+
386Max all extended models                        HYPERDKX XT:- or
                                                  HYPER386 XT:-


U * EXPANDED MEMORY BUFFERING
If you are using an EMS emulator that does not support direct memory access
(DMA) to the EMS memory page frame or if you are using a product that accesses
the EMS memory asynchronously (some networking products, print spoolers, etc.),
do not change the default configuration.

However, if you are sure that no other products access EMS asynchronously and
do not want to use the Advance Update mode (XI), you can save some conventional
memory (normally 8.5K) by disabling this option (U:-). Default is enabled; set
at initial installation only.

UI * EMS FAR CALL FOR DESQVIEW
UI or UI:+ forces EMS far call to use interrupt 67h, which works better when
using DESQview with your system. To restore the original far-call method,
specify UI:-. Default is disabled.

OD * DMA BOUNDARY TEST OVERRIDE
Disables DMA boundary testing.



Diagnostic/Override Options


OC * MEDIA CHANGE SIGNAL
Disables the diskette drive media change signal test. All diskette drives,
other than 160/320/360K types, support a media change detection function.
Basically, a signal from the drive indicates that the media latch has been
opened or the diskette has been removed from the drive. By default, HyperDisk
uses this signal to detect when a diskette has been changed. Use this option if
you suspect that your diskette drive has an unreliable media change signal. OC
or OC:+ will disable Media Change Signal testing; OC:- enables it. Default is
enabled.

OH:nn * HOTKEY VECTOR METHOD
Provides direct control of the Hotkey Vector Method. If your machine is an
AT-type machine, you can select either interrupt 09h or 15h. Interrupt 15h is
compatible with foreign keyboard support. If your application has conflicting
key assignments, you can disable HyperDisk hotkeys by selecting K:-.

KD * UPDATE MODIFIED BUFFER ON DOS DISK RESET
KD or KD:+ will not update modified buffers when a DOS disk reset, INT 21h, 0Dh
is called; KD:- enables update. Default is update disabled.

Y * DIAGNOSTIC DUMP
Creates a diagnostic file on the current disk and directory of the resident
HyperDisk program memory. The function aids in problem determination.

YD * DISPLAY SYSTEM ACCESS COUNTS
Displays total system read/write requests, saved accesses (cached sectors), and
disk accesses in a diagnostic report.



Part 3: HyperKey


What is HyperKey?

HyperKey is a powerful keyboard enhancement package that dramatically improves
the speed and performance of your PC keyboard. With HyperKey you can customize
all keyboard functions including the type-ahead buffer size, key repeat rate,
length of delay before a key begins repeating, keyboard clicking sounds, and
Touch Shifting for one- finger typing.

Your PC has a basic input/output system (BIOS) that normally controls your
keyboard functions. The BIOS provides little support for many windowing- and
scrolling-type applications common in PC systems. Both the delay to repeat
(Typematic Delay) and the period of repeat (Typematic Rate) are slow and
cumbersome. Although the PC BIOS provides a type-ahead feature, it is only 15
keystrokes. The BIOS type-ahead buffering can be both an advantage and a
disadvantage. If you are waiting for a slow program, you can enter data before
you are prompted, saving time when the program needs your input. However, when
you are scrolling or repeating a keystroke, the BIOS type ahead can cause you
to overshoot your target.

HyperKey addresses all of these problems. You can set the Typematic Delay and
Typematic Period to any value. HyperKey type-ahead buffering provides 128
keystrokes and does not fill with repeated keys as the PC BIOS does. The
Typematic Period is paced to match your application's needs and will never get
ahead of your application.



HyperKey Options

The defaults for each parameter are listed at the end of their description, if
applicable. Lowercase, italic nn following a parameter is a place holder for a
number that you provide.

D:nn * TYPEMATIC DELAY
Sets the delay time before a key repeats itself, starting from when you hold
down the key until repetition begins. Units are in milliseconds (1/1,000 of a
second). Recommended starting value is 350; decrease it as you become
accustomed to a more responsive keyboard. Default is 300.

R:nn * TYPEMATIC PERIOD
Sets the minimum time between repeats of a key after the initial Typematic
Delay. Smaller values repeat keys faster; larger values repeat more slowly.
Units are in milliseconds. Start with a value of 30. Default is 30.

P:nn * TYPEMATIC PITCH
Decreases the Typematic Period automatically after each repeated key. The value
nn is subtracted from the repeat period after each repeated key, causing
repeats to speed up the longer you hold down the key. Units are in microseconds
(1/1,000,000 of a second). Default is 500.

S:nn * TYPEMATIC SPAN
Sets the number of repeat characters the Typematic Pitch control will affect.
For example, if you select a Typematic Pitch of 500 and a Typematic Span of 10,
each of the first 10 repeated keys will repeat faster than the previous one by
500 microseconds (1/2 millisecond), then remain constant for all keys
thereafter. Default is zero (disabled).



H:nn * SPAN HOLDOFF
Delays the initial effects of the Typematic Span function. The repeat period
will remain constant for nn characters before the Span functions begin to
decrease the period, or in other words increase the rate of repeats. For
example, if you have set the span to 30 and the pitch to 500 and now want the
first five characters to repeat without increasing the rate, set the Span
Holdoff to five. Default is zero.

B * EXTENDED BUFFERING
Enables HyperKey's type-ahead buffer. B or B:+ to enable; B:- to disable.
Default is enabled.

Note: If after installing other enhancement products two or more keys are
delivered for each key you strike, disable this option.

B:nn * EXTENDED BUFFER SIZE
Specifies the size of the extended keystroke during installation. Values for nn
range from 16 to 4096. Two bytes of memory are required for each keystroke.
Default is 128.

I * KEYBOARD LOCK INDICATORS
Changes the keyboard lock indicators, such as [CAPSLOCK] and [NUMLOCK]. Use the
first letter of the key indicator name; UPPERCASE sets the key active,
lowercase clears the indicator. Indicators are: [CAPSLOCK], [NUMLOCK],
[SCROLLLOCK], and [INSERT] state. In the following examples, the first sets all
indicators active, the second sets [CAPSLOCK], clears [NUMLOCK]:

C:\>HYPERKEY -ICNSI
C:\>HYPERKEY -ICn

Some computers do not accept indicator changes by device drivers; therefore you
may need to run HyperKey during AUTOEXEC.BAT initialization to change the
indicators after booting the machine. Default is no changes to key indicator
states.

A * ACTIVE
Enables all HyperKey functions. A or A:+ to enable; A:- to disable. If you
discover one of your programs is incompatible with HyperKey, you can disable
HyperKey while you are using that program. Default is enabled.



C * CLICK ON MAKE
Issues a click when a new key is struck. C or C:+ to enable clicks; C:- to
disable. Default is disabled.

C:nn * CLICK PITCH
Sets the pitch of the click. This function depends on machine speed. Experiment
to create the sound you find most pleasing. Default is 100.

CR * CLICK ON REPEATS
Issues a click on all keys, new and repeated. CR or CR:+ to enable; C:- to
disable. Default is disabled.

L:nn * CLICK PERIOD
Sets length of time the click sounds. This parameter also depends on machine
speed. Experiment to find a pleasing value. Default is 32.

T * TOUCH SHIFTING
Sets Touch-Shifting mode active. Makes it possible to enter a shifted key
combination (one that requires you to hold down two or more keys at a time) by
pressing only one keystroke at a time. For example, to enter [CTRL][F1], simply
press [CTRL] and release, then press [F1] and release. Touch Shifting is very
useful for 101- and 102-key keyboards. T or T:+ to enable; T:- to disable.
Default is disabled.

U * UNINSTALL
Uninstalls the TSR-type model, if it was previously installed. If HyperKey can
be removed from memory, all memory used will be released. You cannot uninstall
the device-driver version. If it's not possible to uninstall, you will receive
a message that the uninstall failed. You might consider disabling all functions
instead by using the Active option. The following example disables HyperKey:

C:\>HYPERKEY A:-

XS * SHADOW RAM LOADER
Loads program in Shadow RAM memory. If you have a Chips & Technologies NEAT 210
or 300 Series chip set*based computer or use an XMS-type product that supports
UMBs such as 386Max 4.30+, the SpeedKit program will load in this special
memory using none of the lower 640K of conventional memory. This option is
automatically inactive if loaded high with an external loader, such as
DeviceHigh, LOADhi, LOADhigh, etc.

Note: For Chips & Technologies computers, load high occurs in the
E000:0000-FFFF memory area. Therefore, other programs, adapters, ROMS, and EMS
memory banks must not use this area.



XF:file * EXECUTE COMMAND FILE
Directs the program to carry out the commands contained in the designated file
where file is a standard DOS path and filename. You can use this function to
store common procedures or personalized options. Create a file that contains
the command line and parameters desired for a specific user or application. The
command file can contain multiple lines, and comments should be delimited by a
semicolon. The following example is for HyperDisk:

  C:\>>HYPERDKC XF:C:\ANYFILE.EXT

  Example of ANYFILE.EXT format:

  EH:0                ;comment: enable only first hard drive
  OT OC               ;comment: disable tone and change line
  XB:9                ;comment: update disk every 1/2 second

Windows users can use the parameter XF:CON to be prompted for console
input/output. Use this option for Windows PIF default command line parameters.

KW * KEY WAIT TIME
Selects wait for key after No Parameter status panel. KW or KW:+ enables a
pause after the status panel. KW:- disables the wait for a key. Alternatively,
you can select a time delay by specifying KW:nn, where nn is the number of
seconds to wait before continuing automatically. Default is to wait for a
keystroke if no parameters are specified.

OR * OVERRIDE REPORT
Disables the output report that is normally generated whenever you run a
SpeedKit product from the command line. This option is useful if you are
running from batch files and do not want the report to fill the screen.
Specifying OR:- will disable the installation report delay, but the report
itself will still be displayed.

OX * DISABLE REPORT
Displays report unless Override Report is applied. OX or OX:+ disables report
panel; OX:- restores report panel display. OR:- can be used to override the OX
setting. Default is to display report.

OK * OVERRIDE DISPLAY METHOD
Selects the display method. SpeedKit products normally display data directly by
means of the video BIOS. OK or OK:+ forces I/O directly to the video BIOS,
while OK:- forces DOS I/O. Alternatively, the standard output device can be
redirected to any device or file. Default is direct to video BIOS.

In the following example, HyperDisk will display the report by means of DOS
standard output device:

  C:\>HYPERDK OK:-

  In the following example, output from HyperKey is redirected to console (CON)
  device:

  C:\>HYPERKEY >>CON



OK:nn * OVERRIDE COLORS/ATTRIBUTES
Selects the colors/attributes for the current display. Color displays provide
16 foreground colors to be applied on either 8 (CGA) or 16 (EGA/VGA) background
colors. Monochrome displays provide a variety of display attributes. Some allow
two or more intensities, underlining, blinking, etc. For CGA displays, there
are 120 useful combinations; EGA/VGA displays, 240. Monochrome displays vary
and are generally less than CGA. You can enter a value for nn in either decimal
or hexadecimal formats. The first example below is a decimal example with
HyperDisk; the second is a hexadecimal example with HyperScreen:

  C:\>HYPERDK OK:30
  C:\>HYPERSCR OK:X1E

  Both of the above examples select yellow on a blue background. Alternatively,
  you can select the colors manually by specifying (using HyperKey as an
  example):

  C:\>HYPERKEY OK:0

OKC:nn * OVERRIDE COLORS ONLY
Same as OK:nn, except only color display attributes are affected. Useful for
systems with both monochrome and color displays.

OKM:nn * OVERRIDE ATTRIBUTES ONLY
Same as OK:nn, except only monochrome display attributes are affected.



Part 4: HyperScreen


What is HyperScreen?

HyperScreen is a video enhancement tool that gives you the most power and
versatility from your existing video hardware. With state-of-the-art software,
it provides manual and automatic screen blanking and video BIOS speedup.

The automatic screen blanking function shuts off your video display after a
preset time to prevent a persistent image from burning into the display's
phosphors. Phosphors are the light emitting substances that make the electronic
image visible. If a fixed image is displayed continuously, the phosphors
deteriorate, producing a burned screen. Although monochrome displays are most
often affected by burning, color displays can lose brightness and contrast if
an image is displayed too long.

With HyperScreen's manual blanking function you can quickly blank any
information displayed on the screen. This feature protects sensitive data from
exposure to unexpected visitors. By specifying parameters, you can choose which
key activates this feature and the number of times it must be pressed to blank
the screen.

The Fast BIOS feature increases the speed of your display by replacing
inefficient portions of video BIOS code. This option speeds all text mode
displays in DOS or any text-based programs, but it does not speed up graphics
displays or direct display access applications. These functions are based on
the individual software packages rather than the BIOS code on the video card.


HyperScreen Options

The defaults for each parameter are listed at the end of their description, if
applicable. Lowercase, italic nn following a parameter is a place holder for a
number that you provide.

A * GLOBAL HYPERSCREEN ENABLE
Enables all HyperScreen functions. A or A:+ to enable; A:- to disable. Default
is enabled.

F * ENABLE FAST BIOS
Enables the Fast BIOS routines for speeding up all mode operations. F or F:+ to
enable; F:- to disable. Default is enabled.

B * ENABLE BLANKER
Enables the screen blanking function. B or B:+ to enable; B:- to disable.
Default is enabled.

B:nn * SET BLANKING TIME
Sets the inactivity timer, where nn is the number of minutes that the keyboard
has not been used. After nn minutes expire without a keystroke, HyperScreen
will blank the screen. B:0 disables the timer. Default is 10 minutes.

K * ANY KEY DEBLANKING
With this option enabled, you can strike any key to restore the display after
HyperScreen has blanked it. With some software, Microsoft Windows for example,
only the SHIFT and LOCK keys will restore the display. However, if you want to
specify a single key to use for restoring the display, disable this option (K-)
and use the Hotkey Selection option. Default is K:+, any key deblanking.



K:nn * HOTKEY TAP COUNT
Specifies the number of successive times the hotkey must be pressed (tapped) to
manually blank or restore the screen. The timing of the taps is important; they
should be spaced no more than about 1/2 second apart. Normally, this is easy to
do. If the Any Key Deblanking option is active, one tap will restore the
screen. Default is three taps.

K:s * HOTKEY SELECTION
You can select any of the hotkeys listed below for manual screen blanking and
restoring. Substitute for s the hotkey you want to use. For example, K:A
selects [ALT] as your manual screen blanking and restoring hotkey. Default is
[CTRL].

Use to choose blanking, restoring hotkey

K:L     [LEFTSHIFT]
K:R     [RIGHTSHIFT]
K:C     [CTRL]
K:A     [ALT]
K:S     [SCROLLLOCK]
K:N     [NUMLOCK]
K:P     [CAPSLOCK]


U * UNINSTALL
Uninstalls the TSR-type model, if it was previously installed. If HyperScreen
can be removed from memory, all memory used will be released. You cannot
uninstall the device-driver version. If it isn't possible to uninstall, you
will receive a message that the uninstall failed. You might consider disabling
all functions instead. The following example disables HyperScreen:

  C:\>HYPERSCR A:-

XS * SHADOW RAM LOADER
Loads program in Shadow RAM memory. If you have a Chips & Technologies NEAT 210
or 300 Series chip set*based computer or use an XMS-type product that supports
UMBs such as 386Max 4.30+, the SpeedKit program will load in this special
memory using none of the lower 640K of conventional memory. This option is
automatically inactive if loaded high with an external loader, such as
DeviceHigh, LOADhi, LOADhigh, etc.

Note: For Chips & Technologies computers, load high occurs in the
E000:0000-FFFF memory area. Therefore, this area must not be used by other
programs, adapters, ROMS, or EMS memory banks.



XF:file * EXECUTE COMMAND FILE
Directs the program to carry out the commands contained in the designated file
where file is a standard DOS path and filename. You can use this function to
store common procedures or personalized options. Create a file that contains
the command line and parameters desired for a specific user or application. The
command file can contain multiple lines, and comments should be delimited by a
semicolon. The following example is for HyperDisk:

  C:\>>HYPERDKC XF:C:\ANYFILE.EXT

  Example of ANYFILE.EXT format:

  EH:0                ;comment: enable only first hard drive
  OT OC               ;comment: disable tone and change line
  XB:9                ;comment: update disk every 1/2 second

  Windows users can use the parameter XF:CON to be prompted for console
  input/output. Use this option for Windows PIF default command line
  parameters.

OR * OVERRIDE REPORT
Disables the output report that is normally generated whenever you run a
SpeedKit product from the command line. This option is useful if you are
running from batch files and do not want the report to fill the screen.
Specifying OR:- will disable the installation report delay, but the report
itself will still be displayed.

OK * OVERRIDE DISPLAY METHOD
Selects the display method. SpeedKit products normally display data directly by
means of the video BIOS. OK or OK:+ forces I/O directly to the video BIOS,
while OK:- forces DOS I/O. Alternatively, the standard output device can be
redirected to any device or file. Default is direct to video BIOS.

  In the following example, HyperDisk will display the report by means of DOS
  standard output device:

  C:\>HYPERDK OK:-

  In the following example, output from HyperKey is redirected to console (CON)
  device:

  C:\>HYPERKEY >>CON



OK:nn * OVERRIDE COLORS/ATTRIBUTES
Selects the colors/attributes for the current display. Color displays provide
16 foreground colors to be applied on either 8 (CGA) or 16 (EGA/VGA) background
colors. Monochrome displays provide a variety of display attributes. Some allow
two or more intensities, underlining, blinking, etc. For CGA displays, there
are 120 useful combinations; EGA/VGA displays, 240. Monochrome displays vary
and are generally less than CGA. You can enter a value for nn in either decimal
or hexadecimal formats. The first example below is a decimal example with
HyperDisk; the second is a hexadecimal example with HyperScreen:

  C:\>HYPERDK OK:30
  C:\>HYPERSCR OK:X1E

Both of the above examples select yellow on a blue background. Alternatively,
you can select the colors manually by specifying (using HyperKey as an
example):

  C:\>HYPERKEY OK:0

OKC:nn * OVERRIDE COLORS ONLY
Same as OK:nn, except only color display attributes are affected. Useful for
systems with both monochrome and color displays.

OKM:nn * OVERRIDE ATTRIBUTES ONLY
Same as OK:nn, except only monochrome display attributes are affected.



Part 5: Error Messages



General Error Messages

The following error messages are common to all SpeedKit components:

Already Installed!
SpeedKit product has already been installed. The program type and version of
the resident program are displayed, followed by the error message.

Invalid Parameter: UNKNOWN
An invalid command-line parameter was specified. Verify your command-line
parameters against the definitions in the "Options" sections for HyperDisk,
HyperKey, and HyperScreen. Inserting a delimiter (/,:,-, etc.) between
parameters will ensure that only the invalid character is chopped; other valid
parameters will be installed.

Incorrect DOS Version
SpeedKit requires DOS version 2.0 or later. SpeedKit product was not loaded.



HyperDisk Error Messages

Following is a list of HyperDisk error messages:

Extended Memory Not Supported (INT 15h)
HyperDisk could not find the extended memory BIOS software (INT 15h). Your
computer does not support INT 15h extended memory functions. You should use
either the Expanded Model or the Conventional Model instead.

No Extended Available
HyperDisk could not find any free memory in the extended memory manager. You
should free some extended memory from other uses, or try the Expanded Model or
the Conventional Model.

Insufficient Extended Memory
HyperDisk could not find enough free memory in the extended memory manager. A
minimum of 128K is required to use HyperDisk.

Expanded Memory Manager Not Found
HyperDisk could not find the EMS memory manager software. Either you omitted
the EMS device driver statement in your CONFIG.SYS file or you placed the
HyperDisk device driver statement before the EMS device driver statement in
your CONFIG.SYS file.

No Expanded Memory Available
HyperDisk could not find any memory in the EMS memory manager.

Insufficient Expanded Memory
HyperDisk could not find enough free memory in the EMS memory manager. A
minimum of 128K is required to use HyperDisk.

Insufficient Conventional Memory
HyperDisk could not find enough free memory in the DOS memory manager.
HyperDisk requires at least 400K free before installation begins. A minimum of
144K is required by HyperDisk when installing with a 128K cache size (the
default size).



HyperDisk Error RShft:  Retry=LShft Skip=Ctrl Abort=Alt?
This message supports responses by both keystrokes and shift state hotkeys.
Shift state hotkeys allow entry of commands even when the foreground
application has taken normal keyboard control (i.e., Microsoft Windows,
SmartCom, etc.). The error message is preceded by three beeps. The following
table lists hotkeys and keystrokes you can use to choose a command:

To choose press

Retry     R or [RIGHTSHIFT][LEFTSHIFT]
Skip      S or [RIGHTSHIFT][CTRL]
Abort     A or [RIGHTSHIFT][ALT]


If you don't enter a response within four seconds, a Retry is automatically
entered for you. See the following error message for the meanings of Retry,
Skip, and Abort.

Error [drive]#:n: - [error message]: Retry, Skip or Abort
An error was detected during a disk write operation. The error code will be
either an extended memory, EMS, or BIOS error.

*    Retry: pressing R will retry the same disk request.
*    Skip:  pressing S will skip this disk write and continue with the next write.
*    Abort: pressing A will remove the active drive data from the HyperDisk buffers
     without updating the disk. Use this response only for floppies you are
     going to discard because of defective and unacceptable media. This
     response is not the same as multiple Skips.

If the error code is ABxx then xx is the EMS error code in hexadecimal (see
your EMS manual error definitions). For an EMS error (ABxx), the EMS software
has been corrupted, and the Retry option most likely will continue to fail.

If the error code is EDxx then xx is the extended memory error code in
hexadecimal (see the IBM-AT Technical Reference [1502243] BIOS Listing,
Section: BIOS 1, Error Code Definitions). For an extended memory error, the
memory has been corrupted and the Retry option most likely will continue to
fail.

If the error is a disk BIOS error on a diskette drive, the error condition
usually indicates that the diskette latch is open. If this is the case, replace
the diskette and/or close the diskette latch before giving the Retry response.



Part 6: Troubleshooting


Introduction to Troubleshooting

If you are having problems with any of the SpeedKit products, first read
through this section. If you continue to have problems after reading this
section, please have the following information ready before calling technical
support:

*    Computer manufacturer and type;
*    Amount of memory;
*    Size and type of hard disk;
*    DOS version;
*    Copy of CONFIG.SYS and AUTOEXEC.BAT files;
*    HyperDisk version number and serial number, both of which can be found on
     your diskette.

We prefer that you be at the machine you are having problems with when you call
technical support. A technician can be reached at (415) 882-1740 during normal
business hours, Monday through Friday, 9 a.m. to 5 p.m., Pacific Time. Often, a
technician is on duty after business hours as well and will answer your
questions if available. If a technician is not available, you can leave a
message on our bulletin board, (415) 882-1735, or in our CompuServe Forum,
PCVENB Conference #13.


Troubleshooting Tips

If you are unable to boot your machine because HyperDisk causes system crashes,
try pressing [CTRL][ALT][LEFTSHIFT] to boot your machine without loading
HyperDisk.

If you want to test to see if HyperDisk is causing your problem, try booting
your machine with HyperDisk installed but disabled, using the [CTRL][ALT]D key
combination. If you continue to have the same problem, it is probably being
caused by something other than HyperDisk.

If your problem persists, try turning off your machine, wait 30 seconds, and
try again.


Copy Protection

Some products that use copy-protected media may require that the caching
function be disabled during the media verification period. Press [CTRL][ALT]D
to disable HyperDisk and [CTRL][ALT]E to enable it.



Commonly Asked Questions

Can I run HyperDisk with another disk cache?
NO! You must always run only a single software cache. You are going to have
problems if you run two programs that are performing the same function
simultaneously. Never run two caches at the same time, regardless of which ones
they are.

The only exception is caching controllers. HyperDisk has been tested with many
hard disk controllers with built-in caches, and the combination works just
fine. But never run two software caches together; it will only lead to problems
with your hard disk.

HyperDisk automatically prevents conflicting configurations by detecting other
disk- caching software, such as SmartDrive or PC-Kwik, and stopping
installation.


Do I have to remove SmartDrive when using HyperDisk?
Yes. SmartDrive is a disk cache, and you cannot run two software disk caches at
the same time without causing problems.


Is it okay to use FASTOPEN?
No. We don't recommend ever running FASTOPEN. FASTOPEN is a special type of
program that caches file structures. It has proven to be very unreliable and
only marginally enhances system performance. FASTOPEN was designed to be used
without a disk cache before Microsoft included SmartDrive with DOS. Most recent
versions of FASTOPEN work with SmartDrive but continue to cause problems with
third party caches, such as HyperDisk.


Why don't I notice any difference between HyperDisk and SmartDrive?
Make sure that HyperDisk's Staged Write options are turned on. This is the most
noticeable difference when comparing HyperDisk to other caches.


HyperKey isn't working in Windows. What's wrong?
Because of the way Windows works there is no way for HyperKey to function under
Windows. We are working on a version specifically for Windows, but currently
you cannot benefit from HyperKey while running Windows.



Hotkey Controls

Use the following hotkey combinations to speed your processing with SpeedKit
utilities.

ABORT INSTALLATION * [CTRL][ALT][LEFTSHIFT]
Suspends installation of HyperDisk. When booting your computer, but before
HyperDisk loads, you can suspend the installation by holding down
[CTRL][ALT][LEFTSHIFT] . You will be prompted to choose whether to continue or
stop installation.

WARM-BOOT * [CTRL][ALT][DEL]
Warm-boots the computer system. HyperDisk first writes any modified data to
disk. If the disk requires updating, you will hear two tones and HyperDisk will
begin writing to your disk. After the updates are complete, press
[CTRL][ALT][DEL] again, and the system will warm-boot.

If you have other TSRs that also monitor[CTRL][ALT][DEL], they may restart the
computer without allowing HyperDisk to update your disk. If so, first disable
caching by using[CTRL][ALT]D and then warm-boot the computer.

If you are unsure of the behavior of other resident programs, you can test your
system by copying files to a test floppy diskette. First, activate HyperDisk's
Staged Write feature by pressing[CTRL][ALT]A. Insert a newly formatted disk in
drive A and copy a large number of files to it by typing copy *.* A:.

When your screen indicates that the copying is finished (or has failed because
of insufficient disk space), immediately issue the warm-boot command,
[CTRL][ALT][DEL]. If you hear two tones and your system begins to write to the
floppy, you can issue warm-boots without fear of losing any data.

If your system immediately restarts, you will have lost data being copied to
drive A. Your disk integrity will be in question while using the other TSRs
together with HyperDisk's Staged Write options and issuing the [CTRL][ALT][DEL]
warm-boot key combination.

Possible remedies are to:
*    remove the other offending TSR;
*    always disable HyperDisk before you warm-boot; or
*    use the Write Through feature in your installation of HyperDisk, which is
     the default setting and requires no extra parameters.

FORCE UPDATE BEFORE PROGRAM LOADS * [CTRL][ALT]F
Updates all changes to disk/diskette before running the next program load
request. Provided for development and testing systems.

RESUME STANDARD UPDATE * [CTRL][ALT]R
Resumes normal update conditions. Provided for development and testing systems.

MANUAL DISKETTE CHANGE * [CTRL][ALT]C
Changes diskette media indication. If two diskettes have identical file
allocation tables, HyperDisk cannot detect that the diskette has changed. Use
this command to force HyperDisk to recognize the new diskette.



Appendix A: Compatibility Notes


Borland's Reflex Package
Reflex provides an asynchronous update mode for disks and diskettes. You must
disable this function with the command line switch -a before operating it with
HyperDisk. Because of special considerations necessary for DESQview operation,
Reflex and HyperDisk are incompatible if the Asynchronous option of Reflex is
selected.

Borland SuperKey
When using HyperWare products with Borland SuperKey you must set the SuperKey
B:- parameter.

Everex EverDisk Hard Disk Integration Package
Hyperdisk has no known operating problems in this environment.

OnTrack Disk Manager, Storage Dimensions SpeedStor Disk Integration Packages
Currently Hyperdisk directly supports hard drives formatted with Disk Manager
and SpeedStor. If you have a hard drive using DOS 3.3 or later then you must
use Disk Manager version 3.1 or SpeedStor version 5.14. If you use older
versions of these products then you might run into compatibility problems with
HyperDisk.

Stacker, SuperStor Hard Disk Integration Packages
No special action is required to support compressed disk volumes using these
packages. HyperDisk can be loaded either before or after these drivers. You do
not need to exclude any logical volumes from being cached.



Appendix B: HyperDisk Limitations


HyperDisk supports disk and diskette drives accessed by BIOS INT 13h services.
Up to 20 drives can be cached, 10 hard disks and 10 floppies. To be cached,
disk and diskette media must be formatted as 512 bytes per sector with 8 to 63
sectors per track.

HyperDisk supports hard drives with up to 256 heads and 1,024 cylinders
maximum, or 64 heads maximum and 4,096 cylinders, accessible with special
software such as SpeedStor, Disk Manager, or AMI/OMTI BIOS-compatible
controllers.

Supported floppy diskette systems include: 5.25-inch single and double sided,
double- and high-density formats (8, 9, and 15 sectors per track); 3.5-inch
drives single and double sided, double- and high-density formats (9 and 18
sectors per track).

HyperDisk supports partitioned hard disk systems (multiple logical drives per
physical drive) and should be installed after the device driver provided by the
disk supplier. PC- DOS versions 3.30 and later directly support multiple
logical drives. No additional device drivers are required.

If a diskette is removed from a drive and placed in another PC where it is
changed slightly * but no change occurs in the file allocation table * and then
returned to the first PC, HyperDisk may not detect the media change and fail to
update the buffers to reflect the new changes. Therefore, if you remove, alter,
and replace a diskette, take notice if HyperDisk issues a media change tone. If
you don't hear a tone, use the hotkey combination [CTRL][ALT]C to change the
media indication manually and force HyperDisk to recognize the new diskette.
For more information see Manual Diskette Change in "Hotkey Controls," in Part
6.



Appendix C: HyperDisk Notes for Windows Users


HyperDisk 4.32 and later revisions have been made with specific enhancements to
provide optimum performance under Windows. Generally you will not have to
change any of the parameters in HyperDisk for Windows to function at optimal
speed. There are two tips that you should be aware of when using HyperDisk with
Windows.

1. Make sure to use the Staged Write features.
   Windows is a large and complex environment, which requires that a lot of
   temporary data be stored to disk. By having Staged Write turned on, most of
   this temporary disk writing can be eliminated, since the data will be
   redundant and will write to the area of the disk that falls into the cache
   buffer.

2. Beware of Windows memory requirements.
   Windows is a memory intensive environment. You should always leave at least
   50 percent of your total system memory available for Windows and its
   applications. For example, on an 8 MB machine, never use more than 3.5 MB (8
   MB - 640K for DOS / 2 = 3.5 MB) for the disk cache or any other programs
   such as print spoolers or RAM disks. If you notice sluggish performance
   under Windows verify that you are not using all of the extended memory for
   the disk cache.



Appendix D: Manual Installation


Warning: If you have Golden Bow's VFEATURE Deluxe, do not install HyperDisk.
VFEATURE is a noncompatible INT13h device driver.

1. Copy all files with an .EXE extension from the diskette to your hard disk.
   Place the files in the root directory or in any subdirectory.

2. Make sure no other disk caching software is installed. HyperDisk works fine
   with hardware cache controllers, but it may conflict with other software
   caches. The following table lists the most popular software caching products
   and the associated program names that might be called from either
   AUTOEXEC.BAT or CONFIG.SYS files.

     Caching product                  Program name

     Super PC Kwik                    SUPERPCK, PCKWIK.SYS
     Flash                            FLASH
     Speed Cache                      SCPLUS, SC
     Vcache                           CACHE, CACHE-AT, CACHE-EM,VKETTE
     SmartDrive                       SMARTDRV.SYS, SMARTDRV.EXE
     PC Cache                         PCACHE
     FAST!                            FAST???.EXE
     NetWare Cache                    NLCACHE
     Lantastic                        LANCACHE


   If any of these programs are installed, you must remove them before
   attempting to install HyperDisk. Running two or more caching programs
   simultaneously may result in the loss of or damage to your data and program
   files.

3. Choose whether to install HyperDisk as a device driver or as a TSR. We
   recommend installing as a device driver unless you want to uninstall
   HyperDisk later in your session. If you will want to uninstall HyperDisk,
   use the TSR method.

   As a device driver, HyperDisk should be installed after any special disk
   device drivers, such as:


     Disk device driver                    Program name

     Disk Manager                          DMDRVR.BIN
     SpeedStor                             HARDRIVE.SYS, SSTOR.SYS
     DOS                                   DRIVER.SYS


   Each SpeedKit product can be installed as a DOS device driver or as a TSR
   program. Most commonly, they are installed as device drivers, but for some
   near- compatibles it may be necessary to install them after a TSR that makes
   your system keyboard IBM compatible. If you choose the device-driver method,
   you must include the installation specification in your CONFIG.SYS file. Use
   an editor to update the CONFIG.SYS file on your boot drive root directory.



   The device-driver definition is normally installed immediately after an
   extended or expanded memory manager, but before any other device-driver
   definition. Install them in this order: HyperDisk, HyperKey, and finally
   HyperScreen. If you placed the SpeedKit files in a subdirectory, you should
   specify a fully qualified path in the DEVICE = statement.

   If you choose the TSR method, you also can run HYPER???.EXE at the command
   prompt. Alternatively, you can place the HYPER???.EXE specification in your
   AUTOEXEC.BAT file on your root directory.

   The following example of lines in the CONFIG.SYS file installs the Expanded
   Memory Model of HyperDisk with a 512K EMS cache, Staged Write enabled for
   the hard drives only, and Verify Read enabled for all disk writes; installs
   HyperKey with a Typematic Delay of 180 milliseconds and a repeat rate of 18
   milliseconds and disables the installation report; and installs HyperScreen
   with a blanking and restoring hotkey of x. Each product is installed as a
   device driver, and the files are placed in the TOOLS subdirectory of drive
   C:

     DEVICE=EMS40.SYS                   {for EMS driver }
     DEVICE=C:\HYPERDKE.EXE /C:512 /S /Q /V
     DEVICE=C:\HYPERKEY.EXE /R:18 /D:180 /OR
     DEVICE=C:\HYPERSCR.EXE /K:L /K:-


4. If you are using the TSR installation method, place all SpeedKit products at
   the beginning of the AUTOEXEC.BAT file:

     C:\HYPERDKE.EXE /C:512 /S /Q /V
     C:\HYPERKEY.EXE /R:18 /D:180 /OR
     C:\HYPERSCR.EXE /K:L /K:-

5.  Reboot your machine to complete the installation of SpeedKit.

    Note: Install HIMEM.SYS (or QEMM 5.10) before HyperDisk. Install HyperDisk
    before Windows. HYPERDKX.EXE should be used with QEMM 5.11.



Appendix E: Technical Notes on HyperDisk


HYPERDKX.EXE


Extended memory is only available in 80286 (IBM-AT), 80386, and 80486
computers. This memory is above 1 MB and is normally not accessible from MS-DOS
real mode applications. HyperDisk uses special BIOS functions (INT 15h,
extended memory block move) to access this memory.

If your system uses QEMM, 386Max, EMM386, HIMEM.SYS, etc., the following two
warnings do not apply. If you are not using one of the better-known extended
memory managers, the extended memory BIOS functions have some side effects that
you should be aware of:

*  Interrupts may be lost. Interrupt processing is suspended while the extended
   memory is being accessed. High-speed communications programs are the most
   likely to encounter problems. Should you require both caching and high-speed
   interrupt processing simultaneously, switch to the Advanced 286/386 Model,
   the Expanded Model, or the Conventional Model.

*  Pfix and Pfix-Plus (possibly others) may hang when using INT 15h extended
   memory block move functions with the Intel Inboard 386/AT. This problem is
   related to the PC-AT ROM BIOS. Test your system carefully. Intel's Inboard
   386 Utility Software version 1.2 corrects this problem. Disable caching with
   [CTRL][ALT]D while these products are being used.



Appendix F: More About Caches


History of Caching

Although the idea of caching is ancient, the science of caching is quite
recent, with most of the fundamental work dating from the 1960s. The Belady
replacement algorithm, published in 1967, provides the baseline by which all
caching techniques can be measured and compared. This algorithm, known as The
Greatest Forward Distance, is not realizable. Due to its noncausal nature it
requires perfect knowledge of the future! Consequently, the Belady algorithm
can only be applied to systems that have already completed operations or are
perfectly cyclic in behavior, which is not very useful in a PC application
environment. Once a realizable algorithm is implemented, Belady's algorithm can
be applied to the request list or reference string history to assess how close
to optimum the test algorithm performs. It is this comparison upon which the
fundamental science of caching rests.

Many caching algorithms have been published and compared to the Belady
baseline. Leading are the Least Frequently Used (LFU) algorithms, followed
closely by the Least Recently Used (LRU) algorithms. Differences in performance
are less than 8 percent on the average. However, LFU algorithms are more
complex to implement, and most systems perform better using LRU algorithms,
since executing complex algorithms requires time and space. Common algorithms
for central processing unit (CPU) instruction caches are Direct, Two-Way
Associative, and Four-Way Associative. Programming systems that support overlay
loading commonly use Least Recently Loaded (LRL) algorithms.

HyperDisk uses a modified LRU algorithm, which is simple and executes quickly.
Weak points in general LRU performance appear when data is retrieved from the
disk in such a fashion that the data is replaced after being used only once.
This type of behavior is termed overcommitment or thrashing. To avoid
overcommitment, HyperDisk uses a proprietary combination of linear and random
access predictors to identify the onset of the condition.

For more information on caching in computing systems, see the journals of the
Association for Computer Machinery or the Institute of Electrical and
Electronics Engineers. Disk Controller Caches Many manufacturers now offer disk
controllers that feature onboard caching functions. These controllers generally
provide excellent performance. However, because of cost and space limitations,
most controllers provide only a small buffer to hold data, typically less than
512K. In addition, access to the controller buffer is slower than access to
normal system RAM. If your system is an 80386 or 80486 32-bit system, the
I/O-channel speed is very slow when compared to system RAM. Another limitation
of disk controllers is that the buffer memory is dedicated to the caching
function and cannot be used in any other way.

For maximum system performance when using a caching disk controller, we
recommend a modest buffer size on the controller (16K to 128K). Install
HyperDisk as you would with a normal controller, using either extended or
expanded memory. The combination of HyperDisk and a caching controller is
unbeatable.



Other Caching Systems

Caching techniques were invented long before the use of personal computers.
Mainframe computer systems have been implementing caching techniques for some
time, and now caching is available for PCs as well. There are many types of
caches, all unique and different.

Memory caches usually allow the use of slower memory chips on new high-speed
machines. Many 80386 and 80486 computers on the market today implement a memory
cache design. They place a small amount of high-speed memory in the system
(usually 64K of static RAM) and then use that memory to cache up to 16 MB of
slower dynamic RAM chips. This system allows the machine to use the full speed
of the processor while maintaining a very economical memory system.

CPU caches are implemented to allow the stacking of instructions waiting for
the processor, thus increasing the speed of the system.

Print spoolers are another type of cache. Print spoolers use memory or disk to
cache the information being sent to the printer, freeing the machine to
continue with other work.

None of these types of caches is the same as a disk cache. Often computer users
assume that if they have one type of cache in a system, they don't need any
other. In fact, system performance is best when a cache is built into every
area of the machine.



Appendix G: Uninterruptible Power Supply Support

UPS Monitor

HyperDisk can monitor the status of any Uninterruptable Power Supply (UPS) that
has a serial port.  This is very useful for machines that are run unattended
such as file servers and communiation workstations.  By monitoring the UPS,
HyperDisk can help prevent data loss by shutting down whenever the computer is
not running on normal power.  This helps prevent any data that would be in a
"staged write" buffer from being lost by turning off staged writes whenever
normal power is not being used.

The UPS Monitoring function is very flexible and can monitor any I/O port
for active signals.  Multiple signals can be monitored as well as signals with
different polarity.

The UPS Monitoring function can work in conjuntion with other monitors such
as the monitors built into Lantastic and Novell.


Use the UP: parameter to set up the UPS Monitoring function.

UP:{IoPort}:{IoPolarity}:{IoMask}:{CacheMask}[:{PollSeconds}[:{PollCount}]]

  Items in {} are required, item in [] optional.


    IoPort  Input port address. This is the address of the port to be monitored.
            This number must be in Hexidecimal format.


IoPolarity  Inverts sense of input port bits.  Normally the monitor looks for a
            "high" signal for a true occurance of a state.  By switching the
            polarity, the monitor will look for a low occurance of the state.
            0 does not change value
            1 inverts bits sense

    IoMask  Determines which bits to test for non-zero conditions.
            0 drops bit from test
            1 retains IoPort bit value.
            Non-Zero results indicates active UPS (AC power off)
            Zero results indicates inactive UPS (AC power on)

 CacheMask  is a bit field
            1 disables function if this bit occurs
            0 no change to function if this bit occurs

            Bit BitName        A one (1) will disable the corresponding function

             0  StagedFloppy   Stage Write floppy drive write operations
             1  StagedHard     Stage Write hard drive write operations
             2  VerifyFloppy   Verify floppy drive write operations
             3  VerifyHard     Verify hard drive write operations
             4  Reserved0      Reserved always 0
             5  Reserved1      Reserved always 0
             6  FloppyEnable   Enable floppy caching
             7  CacheEnabled   Enable all caching functions



PollSeconds Sets the period in seconds to sample IoPort value.  Every nn
            seconds the I/O port will be checked for changes in status.

PollCount   Sets the number of identical IoPort samples before changeing
            the cache state.  This tells the monitor how many times it should
            wait after seeing a change in the state of the UPS before it should
            change the status of the cache.  This helps keep the cache from
            changing states if the UPS just goes onto battery power for a
            moment such as during a brown out.



IoMask Values for COM port based UPS monitoring system

  To set the IOMask values you must determine which pin on the I/O port you
  are going to use to monitor the UPS.  Most of the UPS' use the Carrier
  Detect Pin on a PC serial port to monitor the UPS status.

  To calculate the IOPort address to use you must first determine which
  port you are going to be monitoring, then, calculate the offset to the
  port register that you will be using.  In most cases you will be using a
  serial port at either COM1 or COM2 and monitoring the Modem Status Register.
  To monitor the Modem Status Register on COM1 you would calculate the following
  address:

  COM1 is generally located at 3F8.
  COM2 is generally located at 2F8.
  Modem Status Register is 6 Bytes from the port address.
  The IOPort address would be 3F8 (COM1) + 6 (MSR) = 3FE for COM1
  The IOPort address would be 2F8 (COM2) + 6 (MSR) = 2FE for COM2


Below is a list of the common pins used to monitor UPS functions.

9-Pin Port  25-Pin Port   Signal Name     IoMask     IoPolarity

Pin 1       Pin-8         Carrier Detect    80            00

Pin 6       Pin-6         Data Set Ready    20            00

Pin 8       Pin-5         Clear To Send     10            00

Pin 9       Pin-22        Ring Indicator    40            00



To make your own cable for the American Power Conversion (APC) UPS follow the
pin-out details below:


 APC 9 pin interface               Computer 9 pin interface

 Cable end: Male (Pins)            Cable end: Female (Sockets)


   Pin 2 - AC Power Fault------------------Pin 1 - Modem Data Carrier Detect

   Pin 4 - Signal Ground-------------------Pin 5 - Signal Ground


Example:

 Monitor COM2, Modem Status port: Bit 7, Carrier Detect, normal polarity
 If power fails disable Staged Writes on both hard and floppy drives
 30 second sample period, 3 matching samples indicates active/inactive UPS

   HYPERDK UP:2FE:0:80:3:30:3




Appendix H: Product Information


Limited Warranty

In the event of notification of defects in material or workmanship of the
diskette media or manual, within the warranty period of 45 days from the date
of the purchase of the license fee, HyperWare will, at its option, replace the
diskette or manual, or refund the license fee. If you need to report a defect,
call the HyperWare Customer Service Department. The remedy for breach of this
warranty shall be limited to replacement or refund and shall not encompass any
other damages, including but not limited to loss of profit, and special,
incidental, consequential, or other similar claims.

HyperWare specifically disclaims all other warranties, expressed or implied,
including but not limited to implied warranties of merchantability and fitness
for a particular purpose with respect to defects in the diskette and
documentation, and the program license granted herein in particular, and
without limiting operation of the program license with respect to any
particular application, use, or purpose. In no event shall HyperWare be liable
for any loss of profit or any other commercial damage, including but not
limited to special, incidental, consequential, or other damages. This statement
shall be construed, interpreted, and governed by the laws of the State of
California.


Product Return Policy

You may return any HyperWare product as long as the seal of the distribution
envelope has not been broken and the product is in a resaleable condition.
Resaleable means the condition you would want to receive the product in if you
just bought it new. Call our Customer Service Department for a Return
Merchandise Authorization number before shipping the merchandise to us. No
refunds will be given for merchandise returned with the envelope seal broken or
if the diskette inside has been copied.


Upgrade Policy

You can get a free upgrade all HyperWare products from HyperWare's BBS for one
year from the date of purchase of the license. Thereafter, an annual
subscription fee entitles you to an unlimited number of upgrades from the BBS
during the following 12 months. You can obtain a new manual and program
diskette at any time for a minimal cost. Prices and terms are subject to change
without notice. Please call for current information before ordering or
subscribing.

Ordering Information

Call your local computer store or order directly from:
HyperWare, 185 Berry Street, Suite 3502, San Francisco, CA 94107, USA

PHONE:    (415) 882-1740
FAX:      (415) 882-1733
BBS:      (415) 882-1735

MasterCard, VISA, American Express, and COD cashier's check orders accepted.



Technical Support

Each SpeedKit product is meant to be installed as a set-it-and-forget-it
utility. The benefit of the programs will be readily apparent in the day-to-day
improvement of your system performance. We have taken every step to ensure the
compatibility and reliability of our product. However, it is impossible to test
every combination of hardware and software. For this reason, our technical
support department is ready to assist you, at no charge, with any questions,
comments, or installation problems.

You can call for technical support for this product Monday through Friday, 9:00
a.m. to 5:00 p.m., Pacific Time. Please be prepared to leave a name and number
where you can be reached. Before calling, please read the sections of this
manual pertaining to your question. We'll also need to know the version and
serial numbers of the product about which you are calling.



SpeedKit Options Quick Reference

HyperDisk


E         ENABLE/UPDATE HYPERDISK       V         VERIFY READ
D         DISABLE HYPERDISK             N         NO VERIFY
H         HARD DRIVES ONLY              VF        VERIFY FLOPPY WRITE OPERATION
F         FLOPPY DRIVE CACHING          VH        VERIFY HARD WRITE OPERATION
S         STAGED WRITE HARD             EH:n      ENABLE SPECIFIC HARD DRIVES
A         STAGED WRITE FLOPPY           EF:n      ENABLE SPECIFIC FLOPPY DRIVES
W         WRITE THROUGH HARD            DH:n      DISABLE SPECIFIC HARD DRIVES
Q         WRITE THROUGH FLOPPY          DF:n      DISABLE SPECIFIC FLOPPY DRIVES
XF:file   EXECUTE COMMAND FILE          H:dd:ss:hh:ff  HARD DRIVE  PARAMETERS
OR        OVERRIDE REPORT               T:nn      TIMER DELAY
OX        DISABLE REPORT                M:nn      MEDIA CHECK RATE
OK        OVERRIDE DISPLAY METHOD       Z:nn      SECTORS PER BUFFER
OK:nn     OVERRIDE COLORS/ATTRIBUTES    XP:nn     BACKGROUND UPDATE PERCENT
OKC:nn    OVERRIDE COLORS ONLY          XW        CHECK REDUNDANT WRITE
OKM:nn    OVERRIDE ATTRIBUTES ONLY      XWH       CHECK REDUNDANT HARD WRITE
I:nn           FLUSH INDICATOR          XWF       CHECK REDUNDANT FLOPPY WRITE
P:nn      FLUSH INDICATOR PERIOD        NR        NO READ AHEAD
R         RESET HYPERDISK HIT           OB:nn     BYPASS SECTOR SIZE
OT        OVERRIDE TONE                 XB:nn     BACKGROUND UPDATE TIME
KT        DISABLE FLOPPY CHANGE TONE    XI        ENABLE ADVANCED UPDATE
C:nn:[nn] CACHE SIZE                    XIH       ENABLE ADVANCED HDISK UPDATE
CW:nn     WINDOWS CACHE SIZE            XIF       ENABLE ADVANCED FLOPPY UPDATE
CB:nn     ALTERNATE WIN 3.0 SIZING      VI        QEMM STEALTH SUPPORT
CP:nn          PERCENT FREE MEMORY      G:n       ADVANCED A20 GATE TYPE
XS        SHADOW RAM LOADER             OG        OVERRIDE A20 GATE EXIT
XSL       SPLIT SHADOW RAM LOADING      XM        XMS MEMORY ALLOCATION MODE
XC:nn     RESIZE CACHE BUFFER           XML       XMS MEMORY BLOCK LOCKING
XD:nn     DELETE CACHE BUFFERS          XT, XTR, XTP   XMS MEMORY TRANSFER MODE
XA:nn     ADD CACHE BUFFERS             U         EXPANDED MEMORY BUFFERING
XU        UNINSTALL CACHE               UI        EMS FAR CALL FOR DESQVIEW
KW        KEY WAIT TIME                 OD        DMA BOUNDARY TEST OVERRIDE
K         HOTKEY ENABLE                 OC        MEDIA CHANGE SIGNAL
K:aclr    HOTKEY SHIFT STATES           OH:nn     HOTKEY VECTOR METHOD
KA        FLUSH CACHE AT WINDOWS EXIT   KD        UPDATE MODIFIED BUFFER DSK RST
YD        DISPLAY SYSTEM ACCESS COUNTS  Y         DIAGNOSTIC DUMP



HyperKey


D:nn      TYPEMATIC DELAY               A         ACTIVE
R:nn      TYPEMATIC PERIOD              C         CLICK ON MAKE
P:nn      TYPEMATIC PITCH               C:nn      CLICK PITCH
S:nn      TYPEMATIC SPAN                CR        CLICK ON REPEATS
H:nn      SPAN HOLDOFF                  L:nn           CLICK PERIOD
B         EXTENDED BUFFERING            T         TOUCH SHIFTING
B:nn      EXTENDED BUFFER SIZE          U         UNINSTALL
I         KEYBOARD LOCK INDICATORS



HyperScreen


A         GLOBAL HYPERSCREEN ENABLE     K         ANY KEY DEBLANKING
F         ENABLE FAST BIOS              K:nn      HOTKEY TAP COUNT
B         ENABLE BLANKER                K:s       HOTKEY SELECTION
B:nn      SET BLANKING TIME             U         UNINSTALL



Hotkeys


ABORT INSTALLATION                [CTRL][LEFTSHIFT][ALT]
STAGED WRITE FLOPPY DISKETTE      [CTRL][ALT]A
WARM-BOOT                         [CTRL][ALT][DEL]
WRITE THROUGH HARD DISK           [CTRL][ALT]W
DISABLE HYPERDISK                 [CTRL][ALT]D
WRITE THROUGH FLOPPY DISKETTE     [CTRL][ALT]Q
ENABLE/UPDATE HYPERDISK           [CTRL][ALT]E
FORCE UPDATE BEFORE PROGRAM LOADS [CTRL][ALT]F
MANUAL DISKETTE CHANGE            [CTRL][ALT]C
RESUME STANDARD UPDATE            [CTRL][ALT]R
STAGED WRITE HARD DISK            [CTRL][ALT]S

