home *** CD-ROM | disk | FTP | other *** search
/ PC-Test Pro / PCTESTPRO.iso / disktool / icache / entp / i_cache.doc next >
Encoding:
Text File  |  1995-08-31  |  74.3 KB  |  1,801 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.        IIIIII         CCCCCC      AAA      CCCCCC   HH    HH   EEEEEE
  24.          II          CC    CC    AA AA    CC    CC  HH    HH  EE    EE
  25.          II          CC         AA   AA   CC        HH    HH  EE
  26.          II          CC        AA     AA  CC        HHHHHHHH  EEEEE
  27.          II          CC        AAAAAAAAA  CC        HH    HH  EE
  28.          II          CC        AA     AA  CC        HH    HH  EE
  29.          II          CC    CC  AA     AA  CC    CC  HH    HH  EE    EE
  30.        IIIIII 111111  CCCCCC   AA     AA   CCCCCC   HH    HH   EEEEEE
  31.  
  32.  
  33.  
  34.  
  35.  
  36.                                 Version 1.20
  37.  
  38.  
  39.  
  40.                           The I_Cache Device Driver
  41.  
  42.                      XMS disk and CD-ROM caching system
  43.  
  44.  
  45.  
  46.                    Developed and written by Miles Pawski
  47.                             Copyright 1994,1995
  48.                             All Rights Reserved
  49.  
  50.  
  51.  
  52.  
  53.                          Code: MicroSoft MASM 6.10
  54.  
  55.  
  56.  
  57.  
  58.  
  59.                                                               Page  1
  60.          ------------------------------------------------------------
  61.                            TABLE OF CONTENTS
  62.  
  63.          Introduction...........................................  3
  64.          Acknowledgements.......................................  3
  65.          Requirements
  66.             System..............................................  4
  67.             Configuration.......................................  4
  68.          Specifications
  69.             Disk Caching Specifications.........................  5
  70.             CD-ROM Specifications...............................  6
  71.          Installation
  72.             Format & Requirements...............................  7  
  73.             Basic...............................................  8
  74.             Advanced (parameters)...............................  8
  75.               /i /q ............................................  8
  76.               /t /c ............................................  9
  77.               /s /b ............................................ 10 
  78.               /f /? /a ......................................... 11
  79.               /L ............................................... 12
  80.               /e /r ............................................ 13
  81.               /k ............................................... 14
  82.             CD-ROM Installation................................. 13
  83.             CD Installation Notes .............................. 14
  84.             Compatible Installation Parameters.................. 15
  85.             Installation and Configuration Examples............. 15
  86.          Using The CD Audio Player
  87.             CD Player Usage..................................... 17
  88.          Hot Keys............................................... 19
  89.          Error Messages
  90.             I_Cache Error Messages.............................. 19
  91.             Disk Error messages................................. 21
  92.             CD-ROM Error Messages............................... 22
  93.          Software Compatability
  94.             DOS................................................. 22
  95.             Windows............................................. 23
  96.             Video (CD-i)........................................ 24
  97.             DESQview & QEMM..................................... 24
  98.             Other disk caches................................... 24
  99.             CAM drivers......................................... 24
  100.          Hardware Compatability
  101.             SCSI controllers and Virtual DMA.................... 24
  102.             Solutions (Ic_low.sys).............................. 25
  103.             Tape drives......................................... 25
  104.             Magneto-Optical drives.............................. 25
  105.             Compressed drives (Stacker, Dblspace)............... 26
  106.          System Optimization
  107.             Batch file use...................................... 27
  108.          The I_Cache API
  109.             Int 2fh............................................. 28
  110.          Precautions & Suggestions
  111.             Precautions......................................... 28
  112.             Suggestions......................................... 28
  113.             Disclaimer.......................................... 30
  114.          Customer Service
  115.             Technical Support................................... 30
  116.          Shareware Notes                  
  117.             Shareware terms..................................... 30
  118.             Registered user's privileges........................ 30
  119.                                                               Page   2
  120.          -------------------------------------------------------------
  121.  
  122.                                 INTRODUCTION
  123.  
  124.  
  125.          I_Cache was first developed as an answer to Computer User's
  126.          needs for faster disk access.  It was designed to work with
  127.          all disks, whether they are IDE's, SCSI's, CD-ROMs, floppy
  128.          disks or other external drives.  It is universal in its
  129.          design and was meant to be a "set it and forget it" utility.
  130.          It is designed to be used under the DOS operating system.
  131.          This Shareware release is the culmination of over a year of
  132.          development and subsequent Beta testing.
  133.  
  134.          Users will find that, with I_Cache, their PC's run faster and
  135.          more efficiently due to the memory caching of frequently used
  136.          disk data sectors.  As with all disk caches, when DOS
  137.          requests a cerain disk sector(s), I_Cache will check to see
  138.          if it has the requested sector(s) in memory and, if so, will
  139.          provide them to the application directly from memory rather
  140.          than reading the disk.  This saves wear and tear on your disk
  141.          drives and speeds up the application.
  142.  
  143.          I_Cache has been extensively tested and is completely safe to
  144.          use.  It is especially suited for PENTIUM processors.  I_Cache
  145.          also features a sophisticated, self-contained CD audio player
  146.          for your convenience.
  147.  
  148.  
  149.  
  150.                            ACKNOWLEDGEMENTS
  151.  
  152.  
  153.          I would like to thank all of my Beta testers, with special
  154.          consideration for the following three individuals, who hung
  155.          in there all the way and provided valuable input for the final
  156.          post-Beta release of I_CACHE:
  157.  
  158.          Johnny Chu        -  Hong Kong
  159.  
  160.          August C. Quint   -  Germany
  161.  
  162.          Ryan O'Connell    -  United Kingdom
  163.  
  164.                       Thanks for all the reboots !!
  165.  
  166.  
  167.  
  168.          Books that I found of great value:
  169.               
  170.          Undocumented DOS  (Second Edition) 
  171.              A Programmers Guide to reserved MS-DOS functions and
  172.              Data Structures. (C) Copyright 1994  A. Shulman, R. Brown,
  173.              D. Maxey, R. Michels, J. Kyle  Publisher: Addison-Wesley
  174.  
  175.          PCintern
  176.              System Programming.  (C) Copyright 1992  Abacus/DATA BECKER
  177.              Author: Michael Tischer
  178.  
  179.                                                               Page   3
  180.          -------------------------------------------------------------
  181.  
  182.  
  183.  
  184.  
  185.  
  186.                           SYSTEM REQUIREMENTS
  187.  
  188.  
  189.          DOS:         4.0+ or DRDOS 6.00+
  190.  
  191.          COMPUTER:    386+
  192.  
  193.          XMS driver:  REQUIRED.  For example: Himem.sys, Qemm,
  194.                       Qext.sys......
  195.  
  196.          XMS memory:  At least 1 megabyte.  XMS memory is also
  197.                       referred to as eXtended memory and is the memory
  198.                       which is above the 1 megabyte limit on your
  199.                       computer.  It is suggested that you have a cache
  200.                       size of at least 1 megabyte for efficient
  201.                       operation.
  202.  
  203.          EXTENSIONS:  Microsoft's MSCDEX if CD-ROMs are to be cached.
  204.                       MSCDEX is usually supplied with your CD-ROM
  205.                       software.  It is also supplied with DOS Version
  206.                       6.xx.
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.                       CONFIGURATION REQUIREMENTS
  215.  
  216.  
  217.          Autoexec.bat file -
  218.  
  219.                      VERIFY OFF
  220.  
  221.          Config.sys file   -
  222.  
  223.                      buffers=10
  224.  
  225.                Hardware stack recommendations:
  226.  
  227.                      stacks=9,256   (non-DESQview users)
  228.                      stacks=0,0     (DESQview users non-STEALTH)
  229.  
  230.  
  231.  
  232.          Windows System.ini file  -
  233.  
  234.                  [386Enh]
  235.  
  236.                     InDosPolling=1   (Windows users only)
  237.  
  238.  
  239.                                                               Page   4
  240.          -------------------------------------------------------------
  241.  
  242.  
  243.                             SPECIFICATIONS
  244.  
  245.                          I_Cache  Version 1.20
  246.  
  247.  
  248.  
  249.          DISK CACHING SPECIFICTIONS
  250.  
  251.          Buffer (track) size  -
  252.  
  253.                            4 (2048 bytes), 8 (4096 bytes), 16 (8092 bytes),
  254.                            32 (16384 bytes), 64 (32768 bytes) sectors.
  255.                            Auto or manually selected.
  256.  
  257.          Cache memory  -
  258.                            XMS in an UNLOCKed block.
  259.  
  260.          Cache size   -
  261.                            100k to 16000k.  Can be automatically
  262.                            reduced to a value suitable for Windows on
  263.                            entry (to Windows).  Can also be
  264.                            dynamically resized from the command line.
  265.  
  266.          Change line  -
  267.                            Supports external drives that support the
  268.                            media change line.  Also supports external
  269.                            drives that don't support the change line
  270.                            with the /L+ parameter.  Can force a media
  271.                            change with hot-keys.
  272.  
  273.          Device Name  -
  274.                            $ICACHE$
  275.  
  276.          Disk Sector Size  -
  277.  
  278.                            512, 1024, 2048, bytes per sector.
  279.  
  280.          Disks -
  281.                           IDE, SCSI hard or external disks of any
  282.                           track configuration, sector translation
  283.                           or size.  Can cache up to 26 drives totally
  284.                           including CD-ROMs.  Up to 20 CD-ROMs can be
  285.                           cached.  Can cache DoubleSpace compressed drives.
  286.  
  287.          I/O memory    -
  288.                            Regular or "high" memory or split loading with
  289.                            the IC_LOW.SYS i/o driver.
  290.  
  291.          Initial Load  -
  292.                            Either loaded low into regular memory or
  293.                            loaded "high" with the usual methods.  Can
  294.                            be loaded either as a visible device driver
  295.                            from the config.sys file or from the
  296.                            autoexec.bat file.  (If you are using QEMM 7.5,
  297.                            see page 24, "Software Compatibility").
  298.  
  299.                                                               Page   5
  300.          -------------------------------------------------------------
  301.  
  302.          Initial Size  -
  303.                            I_Cache requires 48.3k to initially load.        
  304.  
  305.          Maximum Size  -
  306.                            53.5k (with /t:64 & 16MB cache)
  307.  
  308.          Read Caching  -
  309.                            Available for ALL disks.  Utilizes LRU
  310.                            (Least Recently Used) queue to prevent
  311.                            cache "thrashing".
  312.  
  313.          Write Caching -
  314.                            Available for all disks.  Non-removable, fixed
  315.                            disks are automatically write-cached.  Can be
  316.                            activated or defeated with the /a: parameter.
  317.                            (See /a: parameter for further instructions).
  318.                            Disks are written a track at a time.  The track
  319.                            queue is sorted before they are written.  The
  320.                            track queue is written to disk when the computer
  321.                            is idle, that is, no keyboard or mouse activity.
  322.                            (Preemptive multitasking)
  323.  
  324.          XMS Transfer -
  325.                            XMS servor API interface.
  326.  
  327.  
  328.  
  329.          CD-ROM SPECIFICATIONS
  330.  
  331.  
  332.          Audio player -
  333.                            Will play ALL CD-DA RedBook disks.
  334.  
  335.                            Supports software manipulated incremental
  336.                            volume control for drives that support this
  337.                            feature.
  338.  
  339.                            Ejects disk and closes tray with drives that
  340.                            supprort these features.
  341.  
  342.                            All calls are routed through MSCDEX.
  343.  
  344.          Audio/Video format  -
  345.  
  346.                            All formats.
  347.  
  348.  
  349.          Data format -
  350.                            High Sierra
  351.                            ISO 9660
  352.  
  353.          Disks  -
  354.                            CD-ROM
  355.                            CD-DA
  356.                            CD-XA
  357.                            PHOTO-CD
  358.                            CD-I
  359.                                                               Page   6
  360.          -------------------------------------------------------------
  361.  
  362.  
  363.  
  364.          Supported Cached addressing modes -
  365.  
  366.                            HSG
  367.  
  368.  
  369.          Supported Cached data read modes  -
  370.  
  371.                            Cooked mode only - 2048 byte sectors
  372.                            Interleaved mode
  373.  
  374.  
  375.                  ** Raw data requests are passed through the driver
  376.                     and NOT cached by I_cache.
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.                              INSTALLATION
  387.  
  388.                         I_Cache  Version 1.20
  389.  
  390.  
  391.          FORMAT:   I_CACHE [/i] [/c:xxxx[.xxxx]] [/s] [/f] [/q+-]
  392.                            [/a:[xx[+-][(+-)]xx[+-][(+-)]..]] [/?]
  393.                            [/t:xx(4,8,16,32,64)] [/e[r+-w+-]]
  394.                            [/b:xx[+-]] [/r:(Devicename,Devicename)]
  395.                            [/L+-] [/p] [/k12-]
  396.  
  397.  
  398.  
  399.  
  400.          I_Cache is a Device Driver which can be installed either from
  401.          the config.sys or autoexec.bat files.
  402.  
  403.  
  404.          I_Cache needs to be installed AFTER the following:
  405.  
  406.                            XMS and EMS drivers
  407.                            CD-ROM dedicated device drivers
  408.                            All BLOCK drivers (including driver.sys)
  409.                               that are to be cached by I_Cache.
  410.                            IC_LOW.SYS
  411.                            ALL ASPI drivers (SCSI-based drivers)
  412.                            DLBSPACE.SYS /MOVE
  413.                            DRVSPACE.SYS /MOVE
  414.                            NETWORK drivers 
  415.  
  416.          I_Cache needs to be installed BEFORE the following:
  417.  
  418.                            MSCDEX
  419.                                                               Page   7
  420.          -------------------------------------------------------------
  421.  
  422.          BASIC INSTALLATION:
  423.  
  424.          There are 2 parameters required for basic installation of
  425.          I_Cache:  /i  & /c
  426.  
  427.          /i  -  Install I_Cache.  Installation parameter only.
  428.  
  429.          The other parameters (besides /c) are optional and will be dis-
  430.          cussed later.  The /c parameter has two parts.  It must be in the
  431.          following format /c:xxxx[.xxxx].  The first number is
  432.          required and specifies the size of the XMS cache in K.  The
  433.          second value, which contains a decimal point and a number, is
  434.          optional, and specifies the size of the cache inside WINDOWS.
  435.          THIS VALUE MUST BE SMALLER THAN THE FIRST VALUE.  On entering
  436.          WINDOWS, the cache will resize itself to this value.  You may
  437.          install I_CACHE from either the config.sys or autoexec.bat files.
  438.  
  439.            EXAMPLES (from autoexec.bat file):
  440.  
  441.                     I_CACHE.EXE /i /c:3000.2000
  442.                           This installs I_CACHE with a cache
  443.                           size of 3000K (XMS).  It will resize itself
  444.                           to 2000K on entering WINDOWS.  It will
  445.                           return to 3000k on leaving WINDOWS.
  446.  
  447.                     I_CACHE.EXE /i /c:4000
  448.                           This installs I_CACHE with a cache
  449.                           size of 4000K (XMS).  It will be the same
  450.                           size inside and outside of WINDOWS.
  451.  
  452.          If you wish to install I_CACHE from the config.sys file, you
  453.          need only add device= to the above examples:
  454.  
  455.                     device=I_CACHE.EXE /i /c:3000.2000
  456.  
  457.          Please consult your DOS manual for techniques on customizing your
  458.          config.sys and autoexec.bat files. 
  459.  
  460.  
  461.  
  462.         ADVANCED INSTALLATION:
  463.         Other parameters
  464.  
  465.         /q- /q+
  466.  
  467.                /q- TURNS OFF INT 13 traps.      DEFAULT: /q+ (Traps ON)
  468.  
  469.                This parameter turns off int 13 detection traps.  These
  470.                traps are essential for programs which bypass DOS and
  471.                access the disk directly through int 13.  The traps maintain
  472.                the integrity of the cache buffers.  Turning off this feature
  473.                may cause a compromise in data integrity with programs that
  474.                write to the disk directly.   It is included only for special
  475.                circumstances in which I_CACHE has int 13 detection problems
  476.                or with applications that aren't compatible with I_CACHE's
  477.                int 13 detection.  YOU SHOULD NOT NORMALLY USE THIS PARAMETER.
  478.                (See Software Compatibility: Page 23)
  479.                                                               Page   8
  480.          -------------------------------------------------------------
  481.         /t:xx
  482.  
  483.                SPECIFY LOGICAL TRACK SIZE.  Default: Auto selection
  484.                ** INSTALLATION ONLY         Valid values: 4,8,16,32,64
  485.  
  486.                This parameter specifies the logical track size in
  487.                sectors.  If you don't specify this parameter, track
  488.                size is determined automatically from the longest track
  489.                size of all cached hard disks.  I_Cache assigns the
  490.                closest value to 8, 16 or 32.  4 and 64 can only be specified
  491.                with this parameter.  If your system has no hard disk,
  492.                then I_CACHE defaults to a 16 sector track size.  You
  493.                may change that with this parameter.  THIS OPTION CAN
  494.                ONLY BE USED AT INSTALLATION.
  495.  
  496.                Larger buffer sizes my not provide the most efficient
  497.                operation.  Even if your hard disk has a track size of
  498.                63 sectors, I_Cache may work better if you specify a
  499.                track size of 16 with this parameter.
  500.                Best performance: /t:16 or /t:32   Worst performance: /t:4
  501.  
  502.         /c:xxxx.xxxx
  503.  
  504.                SPECIFY/RESIZE CACHE SIZE.  Valid range: 100k-16000K
  505.  
  506.                This parameter can be used to resize the cache after it
  507.                has been installed.  You cannot resize the cache to a
  508.                value (in K) larger than originally specified on
  509.                installation.  You may add a WINDOWS value to this but
  510.                it won't resize to that value, it will only store the
  511.                WINDOWS value and will resize to the first value given
  512.                after the colon.   You cannot resize the cache once
  513.                inside Windows.
  514.  
  515.                           I_CACHE /c:2000
  516.  
  517.                                   This will resize the cache to 2000K
  518.                                   (provided the initial size was not
  519.                                   smaller than this amount).
  520.  
  521.                           I_CACHE /c:2000.1000
  522.                                   This will resize the cache to 2000K
  523.                                   (provided the initial size was not
  524.                                   smaller than this amount).   It will
  525.                                   also store a new WINDOWS value of
  526.                                   1000K.
  527.  
  528.                I_CACHE is reset when it is resized and all modified
  529.                buffers are written to disk before it is resized.  You
  530.                cannot use this parameter with any others when you
  531.                resize the cache. I_CACHE may have trouble resizing up
  532.                to its maximum allowable size due to various XMS
  533.                allocations with software programs.  If it can't, it
  534.                will beep and try a smaller size than specified, or
  535.                return to its value before the /c parameter was
  536.                specified.  The cache can be manually reset by naming
  537.                an amount which is identical to the current cache size.
  538.  
  539.                                                               Page   9
  540.          -------------------------------------------------------------
  541.  
  542.         /s
  543.                STATUS DISPLAY.
  544.  
  545.                This brings up the cache status display.  It won't work if
  546.                cache isn't installed.
  547.  
  548.                The first screen indicates general information about I_CACHE
  549.                and its performance on your system.  It shows read and write
  550.                hit percentages, where I_CACHE is loaded into memory, its
  551.                resident size, which drives are cached, etc.
  552.  
  553.                The second screen indicates which block drivers have been
  554.                detected on your system and volumes of disks.  It shows the
  555.                names of any CD drivers detected and certain funtions that
  556.                the physical CD drive may support (by checkmarks).
  557.  
  558.                Raw       The CD-ROM drive is capable of reading full 2352
  559.                          byte sectors as well as standard 2048 byte
  560.                          sectors.
  561.  
  562.                Write     The CD-ROM drive is capable of writing to CD-ROM
  563.                          disks.
  564.  
  565.                Play      The CD-ROM drive can play audio disks.
  566.  
  567.                Intlv     The CD-ROM drive is capable of reading data
  568.                          written in interleaved mode.
  569.  
  570.                Pref      The CD-ROM drive can take prefetch requests.
  571.  
  572.                Redbk     The CD-ROM drive can read data addressed in
  573.                          RedBook mode (MIN:SEC:FRAME).
  574.  
  575.                The third screen indicates the percentage of the cache that
  576.                each drive is using.
  577.  
  578.  
  579.         /b+ /b- /b:xx
  580.  
  581.                BELL TONE during disk updates.  Default: OFF.
  582.                                                Valid range: 5-100
  583.                                                (clock ticks)
  584.  
  585.                I_CACHE will produce a beep every xx clock ticks during
  586.                staged-write activity.  If a disk-write takes
  587.                less than xx ticks, I_CACHE will not produce a beep.
  588.  
  589.                You may turn this feature on by either specifying a
  590.                value with /b:xx (5-100) or with /b+, which uses the
  591.                previously defined value or the default value (15).
  592.                You may turn off this feature with /b-.
  593.  
  594.                If this feature is activated, it also causes the system
  595.                to beep when a media change is detected.  If you what a
  596.                media change beep, but do disk beep, place a very high
  597.                value with the /b parameter.   There are about 18 clock
  598.                ticks per second.
  599.                                                               Page  10
  600.          -------------------------------------------------------------
  601.         /f     FLUSH THE CACHE.
  602.  
  603.                This flushes the cache if there are modified buffers
  604.                waiting to be written to disk.  If there aren't, it
  605.                does nothing.  You can also flush the cache with the hot-key
  606.                combination:   LSHIFT+ALT+F
  607.  
  608.         /?     Parameters information.
  609.  
  610.         /a:[x[+-][(+-)]x[+-][(+-)]...]
  611.  
  612.                DRIVE SPECIFICATION         Default:  All drives read-cached
  613.                                                      Fixed disks write-cached
  614.  
  615.                NOTE: THIS PARAMETER SUPERCEDES THE /W /D & /M PARAMETERS.
  616.  
  617.                Use /a: by itself on the command line to bring up a list of
  618.                drives which I_CACHE is managing and caching.
  619.  
  620.                This specification indicates which drives I_CACHE is to
  621.                manage, including CD_ROM drives.  It will also turn on and
  622.                off write caching to any drive.   By default, all detected
  623.                fixed (unremovable) disks are write-cached unless specified
  624.                otherwise with this parameter.  Write-caching and general 
  625.                drive management can be asserted on other drives from either
  626.                the installation line or from the command prompt.  
  627.  
  628.                If I_CACHE detects a drive as being a RAM disk, then it
  629.                will turn off caching functions to that drive, since
  630.                caching RAM drives is a waste of resources and is inefficient.
  631.  
  632.                A + or a - after a drive letter indicates that the drive 
  633.                is turned on or off.  When a drive is turned on, it is auto-
  634.                matically read-cached, and vice-versa.  A (+) or (-) after
  635.                a drive letter indicates that write caching for the drive
  636.                is turned on or off.  These parameters may be combined.
  637.  
  638.                    EXAMPLE:     I_Cache /a:C+(+)D(-)
  639.                                             ^
  640.                                             |
  641.                In this case, the + after the drive specifier C indicates 
  642.                that the drive is turned on and managed by I_Cache.  The
  643.                drive is automatically read-cached when it is turned on.
  644.  
  645.                                 I_Cache /a:C+(+)D(-)
  646.                                              ^^^
  647.                                              |||
  648.                The (+) indicates that write-caching for the drive is
  649.                activated for drive C.
  650.  
  651.                                 I_Cache /a:C+(+)D(-)
  652.                                                  ^^^
  653.                                                  |||
  654.                The (-) indicates that write-caching for drive D is
  655.                deactivated.
  656.  
  657.                Write-caching isn't changed unless you specify (+) or (-)
  658.                after the drive specifier.
  659.                                                               Page  11
  660.          -------------------------------------------------------------
  661.  
  662.                Since all detected drives are automatically read-cached, you
  663.                need only specify which drives are NOT to be cached or
  664.                managed on the INITIALIZATION-LINE of I_CACHE.  You may also
  665.                specify any write-caching requests.
  666.  
  667.                                 I_Cache  /a:B-D-G(+)
  668.  
  669.                After I_CACHE is installed, you may turn on and off
  670.                drives and write-caching from the DOS command line.
  671.  
  672.                                 I_Cache /a:A+(-)D-E(+)
  673.  
  674.                In this example, drive A is turned on and write-caching for
  675.                drive A is turned off; drive D is turned off, and write-
  676.                caching for drive E is turned on.
  677.  
  678.                A drive cannot be write-cached but not read-cached.  For
  679.                instance,  I_Cache /a:C-(+) turns the C drive off and
  680.                stores the write caching value.  When drive C is activated
  681.                again, write-caching will be in force.  Conversely, if drive
  682.                C is already turned off, I_Cache /a:C(+) will do nothing but 
  683.                store the write-caching request.  When drive C is activated,
  684.                write-caching will be in force.
  685.  
  686.                Activating write-caching for floppy drives may diminish
  687.                their performance to a great degree.  
  688.  
  689.         /L+-
  690.                DISK CHANGE-LINE SUPPORT              DEFAULT: /L- 
  691.  
  692.                I_Cache needs to detect disk changes in order to clear its
  693.                buffers so corruption of data on the external disk doesn't 
  694.                occur.  This parameter is for external drives that don't
  695.                support the media change line.  I_cache treats these
  696.                devices differently when this parameter is activated.
  697.                It checks the serial number I_cache has stored
  698.                for the external disk against the number which the DOS
  699.                kernel has stored for it.  Disks without serial numbers
  700.                or non-DOS formatted disks are checked for last-access-
  701.                time.  If the last time the disk was accessed is
  702.                greater than 2.5 seconds, then I_Cache treats it as being
  703.                changed.
  704.  
  705.                If you are working with a drive with no change-line
  706.                support (or you have specified the drivparm= parameter
  707.                in the config.sys file and didn't use the /c
  708.                parameter), or you are working with disks with no
  709.                serial number (or non-DOS formatted disks), then, for
  710.                performance reasons, it may well serve to remove this
  711.                drive from being cached by I_Cache, rather than specify
  712.                this parameter.
  713.  
  714.                /L affects ALL external drives.  /L- is the default
  715.                (change-line supported).  Use /L+ for drives that don't
  716.                support the disk change line or if you use drvparm= in
  717.                your config.sys file without the /c parameter.
  718.  
  719.                                                               Page  12
  720.          -------------------------------------------------------------
  721.  
  722.         /er+-w+-                                      DEFAULT /er-w-
  723.  
  724.                I_Cache can report advanced information for errors
  725.                detected during disk reads or writes.   The information is
  726.                is for diagnotstic purposes and is written in the upper left
  727.                hand corner of your screen in the following format:
  728.  
  729.                  I_CACHE detects READ/WRITE ERROR
  730.                  Drive x  Sector: 0x000000h   (x)
  731.  
  732.                Values above are reported in 32-bit hex.
  733.  
  734.                The default for this information reporting is OFF.  If
  735.                you wish I_Cache to display this information on read
  736.                errors only, specify /er+ on the command line.  If you
  737.                wish I_Cache to display this information on write errors
  738.                only, specify /ew+ on the command line.  Or, if wish the
  739.                information panel to be displayed on both read and write
  740.                errors, specify /er+w+.  You can defeat the information
  741.                panel in the same way: /er-w- or use any combination of r
  742.                and w: /er+w-
  743.  
  744.                When I_Cache overwrites the screen, the screen is refreshed
  745.                and restored to it's original look in TEXT MODE. In GRAPHICS
  746.                MODES, I_CACHE will attempt to restore the screen in 16 COLOR
  747.                MODES (or less).  Whether it is successufl or not depends upon
  748.                the SIZE of I_CACHE's I/O BUFFER and the pixel distribution  
  749.                on the screen.   I_CACHE uses its I/O buffer as a temporary
  750.                storage area for RLE compressed pixel data.   Therefore, the
  751.                size of the buffer and the gradient pattern of the screen
  752.                pixels determine the amount of screen restoration possible.
  753.                The error panel will be displayed for three (3) seconds.
  754.  
  755.                This parameter does NOT apply to CD-ROMs.
  756.  
  757.  
  758.         CD-ROM INSTALLATION:
  759.         Required parameters and configuration
  760.  
  761.         I_Cache can be installed either as a device driver from the
  762.         config.sys file or from the autoexec.bat file.  Either way, in
  763.         order for CD-ROM drives to be cached, Microsoft's MSCDEX must be
  764.         installed AFTER I_Cache.  The /r parameter is used on the I_Cache
  765.         installation line to specify individual CD-ROM device names which
  766.         are to be cached by I_Cache.  The format for this parameter is as
  767.         follows:
  768.                    /r:(devicename,devicename....)
  769.  
  770.         All CD-ROM device drivers which are to be cached by I_CACHE
  771.         should be specified with the /r parameter and NOT on the
  772.         MSCDEX command line (/d switch).  I_CACHE will sort them out
  773.         and redirect all calls as necessary.  These are the steps you
  774.         should go through in order for I_CACHE to cache CD-ROMS with
  775.         MSCDEX.
  776.  
  777.                      1.)  Insure that I_CACHE is loaded AFTER
  778.                           all CD-ROM device drivers.
  779.                                                               Page  13
  780.          -------------------------------------------------------------
  781.                      2.)  Insure that MSCDEX is loaded AFTER I_CACHE.
  782.  
  783.                      3.)  If I_CACHE is to be loaded in the autoexec.bat
  784.                           file, ensure that it is loaded BEFORE MSCDEX.
  785.  
  786.                      4.)  Enter the device names of the CD-ROM device
  787.                           driver(s) to be cached by I_CACHE in the /r
  788.                           parameter (Parenthesis are required!!):
  789.  
  790.                  [device=]i_cache /i /c:3000 /r:(MSC001,MSC002,SONY03)
  791.  
  792.                           The names of the device drivers are
  793.                           contained in your manual for the CD-ROM
  794.                           setup but will be along the lines of the
  795.                           ones mentioned above.  They are never
  796.                           longer than 8 characters.
  797.  
  798.                      5.)  Enter I_CACHE's device name with the /d
  799.                           parameter for MSCDEX:
  800.  
  801.                           MSCDEX /V /E /M:0 /D:$ICACHE$
  802.  
  803.                           MSCDEX will now direct all calls for devices
  804.                           named in the /r parameter through I_CACHE.
  805.  
  806.                           $ICACHE$ is the device name for I_CACHE.
  807.  
  808.                       *** DO NOT DUPLICATE THE NAMES ON THE MSCDEX /d
  809.                           PARAMETER WITH THOSE LISTED ON THE I_CACHE
  810.                           /r parameter.
  811.  
  812.                          Any device names named on the MSCDEX /d
  813.                          parameter line and NOT mentioned on the
  814.                          I_CACHE /r parameter line will NOT be cached
  815.                          by I_CACHE.
  816.  
  817.         CD-Installation notes -
  818.  
  819.               It is preferable that you specify /M:0 on the MSCDEX
  820.               installation line.  This allocates 0 buffers for MSCDEX
  821.               and makes the MSCDEX program smaller.  It also allows
  822.               I_Cache to handle all sector buffering, which is
  823.               preferable.  It is also preferable to specify as few
  824.               buffers as possible on your CD-ROM device driver
  825.               installation line, although most drivers won't let you
  826.               specify 0.
  827.  
  828.         /k12-  Special keyboard handling    DEFAULT: /k- (OFF)
  829.                If you experience keyboard problems, try these special
  830.                parameters:
  831.                             /k1  Keyboard handling level 1
  832.                             /k2  Keyboard handling level 2
  833.  
  834.                /k1 inhibits the keyboard during delayed writes.  /k2
  835.                adds inhibition of the keyboard during all disk reads and
  836.                writes all well as functions listed for /k1.  These      
  837.                parameters defeat pre-emptive keyboard multitasking during
  838.                delayed writes.
  839.                                                               Page  14
  840.          -------------------------------------------------------------
  841.  
  842.  
  843.         COMPATIBLE INSTALLATION PARAMETERS
  844.  
  845.  
  846.                     /i /c /t /r /b /L /a /e 
  847.  
  848.     *********>   -  can be used in place of / for parameter designation.
  849.                     i.e.: -w
  850.         NOTE:       The /m /d /w parameters were discontinued in this version.
  851.  
  852.  
  853.                  INSTALLATION AND CONFIGURATION EXAMPLES
  854.  
  855.  
  856.  
  857.     device=i_cache.exe /i /c:4000.2500 /b:9 /ew+
  858.  
  859.           This entry would be found in the config.sys file.  This
  860.           installs I_CACHE as a device driver with a main
  861.           XMS cache size of 4000K.  The cache size in WINDOWS will be
  862.           2500K.  The update bell will be sounded every 9 clock ticks
  863.           during staged disk updates.  Buffer size will be auto-selected.
  864.           Advanced information will be displayed on disk write errors only.
  865.  
  866.           This line must come AFTER all block drivers.
  867.  
  868.  
  869.  
  870.     i_cache.exe /i /c:3000
  871.  
  872.           This installs I_CACHE as a TSR (autoexec.bat file) with
  873.           an XMS cache size of 3000K.  The update bell will be OFF
  874.           by default.  Track size will be auto-selected.
  875.  
  876.  
  877.  
  878.     device=i_cache.exe /i /c:6000.3000 /t:32
  879.  
  880.           This entry would be found in the config.sys file.  This
  881.           installs I_CACHE as a device driver with a main XMS
  882.           cache size of 6000K.  The cache size in WINDOWS will be 3000K.
  883.           The track size will be 32 sectors.
  884.  
  885.           This line must come AFTER all block drivers.
  886.  
  887.  
  888.     device=i_cache.exe /i /c:6000.3000 /b- /a:B(+)D-F- /r:(SONY01,SONY02)
  889.  
  890.          This installs I_CACHE as a device driver with a main
  891.          XMS cache size of 6000K.  The cache size in WINDOWS will be
  892.          3000K.  The update bell will be OFF.   The buffer size will be
  893.          auto-seclected.  Write caching for drive B is activated and drives
  894.          D and F will not be cached although all other detected drives will
  895.          be (cached).   CD-ROM devices drivers SONY01 and SONY02 will be
  896.          cached provided that MSCDEX is loaded in the autoexec.bat file and
  897.          the name $ICACHE$ is specified with its /d parameter.  (MSCDEX /V /E
  898.          /D:$ICACHE$).
  899.                                                               Page  15
  900.          -------------------------------------------------------------
  901.  
  902.  
  903.  
  904.          Lets say that you want to put I_CACHE into upper memory with the
  905.          tools provided with DOS and you want to load I_CACHE in the
  906.          autoexec.bat file.  You also want to load the I/O buffer into low
  907.          memory and specify a track size of 32 sectors.  You want to cache
  908.          CD-ROM device SONY01.
  909.  
  910.          config.sys file:
  911.                 buffers=1
  912.                    .
  913.                    .
  914.                    .
  915.                 device=sony01.sys
  916.                 device=ic_low.sys -32   (See Solutions, page 24)
  917.                    .
  918.                    .
  919.  
  920.         autoexec.bat file:
  921.                 PATH=.....
  922.                    .
  923.                 loadhigh i_cache.exe /i /c:4000 /r:(SONY01)
  924.                    .
  925.                 MSCDEX /V /E /M:0 /D:$ICACHE$
  926.  
  927.            With this example:
  928.                 Cache size will be 4000k.
  929.                 I/O buffer is in low memory.  Track size is 32 sectors.
  930.                 Update bell is OFF by default.
  931.                 CD-ROM device driver SONY01 is cached.
  932.                        This driver may operate more than one CD-ROM
  933.                        device.  More than one drive letter may be
  934.                        assigned.  Check the status with the /s parameter
  935.                        to see what drive letters are assigned to each
  936.                        device driver.  MSCDEX is loaded AFTER I_CACHE and
  937.                        names $ICACHE$ as the device name.
  938.  
  939.  
  940.           Now lets say that you have QEMM loaded and you want to load
  941.           I_CACHE in the config.sys file (into upper memory).  You want to
  942.           cache CD-ROM device SONY01.
  943.  
  944.         config.sys file:
  945.              buffers=1
  946.                .
  947.                .
  948.              device=qemm386.sys .......
  949.              device=sony01.sys
  950.     device=c:\qemm\loadhi.sys /L c:\i_cache.exe /i /c:3000 /a:B(+)/r:(SONY01)
  951.                .
  952.                .
  953.         autoexec.bat file:
  954.                .
  955.              PATH=.....
  956.                .
  957.              MSCDEX /V /E /D:$ICACHE$
  958.  
  959.                                                               Page  16
  960.          -------------------------------------------------------------
  961.  
  962.  
  963.            With this example:
  964.                    I_CACHE is loaded high into the largest space
  965.                       that QEMM can find.
  966.                    Cache size will be 3000k
  967.                    Update bell is OFF by default.
  968.                    CD-ROM device driver SONY01 is cached.
  969.                        This driver may operate more than one CD-ROM
  970.                        device.  More than one drive letter may be
  971.                        assigned.  Check the status with the /s parameter
  972.                        to see what drive letters are assigned to each
  973.                        device driver.
  974.  
  975.                    Write caching for drive B is activated.
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.         USING THE CD AUDIO PLAYER
  987.         The /p parameter
  988.         (NOT available in unregistered versions)
  989.  
  990.         I_Cache contains a built-in CD audio player for your convenience.
  991.         It is sophisticated in its design and can handle up to 20
  992.         separate CD drives.  I_Cache needs to be loaded for this option
  993.         to work.  This feature is activated with the /p parameter:
  994.  
  995.                                 I_Cache /p
  996.  
  997.          ┌────────────────┐ ╔════════════════════════════════════════╗
  998.          │    I_Cache     │ ║                             ┌────────┐ ║
  999.          │   CD-Player    │ ║        Running Time on Disk │12:34.56│ ║
  1000.          │  Version 1.0   │ ║                             └────────┘ ║
  1001.          ├────────────────┤ ║      Play    Stop             ┌──┐ ┌─┐ ║
  1002.          │ CTRL+P - Play  │ ║      ┌──┐    ┌──┐       Track │01│ │█│ ║
  1003.          │ CTRL+S - Stop  │ ║      │  │    │██│             └──┘ │ │ ║
  1004.          │ CTRL+R - Reset │ ║      └──┘    └──┘             ┌─┐  │ │ ║
  1005.          │ CTRL+C - Close │ ║                         Drive │E│  │ │ ║
  1006.          │ CTRL+E - Eject │ ║  Reset   Close   Eject        └─┘  │ │ ║
  1007.          │                │ ║  ┌──┐    ┌──┐    ┌──┐              │ │ ║
  1008.          │ CTRL+T - Track │ ║  │  │    │  │    │  │              │ │ ║
  1009.          │ CTRL+D - Drive │ ║  └──┘    └──┘    └──┘              │ │ ║
  1010.          │                │ ║                                    │ │ ║
  1011.          │ CTRL+[  ] Seek │ ║            Message                 │ │ ║
  1012.          │      - Volume  │ ║  ┌───────────────────────┐  Volume │ │ ║
  1013.          │                │ ║  │                       │  [    ] │ │ ║
  1014.          │   ESC - Quit   │ ║  └───────────────────────┘         └─┘ ║
  1015.          └────────────────┘ ╚════════════════════════════════════════╝
  1016.  
  1017.  
  1018.  
  1019.                                                               Page  17
  1020.          -------------------------------------------------------------
  1021.  
  1022.  
  1023.                      Minutes   Seconds   Frames
  1024.                            \      |      /
  1025.                             \     |     /
  1026.                               \───|────/
  1027.     Running Time on Disk      │12:34.56│
  1028.                               └────────┘
  1029.                        Running time is in Minutes, Seconds and Frames.
  1030.                        This is the amount of playing time into the disk
  1031.                        where the cd play head is located.  There are 75
  1032.                        frames per second.  Dynamically changes while
  1033.                        playing or seeking tracks.
  1034.  
  1035.  
  1036.     Volume control     Not all CD players support software manipulated
  1037.                        incremental volume control.  Up-arrow raises the
  1038.                        volume; Down-arrow lowers it.  If you find that
  1039.                        this adjustment does nothing to your volume, then
  1040.                        it means that software manipulated volume control
  1041.                        is not available on your CD.  You must rely on the
  1042.                        volume control knob.  Whether volume control is
  1043.                        supported or not, this feature can turn off and on
  1044.                        your volume.  The volume factor in the CD driver
  1045.                        will be displayed.  Values are from 0-255.  255 is
  1046.                        usually the default set by the dedicated CD
  1047.                        driver.
  1048.  
  1049.                        For CD players that DON'T support software
  1050.                        manipulated volume control, values are treated as
  1051.                        follows:
  1052.  
  1053.                              0   =   OFF
  1054.                            1-255 =   ON
  1055.  
  1056.                        For CD players that DO support software
  1057.                        manipulated volume control, values are treated as
  1058.                        follows:
  1059.  
  1060.                              0   =   OFF
  1061.                            1-255 =   volume increments
  1062.  
  1063.                        I_CACHE will increment or decrement your volume by
  1064.                        8.
  1065.  
  1066.     Other keys:        Except for the UP-ARROW and DOWN-ARROW volume
  1067.                        keys, all other keys must be used in conjuction
  1068.                        withe the CONTROL key.  The funtion will not
  1069.                        activate until the CONTROL key is released.
  1070.  
  1071.        CTRL+D          Toggles the drive.  While holding down the CONTROL
  1072.                        key, you can keep pressing D to find the drive
  1073.                        which you want to play.
  1074.  
  1075.        CTRL+T          Toggles the CD track.  While holding down the
  1076.                        CONTROL key, you can keep pressing T in order to
  1077.                        find the track you want.
  1078.  
  1079.                                                               Page  18
  1080.          -------------------------------------------------------------
  1081.  
  1082.        CTRL+L-ARROW    Shuttle seek forward and reverse.  While holding
  1083.        CTRL+R-ARROW    down the CONTROL key, you can keep pressing either
  1084.                        RIGHT-ARROW or LEFT-ARROW in order to seek to the
  1085.                        spot on the disk which you want.  The Running Time
  1086.                        display will change with your selection.  Each
  1087.                        key press makes the CD seek position in +-1 second
  1088.                        increments.   On release of the CONTROL key, the
  1089.                        seek will be accomplished.
  1090.  
  1091.        CTRL+P          Will start playing the CD from the CD head's
  1092.                        current position and will play until CTRL+S is
  1093.                        pushed, or to the end of the disk.
  1094.  
  1095.        CTRL+R          Resets the disk.
  1096.  
  1097.        CTRL+E          Ejects the disk if this command is supported by
  1098.                        your CD player.
  1099.  
  1100.        CTRL+C          Closes the CD tray if this command is supported by
  1101.                        your CD player.
  1102.  
  1103.        CTRL+S          Stops play.
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.                                  HOT KEYS
  1110.  
  1111.         I_CACHE has two hot-key combinations:
  1112.  
  1113.                    LSHIFT+ALT+F will flush the cache.
  1114.  
  1115.                    LSHIFT+ALT+M will force a media change.
  1116.                        A forced media change will make I_cache invalidate
  1117.                        all buffers allocated for external/floppy drives
  1118.                        including CD-ROMs (all removable media devices).
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.                                ERROR MESSAGES
  1125.  
  1126.                             I_Cache  Version 1.20
  1127.  
  1128.  
  1129.         I_CACHE PRODUCED ERROR MESSAGES
  1130.         -------------------------------
  1131.  
  1132.         !! ACCESS DENIED !!
  1133.         You cannot access I_Cache Ver x.x with I_Cache Ver x.x
  1134.         You cannot mix versions of I_Cache.
  1135.  
  1136.               If a certain version of I_Cache is installed on your computer,
  1137.               you can't access I_Cache with a different version.
  1138.  
  1139.                                                               Page  19
  1140.          -------------------------------------------------------------
  1141.  
  1142.  
  1143.  
  1144.         Can't install I_Cache: 386+ processor required...
  1145.  
  1146.               This message is displayed if you do not have a 386+
  1147.               computer processor.  I_cache can only be used with
  1148.               computers containing at least a 386 chip.
  1149.  
  1150.         Can't install I_Cache: XMS ERROR
  1151.  
  1152.               This message is displayed if I_cache experiences problems
  1153.               in allocating XMS.  It is fatal and will cause I_Cache
  1154.               to stop installing itself.
  1155.  
  1156.         I_CACHE: Can't load WINDOWS at this time...try again
  1157.  
  1158.               I_Cache has detected an error while trying to initialize
  1159.               Windows enhanced mode.  Wait a few seconds, then try again.
  1160.  
  1161.         I_CACHE: Can't load Windows at this time...Please flush cache
  1162.                  first
  1163.  
  1164.               I_Cache has detected that the write cache had unwritten
  1165.               buffers waiting.  The cache must be flushed prior to
  1166.               entering Windows enhanced mode.  Use hot keys LSHIFT+ALT+F
  1167.               or, from the command line, use I_Cache /f.  Then try to
  1168.               load Windows again.
  1169.  
  1170.         I_Cache Not Installed
  1171.  
  1172.               I_Cache is not installed on your system.  You will get this
  1173.               message if you try one of the I_Cache command-line options
  1174.               when I_Cache has not been installed.
  1175.  
  1176.         I_Cache already installed
  1177.  
  1178.               I_cache is presently running on your system.  You will get
  1179.               this message if you try to install I_Cache while it is
  1180.               already running.
  1181.  
  1182.         Installation option only...
  1183.  
  1184.               You will get this message if you try to use an
  1185.               INSTALLATION-ONLY option from the command line, for example
  1186.               /t, /r, /i, etc.
  1187.  
  1188.         Invalid cache size - Must be 100 - 16000
  1189.  
  1190.               Valid Cache sizes are in k (1000 bytes).  Valid values are
  1191.               100 to 16000(k).
  1192.  
  1193.         Invalid parameter combination
  1194.  
  1195.               Certain parameter combinations aren't allowed.  This
  1196.               message will appear if you use an invalid combenation from
  1197.               the command line.
  1198.  
  1199.                                                               Page  20
  1200.          -------------------------------------------------------------
  1201.  
  1202.         Need cache buffers specified: /c:xxxx
  1203.  
  1204.               This message will appear if you tried to install I_Cache
  1205.               without specifying a cache size.
  1206.  
  1207.         No ID numbers available
  1208.  
  1209.               This message will appear if, for some reason, your system
  1210.               is already maxed-out with TSRs and device drivers and
  1211.               I_Cache wouldn't install.  Try de-installing a few, then
  1212.               try installing I_Cache.
  1213.  
  1214.         Requires MS-DOS 4.0 or later
  1215.  
  1216.               I_Cache will only install if your computer has DOS Version
  1217.               4.0 or later.
  1218.  
  1219.         Sorry, can't resize cache from within Windows...
  1220.  
  1221.               You can't manually resize the cache (with the /c parameter)
  1222.               while operating inside of the Windows operating system.
  1223.               Windows will automatically resize itself on entry and exit
  1224.               from Windows if you have a Windows cache size specified on
  1225.               installation.  You may resize the cache while outside of
  1226.               the Windows operating system.
  1227.  
  1228.         Too many buffers - reduce memory request
  1229.  
  1230.               This message appears on installation if your specified
  1231.               track size is too small and your memory request is very
  1232.               high.  Try increasing your track size or reducing your
  1233.               XMS memory request.
  1234.  
  1235.         Too many devices named...20 maximum
  1236.  
  1237.               You can only cache a maximum of 20 CD-ROM drives.
  1238.  
  1239.         Unknown Command
  1240.  
  1241.               Generated by CD audio player, usually if your player does
  1242.               not support Eject Tray or Close Tray commands.
  1243.  
  1244.         Unrecognized option
  1245.  
  1246.               This message appears if you specify an unsupported
  1247.               parameter.
  1248.  
  1249.  
  1250.  
  1251.         DISK ERROR MESSAGES
  1252.         -------------------
  1253.         Common Critical Errors Generated by DOS
  1254.  
  1255.         Drive Not Ready
  1256.  
  1257.               You attempted to access a drive with no disk in it or with
  1258.  
  1259.                                                               Page  21
  1260.          -------------------------------------------------------------
  1261.  
  1262.               the drive door open.   This usually occurs on external
  1263.               drives.   Also generated by the CD Audio Player when a disk
  1264.               is not in the drive.
  1265.  
  1266.         General Failure
  1267.  
  1268.               The drive did not respond.
  1269.  
  1270.         Sector Not Found
  1271.  
  1272.               This is a critical error which will appear under DOS if
  1273.               your disk could not find a sector in a file.  The sector
  1274.               may be damaged or your FAT may be invalid.  I_Cache will
  1275.               display an informative display prior to this if you have
  1276.               used the /e parameter.
  1277.  
  1278.               After this error, you usually get (A)bort, (R)etry,
  1279.               (F)ail...
  1280.  
  1281.         Unknown Media
  1282.  
  1283.               DOS did not recognize your disk.  This can happen with old
  1284.               floppy disks, formatted under obsolete versions of DOS,
  1285.               with non-DOS formatted disks, and with damaged disks.
  1286.  
  1287.         Write Violation
  1288.  
  1289.               This error occurs if you tried to write to a write-
  1290.               protected (read-only) disk.  It also occurs if you try to
  1291.               write to a CD-ROM.
  1292.  
  1293.  
  1294.  
  1295.  
  1296.         CD-ROM ERROR MESSAGES
  1297.         ---------------------
  1298.         Common Error Messages Generated by MSCDEX or CD-ROM Drivers
  1299.  
  1300.               Please consult your CD-ROM manual for error messages by the
  1301.               CD-ROM dedicated driver or by MSCDEX.
  1302.  
  1303.  
  1304.  
  1305.  
  1306.                              SOFTWARE COMPATIBILITY
  1307.  
  1308.         DOS
  1309.         ---
  1310.         Norton Backup    -  Norton does not recommend the use of disk
  1311.                             caches with their backup programs, especially
  1312.                             with the use of Norton's proprietary disk
  1313.                             format.  Although no errors have been
  1314.                             detected with Norton Backup, use I_Cache at
  1315.                             your own risk.
  1316.  
  1317.  
  1318.  
  1319.                                                               Page  22
  1320.          -------------------------------------------------------------
  1321.  
  1322.                             If you wish to use I_CACHE with Norton Backup
  1323.                             programs, it is recommended that, if you are
  1324.                             backing up to an external/floppy drive, you
  1325.                             turn the external drive off with the /a:
  1326.                             parameter so that I_CACHE will not manage
  1327.                             that drive.
  1328.  
  1329.         Norton AntiVirus -  Please load any special drivers for this program
  1330.                             BEFORE I_Cache.
  1331.  
  1332.         Defragmentation  -  Please turn all drives OFF with the /a
  1333.         utilities           parameter prior to using these utilities.
  1334.                             If you experience difficulty, use the /q-
  1335.                             parameter also.  Remember to use /q+ when you
  1336.                             are finished with the program.  This can
  1337.                             be accomplished in a batch file, which could
  1338.                             also start your program.
  1339.  
  1340.         Norton Calibration- See above requirements for Defragmentation utils.
  1341.         fix-it utilities    If you experience problems with erroneous error
  1342.         MS Scandisk         displays for Norton Disk Doctor, try resetting
  1343.                             the cache.  (See /c parameter).
  1344.  
  1345.         MS Antivirus     -  If you experience problems with this program,
  1346.                             then turn the appropriate drives OFF with the
  1347.                             /a: parameter.
  1348.  
  1349.  
  1350.         ****   (See System Optimization - Batch File Use..Pg. 27)
  1351.  
  1352.  
  1353.  
  1354.  
  1355.  
  1356.  
  1357.         WINDOWS
  1358.         -------
  1359.         Windows-for-Work-Groups -
  1360.  
  1361.                             I_CACHE is NOT compatible with 32BitFileAccess 
  1362.                             or its various components such as VCACHE and
  1363.                             VFAT.  You should disable 32BitFileAccess and its
  1364.                             various components in the Windows system.ini
  1365.                             file if you wish to use I_CACHE for the par-    
  1366.                             ticular drive in question.  I_CACHE may provide
  1367.                             better performance than 32BitFileAccess anyway.
  1368.  
  1369.                             Conversely, if you wish to use 32BitFileAccess
  1370.                             and its various components (mentioned above) 
  1371.                             instead of I_CACHE, then turn off the appropriate
  1372.                             drive with the /a: parameter.   I_CACHE should
  1373.                             not service the same drive as 32BitFileAccess.
  1374.                             For example, if the components of 32BitFileAccess
  1375.                             are managing drive C, then use I_CACHE /a:c- to
  1376.                             turn off I_CACHE's management of the drive.
  1377.  
  1378.  
  1379.                                                               Page  23
  1380.          -------------------------------------------------------------
  1381.         Video (CD-i and others)
  1382.         -----------------------
  1383.         If you experience problems with laser video playback, use the /a:
  1384.         parameter to uncache the drive.  For instance, if you are
  1385.         experiencing problems with CD drive F, then use: I_cache /a:f-
  1386.         from the command line.  Be sure to turn the drive back on for
  1387.         data caching functions (I_cache /a:f+).  Believe it or not,
  1388.         CD-i video data can be cached.
  1389.  
  1390.  
  1391.         DESQview and QEMM
  1392.         -----------------
  1393.         QEMM's /GETSIZE parameter may provide a false reading.  If you
  1394.         have problems loading I_Cache into upper memory with QEMM
  1395.         or /GETSIZE indicates that I_Cache needs 60k+, then install
  1396.         I_Cache with the /SIZE parameter:  loadhi /size:49k I_Cache.exe...
  1397.         OPTIMIZE:  If you experience problems, remove write-caching from
  1398.         the boot drive on which Config.sys and Autoexec.bat are located.
  1399.         (See the /a: parameter on page 11 of this documentation).
  1400.  
  1401.  
  1402.         Other Disk Caches
  1403.         -----------------
  1404.         I_CACHE is compatible with NO other disk caches.  Please do not
  1405.         install other disk caches with I_CACHE.  If you are using VCACHE,
  1406.         then I_CACHE must not service the same drive (as VCACHE).
  1407.  
  1408.  
  1409.         CAM (Common Access Method) Drivers
  1410.         ----------------------------------
  1411.         Use CAM drivers at your own risk.  Some appear to be incompatible 
  1412.         with I_CACHE.
  1413.  
  1414.  
  1415.                           HARDWARE COMPATIBILITY
  1416.  
  1417.         SCSI controllers and Virtual DMA
  1418.         --------------------------------
  1419.         Certain disk controllers support a concept called bus mastering.
  1420.         This is where the actual disk controller takes over the bus in
  1421.         order to transfer data to or from system RAM. Some SCSI
  1422.         controllers have this feature. A problem occurs when running in
  1423.         the virtual 8086 mode that Windows, DESQview and other virtual
  1424.         machines provide.  Memory managers such as QEMM and EMM386.EXE
  1425.         also use virtual 8086 mode. The read or write address that is
  1426.         passed to MS-DOS is often not the same as the actual physical
  1427.         memory address. This can cause data to be read from the wrong
  1428.         location or cause data to be written to the wrong address, which
  1429.         in turn can cause erratic system behavior, general protection
  1430.         faults, and the system to stop responding (hang).
  1431.  
  1432.         Microsoft created a standard called Virtual DMA Services, which
  1433.         provides an interface that allows these bus-master controllers to
  1434.         get the correct address and avoid the problems mentioned above.
  1435.         However, some older bus-master controller cards do not support
  1436.         this standard.  Most disk controllers do support this standard
  1437.         however, and this includes all MFM, RLL, and IDE controllers as
  1438.         well as many ESDI and SCSI devices.
  1439.                                                               Page  24
  1440.          -------------------------------------------------------------
  1441.  
  1442.  
  1443.   --->  Use the enclosed utility VDMA.EXE to determine if Virtual DMA
  1444.         Services are available on your computer.  This utility will
  1445.         notify you if VDS services are available on your computer and
  1446.         if your controller card supports VDS services.  You can also
  1447.         determine this from the VDS category on the first I_CACHE
  1448.         status panel (I_cache -s).  If the VDS category indicates -none
  1449.         detected- or the Support [ ] category is not checked, then you
  1450.         may need to install IC_LOW.SYS.
  1451.  
  1452.  
  1453.  
  1454.         Solutions
  1455.         ---------
  1456.         There are two ways in which I_Cache can deal with non-compliant
  1457.         VDS controller cards.  This first way is to simply load I_CACHE
  1458.         into low memory.  This will supply the disk controller with the
  1459.         same physical and virtual memory address.
  1460.  
  1461.         The second way is, if you want to load I_CACHE into high memory,
  1462.         to load the i/o buffer low: "split load".  This can be done very
  1463.         simply by using the separate i/o buffer IC_LOW.SYS.  This is
  1464.         loaded in the config.sys file (loaded low) prior to I_CACHE.  The
  1465.         format is as follows:
  1466.  
  1467.                 device=IC_LOW.SYS [-4][-8][-16][-32][-64]
  1468.  
  1469.                 This loads the i/o buffer.  You then load I_cache
  1470.                 high anywhere AFTER ic_low.sys with any of the
  1471.                 memory managers, either in config.sys or autoexec.bat.
  1472.                 DO NOT LOAD IC_LOW.SYS INTO UPPER MEMORY.  This defeats
  1473.                 the purpose of the driver.
  1474.  
  1475.         Please note that you specify the track size on the IC_LOW.SYS
  1476.         command line.  If you don't specify anything, it defaults to 16
  1477.         sectors.  If you use this driver, I_cache won't autoselect track
  1478.         size and the /t: parameter won't work.  IC_LOW.SYS dictates the
  1479.         buffer size.  IC_LOW.SYS is NOT needed if you load I_CACHE low.
  1480.  
  1481.  
  1482.          Tape Drives
  1483.          -----------
  1484.  
  1485.          I_CACHE was not designed to cache or manage tape drives.  The
  1486.          particular tape drive should be turned OFF with the /a:
  1487.          parameter.  Users who wish to configure I_CACHE for their tape
  1488.          drive do so at their own risk.
  1489.  
  1490.  
  1491.          Magneto-Optical Drives
  1492.          ----------------------
  1493.  
  1494.          I_Cache will be compatible with these disks only if they are
  1495.          formatted with a standard DOS boot sector.  I_Cache will handle
  1496.          media configured in 512, 1024, and 2048 bytes-per-sector.
  1497.  
  1498.  
  1499.                                                               Page  25
  1500.          -------------------------------------------------------------
  1501.  
  1502.          Compressed drives
  1503.          -----------------
  1504.  
  1505.          I_CACHE can manage and cache DoubleSpace drives and their host(s).
  1506.          If your DoubleSpace drives are mounted during system initialization,
  1507.          then I_CACHE will detect these drives and manage them accordingly.
  1508.          You may use the /a: parameter on your I_CACHE initialization line
  1509.          to indicate any compressed drives which you may not want cached.
  1510.          I_CACHE wil detect all compressed drives which are activated prior 
  1511.          to the installation of I_CACHE.  To do this, I_Cache MUST be
  1512.          installed AFTER this line in your Config.sys file:
  1513.  
  1514.  
  1515.                        device=DrvSpace /MOVE
  1516.                    
  1517.                                or
  1518.  
  1519.                        device=DblSpace /MOVE
  1520.  
  1521.  
  1522.          Caching for DoubleSpace drives may be removed or asserted with
  1523.          the usual I_Cache /a: parameter:
  1524.  
  1525.                          I_Cache /a:d-e+
  1526.  
  1527.  
  1528.          If you wish to service a drive from the command line with any of 
  1529.          the following DoubleSpace commands, then you should turn OFF the
  1530.          appropriate drive with the /a: parameter, then reboot your
  1531.          computer when you are finished (if DoubleSpace doesn't auto-
  1532.          matically do it for you:
  1533.  
  1534.  
  1535.                          * DBLSPACE /DELETE
  1536.                          * DBLSPACE /CREAT
  1537.                          * DBLSPACE /COMPRESS
  1538.                          * DBLSPACE /MOUNT
  1539.                          * DBLSPACE /UNMOUNT
  1540.                          * DBLSPACE /UNCOMPRESS
  1541.  
  1542.                          * DRVSPACE can be substituted for DBLSPACE 
  1543.  
  1544.          You should also turn OFF any drive which is to be defragmented.
  1545.          You do this with the /a: parameter prior to defragmentation.  You
  1546.          may re-assert the drive when you are finished.
  1547.  
  1548.          The I_Cache status display (I_Cache -s) codes DoubleSpace drives
  1549.          as follows:
  1550.  
  1551.                          Dsp Comp   -   Compressed DoubleSpace drive
  1552.  
  1553.                          Reserved   -   Drive available for DoubleSpace or
  1554.                                         Host drive
  1555.  
  1556.          I_Cache treats compressed DoubleSpace drives like any other 
  1557.          drive on your system.
  1558.  
  1559.                                                               Page  26
  1560.          -------------------------------------------------------------
  1561.  
  1562.                               SYSTEM OPTIMIZATION
  1563.  
  1564.          Batch File Use
  1565.          --------------
  1566.  
  1567.          Batch Files (files with .bat extentions) can be an invaluable tool
  1568.          in optimizing your system.  These files can automatically setup
  1569.          I_CACHE with important parameters prior to launching certain             
  1570.          applications.
  1571.  
  1572.          For instance, if you wish to use the 32BitFileAccess feature of
  1573.          Windows-for-Work-Groups to cache your hard disks instead of using
  1574.          I_CACHE for this purpose, then you can start WFWG from a batch file.
  1575.          As stated on page 23, I_CACHE cannot manage the same drives as
  1576.          WFWG.  For instance, if you have four drives: A,B,C, and D, and
  1577.          you wanted 32BitFileAccess to manage drives C and D, then you could
  1578.          start up WFWG with the following batch file, which would turn OFF
  1579.          hard disks C & D (for I_CACHE) before starting up WFWG, then
  1580.          reasserting the drives when you left WFWG.  Redirecting to NUL
  1581.          will eliminate any display by I_CACHE.
  1582.  
  1583.                          I_CACHE /a:c-d- > NUL
  1584.                          Win /3
  1585.                          I_CACHE /a:c+d+ > NUL 
  1586.  
  1587.          While in WFWG, I_CACHE would still manage your floppy drives (A & B).
  1588.          To make I_CACHE work even better with WFWG, you could initially
  1589.          install I_CACHE with a Windows value of 128 or so:
  1590.  
  1591.                          I_CACHE /i /c:4096.128 
  1592.  
  1593.          In this example, when I_CACHE enters Windows, it will free up most
  1594.          of its XMS memory and keep only 128k for the floppy drives.  This
  1595.          will leave the rest of the XMS memory for 32BitFileAccess.
  1596.  
  1597.          Defragmentation utilities like DOS's DEFRAG.EXE and Norton's
  1598.          Speedisk should have all I_CACHE drives turned OFF prior to
  1599.          the startup of these applications.  Norton's utility should also
  1600.          use the /q parameter.  A batch file could assert the proper 
  1601.          parameters automatically prior to starting the application and
  1602.          restore I_CACHE's parameters afterwards.  For example, your batch
  1603.          file could use these three lines only (assuming that your system
  1604.          has four drives A,B,C, & D): 
  1605.  
  1606.                         I_CACHE /a:a-b-c-d- /q- > NUL
  1607.                         SPEEDISK [parameters]
  1608.                         I_CACHE /a:a+b+c+d+ /q+ > NUL
  1609.  
  1610.          Please see your DOS manual for more information on batch files
  1611.          and their use.
  1612.  
  1613.          Remember, if you put "> NUL" on the I_CACHE command line as shown
  1614.          above, you will prevent I_CACHE from displaying results to the     
  1615.          screen.  A "quiet" display as shown above is favorable in batch
  1616.          files.
  1617.  
  1618.  
  1619.                                                               Page  27
  1620.          -------------------------------------------------------------
  1621.                              THE I_CACHE API
  1622.         Int 2fh
  1623.         -------
  1624.         I_CACHE uses five (5) calls from the Smartdrv API:
  1625.  
  1626.         1.) Installation check -
  1627.                AX = 4A10h
  1628.                BX = 0000h
  1629.                CX = EBABh
  1630.             Return:
  1631.                AX    = 1CACh   if I_cache is installed
  1632.                DX:BX = cache hits
  1633.                DI:SI = cache misses
  1634.                BP    = version in BCD (01.10 = 0110h)
  1635.                CX    = I_Cache's code segment
  1636.         2.) Flush buffers -
  1637.                AX = 4A10h
  1638.                BX = 0001h
  1639.         3.) Get device driver for drive -
  1640.                AX = 4A10h
  1641.                BX = 0007h
  1642.                BP = drive number (0 = A, 1 = B, etc.)
  1643.             Return:
  1644.                ES:DI = address of original device driver header for drive
  1645.                        (stored info from original drive DPB)
  1646.                DL    = subunit number for drive
  1647.         4.) Reset cache -
  1648.                AX = 4A10h
  1649.                BX = 0002h
  1650.         5.) Status and write-cache controls
  1651.                AX = 4A10h
  1652.                BX = 0003h
  1653.                BP = drive number (0 = A, 1 = B, etc.)
  1654.                DL = function
  1655.                      00h = only get information (status)
  1656.                      03h = turn on write-caching for drive
  1657.                      04h = turn off write-caching for drive
  1658.             Return:
  1659.                AX = 1CACh if OK
  1660.                DL = Status
  1661.                      bit  7    1 = drive turned OFF  0 = drive ON/read cached
  1662.                      bit  6    1 = drive is write-through  0 = write-cached
  1663.                      bit  5    1 = CDROM drive
  1664.                      bits 0-4  drive number (0 = A, 1 = B, etc.)
  1665.  
  1666.                DL = 0FFh if drive not detected by I_CACHE
  1667.                           NOTE: Write-caching will not take affect unless the
  1668.                           drive is ON (read-caching in force).
  1669.  
  1670.  
  1671.  
  1672.                            PRECAUTIONS & SUGGESTIONS
  1673.         Precautions
  1674.         -----------
  1675.  
  1676.         1.)   As with all disks and disk caches, you should take time to
  1677.               perform daily full or incremental backups to safeguard your
  1678.               data.  Computer failure can't be predicted.
  1679.                                                               Page  28
  1680.          -------------------------------------------------------------
  1681.  
  1682.  
  1683.         2.)   Use the DOS MIRROR command faithfully to save your data
  1684.               FATs.  This is especially important when you start to use a
  1685.               new disk cache.
  1686.  
  1687.         3.)   Use the DOS MIRROR command with the /partn parameter to
  1688.               save your partition table entries.
  1689.  
  1690.  
  1691.         4.)   Do NOT load I_CACHE from a command shell.  When you exit
  1692.               the shell, your computer will probably hang.  Install
  1693.               I_CACHE from the root shell only (config.sys or
  1694.               autoexec.bat files).
  1695.  
  1696.         5.)   Check the status display or use the hot key combination
  1697.               LSHIFT+ALT+F, or I_cache /f from the command line to ensure
  1698.               that the cache is flushed of all written buffers prior to
  1699.               turning off your computer.   If you experience a power
  1700.               failure, you may lose data that hasn't yet been written to
  1701.               disk.
  1702.  
  1703.         6.)   See the Software Compatibilities section prior to using any
  1704.               disk calibration, defragmenting or disk fix-it utilities.
  1705.  
  1706.         7.)   If you have write-caching activated for external drives with
  1707.               removable media, ensure that all buffers are flushed prior
  1708.               to emoving the disk from the drive.
  1709.  
  1710.  
  1711.         Suggestions
  1712.         -----------
  1713.  
  1714.         1.)   Don't allocate all of your memory for disk caches.  Make
  1715.               sure to leave some for programs that require DOS extenders,
  1716.               etc., such as programming utilities like Codeview, MASM and
  1717.               the like.   Cache values for use within the Windows
  1718.               operating system should be somewhat less than the main
  1719.               cache value.    The following are some recommended cache
  1720.               values:
  1721.  
  1722.               Total XMS memory       I_cache size       Windows size **
  1723.               ----------------       ------------       ------------
  1724.  
  1725.                  1000k                 1000k                -
  1726.  
  1727.                  2000k                 1000k                -  
  1728.  
  1729.                  4000k                 2048k              1000k
  1730.  
  1731.                  8000k                 3072k              2048k
  1732.  
  1733.                 16000k                 4096k              2048k
  1734.  
  1735.                 32000k                 8000k              6000k
  1736.  
  1737.                                                      ** optional
  1738.  
  1739.                                                               Page  29
  1740.          -------------------------------------------------------------
  1741.  
  1742.  
  1743.         Disclaimer
  1744.         ----------
  1745.  
  1746.               The makers and developers of I_CACHE make no represent-
  1747.               ation, warranty, assurance or inducement, express or
  1748.               implied, as to its adequacy, sufficiency or freedom from
  1749.               defect of any kind.   Neither the makers or developers
  1750.               will have any liability to any user resulting from the
  1751.               use of it nor are they responsible for any data loss or
  1752.               computer failure resulting from any inherent incompat-
  1753.               ibilities with any other software or hardware.
  1754.  
  1755.  
  1756.  
  1757.                              CUSTOMER SERVICE
  1758.  
  1759.  
  1760.         For technical problems or questions, contact Miles Pawski.
  1761.  
  1762.         COMPUSERVE:   70473,527
  1763.         FAX:          415-626-9539  (USA)
  1764.         VOICE:        415-626-1759  (USA)
  1765.         INTERNET:     70473.527@compuserve.com
  1766.  
  1767.         MAIL: P.O. Box 170448, San Francisco, California  94117  USA
  1768.  
  1769.  
  1770.  
  1771.                              SHAREWARE NOTES
  1772.  
  1773.  
  1774.         Shareware terms:
  1775.  
  1776.         This is a user-supported program distributed as SHAREWARE! You
  1777.         are entitled to use it for a trial period of 30 days. After that,
  1778.         you must REGISTER for use.  BBS operators, and users are
  1779.         encouraged to distribute this trial-program, as long as no
  1780.         charges other than the BBS connection or media fees are charged.
  1781.         For business, education and government agencies, this program
  1782.         should not be operated without an on site licence for daily use.
  1783.  
  1784.         Registration through COMPUSERVE:
  1785.         Program Title: I_CACHE V1.20    Registration ID: 7972  (GO SWREG)
  1786.         Author: Miles Pawski
  1787.  
  1788.  
  1789.  
  1790.         Registered user's privileges:
  1791.  
  1792.             ■ Technical support for this program and related problems.
  1793.             ■ Mailed notice of new versions and products available!
  1794.             ■ The next upgrade at no more than media and processing fees.
  1795.               Please indicate which version you are using now.
  1796.             ■ Inclusion of the CD-AUDIO player. 
  1797.  
  1798.  
  1799.                                                               Page 30
  1800.          ------------------------------------------------------------
  1801.