      
      :        .     _________                 ________       _____________
_____    |            __   / :   ___________/   _   \      \   __  _   /
|     \    ____:    :     \_/ -A : \______    \    |    \_ _:  \_/     \_/
|      \       |          \_  D_  /   /   _/    |     /  ___/       \_
|    :     :    |    _______/  `N _/    \    \_________/   |   \________/
    _____        |           :  \__________/      \          \_
:    :    \__________                                 \___________/
.                               CRaZY GaNG              
    .                +--------------------------------+
 
 

                             DynamiCache
                             ===========
                                               TYPED BY SHARD - N&B


          An intelligent disk-cache for the Commodore Amiga.

Copyright 1992, 1993 - Christopher A. Wolf. All Rights Reserved.


Programmed & Designed by: Christopher A. Wolf

Beta-Testing & Suggestions by:  Rudy Amid, Henrik Andersson, Bill Coldwell,
John  Davis,  Aaron  Digulla,  Kenneth Dyke, Scott Ellis, Dale Gold, Justin
Lister,  Holger  Lubitz,  Jukka  Marin,  Urban Mueller, Dean Ridgway, Chris
Schneider,  Ralph  Schmidt, Mike Schwartz, Michaels Smith, Shachar Shemesh,
Urban Mueller, Markus Wild

FixDev code routines by: Shachar Shemesh



Chapter I: An Introduction to DynamiCache
-----------------------------------------

DynamiCache   is   an  intelligent  disk-caching  program  for  the  Amiga.
DynamiCache's  sophisticated  caching  algorithms  provide  a 500% to 1000%
increase  in  the speed of most disk operations!  DynamiCache's high levels
of  performance, configurability and ease of use are unmatched by any other
disk-caching product available for the Amiga.


A. Feature List
---------------

A partial list of DynamiCache's features include:

DynamiCache  is  compatible  with  almost  all  Amiga drive types including
floppy disks, hard disks, flopticals, removable cartridges (Syquest, Ricoh,
Bernoulli, etc.), CD-ROMs, etc.

DynamiCache  is  compatible  with  a  wide  range of SCSI, SCSI-II, and IDE
controllers  and  has  been  tested  with  controllers from Commodore, GVP,
Supra, IVS, ICD and Xetec.

DynamiCache  is  compatible  with  all AmigaDos file-systems including OFS,
FFS,  and  DCFS.  DynamiCache also works with disks or partitions formatted
with  CrossDos  or other non AmigaDos formats which use the standard device
interface.

DynamiCache  implements  a  sophisticated  set-associative,  line-oriented,
write-through  cache  architecture  and  a  least-recently-used replacement
algorithm  to  assure  maximum  cache  efficiency.   Intelligent read-ahead
techniques  are  used  to  significantly  enhance performance even the very
first time data is accessed.  A special track-read mode is provided to give
highly optimized caching performance for floppy disks.

DynamiCache   features   unique   dynamic   cache   re-sizing   code  which
automatically  and  continually  adjusts  the  disk  cache  to  use all the
available  memory which is not currently needed by other programs.  Dynamic
cache  re-sizing  provides the maximum effective utilization of your memory
by   transparently   allowing  memory  to  be  dynamically  shared  between
applications  and  the cache as necessary.  This eliminates the need to set
aside  a  large  block of dedicated cache memory and provides superior disk
performance  without  significantly reducing the amount of memory available
to your applications!

DynamiCache  can  cache  an  unlimited number of devices (of any mixture of
types)  simultaneously.   Caching  can be enabled or disabled independently
for  each device in the system or even for individual hard-disk partitions.
Each  device  or  partition can have its own unique settings for attributes
such as the amount of read-ahead.

DynamiCache  provides  an  intuitive  graphical user interface which allows
easy adjustment of all cache parameters.  The GUI is compliant with the 2.0
Style Guide and is font-sensitive.

The  user's  preferred  cache  configurations  can  be  saved, retrieved or
specified as the default to be used automatically at start-up.  Intelligent
defaults are provided for all cache configuration options to get the novice
user  up  and  running quickly but complete control by the advanced user is
still possible.

DynamiCache  provides  real-time reporting of a variety of important global
and  per-device  statistics  such  as  current  cache configuration, memory
usage, number of disk accesses, number of cache hits, and cache hit ratio.

DynamiCache  provides many other advanced features which make it the leader
in cache technology for the Amiga.


B. System Requirements & Compatibility:
---------------------------------------

DynamiCache  should  function  on  any Amiga model computer running AmigaOS
version 2.04 or higher.  DynamiCache will work with a minimum of 1 megabyte
of  available  RAM  (CHIP  or  FAST)  however  2  megabytes  of FAST RAM is
recommended.  DynamiCache will take full advantage of expanded systems with
faster  processors,  additional memory or higher OS versions.  (DynamiCache
has been tested under OS versions up to 3.0.)

DynamiCache  is  compatible  with  any block-oriented random access storage
device  which  uses  the  standard AmigaOS device interface.  This includes
almost  any  device  which can be attached through your SCSI, IDE or floppy
disk  drive controllers.  DynamiCache has been tested with SCSI controllers
from  Commodore,  GVP,  IVS,  ICD,  Supra  and  Xetec, IDE controllers from
Commodore and ICD.

DynamiCache  cannot  be  used  to  cache streaming-tape or other sequential
access  storage devices or remotely-mounted network devices such as PARNET:
or NFS:  devices.

Although  extensive  testing  has  been  done,  compatibility with specific
drives and or controllers cannot be guaranteed.

If  you have doubts about the compatibility or functionality of DynamiCache
in   your   specific   system   environment  please  look  for  the  freely
redistributable  DynamiCache  demo.   This demo should be available through
most standard PD distribution channels (User Groups, BBS, internet ftp) and
will allow you to test the functionality of DynamiCache on your system.


Chapter II: DynamiCache Tutorial
--------------------------------

This  tutorial  chapter  of  the  manual  will teach you how to install and
configure  DynamiCache  for  use  on a typical system.  For a more in-depth
description  of  all  the  advanced  features  and options available to you
please  consult the Reference section of this manual (Chapter III).  For an
explanation  of  error  messages and trouble shooting advice please consult
Chapter  IV.   Also,  check for the presence of a file titled README on the
distribution  disk.   This  file  will  contain  any  info  on  last minute
corrections or updates that could not be included in the printed manual.

This  tutorial  assumes  that you already familiar with using the principle
elements of the Amiga Workbench interface such as icons, menus, gadgets and
the mouse.  For remedial help on using the Amiga Workbench interface please
consult the manuals which came with your computer.


A. Installing DynamiCache
-------------------------

Installing  DynamiCache  is simple - just drag the DynamiCache program icon
from  the  distribution  disk  into  the  destination  drawer.  If you want
DynamiCache  to  automatically  start up every time you boot your computer,
drag  the  DynamiCache  program  icon  into  the  WBStartup  drawer on your
boot-disk.

To start DynamiCache manually from the Workbench simply double-click on its
program  icon.  This will bring up DynamiCache's main configuration window.
You  may  only  run  one  copy of DynamiCache at a time - if you attempt to
start  multiple  copies  of DynamiCache a window informing you that you can
only  run one copy will open and the first copy's configuration window will
be popped to the front of the screen.


B. Configuring the Cache
------------------------

Now  that  the configuration window is open you have access to a variety of
gadgets  which  allow you to set various cache parameters.  It is important
to  realize  that  whenever  you  use  the  gadgets  to  change  the  cache
configuration  the changes do NOT take effect until you click on the Use or
Save buttons along the bottom of the configuration window!  Do not click on
Use  or  Save  until  all  the  gadgets  have been set to specify the cache
configuration  that  you  wish  to have installed.  If while following this
tutorial  you  get  confused  or  wish to undo the changes you made you can
reset  the gadgets to their default state by choosing the Reset to Defaults
option from the Edit menu.

In  the  upper left corner of the DynamiCache configuration window you will
see  a  recessed  box  with two gadgets above it labelled Cache Statistics.
This area of the window is used for monitoring cache performance and should
currently  indicate  that  the  cache  is  not  activated.  Below the cache
statistics  display is a bank of three cycle gadgets labelled Purge Scheme,
Minimum  Size  and  Maximum Size, located in the lower left quadrant of the
window.   These  gadgets  control  global  cache  attributes.   DynamiCache
analyzes  your  system  on  start-up  and  automatically  initializes these
gadgets  to  reasonable  defaults, thus it is not necessary to alter any of
these settings at this time.  Consult Chapter III, the reference section of
this manual, for a complete explanation of their function of these gadgets.

In  the  upper  right  corner  of the DynamiCache configuration window is a
standard  scrolling  list gadget displaying the names of all the devices in
the  system  which DynamiCache recognizes as cachable devices.  Next to the
name  of  each device is the word enabled or disabled indicating if caching
should  be used with each device.  To toggle the status of a device between
cache  enabled  and cache disabled double-click on the device's name in the
scrolling  list.   You  can  use  DynamiCache  with  an unlimited number of
devices  simultaneously.   However,  each device which cache is enabled for
must  exist as a real physical drive attached to the computer - DynamiCache
is  not  capable  of  caching  remotely mounted network partitions or other
"fake"   drives   (such   as  fake  floppies  created  with  Matt  Dillon's
freely-distributable  FMS  program)  which  do  not physically exist on the
system  running  DynamiCache.   DynamiCache  does  its  best  to filter out
uncachable  devices  from the list but if any such devices should appear on
the  list  you must not enable cache for them or unpredictable behavior may
occur.

Each  device that is selected as cachable has certain attributes associated
with it which apply only to that specific device.  To change the attributes
of  a  specific device click ONCE with the left mouse button on the name of
that  device in the scrolling list.  Under AmigaOS version 2.04 the name of
the  currently  selected  device  will be displayed in a box underneath the
scrolling  list.   Under  AmigaOS  version  3.0  or  higher the name of the
currently  selected  device will be highlighted.  Once a device is selected
the  three  cycle  gadgets  underneath  the scrolling list, labelled Device
Type,  Read Ahead and Write cache, will change to display the attributes of
the  currently selected device.  Remember that these gadgets always reflect
the  status of the device whose name is currently selected in the scrolling
device list.

The  Device  Type  gadget  has  three  choices  -  Hard  Drive,  Floppy and
Removable.  To ensure data integrity it is important that this attribute be
set  correctly  for  each device - DynamiCache makes a best guess about the
device  type  for  each  entry  but please make sure it is correct.  If the
device  is a standard Amiga floppy this gadget should be set to Floppy.  If
the  device  uses  any  sort  of  removable  media  (i.e.   Syquest drives,
flopticals,  Bernoullis  etc.)  the  gadget  should  be  set  to Removable.
Otherwise  the  gadget  should be set to Hard Drive.  Note that setting the
gadget  to  removable may cause alterations in the device list - because of
OS limitations DynamiCache cannot recognize multiple partitions on a single
removable  partition.   Thus  the  name  of  a  removable partition will be
changed to reflect the driver name and unit number in use for that unit and
the  names  of  the  individual  partitions will be removed from the device
list.   Normal  partition  names  will  be restored if the setting for that
device is set back to Hard-Disk.

During  normal  disk usage patterns data is accessed in a sequential manner
and  performance  can  be  improved  by  anticipating this and pre-fetching
sequential  blocks of data.  The Read Ahead gadget determines how much data
DynamiCache  will  read-ahead  or pre-fetch on each access to the currently
selected  device.   For floppy-disks this should be set to Track-Mode which
makes  most efficient use of the floppy disk hardware design to read entire
tracks  of data at one time.  For removable or hard-disks Read-Ahead should
NOT be set to track-mode.  A good default value for Read-Ahead on removable
or  hard-disks is 8 Sectors although you may want to decrease this value if
the  partition  is  highly fragmented or if you do a lot of random accesses
(seeks  or directories for ex.) to the partition.  You may want to increase
this  value  if you do mostly sequential accesses (copies or reads for ex.)
or if you have a very fast hard disk.

The Write-Cache cycle gadget determines if Write-Thru caching is used or if
write caching is disabled for the currently selected device.  If Write-Thru
caching  is  enabled data that is being written to disk will be copied into
the  cache  as it is written.  This will slow down writes somewhat but will
greatly  speed  up  subsequent accesses to this data since it is already in
the  cache.   There is never any threat to the integrity of your data since
write  accesses  are NOT delayed.  Write Cache disabled will just perform a
normal  write  -  the  write will not be slowed down any but if the data is
subsequently  accessed it will have to be re-read from disk.  Write-Through
caching  has one other drawback - if a program writes data to disk and then
attempts  to  verify  it  by reading it back the verify attempt will not be
conclusive  since it reflects the data in the cache and NOT necessarily the
data  written  to disk.  This appkies only to programs doing their own data
verification  and does not apply to the verify pass that occurs during disk
formatting.   DynamiCache  takes  special  steps  during disk formatting to
insure  that  the verify accurately reflects the actual data written to the
disk.

Using  the  above  information, go through and adjust the settings for EACH
device  that  you  want  to  cache.   Once  all  settings  are  set to your
satisfaction  click  the Use button to install the cache without saving the
configuration,  or  click the Save button to install the cache and save the
configuration.    The  default  location  to  save  settings  files  to  is
envarc:DynamiCache/DynamiCache.prefs.  These settings will be reloaded next
time  you start DynamiCache or can be retrieved using the Open menu item in
the  Project  menu.   If  you want to save the settings in a location other
than  the default you can use the Project/Save As menu item.  To change the
location  where  DynamiCache  looks  for  default settings see the SETTINGS
keyword entry in the CLI/WB parameters section of this documentation.


C. Monitoring/Tuning the Cache
------------------------------

If  the  new  cache  configuration  was  installed without encountering any
problems  the  DynamiCache  configuration window will shrink to roughly one
quarter  of  its  former  size  -  just  large  enough to display the cache
statistics  box  and  its  control  gadgets.   The  cycle  gadget above and
slightly  to  the  left  of the statistics display box can be used to cycle
between  displaying  global statistics (a summary of the statistics for all
devices) and displaying statistics for each individual devices.

In  global  mode,  the  first line of the statistics display shows how much
memory (in kilobytes) DynamiCache currently has allocated for caching.  The
next  two  lines  indicate the total number of disk accesses made since the
cache  was  started  and  the  number of accesses where the information was
already  in the cache (cache hits).  The final line indicates the cache hit
ratio which is an indication of the general efficiency of the cache.

In  device specific mode all info in the statistics display relates only to
the  name  of  the  device displayed in the cycle gadget above the display.
The  first  line  of  the  display  indicates the cache parameters that are
active  for  that device including drive type (HD = hard drive, FD = floppy
drive,  RD  = removable drive), read ahead type (either a number of sectors
or  TM  to  indicate  Track-Mode),  and  write  cache  mode (WT to indicate
write-through).   The  next three lines indicate number of accesses, number
of cache hits, and hit-ratio for that specific drive.  These numbers can be
used  to  fine  tune  performance  on  individual  drives.   Adjusting  the
read-ahead  size  for  a  specific  drive  can make a big difference in the
cache-hit  ratio  for  that  drive.   Typical  hit-ratios  for a drive with
correctly  set  parameters  should range from 40 - 60%.  If you are getting
lower  ratios than that try adjusting the read-ahead setting for that drive
-  experimentation  is  the  best way to achieve optimal results.  Remember
that changes made to the device attributes such as read-ahead mode will not
take effect until Use is clicked.  You can always see what cache parameters
are  currently  active  for  a  specific  device by checking the statistics
display for that device.

The  one  remaining  gadget  that hasn't been explained is the Flush gadget
located  above and slightly to the right of the statistics display box.  If
Flush  is  pressed  while the statistics display is in global mode all data
that is in the cache is flushed and the global statistics display is reset.
If  Flush  is pressed while the statistics display is displaying info for a
specific  device  any data in the cache for that device only is flushed and
the  statistics  for that device only are reset.  This is useful if you are
experimenting  with different settings and wish to flush the old cache data
from  memory to get unbiased statistics about the performance of the device
using the new cache settings.

To  toggle  the  DynamiCache  window between its small statistics reporting
size and its large cache configuration size use the standard Workbench zoom
gadget  in the window title bar.  You can also close the DynamiCache window
without removing the cache from the system - simply click the close gadget.
To  re-open the DynamiCache window you have three options:  double-click on
the  DynamiCache program icon, use the commodities exchange program, or use
the  DynamiCache  hotkey.   The  current DynamiCache hotkey is shown in the
window  title  bar  and  defaults  to ALT ESC.  Since the close gadget only
closes  the window, when you really want to remove DynamiCache entirely you
must  use the Quit item on the Project menu or use the Remove function from
Commodities Exchange.

For  more  information about any of the options discussed here, configuring
DynamiCache's  defaults via command line or tool-type parameters, using the
menu  items  or using the Commodities Exchange interface please consult the
appropriate sections in the Reference portion of this manual (Chapter III).
If  you  encountered any error messages or had problems while following the
above  instructions consult Chapter IV for an explanation of error messages
and for trouble-shooting tips.


Chapter III: DynamiCache Reference Manual
-----------------------------------------

This  section  of the manual provides in-depth details about each aspect of
DynamiCache and its functions.  The info is grouped into sections about the
DynamiCache  GUI  (window, menus, gadgets), DynamiCache start-up parameters
(Workbench and CLI), and the commodities exchange options.

A. Window Operations
--------------------

The  DynamiCache  window always opens on the Workbench screen.  It uses the
system  default  non-proportional  font  for all text and gadgets are sized
accordingly.

The  DynamiCache  window  can be in one of three different states - closed,
open  in  small  statistics mode, or open in large configuration mode.  The
state  of  the  DynamiCache  window  is  independent  of  the status of the
DynamiCache cache installation.

Clicking  the  window  close gadget will remove the DynamiCache window from
the display but will not deactivate or remove the cache itself.  The window
can  be  reopened by use of the DynamiCache hotkey (displayed in the window
title  bar),  via  commodities  exchange,  or  by  running a second copy of
DynamiCache.   The  only  effect of running DynamiCache a second time is to
pop open and to the front the window belonging to the FIRST running copy of
DynamiCache.

Clicking  the window zoom gadget toggles between the small (statistics) and
large  (configuration)  window.   Default  behavior  is  for  the window to
automatically  zoom  to  its  small  (statistics)  state after Save, Use or
Cancel  were pressed in the larger configuration window.  This behavior can
be  changed  via  the CLOSEAFTERUSE start-up parameter.  The default window
state  that DynamiCache starts up in can also be controlled by the CX_POPUP
start-up  parameter.   See  the  section  on  start-up  parameters for more
information.

DynamiCache remembers the position of both the small and large windows when
a   cache  configuration  is  saved.   Loading  a  previously  saved  cache
configuration  will cause DynamiCache to use those positional settings when
opening its windows.

B. Menu Operations
------------------

DynamiCache's  menus  are  accessible  from  either  the  statistics or the
configuration  window.  Menu items in this section are listed in the format
"menu name/item name."


Project/Open:

Brings  up  a  standard  ASL file-requester to allow the user to select the
name  of  a  settings  file  to load a configuration from.  The gadgets are
updated  to reflect the new settings but the new cache configuration is not
installed.

Project/Save:

Installs a new cache configuration according to the current gadget settings
and if the configuration is valid saves the settings to disk.  The filename
the  settings  are saved under is the same as the filename of the file that
the  settings  were  read  from  or  the  default filename specified in the
SETTINGS  start-up  parameter  is used if the settings were not loaded from
anyplace.   If  no  SETTINGS  start-up  parameter was specified the default
location  is  envarc:DynamiCache/Dynamicache.prefs.   A  second copy of the
configuration       file       is       also       always      save      to
env:DynamiCache/DynamiCache.prefs.

Project/Save As:

Performs  the same behavior as Save item described above except brings up a
standard  ASL  file-requester to let the user select the file path and name
which the settings should be saved as.

Project/About:

Brings  up  a  requester showing information about the DynamiCache revision
number,  the  author  and the beta-testers.  Click OK to make the requester
disappear.

Project/Quit:

First  prompts  the  user  with  a requester and if the action is confirmed
removes  any  currently  installed  DynamiCache configuration and exits the
program.

Edit/Reset to Defaults:

Resets  all gadgets to intelligent default settings depending on the user's
system  configuration.   By default caching will be disabled on all devices
and  device  specific  parameters  for  each  device will be set to generic
parameters  which should give acceptable performance under most situations.
Although  the gadgets are reset the actual cache configuration currently in
use (if any) is not changed.

Edit/Last Saved:

If  possible,  resets  all gadgets to the state they were in when the cache
configuration  was  last  Saved  or Used.  DynamiCache window is set to its
small  statistics  display  state unless this behavior has been altered via
the CLOSEAFTERUSE start-up parameter.

Cache/Activate:

Installs  a  new  cache configuration using the attributes specified by the
current gadget settings.

Cache/Flush:

Resets the global statistics and flushes all data currently in the cache.

Cache/Inactivate:

Removes  the  current cache configuration from the system.  All wedges into
system  devices are removed and all memory used by the cache is freed.  The
DynamiCache window is not closed.

C. Gadget Operations
--------------------

DynamiCache's  gadgets  consist  of  a variety of standard Intuition gadget
types.   Most  of  the  gadgets are only visible in the large configuration
window  but not in the small statistics window.  Most gadgets have keyboard
equivalents which are indicated by an underscored letter in the gadget name
in  the window or in parenthesis following the gadget name in the following
text.    Gadget   keyboard   equivalents  are  activated  by  pressing  the
appropriate  key  without  any  qualifiers  while  the  window  is  active.
Keyboard  equivalents  are  only  active when their corresponding gadget is
active  and  un-ghosted.   On  cycle or listview gadgets using the keyboard
equivalent  shifted  and  unshifted  has different behavior.  Unshifted key
presses cause the gadget to cycle forward through its choices while shifted
key presses cause the gadget to cycle in the reverse order.

Minimum Cache Size (m/M):

Controls  the  amount  of  dedicated  cache  memory  that  DynamiCache will
allocate.   Cache memory is divided into two types - dedicated and dynamic.
Dedicated  memory  must be available to DynamiCache at cache initialization
time  and  once  allocated  is never released.  Once DynamiCache is started
dedicated  cache memory will not be available for use by any other program.
A  good  guideline  is that dedicated cache memory should be about equal to
about  1/4th  the  amount of RAM that is normally free in your system while
your  system is under typical load.  Upon start-up DynamiCache will attempt
to  adjust  this  gadget to what it considers a reasonable setting for your
system - feel free to change it if you disagree.

See also the entry for Maximum Cache size.

Maximum Cache Size (x/X):

Controls  the  maximum  amount  of  memory  -  including both dedicated and
dynamic  cache memory that DynamiCache will allocate.  Dynamic cache memory
is   memory  that  DynamiCache  allocates  as  needed  while  running.   If
DynamiCache  cannot  allocate additional dynamic cache memory no error will
occur  -  DynamiCache will just reuse existing cache memory.  Dynamic cache
memory  will  automatically  be released if the memory is needed by another
program.   Since dynamic cache memory can be shared with other programs and
transparently  appears  as "free" memory to them there is no real reason to
limit  the  maximum  cache  size and it is strongly suggested that for best
performance this gadget be left at its default setting of "All"!

On  systems  with both FAST RAM and CHIP RAM DynamiCache will only use FAST
RAM  for  both its dedicated and dynamic allocations.  On systems with only
CHIP RAM DynamiCache will use CHIP RAM.

Special  note:   Some programs such as AdPro attempt to allocate almost all
available  memory when they are run.  Since dynamic cache memory appears as
available  memory  to applications it will be consumed by AdPro and will no
longer  be  available  for  caching  while AdPro is running.  The dedicated
cache  memory  specified  by Minimum Cache Size does not appear as free and
thus  will not be available for consumption by AdPro.  Frequent AdPro users
who wish to preserve a larger cache size while AdPro is running may want to
consider increasing their Minimum Cache Size.

See also the entry for Minimum Cache size.

Purge Scheme (p/P):

Controls  the  algorithm  which  DynamiCache  uses to transparently free up
dynamically  allocated cache memory for use by other applications when they
require  it.  If LRU (Least Recently Used) is selected DynamiCache analyzes
the  cache contents and reduces cache size by discarding the least recently
used   data.    If  Random  is  selected  DynamiCache  reduces  cache  size
indiscriminately  without analyzing cache contents.  The LRU option results
in more efficient caching since useful data is less likely to be discarded.
However  this  algorithm  requires  more  processor time to execute and may
noticeably  slow  down  68000  based systems or systems with only CHIP RAM.
Thus  if  you have a 68000 or CHIP RAM only system it is suggested that the
Purge Scheme gadget be set to Random.  If you have a 68020 CPU or higher in
your  system  it  is  suggested that the Purge Scheme gadget be set to LRU.
(Note:   DynamiCache  always  uses  a  Least  Recently  Used algorithm when
replacing old cache date with new cache data during normal operation.  This
gadget  only  controls DynamiCache's purge behavior when it is necessary to
reduce the total size of the cache.)

Use:

Installs  a  new  cache configuration using the attributes specified by the
current  gadget  settings.   Same  behavior  as selecting Activate from the
Cache menu.

Save:

Installs  and then saves the current cache configuration.  Same behavior as
selecting Save from the project menu.  See the entry for that menu item for
more details.

Cancel:

Aborts  the  current  editing  session without installing or saving any new
cache   configuration.   Depending  on  the  presence  or  absence  of  the
CLOSEAFTERUSE  startup  parameter  Cancel  will  either cause the window to
shrink  to  its  small  statistics  display size (as if the zoom gadget was
pressed) or cause the window to close (as if the close gadget was pressed).

Cache Statistics (s/S):

This  gadget  is  a  cycle  gadget  located  immediately above the recessed
statistics  display  box  and controls what information will appear in that
box.   If  this  gadget is set to Global composite summary statistics about
the  amount of memory used, number of cache accesses total, number of cache
hits  total,  and total hit ratio will be displayed.  If this gadget is set
to  the  name of a device statistics pertaining only to that device will be
shown.   The currently in-use parameters and the number of accesses, number
of  hits and hit ratio for that specific device will be shown.  For help in
interpreting the meaning of the various information shown by the statistics
display please refer to Chapter III, Section D:  Statistics Display.

Flush (f):

This  gadget  behaves differently depending on whether the cache statistics
display  is in global or device specific mode.  If the display is in Global
mode  all  data  is flushed from the cache and global statistics are reset.
If  the  display  is  in  device  specific  mode only data belonging to the
selected  device  is  flushed  and  only the statistics for that device are
reset.

Device List (d/D/e):

This  listview gadget in the upper right quadrant displays all the cachable
devices  that  DynamiCache  finds  in the system.  The listview attempts to
filter  out  devices  such  as  network  mounted  partitions  which are not
cachable  but  is  not  always  successful.   The  device  list  is updated
periodically to reflect newly mounted devices.

Double   clicking   on  an  entry  in  the  device  list  will  toggle  the
enabled/disabled  setting of that device as indicated by the word "enabled"
or  "disabled" appearing next to the device name.  A double click will also
perform  all  the  actions  of  a  single  click  as  described in the next
paragraph.

Pressing the keyboard equivalent "e" will also toggle the enabled status of
the currently selected device as if that device had been double clicked on.

Single  clicking  on  an  entry selects that entry.  Under AmigaOS 2.04 the
name  of the selected entry will be copied into the display box beneath the
scrolling  list.   Under AmigaOS 3.0 the name of the selected entry will be
highlighted.   When  an entry is selected the settings for the Device Type,
Read  Ahead and Write Cache entries will be updated to reflect the settings
associated with the selected device.

Device Type (t/T):

This  cycle  gadget  is  used to indicate what type of device the currently
selected entry in the Device List is.

Hard-Drive  is  the  default  setting and must be used to indicate that the
device is a partition on a standard non-removable hard-disk.

Floppy  is  the  setting  which  must  be  used  for  floppy  disk  drives.
DynamiCache   is   smart  enough  to  recognize  floppy  drives  which  use
trackdisk.device  and  will automatically set this gadget for those drives.
However,  you  will  need to set this manually for floppy-disk type devices
which use a device other than trackdisk.device.

Removable  is the setting which must be used for all removable media drives
(except  floppy  drives)  such  as  CD-ROMs, Syquest 44mb or 88mb cartridge
drives, Bernoulli-drives, Magneto-Optical cartridge drives etc.  Because of
the  nature  of removable media it is not possible for DynamiCache to cache
individual  partitions  on  removable  media  - caching must be enabled and
cache parameters set for the drive as a whole.  Thus when a drive is marked
as  removable  its  entry  in the device list will change accordingly - the
names  of all partitions on that drive will be removed from the device list
and  replaced  with  a  single entry with the name of the device-driver and
unit number for that drive.  (i.e.  for a removable drive mounted as unit 6
on  the  scsi.device  the  entry  would  read  SCSI  6).  Changing the type
specification  back to a non-removable setting will restore the device list
to its normal state.

Important  note:  It is very important that this gadget be set properly for
all  devices  or  DynamiCache  may  not function properly or may not detect
media-changes which could lead to corruption of your data.

Read Ahead (r/R):

The  read-ahead  gadget  allows  you  to  adjust  the  number of sectors of
read-ahead  that  should  be  used  for  each device or to select a special
Track-Read  mode for use on floppies.  Specifying a read-ahead size of None
disables read-ahead caching for that device.

Read-ahead  is  a caching technique where, when a sector of data is read in
from  disk, additional sectors following the requested sector are also read
and copied into cache- memory.  Since most data files are stored on disk in
consecutive sectors it is likely that if one sector is needed the following
sectors  will  also soon be needed.  Since it is much faster to read groups
of  sectors  all  at  once, and since the additional sectors will likely be
needed  soon anyway, read-ahead caching can provide significant performance
increases.

If  a  device  contains  many large files and is relatively un-fragmented a
large  read-ahead  size will be very beneficial.  If a device contains many
small  files  or if the device is very fragmented a smaller read-ahead size
will  be  beneficial.   Larger read-ahead sizes are also more beneficial on
faster  devices  where  the  read-time  for  additional sectors is minimal.
Smaller  read-ahead  sizes should be used on slower devices such as CD-ROMs
or Magneto-Optical drives.

Experiment  to  find the best settings for your hardware and usage patterns
but  in general use the following guidelines when selecting read-ahead size
and  resist  the  temptation  to  select  too large a value.  Bigger is NOT
always better in this case!

2 - 4 sectors
Good  values  for  use  on CD-ROM drives, magneto optical drives, and other
devices with relatively slow transfer rates.

8 sectors
A   good   value   for   most  hard-disks  with  moderate  transfer  rates,
fragmentation and file sizes.  Eight sectors is the default value.

16 - 64 sectors
Should  only  be  used  on  hard disks with fast transfer rates, large file
sizes and minimal fragmentation.

Track-Mode
This  setting  should ONLY be used on floppy disk drives and uses a special
mode where entire tracks are read in from the floppy disk at once.  This is
a  very efficient method of reading data from floppy disks and will provide
significant   performance   improvements   but  should  NOT  be  used  with
hard-disks.

(Note:   De-fragmenting your disk-partitions with one of the many available
public domain or commercial products designed for that purpose will greatly
improve the performance observed when using read-ahead on those partitions.
Make  sure to back up all your data before de-fragmenting in case something
goes wrong!)

Write Cache (w/W):

Selects  whether  write-accesses  are  cached  or not.  If None is selected
write accesses will not be cached - this will make the initial write access
faster  but  the  data  will not be in the cache if it needs to be accessed
again.   If Write-Thru is selected data will be copied into cache memory as
it is being written to disk.  This may slightly slow down the initial write
but  the  data  will  already  be in cache if it is needed again and future
accesses  will  be much faster.  In most situations Write-thru caching will
provide  the  best  general  performance and should be used.  Write through
however  will  invalidate  any  data  verification tests that a program may
perform  since  the  program will be "seeing" the data in the cache and not
the data that was actually written to disk.

D. Statistics Display
---------------------

After  caching  has  been  activated the DynamiCache status window provides
information  about  cache  activity and effectiveness.  If you want to view
the  status  window  use the hotkey or commodities exchange to pop open the
DynamiCache  window.  Once the window is open you can use the zoomgadget to
shrink  the window to a smaller size where only the status display (and not
the  configuration gadgets) is visible.  The DynamiCache status display has
two different modes depending on whether the cache statistics gadget is set
to Global or to the name of a specific device.

Mem. Used:

This  line is only visible in Global mode and indicates how much memory (in
kilobytes)  DynamiCache  is  currently  using as cache memory.  This number
will  always  be  at least equal to the Minimum Size you set and will never
exceed the Maximum Size you set but will vary dynamically within that range
depending on how much memory DynamiCache requires and how much memory other
programs that you run require.

Parameters:

This  line  is  only  visible  in  device  specific  mode and indicates the
parameters  that  are  active  for the device named in the cache statistics
cycle  gadget.   HD,  FD, or RD indicate the device is a hard-drive, floppy
drive  or  removable media drive respectively.  The drive type indicator is
followed  by  a  comma  and  then  either a number indicating the number of
sectors  of  read-ahead  that  are  set  for  the  device or the letters TM
indicating  that  Track-Mode  read  ahead is being used for the device.  If
Write-Thru caching is being used the letters WT will also be displayed.

Accesses:

This  line  tells  you  how  many device accesses there have been since the
cache  was enabled.  If the display is in global mode this number indicates
total  disk accesses for all cachable devices.  If the display is in device
specific mode this number indicates accesses for that device only.

Cache Hits:

This  line  tells you how many times the data being accessed was already in
cache memory.  If the display is in global mode this number indicates total
cache  hits for all cachable devices.  If the display is in device specific
mode this number indicates cache hits for that device only.

Hit Ratio:

This  is a percentage showing the ratio of Cache Hits to Accesses and gives
a measure of how effective the current DynamiCache configuration is on your
system.   If  the display is in global mode this number indicates hit ratio
for  all  cachable devices.  If the display is in device specific mode this
number indicates hit ratio for that device only.

Cache  hit ratios of 40% to 60% are normal and if you are getting less than
this on your system I would suggest altering your DynamiCache configuration
in  an  attempt to achieve better performance.  The settings which are most
likely   to   have  dramatic  effects  on  cache-hit  ratio  (in  order  of
effectiveness)  are  Read-  Ahead, Write-Thru, and Purge Scheme.  Setting a
read-ahead value either too large OR too small can impair cache efficiency.
Enabling  Write-Thru and LRU Purge Scheme will also often improve the cache
hit  ratio.   However,  optimal  cache  configuration  varies due to system
configuration  and  usage  patterns.   Therefore  it  is suggested that you
experiment  with various settings while monitoring cache hit ratio on a per
device basis in order to achieve the best performance on your system.


E. Commodities Exchange
-----------------------

DynamiCache  behaves  like  a  commodity  and  is  controllable through the
Commodities Exchange program.  To control DynamiCache in this way start the
commodities  exchange  program  and select "DynamiCache" from the scrolling
list  of  available commodities.  You will now have four options accessible
via gadgets.

Show Interface:

Opens  the  DynamiCache  configuration/statistics window and pops it to the
front of the display.  The behavior is the same as pressing the DynamiCache
hotkey.

Hide Interface:

The  behavior  is  the same as clicking the close-gadget on the DynamiCache
window.  This does NOT deactivate caching or remove DynamiCache.

Active/Inactive:

This  cycle  gadget lets you activate or deactivate caching.  This behavior
is the same as the Activate/Inactivate cache menu items.

Remove:

Removes any current cache configuration, closes the DynamiCache window, and
exits DynamiCache program.  The behavior is the same as the Quit menu item.

F. Start-up Parameters
----------------------

DynamiCache supports a variety of start-up parameters that can be specified
either as Workbench tooltypes or as command line options.

As  shipped,  the DynamiCache icon has all possible tooltypes specified but
most  of  them have been disabled by enclosing them in parenthesis.  To use
them  you must remove the parenthesis and alter the parameters to suit your
needs.   For instructions on altering icon tooltypes consult your Workbench
manuals.

The  keywords  and syntax used for tooltype and command line parameters are
the  same.   However,  if  you  specify an option on the command line which
contains  spaces  within  the  option you must enclose the entire option in
double quotes.  For example:

           DynamiCache "CX_POPKEY=Alt Esc"
                                     ^
                                     |
Because  of this space the entire option must be enclosed in double quotes.
Quoting is NOT necessary if options are specified via WorkBench tooltypes.

Using  the  "DynamiCache  ?"  command  from  the shell will print a command
template summary.


The various legal parameters are:


CX_POPKEY=<hotkey specifier>

CX_POPKEY lets you specify which hotkey sequence should be used to pop open
the  DynamiCache  window.  Consult your AmigaOS manuals for a list of valid
key specifiers.  The default CX_POPKEY setting is Alt Esc.


CX_POPUP=<yes|no|small>

If  CX_POPUP=YES  is  set (default) the full-size DynamiCache configuration
window will be opened on start-up.

If  CX_POPUP=SMALL is set the smaller DynamiCache statistics display window
will be opened on start-up.

If CX_POPUP=NO is set the DynamiCache window will NOT be opened on start-up
(it  can  be  popped  open  later  by  using  of  the hotkey or Commodities
Exchange.)


DONOTWAIT

This  parameter  only  works as a tooltype when the program is started from
the  WBStartup  drawer.  This parameter should always be specified in order
for the program to start correctly from WBStartup.


SETTINGS=<configuration filename>

This   parameter   specifies  the  location  DynamiCache  should  load  its
configuration   file   from   upon   start-up.   The  default  location  is
ENVARC:DynamiCache/DynamiCache.prefs.


STARTPRI=<-128 to 127>

This  parameter  only  works as a tooltype when the program is started from
the  WBStartup  drawer.   STARTPRI specifies the order in which programs in
the  WBStartup  drawer are started and has a permissible range from -128 to
127.   Programs with a higher STARTPRI will be started BEFORE programs with
a  lower STARTPRI.  In most cases DynamiCache should be the first thing run
from your WBStartup drawer and so the default STARTPRI is set to 127.


QUIET

This  parameter  when  supplied tells DynamiCache to suppress all non-error
informational   requesters   that  would  appear  on  the  screen  and  all
non-essential shell output.


QUIT

If  the  QUIT parameter is present DynamiCache will not start up but rather
will  send a signal to any already running copy of DynamiCache telling that
copy  to  exit  and  deactivate caching.  If another copy of DynamiCache is
running  a window will pop-up telling you that the cache is being disabled.
The  presence  of  the  QUIT  parameter  causes  all other parameters to be
ignored.


RESCANDEVSTIME=<seconds>

This  parameter  specifies  the  interval  in  seconds that elapses between
attempts to re-scan the device list for newly mounted devices.  The default
value  is  30.   Larger  values  will  cause the list to be re-scanned less
frequently  but  will  reduce  CPU  usage.   Smaller  values  will have the
opposite effect and are not suggested.


UPDATESTATSTIME=<seconds>

This  parameter  specifies  the  interval  in  seconds that elapses between
updates  of  the  DynamiCache  statistics display.  The default value is 2.
Smaller  values  will have no effect.  Larger values will cause the display
to be updated less frequently but will reduce CPU usage.


USEIMMEDIATE

If the USEIMMEDIATE parameter is present DynamiCache will install the cache
configuration  immediately  upon  start-up  without waiting for the user to
click  Use or Save in the configuration window.  This is handy for starting
the  cache automatically at boot-time from the WBStartup drawer.  The cache
configuration  which  is  loaded/installed  is  specified  by  the SETTINGS
keyword      or      is      read     from     the     default     location
envarc:DynamiCache/DynamiCache.prefs if no SETTINGS keyword is specified.


CLOSEAFTERUSE

If  the  CLOSEAFTERUSE  parameter is present the DynamiCache window will be
automatically  closed  after Use, Save or Cancel options are selected.  The
default is for CLOSEAFTERUSE to be disabled and for the window to zoom from
its full sized to small after Use, Save or Cancel are selected.


Chapter IV: Trouble Shooting & Error Messages
---------------------------------------------

This  chapter  attempts  to  identify and provide solutions for some common
problems  that  you might encounter.  The first section deals with problems
which  cause  DynamiCache  to function improperly but which do NOT cause an
error  message to be displayed.  The second section deals with the meanings
of  the  various  error  messages which DynamiCache may display.  The third
section  concerns contacting technical support if you are unable to resolve
your problem on your own.


A. Trouble-Shooting General Problems
------------------------------------

Problem:

DynamiCache  is  ignoring  my  cache  configuration  or  is not caching the
devices I tell it too even though they say "enabled" in the Device List.

Solution:

Remember  that  DynamiCache does not begin to use the configuration that is
specified  by  gadgets  and  the  device  list  the Use or Save gadgets are
pressed!    Thus   whenever  you  change  the  gadget  settings  by  direct
manipulation  or by loading a configuration from disk you MUST click Use or
Save  before  it will take effect.  The statistics display window and cycle
gadget  can  be  used to accurately view the settings that are currently in
use  for  each  device  whereas  the  scrolling  listview  gadgets show the
settings  that  will  be  in  use  next time you install a configuration by
clicking Save or Use.

Problem:

DynamiCache crashes or locks-up when I install a new cache configuration or
whenever I access a particular device.

Solution:

You  may  be  trying  to cache a device which DynamiCache is not compatible
with.   Devices which DynamiCache is not capable of caching should not even
show  up  in  the  list of cachable devices but due to the great variety of
devices  out there this auto-filtering feature may not always eliminate all
non-cachable  devices.  Devices which DynamiCache is not capable of caching
include:     ram-disks,    remotely    mounted    network    devices    and
non-block-oriented  devices  (streaming tapes for example).  Caching should
be disabled for any such device which appears in the device list.

If there is no obvious device which is causing problems try disabling cache
for  all  devices.   The re-enable cache on one device, click Use, and test
out  the  configuration.   If everything works all right enable caching for
another device and repeat until you find the problem causing device.

If  you  are  still  having problems it may be that you are running another
utility  program  which  conflicts  with  DynamiCache.   Some public domain
utility   programs,   particularly   those   which  modify  the  system  in
non-standard  ways  or  which  patch into the system vectors, may have bugs
which conflict with DynamiCache.  To eliminate the possibility that another
program   that   you  are  running  is  interfering  with  DynamiCache  try
temporarily  removing  all  other non-standard programs from your WBStartup
drawer  or  User-Startup  sequence  and then try running DynamiCache.  Even
better  try  running DynamiCache after booting from a copy of your original
"clean"   Workbench   disks.   If  DynamiCache  now  works  then  gradually
experiment  with  reintroducing the other programs you were running to your
environment until you isolate the specific program causing the problem.


Problem:

DynamiCache  does  not  recognize  media  changes  or gives me corrupt data
errors when accessing my floppy or removable media disk drives.

Solution:

Make  sure  that  the device type is appropriately set to indicate that the
drive is a floppy or removable disk drive.


Problem:

My virus checking program complains that the BeginIO and AbortIO vectors of
trackdisk.device  have  been  altered  whenever  I  install  a  DynamiCache
configuration.

Solution:

Don't  panic!   In  order  to work DynamiCache MUST patch these vectors for
every  device  that  cache  is enabled for.  This is NOT a virus.  You must
tell  your virus-checker to ignore DynamiCache's changes and not to restore
these  vectors  to their previous settings.  If you tell your virus checker
to restore these vectors your computer may crash.

If  you  are  starting  both  the  virus  checker and DynamiCache from your
WBStartup  drawer  you  can  avoid  the  initial virus checker complaint by
starting  DynamiCache  before  the virus checker.  To do this make sure the
virus  checker's  STARTPRI  tooltype  has a LOWER value than DynamiCache's.
(By  default  DynamiCache  has a STARTPRI of 127 so it is probable that the
virus checker's startpri is already lower than this so nothing will need to
be changed.)


Problem:

DynamiCache is not giving me very good hit-ratios.  What should I do?

Solution:

Use  the  statistics  display  gadget to monitor statistics on a per-device
basis  and  adjust  the  parameters  for  each  device  to  obtain  optimal
performance.   A  common  problem is that the Read-Ahead buffer size is set
too   large  -  try  reducing  the  buffer  size  and  installing  the  new
configuration   with  Use/Save  and  see  if  things  improve.   Track-mode
read-ahead  should  never  be  used  with any device except floppy disks or
hit-rates  may  suffer.   Switching  to  LRU  Purge  Scheme or toggling the
Write-Through  status  may  also help improve hit rates.  You may also have
your  Maximum  Cache  size set too small.  Another way to improve cache hit
rates is to de-fragment your hard-drive using a public-domain or commercial
de-fragmentation  program.   If  all  these  measures  fail the problem may
simply  be  that  you  do  not  have  enough  free memory in your system to
effectively  cache  your disks.  Disk caching is memory intensive even with
programs  like DynamiCache which make extremely effective use of the memory
you do have.


Problem:

Should  I  continue  to  use  Addbuffers?  What about Commodore's Directory
Caching  File  System  under  3.0?   What  about  other  3rd  party caching
software?

Solution:

Addbuffers, a primitive caching command supplied by Commodore, is perfectly
safe  to  use in conjunction with DynamiCache.  When both are used together
they may improve directory access speeds more than either used alone would.
Addbuffers  ONLY works to cache directory accesses though wehre DynamiCache
works  with  all  types  of accesses.  When using Addbuffers in combination
with  DynamiCache  I  would suggest using no more than 50 or 100 Addbuffers
per device.  Note that Addbuffers caches on the filesystem level and if you
have  addbuffers  installed on a partition and do a directory listing it is
possible  that the directory will be supplied from the Addbuffers cache and
DC won't ever see the accesses so the access count for that device will not
change.  This is normal behavior so do not be alarmed by it.

Commodore's  Directory  Caching File System (DCFS) is also safe to use with
DynamiCache.  Using the two together will greatly increase performance.

Other  caching software is NOT safe to use at the same time as DynamiCache.
If  two  different  programs  are attempting to cache the same device it is
likely  that  they  will interfere with each other and either cause drastic
performance decreases or crash the system.


Problem:

I  can't  get  GigaMem (or other virtual memory systems) and DynamiCache to
work too well together.  What should I do?

Solution:

It  is  possible to use virtual memory and disk caching together if you are
careful.   During development DynamiCache was tested with GigaMem to ensure
compatibility.  There are several things you must do to make sure they work
together smoothly though.

First,  make  sure  that  DynamiCache  is NOT in GigaMem's list of programs
which  can  use  virtual  memory.   Attempting  to  use  virtual  memory as
disk-cache is a sure recipe for disaster.

Second, try adjusting the order in which the programs are started.  If they
are  both  being  started  from  WBStartup adjust their STARTPRI tooltypes.
Usually  DynamiCache  should  be  started  BEFORE  GigaMem or other virtual
memory  systems.   However, if this is not working too well you may want to
experiment with starting DynamiCache after the virtual memory program.

If  the  above steps are not enough to get the two working together you may
need  to disable caching on the partition which is being used as swap space
by  the  virtual memory program.  This should be a last resort though since
it usually will not be necessary.


Problem:

I  want  DynamiCache  to  automatically  start  up with the configuration I
specify when I boot my computer.

Solution:

Drag  the DynamiCache icon into the WBStartUp drawer.  If you want to use a
settings   file   in   a   location   other   than   the  default  location
(ENVARC:DynamiCache/DynamiCache.prefs)  make  sure  that  the  filename  is
specified  by  the  SETTINGS=<filename>  tooltype.   If  you want the cache
configuration  to  be  installed  immediately  upon  start-up  specify  the
USEIMMEDIATE  tooltype.   You  can specify the window mode that DynamiCache
opens in by using the cx_popup=<yes|small|no> tooltype.


Problem:

I double-click on the DynamiCache icon but it doesn't start up.

Solution:

You  may have specified cx_popup=no as a tooltype in which case DynamiCache
IS  being  loaded  but  the  window isn't being opened.  Either remove this
tooltype or use the hotkey or Commodities exchange to open the window after
double-clicking the icon.


Problem:

I  closed  the  DynamiCache  window but it didn't free up my memory and the
cache is still around.

Solution:

Closing  the  DynamiCache  window does not remove the cache.  To remove the
cache  and  exit  the program you must use the Quit menu item or the Remove
function from Commodities exchange.


Problem:

I  want  DynamiCache to remember the position of its windows and reuse that
position next time I start it.

Solution:

Drag  both  windows into the positions you want them to be in and then Save
the  configuration  and DynamiCache will remember their positions.  You can
specify whether the DynamiCache window opens in its small or large state by
specifying the cx_popup=small or cx_popup=yes tooltypes respectively.


B. DynamiCache Error Messages
-----------------------------

This  section  indicates  the  various error messages.  Error messages when
displayed  on  the  screen will be labelled as a Fatal Error, a Recoverable
Error  or  a  Warning.   Fatal  errors  cannot  be recovered from and cause
DynamiCache  to  exit  if  possible.   Recoverable  error  messages  may be
recovered from by clicking Retry or ignored if possible by clicking Cancel.
Warnings  inform  you of abnormal situations but will not usually cause any
problems.

Informational  messages  are  not error conditions but merely inform you of
what actions DynamiCache is doing.  They appear in small windows which will
disappear  automatically  after  five  seconds  without any action from the
user.  Informational messages can be suppressed with the QUIET tooltype.


Caching late-mounted device specified in settings file: <filename>

The  device  indicated was specified in the current settings file but which
was  previously  not  present in the system device list has been identified
and that caching is about to be enabled for that device.


Corrupt or invalid configuration file!

The  settings  file you specified does not appear to be a valid DynamiCache
settings file.  Either the file is not actually a DynamiCache settings file
or  the  file  was  corrupted somehow.  DynamiCache will attempt to read as
much  of  the  file  as  possible  and  will  supply default values for any
unreadable data.  Use the configuration window to correct the settings file
and re-save it.


Device not found:

The specified device was not able to be opened.  Either the device does not
actually  exist, it was improperly mounted, or it is not a cachable device.
Try  mounting  the  device  or  inserting  media if it is a removable media
device currently with no media in it.  If all else fails disable caching on
this device.


Device specified in settings file but not currently mounted: <device>

The device indicated was specified in the current settings file but has not
been  found  in  the  system  device list at the time the settings file was
loaded.


Error creating CX structures! Check hotkey specification.

The hotkey specification you gave via the CX_POPKEY keyword was not a valid
hotkey  specifier.   Please  check your Amiga Workbench manuals for info on
specifying  valid hotkeys.  If the hotkey was specified on the command line
make  sure  that  proper quoting was used around the entire parameter if it
contained any spaces.  For example:  "cx_popkey=alt esc"


Insufficient memory for ....

Memory shortage is interfering with creation of a needed structure or port.
Try to free up memory and retry.


Insufficient free memory for initial memory chunk!

DynamiCache  was  not able to allocate sufficient dedicated cache memory as
was specified by the minimum cache size for the current configuration.  Try
altering the configuration to use a smaller minimum cache size.


Invalid configuration file - value out of range!

The settings file you specified contains an invalid entry.  Either the file
is  not  actually  a  DynamiCache  settings  file or the file was corrupted
somehow.   DynamiCache will attempt to read as much of the file as possible
and   will  supply  default  values  for  any  unreadable  data.   Use  the
configuration window to correct the settings file and re-save it.


Minimum Cache Size exceeds Maximum Cache size!

The  minimum  cache  size  you specified was smaller than the maximum cache
size you specified.  DynamiCache will reset minimum and maximum cache sizes
to their default values if this occurs.


Patching non-standard BEGINIO/ABORTIO entry for: <device>

This  informs  you that you have a device driver which uses a non- standard
format  but  that  DynamiCache  knows  how  to  deal  with  this particular
non-standard  format.   Complain to the manufacturer of this device driver!
(If they need more technical details about exactly what is wrong with their
device have them contact me.)

DynamiCache  will  attempt  to  "fix" this devices for you.  This requester
merely notifies you that DynamiCache knows how to deal with this particular
non-standard  device  and is making the necessary patches.  Currently it is
known that most ICD products will cause this warning to appear.

If  you  should  still have problems when enabling cache for a device where
this  requester  appears  please contact technical support.  Be prepared to
inform  them  exactly of all the information that appears in this requester
including  the  exact device name and the two hexadecimal numbers.  If I am
to  have  any  hope  of  patching  DynamiCache  to correctly deal with your
particular  non-standard  device  I  must  have the exact information which
appears in this requester.


Unable to create ...

Memory  shortage  or  shortage  of other system resources is preventing the
successful  creation  of a needed structure or port.  Try to free up memory
and retry.


Unable to install jump-table.

The program was not able to install its patches probably due to shortage of
memory.


Unable to open DynamiCache window.

The program was not able to open the window due to shortage of memory.


Unable to open file requester.

This  program  was  not able to open the ASL file requester probably due to
shortage of memory.


Unable to open settings file: <filename>

The  settings  file  which  was specified via the file requester or via the
SETTINGS  start-up  parameter  was  not  located  in the expected location.
Check  to  make  sure that your filename specification was correct and that
the  file actually exists.  If the filename was specified as a command line
parameter  and  contained spaces check to make sure that proper quoting was
used  around the entire filename.  For example "SETTINGS=DH0:File Name With
Spaces"


Unable to patch non-standard BEGINIO/ABORTIO entry for: <device>

This  indicates  that you have a disk controller which uses a non- standard
device  format  and  that  DynamiCache  does NOT know how to deal with this
particular  non-standard  format.   Complain  to  the  manufacturer of this
device  driver!  (If they need more technical details about exactly what is
wrong with their device have them contact me.)

DynamiCache  does not recognize this non-standard device and cannot fix it.
Caching  will  not  be enabled for the device.  Currently there are no know
devices which cause this error message.

Please  contact  technical  support  and  inform  them  exactly  of all the
information  that appears in this requester including the exact device name
and  the  two  hexadecimal  numbers.   If I am to have any hope of patching
DynamiCache  to  correctly  deal with your particular non-standard device I
must have the exact information which appears in this requester.


Unable to save configuration file: <filename>

DynamiCache  encountered  an  error while writing the configuration file to
the  specified  destination.   Check  to  make sure that the destination is
valid,  that  the  disk is not full, and that write protect is disabled for
that disk.


C. Contacting Technical Support
-------------------------------

If you have read the entire manual and are still having persistent problems
please  contact  technical support.  Please be prepared to supply your name
and product registration information.  Also please inform technical support
of  your  entire  system  configuration including computer model, amount of
memory,  operating  system  version and information about the manufacturer,
model,  and  revision  of any peripherals you are using.  Please be sure to
give  a  complete  description  of  the  problem and the steps necessary to
produce  it  and  have an exact copy of any error messages that DynamiCache
may  have  produced.   Following  these simple guidelines will make it much
easier for us to help you solve your problem quickly.


------------------------------------END------------------------------------

