
















                                  C D - Q U I C K
                                     C a c h e

                                    Version 1.20




                              Program Reference Manual


                        Copyright (c) 1994-95 by Peter Volpa
                                All Rights Reserved













                                    _______
                               ____|__     |                (R)
                            --|       |    |-------------------
                              |   ____|__  |  Association of
                              |  |       |_|  Shareware
                              |__|   o   |    Professionals
                            -----|   |   |---------------------
                                 |___|___|    MEMBER



                                    Peter Volpa
                                  Circuit Systems
                                  418 Church Road
                          Sicklerville, NJ 08081-1727  USA






                                 TABLE OF CONTENTS




        Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . .  1
             Features . . . . . . . . . . . . . . . . . . . . . . . . . .  2
             System Requirements  . . . . . . . . . . . . . . . . . . . .  2

        License . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  3

        Ordering Information  . . . . . . . . . . . . . . . . . . . . . .  4
             Registering CD-QUICK Cache by Credit Card  . . . . . . . . .  4
             Registering in Europe  . . . . . . . . . . . . . . . . . . .  5
             Registering via CompuServe . . . . . . . . . . . . . . . . .  5

        Disclaimer  . . . . . . . . . . . . . . . . . . . . . . . . . . .  5

        Trademarks  . . . . . . . . . . . . . . . . . . . . . . . . . . .  5

        Measuring Existing CD-ROM Performance . . . . . . . . . . . . . .  6

        Installing CD-Quick Cache . . . . . . . . . . . . . . . . . . . .  7
             UnInstalling the Software  . . . . . . . . . . . . . . . . .  7

        Choosing a Cache Size . . . . . . . . . . . . . . . . . . . . . .  8

        Using Multiple CD-ROM Drives  . . . . . . . . . . . . . . . . . .  8

        CD-Quick Command Line Parameters Reference  . . . . . . . . . . .  9
             Memory Usage and CD-Quick  . . . . . . . . . . . . . . . . . 12

        CD-ROM Drive Performance Testing  . . . . . . . . . . . . . . . . 13
             Displaying Cache Statistics from DOS . . . . . . . . . . . . 14
             Displaying Cache Statistics from Windows . . . . . . . . . . 14

        CD-ROM Drive Mechanics and Why CD-Quick Cache Helps . . . . . . . 15

        Revision History  . . . . . . . . . . . . . . . . . . . . . . . . 16

        Appendix A - Error Messages . . . . . . . . . . . . . . . . . . . 17

        Appendix B - Common Questions and Answers . . . . . . . . . . . . 19

        Appendix C - Comparing CD-Quick to Microsoft's SmartDrive 5.0+  . 20

        Appendix D - Distribution Points for CD-Quick Cache . . . . . . . 22
                                                                           1

        Introduction

        CD-ROM drives are wonderful pieces of technology.  By using optics
        instead of magnetics, vast amounts of data can be stored in a small
        amount of space on a plastic disc.  But as with most technology,
        there are always design tradeoffs made.  In the case of a data
        storage system, the tradeoff is between the amount of data that can
        be stored and the speed with which you can access that data.  Even
        with quadruple speed CD-ROM drives, the average time it takes to
        reposition a drive's read head to a new location and start reading
        data is at least a couple of HUNDRED milliseconds.  Compare that
        with the under 15 millisecond access times of today's hard drives. 
        Due to the nature of CD-ROM drive mechanics, this situation will not
        be changing any time soon.  In a word, CD-ROM drives are slow.

        Data caching has been used for years to speed up the performance of
        magnetic disk drives.  Caching is a memory management technique that
        reads and stores frequently used data in a memory buffer for fast
        access.  With caching, every time you request data from your drive,
        this data is also placed in a memory buffer.  The next time the data
        is needed it can be found in RAM, so actual disk reads are saved.  
        This results in a tremendous increase in performance.  Until re-
        cently, effective CD-ROM caching has been unavailable.


        Presenting CD-Quick Cache

        CD-Quick Cache will dramatically improve the performance of your
        CD-ROM drive.  By storing frequently read data in fast extended
        (XMS) memory, disc reads are almost instantaneous.  CD-Quick uses an
        intelligent caching algorithm and dynamic read-ahead buffering to
        insure top performance.

        CD-Quick is compatible with virtually all CD-ROM hardware and
        software.  It will work with CD-ROM applications that require a DOS
        drive letter as well as with software that bypass the Microsoft CD-
        ROM Extensions (MSCDEX.EXE) and access the CD-ROM device driver
        directly.  The software will also work seamlessly with Microsoft
        Windows and will not conflict with any hard disk caching software.

        CD-Quick will operate with up to 26 CD-ROM drives (the DOS maximum
        for drive letters).

        Included with CD-Quick Cache are two CD-ROM utilities, CDTEST and
        QUICKMON.  CDTEST will evaluate the performance of your CD-ROM
        system by measuring the time it takes to walk through a CD's direc-
        tory structure and read data.  You can run this test with or without
        CD-Quick installed to benchmark your CD-ROM drive's performance.  
        QUICKMON is a Microsoft Windows application that will give you
        statistical information on CD-ROM and CD-Quick Cache reads.  This
        utility will show the total reads requested by your application, how
        many reads CD-Quick has saved and what this percentage was.
                                                                           2

        CD-Quick loads as a terminate and stay resident program (TSR).  On
        most systems, the program will use only 11K of conventional memory.  
        This is usually comparable to the typical amount of memory used for
        MSCDEX buffers.  With CD-Quick loaded, these buffers can be reduced. 
        The result in most cases, is almost the same amount of memory is
        used with CD-Quick as without it.  Under DOS 5+, CD-Quick may be
        loaded "high".


         
        Features:


             *    Will work with any CD-ROM drive.

             *    Can use up to 10MB of extended (XMS) memory for a CD-ROM
                  cache.

             *    Easily handles multiple CD-ROM drives.

             *    Uses only 11K of conventional memory and can be loaded
                  "high".

             *    Uses an intelligent caching algorithm to keep the most
                  frequently read data in the cache and a dynamic read-ahead
                  strategy to anticipate and read the data that needs to be
                  read next.



        System Requirements:

             *    An IBM or compatible computer with an 80286 or higher
                  processor and a minimum of 384KB extended (XMS) memory.

             *    At least one CD-ROM drive.

             *    PC or MS-DOS 3.1 or later.

             *    Any standard XMS memory manager such as MS-DOS HIMEM.SYS,
                  386MAX by Qualitas or Quarterdeck's QEMM-386.
                                                                           3

        License

        CD-QUICK Cache is distributed as "shareware".  It is NOT public
        domain or free software.

        Non-registered users of this software are given the opportunity to
        evaluate the complete CD-QUICK Cache software package for 30 days
        with no obligation.  If, after the evaluation period, you find
        CD-QUICK to be suitable for your needs, you must register your copy
        or discontinue using CD-QUICK.

        What we're saying is if you use this program, then you should pay
        for your copy.  That way Circuit Systems will be able to provide
        updates, support, and generally stay in business.

        When you register CD-QUICK you will receive a personal KeyCode and
        the latest version of all the software that comprises the CD-Quick
        package.  Your KeyCode will disable the opening shareware screen and
        may be used with all future versions of CD-Quick.  This means once
        you've registered, you're registered for life.  You may use any new
        versions of CD-Quick Cache as they become available free of charge.

        Your KeyCode is derived from your name and may not be distributed in
        any manner.  CD-Quick Cache is LICENSED TO THE SINGLE PERSON WHO
        REGISTERED THE PROGRAM.

        All users are granted a limited license to copy the UNREGISTERED
        version (this means everything except your KeyCode) of CD-Quick
        Cache for the trial use of others.  Please feel free to give copies
        of CD-Quick to your friends and associates.  That's what shareware
        is about.

        This license does NOT include distribution or copying of this
        software:


             *    In conjunction with any other product or service.

             *    In general use within a company or school.

             *    For any "disk fee" other than a small (generally $2.00 to
                  $5.00) copying charge.

             *    For distribution in any modified form.  The file contain-
                  ing this license information MUST be included along with
                  full documentation and all the files that make up this
                  software package.


        The data record in the included VENDINFO.DIZ file contains detailed
        license information governing distribution.
                                                                           4

        Ordering Information

        A CD-Quick Cache registration licenses you to use the product on a
        regular basis.  Registration also entitles you to lifetime technical
        support and allows you free use of all future versions of CD-Quick
        Cache.

        An individual registration costs $29.  Upon receipt of your paid
        registration form, we will send you the latest registered version of
        CD-Quick Cache with full documentation on the disk.  New Jersey
        residents should include 6% sales tax.

        Site licensing is also available.  Prices are based on the estimated
        number of users.  Please write for more information.

        A CD-Quick Cache registration form is included in the distribution
        package for your convenience.  You may print an order form when CD-
        Quick loads by answering "Yes" when asked.  You may also print the
        file ORDERFRM.TXT anytime.  Please take time to fill this out and
        return it.  If you would like high-quality software to continue to
        be made available on a try-first basis and for a reasonable cost, it
        is up to YOU to support such programs.

        Please send your registration form, suggestions and any
        comments that you might have to:


                   Peter Volpa         or       For questions only,
                 Circuit Systems                 no orders.  Call
                 418 Church Road                  (609) 875-5433
             Sicklerville, NJ  08081-1727         12 - 8 PM EST


        Questions may also be sent by Email on CompuServe to 72202,3043 or
        via the Internet at '72202.3043@compuserve.com'.


        Registering CD-QUICK Cache by Credit Card

        We have established a special arrangement with the Public (software)
        Library for those of you who wish to order by credit card.  For
        credit card orders only, you can order from PsL with your Master
        Card, Visa, AmEx or Discover card by calling 800-242-4PsL (from
        overseas: 713-524-6394).  You may also FAX to 713-524-6398 or
        CompuServe to 71355,470 or mail to PsL, P.O. Box 35705, Houston, TX
        77235-5705.  THESE NUMBERS ARE FOR ORDERING ONLY.  Circuit Systems
        can NOT be reached at those numbers.  To contact Circuit Systems for
        information about dealer pricing, volume discounts, site licensing,
        the status of shipment of the product, the latest version number or
        for technical information, please call Circuit Systems at 609-
        875-5433 or write to Circuit Systems, 418 Church Road, Sicklerville
        NJ 08081-1727 USA.  PsL's order number for CD-QUICK is #11726.

        PsL's office hours for phone orders are 7AM-6PM CST Monday-Thursday
        and 7AM-12:30PM CST on Fridays.  Please give your name exactly as it
        appears on your card and the billing address for the card.
                                                                           5

        Registering in Europe

        If you live in Europe, you may also order CD-Quick from Computer
        Solutions Software GmbH in Germany.  Please use the order form 
        EURORDER.TXT when you order from Computer Solutions.


        Registering via CompuServe

        If you are a CompuServe member, you can register CD-Quick Cache
        online.  CD-Quick's registration fee will be included in your
        monthly CompuServe bill.  After you logon, just type 'GO SWREG' for
        CompuServe's shareware registration service.  CD-Quick's registra-
        tion number is #4214.


        DISCLAIMER

        ALTHOUGH WE HAVE EXTENSIVELY TESTED CD-QUICK CACHE AND BELIEVE IT
        WILL PERFORM AS DESCRIBED IF USED CORRECTLY, WE SUPPLY THIS PROGRAM
        AS IS.  CIRCUIT SYSTEMS DISCLAIMS ALL WARRANTIES, EXPRESSED OR
        IMPLIED, THAT THIS PROGRAM IS FIT FOR ANY PURPOSE.  CIRCUIT SYSTEMS
        ALSO ASSUMES NO LIABILITY FOR ANY DAMAGES EITHER DIRECT OR CONSE-
        QUENTIAL, WHICH MAY RESULT FROM THE USE OF THIS PROGRAM.


        Trademarks

        MS-DOS is a registered trademark and Windows is a trademark of
        Microsoft Corporation.

        386MAX is a registered trademark of Qualitas, Inc.

        QEMM-386 is a registered trademark of Quarterdeck Office Systems,
        Inc.

        PC-DOS, PC/AT, PC/XT, and PS/2 are registered trademarks of
        IBM Corporation.


        Association of Shareware Professionals

        This program is produced by a member of the Association of Shareware
        Professionals (ASP).  ASP wants to make sure that the shareware
        principle works for you. If you are unable to resolve a share-
        ware-related problem with an ASP member by contacting the member
        directly, ASP may be able to help. The ASP Ombudsman can help you
        resolve a dispute or problem with an ASP member, but does not
        provide technical support for members' products.  Please write to
        the ASP Ombudsman at 545 Grover Road, Muskegon MI 49442-9427 or send
        a Compuserve message via CompuServe Mail to ASP Ombudsman
        70007,3536.  The OMB may be contacted by FAX by sending to the ASP
        FAX number: (616) 788-2765.  In communication with the OMB please
        include a telephone number and/or FAX if available.
                                                                           6

        Before You Begin

        The very first thing that you should do before going any further is
        to make a backup copy of your distribution disk.  To do this just
        use the DOS command DISKCOPY.  This will work whether or not you
        have two floppy disk drives.  It also doesn't matter if the diskette
        you want to copy to is formatted or not.  DISKCOPY will format it
        for you.

        From the DOS prompt type this:

                  DISKCOPY A: A:

        You will be asked to "Insert source diskette in drive A:".  This
        should be your original CD-Quick Cache disk.  Continue to follow the
        directions on the screen and you will have your backup copy.


        Measuring Existing CD-ROM Performance

        Before actually installing CD-Quick Cache you may want to use the
        included CDTEST utility to evaluate your CD-ROM drive's performance
        without a cache installed.  To run CDTEST with your backup disk in
        drive A:, just type A:CDTEST.  Since different CD-ROM's contain
        differing file layouts (some have many files in a few subdirectories
        while others have fewer files in many subdirectories) it may be
        helpful to have a few CD-ROM's to test with.

        You must have MSCDEX.EXE loaded to run CDTEST (most systems are set
        up to load this automatically).  If you are running Microsoft
        Windows in Enhanced mode you should exit Windows and return to DOS
        for this test.  Window's Enhanced mode multi-tasking prevents
        accurate timing results.

        If you have more than one CD-ROM drive, you can select which drive
        to test.  When comparing the performance of one drive to another, be
        sure you test with the same CD-ROM in each drive.

        With a CD-ROM in your drive, select the "Walk directories" test. 
        This test will scan the entire CD-ROM searching for the largest
        file.  When it finishes the scan, it reports the time taken.

        Next select "Do read test".  This test will read the largest file
        found (must be a least 2MB) first sequentially and then randomly. 
        The test will be repeated three times.  Individual and total times
        will be reported.

        You should now print your results to enable you to compare this
        performance to your system's performance with CD-Quick installed.

        It's also possible to test your CD-ROM drive's performance without a
        cache even with CD-Quick installed.  Use the '/OFF' option on CD-
        Quick to disable the cache.  You can use the '/ON' option to enable
        it again.
                                                                           7

        Installing CD-Quick Cache

        CD-Quick Cache includes an Install program to make installation very
        easy.  The Install program can be used to install CD-Quick on your
        computer and configure it for caching CD-ROM data.  Install can also
        be used to update a previous CD-Quick configuration.

        When you start Install, you will first be asked for the source
        (where the CD-Quick files are now) and destination (where you want
        CD-Quick to be copied to) drives and path.

        When this information is provided the Install program will create a
        subdirectory on your hard drive called "\CDQUICK".  The default
        "from" drive is the drive where INSTALL.EXE is located and the
        default "to" drive is drive C:.  These may be changed to any other
        drives or directories as needed.  Install will copy all the needed
        CD-Quick Cache files from your floppy drive to that subdirectory.

        Next you will be asked if you want CD-Quick to determine the amount
        of memory to use for data caching or if you would rather assign this
        yourself.

        Install will scan your AUTOEXEC.BAT file looking for at least one
        line containing MSCDEX.EXE, the Microsoft CD-ROM Extensions.  If
        found, the command to load CD-Quick will be added to your
        AUTOEXEC.BAT file.  A backup of your unmodified AUTOEXEC.BAT file
        will be saved in the file AUTOEXEC.CDQ.  The number of buffers
        MSCDEX uses will be lowered to 6.

        To run the install program, insert your backup copy of CD-Quick
        Cache into your floppy drive and type:

                  A:INSTALL

        Follow the directions and before you know it, you will have CD-Quick
        Cache installed, speeding up your CD-ROM drive.  If your memory
        manager includes software to optimize upper memory use, you may want
        to rerun it after CD-Quick has been installed.

        If you are using the Install program to upgrade your software, an
        option has been added to prompt you for your Name and KeyCode.  Just
        start Install with the '/R' switch.  e.g. INSTALL  /R


        Running CD-Quick with Microsoft's SmartDrive

        CD-Quick Cache will run just fine with SmartDrive.  If you have 
        SmartDrive version 5.0 or later (included with MS-DOS v6.2), you
        need to add the '/U' switch when loading SmartDrive.  This turns off
        SmartDrive's CD-ROM caching.  If you used CD-Quick's Install pro-
        gram, this will be done for you automatically.


        UnInstalling the Software

        If for any reason you want to return your system to the way it was
        before you installed CD-Quick, just use the DOS COPY command to copy
        AUTOEXEC.CDQ to AUTOEXEC.BAT.  Then delete the CD-Quick files.
                                                                           8

        Choosing a Cache Size

        With CD-Quick and its install program it's possible to automatically
        determine a cache size.  The amount of XMS memory allocated for the
        cache depends on the amount of free XMS memory in your system when
        CD-Quick loads.  If you let CD-Quick choose the amount of memory,
        the following guide will be used.

        If your system has:      CD-Quick will:

             <= 512KB free  -    Use all available XMS memory
             <= 1MB   free  -    Use 512KB for the cache
             <= 4MB   free  -    Use 1MB for the cache
             >  4MB   free  -    Use 2MB for the cache

        You may also decide to set the cache size yourself.  In setting a
        cache size, you should realize that larger cache sizes will increase
        performance because more data is available.  With the cache holding
        more data, the chances of finding the data you need increase and the
        much slower reads of your CD-ROM drive are avoided.

        You should keep in mind that the amount of memory you allocate to
        CD-Quick must be balanced against the needs of other applications in
        your system.  It's possible to improve the performance of the cache
        but slow down an application that runs faster with more memory.  The
        statistics that CD-Quick provides may be helpful in selecting a
        cache size and optimizing overall performance.

        If you have problems running certain applications when CD-Quick is
        loaded and they go away when CD-Quick is not loaded, it's due to the
        way you have your memory apportioned.  The memory you have allocated
        to CD-Quick is no longer available to other application.  You can
        reduce your cache size by setting it manually.  Please see appendix
        B for more information.


        Using Multiple CD-ROM Drives

        There are two methods used to support multiple CD-ROM drives.  The
        first setup uses a single hardware device driver for all CD-ROMs. 
        Each drive is assigned a separate "unit" number.  This scheme is
        almost always used with multiple SCSI CD-ROM drives.  All drives are
        connected to a single SCSI controller and the hardware device driver
        works with this controller.  If you use only one hardware device
        driver, a single loading of CD-Quick will cache all drives.  CD-
        Quick is aware of the separate unit numbers and will behave accord-
        ingly.  The hardware device driver is loaded by a line in your
        CONFIG.SYS file.  Check the instructions that came with your CD-ROM
        drive if you need more information on this.

        The second method used with multiple drives, is to load a separate
        hardware device driver for each drive.  This is usually needed when
        each drive uses a proprietary interface and each is from a different
        manufacturer.  For multiple device drivers, CD-Quick must be loaded
        once for each device driver.  If you use the included Install
        program, either case will be handled automatically.
                                                                           9

        CD-Quick Command Line Parameters Reference

        If you don't use the supplied Install program to automatically
        modify your AUTOEXEC.BAT file, and for general reference, we will
        describe how CD-Quick is installed.

        As previously mentioned, CD-Quick Cache is a TSR.  Its only require-
        ment is that it must be loaded before MSCDEX.EXE (Microsoft CD-ROM
        Extensions).  When loaded, CD-Quick is positioned between your CD-
        ROM's hardware device driver and MSCDEX.  MSCDEX interacts with CD-
        Quick instead of your device driver.

        CD-Quick allows you to set a few parameters when it loads.  The only
        one required in order to load is the name of your CD-ROM hardware
        device driver.  The others are optional.  All parameters may be
        specified in any order.

        CD-Quick command line format:

         CDQ [/D:<drivername>] [cachesize] [/C] [/F] [/NAME=<username>]
             [/KEY=<code>] [/NOHMA] [/ON] [/OFF] [/HELP] [/?]


        /D:<drivername>

        This parameter tells CD-Quick the name of your CD-ROM's hardware
        device driver and is required for CD-Quick to work.  The hardware
        device driver is loaded by a line in your CONFIG.SYS file.  It will
        look something like:

          DEVICE=CDROMDRV.SYS  /D:MSCD001

        Since this driver is supplied by the manufacturer of your CD-ROM
        drive, its name will vary.  The thing to look for is the driver name
        parameter used when loading MSCDEX.  The Microsoft CD-ROM Extensions
        require the same parameter in the same form as CD-Quick.  So if you
        have:

          MSCDEX  /D:MSCD001

        in your AUTOEXEC.BAT file, you know you need the following line
        (before MSCDEX) in order to load CD-Quick:

          CDQ  /D:MSCD001


        Cachesize

        This parameter sets the amount of memory allocated to CD-Quick's
        data cache.  It is just the number in "KB" (Kilobytes) that you
        want CD-Quick to use.  If you set Cachesize to zero or omit it, CD-
        Quick will determine its cache size itself based on the amount of
        free XMS memory in your system.  As an example, for a 1024K (1MB
        cache), you would have:

          CDQ  1024
                                                                          10

        /C

        If CD-Quick doesn't always recognize disc changes, you should try
        loading it with the '/C' switch.  When this switch is used, CDQ
        will flush its cache whenever your CD-ROM device driver says the
        disc has changed or is not sure.  Older drives will be more likely
        to need this option than will newer drives.  Don't use this option
        unless you need it, as it may slow performance on some systems.


        /F

        After CD-Quick is installed, you can use the '/F' switch to flush 
        the cache for all CD-ROM drives.  Normally CD-Quick will do this 
        automatically when needed.  This option has been added for those
        people who have old CD-ROM drives that may not properly report disc
        changes.  With this "flush" option you can manually clear the cache
        yourself if needed.


        /NAME=<username>

        This parameter is for people who have registered CD-Quick.  When
        you register you will receive a KeyCode that is derived from your
        name.  This parameter is needed so CD-Quick can compare your
        KeyCode to your name.  If they match, the opening shareware screen
        will not be displayed.  Any spaces in your name should be replaced
        by underscores.  Case is not important.


        /KEY=<keycode>

        This is the companion parameter used with "/NAME=" which was just
        described.  Registered users receive a 4 digit hexadecimal number
        to supply as your KeyCode.  For an example, if your name is John
        Smith and your KeyCode is 5A27, you should have:

          CDQ  /NAME=JOHN_SMITH  /KEY=5A27


        /NOHMA

        If you are using DOS v5.0+, and you have DOS loaded in the High
        Memory Area (HMA), CD-Quick will attempt to use any free HMA memory
        to store its cache index.  There are a few other programs that can
        also use free memory in the HMA.  This switch allows you to disable
        CD-Quick's use of the HMA and make more of it available to other
        applications.  The cache index will be allocated in conventional
        memory instead.  This option should rarely be needed.


        /ON

        After CD-Quick is installed, it's possible to turn the cache on and
        off.  The default when loaded is on.  If you've previously turned
        it off, this option will re-enable it.
                                                                          11

        /OFF

        As mentioned, it's possible to turn CD-Quick's caching on and off. 
        This switch will disable caching for all CD-ROM drives.


        /HELP or /?

        Gives a brief summary of CD-Quick's command line options.


        An Example Please

        As an example of all of this, let's assume you have in your
        AUTOEXEC.BAT file the line:

          MSCDEX  /D:MSCD001

        You want to use 2048KB (2MB) of XMS memory for a data cache.  You
        have registered your copy of CD-Quick Cache (thank you!) and your
        name is Jack Sprat.  Your KeyCode is '83C9'.  You would add this
        line to your AUTOEXEC.BAT file before MSCDEX:

          CDQ  /D:MSCD001  2048  /NAME=JACK_SPRAT  /KEY=83C9
                                                                          12

        Memory Usage and CD-Quick

        To get the most out of both your computer and CD-Quick, it may be
        helpful to know a little about how CD-Quick uses memory.  CD-Quick
        uses three different blocks of memory when it's loaded.  The first
        block contains the actual program and is 11K in size.  CD-Quick
        discards all of its start up code and data when it goes resident. 
        The 11K remaining is only the code for the cache itself.

        The next and probably most obvious block is in extended (XMS)
        memory.  This area is used to store the data from your CD-ROM.

        CD-Quick uses a cache index to locate the correct block of XMS
        memory when it's needed.  This index can be located in the High
        Memory Area, Upper Memory Area or in conventional memory.  CD-Quick
        needs approximately 6KB of cache index for each 1MB of XMS cache. 
        This cache index will be allocated in the HMA if DOS is loaded high
        and there is enough room.  If the HMA can't be used, the Upper
        Memory Area is tried next and finally conventional memory.  The HMA
        is the best place for this data.  There is usually about 20KB of
        free memory in this area and very few programs can use it.  It's
        not easy to see the amount of free HMA memory.  DOS v6.2 has a
        barely documented switch on the MEM command to display it however. 
        You can type:

             MEM  /a

        to list the amount of free memory in the HMA.

        If MS-DOS is loaded into the HMA, it will attempt to place its
        buffers in the HMA as well.  Each buffer uses approximately 532
        bytes of memory.  If are using caching software for your hard
        drive, having more than 10 buffers set wastes memory and can
        prevent CD-Quick from using the HMA.  The number of buffers is set
        by the BUFFERS= parameter in your CONFIG.SYS file.  

        One of the few applications that will use the HMA is DOS's own 
        DoubleSpace (or DriveSpace) disk compression.  If you use disk
        compression, the HMA is actually a good place for working data. 
        However it will most likely leave insufficient memory in the HMA
        for CD-Quick.  CD-Quick will be forced to use other memory instead. 
        There's not much you can do about this, but it's important to know
        what's going on here.


        Reducing MSCDEX Buffers With CD-Quick

        As mentioned in the Install section, the buffers normally used with
        MSCDEX should be reduced with CD-Quick.  With most CD-ROMs these
        buffers waste memory and do not improve performance.  There are a
        few CDs that benefit from having a few buffers set.  The optimum
        number of buffers to use with CD-Quick is 6.  More than this gives
        no benefit.  You may even want to set this lower.  However, 4 is
        the minimum you can set.  Keep in mind that each MSCDEX buffer uses
        2KB of memory.

        INSTALL will make the proper change for you, but if you don't use
        the Install program, add "/M:6" to MSCDEX.
                                                                          13

        CD-ROM Drive Performance Testing

        It's always helpful, when you're doing things to increase the
        performance of your system, to have some way of quantifying this
        improvement.  To make this easier, and to show the effectiveness of
        CD-Quick, we have included a testing utility called CDTEST.

        CDTEST will perform two timed tasks on a CD-ROM.  The first test
        will walk the directory structure of your CD-ROM.  By walking the
        directory structure, we mean this test will visit every subdirec-
        tory and look at each file.  As it's doing that, it will search for
        the largest file on your CD-ROM.

        CD-ROM's differ in the number of subdirectories and also in the way
        these are laid out.  Some CD-ROM's have very few if any subdirec-
        tories and only a few very large files.  This type of CD won't give
        you very meaningful results for this test.  With so few files and
        directories, it only takes a fraction of a second to read them all.

        A CD-ROM that has many subdirectories and files is what you need
        for this test.  If CDTEST finds you have too few directories and
        files, it displays a message warning of this fact.

        Since the way CD-ROM's are laid out varies from CD to CD, it's best
        to have a few CD-ROM's to use when testing.  Some CD's will have
        all their subdirectories in the root directory.  Others will have a
        real tree structure with many levels of subdirectories.  With CD-
        Quick loaded, you will notice varying degrees of improvement
        (depending on file layout) when doing a directory walk.

        The second test CDTEST can perform is a read test.  The program
        will read the largest file on your CD-ROM (found while doing the
        directory walk).  This file is first read sequentially and then
        randomly.  For the sequential read, 256 blocks are read from the
        beginning of the file.  Each block on a CD-ROM is 2048 bytes (2KB),
        so the test reads 512KB.  A CD-ROM block is the same thing as a
        sector.  CDTEST will display the time it takes to do this read.

        Next a random read will read 128 blocks (256KB) from the same file. 
        These blocks will be scattered all over the CD.  Since it's impor-
        tant for the random test to access data that is widely dispersed,
        the file to be read must be at least 2MB in size.  Actually it
        should be as large as possible.  As with the sequential read test,
        the time taken will be reported.

        These read tests are repeated for three trials.  Each time the same
        data is read and the time reported.  After the three tests are
        completed, the total time taken is also displayed.

        With CD-Quick loaded, you will notice a dramatic difference between
        the first read test and the following tests.  For the first test,
        the CD-ROM must be read directly.  When it's time to read the data
        again, the cache can quickly find the data in memory.  It should be
        noted that since the total amount of data read is 768KB, you must
        have at least that much RAM allocated to the cache for this test. 
        Otherwise the cache will not be large enough to hold all the data
        and your CD-ROM will have to be read directly.  Remember, direct
        reads are slow.  Cache reads are FAST!
                                                                          14

        Displaying Cache Statistics from DOS

        CD-Quick has the ability to display cache statistics.  This is
        another way to get a feel for the improvement CD-Quick provides. 
        Anytime after CD-Quick is loaded, you can type CDQ from the DOS
        prompt to display status information.

        Displayed will be:
        Cache size, type and drive, Logical transfers (the total number of
        2048 byte blocks requested), Physical transfers (the total number
        of blocks that had to be read from the CD-ROM), Transfers saved
        (the total number of blocks read from the cache), and Percent saved
        (the percent of cache transfers vs. physical transfers).

        A sample might look like this:

        CD-QUICK Cache, v1.20 Copyright (c) 1994-95 by Peter Volpa, Circuit
        Systems

        Using 1024K XMS cache for drive E:
              1411  Logical transfers
               659  Physical transfers
               752  Transfers saved
                53  percent saved.

        Because of CD-Quick's read-ahead buffering, your actual time
        savings will almost always be better than what is represented here. 
        With read-ahead buffering,  CD-Quick will read more data than is
        requested, saving all of it in the cache.  When that data is later
        requested (and your CD-ROM's read head is usually somewhere else)
        this data will be retrieved from RAM.  Performance is improved
        because the drive didn't have to reposition its read head.  Unfor-
        tunately the numbers can't reflect this action.  Transfers weren't
        saved because data was requested only once and read from the CD
        only once, but TIME was saved because the drive head didn't have to
        move.  Any time you avoid moving the drive head you save time.


        Displaying Cache Statistics from Windows

        Also included with CD-Quick is a status utility that runs under
        Microsoft Windows.  This utility called QUICKMON, is located in the
        same directory as CD-Quick.  QUICKMON will display the same status
        information as CDQ will under DOS, but all information will be
        displayed in a small pop-up window.  This allows you to view cache
        operation in real time.  As you're using an application to access
        your CD-ROM, you'll see the cache statistics as they update!  You
        can also flush and enable/disable the cache from here.  QUICKMON is
        initially set to be "Always on top" so it can easily be seen.  This
        operation can be changed by a choice on its pull down menu.  

        You can use Windows' File Manager to start QUICKMON.  Just change
        to the "\CDQUICK" subdirectory and double-click on QUICKMON.  To
        make operation easier, you may want to add QUICKMON to one of your
        Windows program groups.

        The same attention to CD-Quick's read-ahead buffering applies when
        interpreting QUICKMON's statistics.  Refer to the section above.
                                                                          15

        CD-ROM Drive Mechanics and Why CD-Quick Cache Helps

        For those of you who are interested, I'd like to give you a brief
        explanation of the inner workings of CD-ROM drives.  After you
        understand some of what goes on behind the scenes you'll see why a
        CD-ROM cache is really a necessity with today's computers.

        Data on a CD-ROM is recorded in equal length sectors on a single
        spiral track that starts at the inner edge of the disc and finishes
        at the outer edge.  This track is on the order of .6 microns wide,
        with a turn spacing of 1.6 microns.  A micron, if you don't happen
        to remember, is equal to a millionth of a meter.  A human hair is
        about 100 microns in diameter.  A CD-ROM has a track density of
        about 16,000 turns per inch if you measured across the disc.  If
        you stretched this track out into a straight line it would measure
        over 3 miles in length!

        A drive's read head assembly consists of a solid state laser,
        lenses, a beam splitting mirror and a photo diode to detect the
        reflected light.  In relative terms this assembly is massive.  The
        magnetic heads used in hard disk drives are tiny by comparison.

        CD-ROM drives utilize a principle called constant linear velocity
        (CLV).  With CLV the data must pass across the read head at the
        same speed, no matter where on the disc it is positioned.  Because
        data sectors on the outer and inner edges are the same length, the
        rotational speed of the disc must constantly change as the read
        head changes position.  If it didn't, the bits on the outer edge of
        the disk would pass by almost 3 times faster than those near the
        center.

        So to summarize the mechanical problem we face, we must precisely
        follow a very narrow track of data using a relatively massive laser
        assembly.  At the same time we must constantly vary the rotational
        speed of the disc so the data passes at a constant linear speed
        when we move the read head.  And we want to be able to reposition
        this read head and be ready to access new data as quickly as
        possible.

        As you can imagine, it's just not possible to do this very quickly. 
        The more mass something has, the slower you can whip it around.  If
        in addition, you have to position it with sub-micron accuracy, this
        takes more time.  And if you also have to readjust to a new rota-
        tional speed, you need more time still.

        This is why CD-ROM access times are slow and it's not going to
        change any time soon.  Although triple and quadruple speed drives
        have increased the raw data rate (by increasing the rotational
        speed), access times have not dropped proportionally.

        The key to speeding up CD-ROM performance is to minimize the number
        of times we reposition the read head.  Because every time we move
        this head, we waste time.  The way to reduce head movement is to
        use a cache like CD-Quick.  Once data is read into the cache, it
        will be accessed from RAM instead of the CD.  If we can anticipate
        data to read when we are positioned at this data, we can minimize
        head movement.  CD-Quick uses advanced caching techniques to help
        ensure that the data you need most will be found in the cache.
                                                                          16

        Revision History


        Version 1.20 - 6/12/95
        It was possible for some other Windows programs to assume 
        QuickMon's Rabbit icon when minimized.  Fixed.  If a cache size
        greater than 10MB was specified and memory was available, it would
        be allocated.  Fixed.  Improved compatibility with some older
        drives that don't handle disc changes quite right.  Also added a
        "Change Fix" option to CDQ.  Improved performance for triple and
        quad speed drives.  In CDTEST if a CD-ROM was changed after doing a
        directory walk, and a read test was attempted, it failed.  Added a
        warning message.  Added a documentation file in Windows Write
        format.  Changed the default cache size when automatic size deter-
        mination is used.

        Version 1.11 - 3/15/95
        If you used a single hardware device driver with multiple CD-ROM
        drives, the Install program would put multiple instances of CDQ in
        your AUTOEXEC.BAT file.  Fixed.

        Version 1.10 - 3/6/95
        Now smaller and even faster!  All start up code and data are now
        discarded before going resident.  This reduces the resident program
        size to 11KB.  The data for the cache index has been separated from
        the program and will use the HMA if available.  The cache search
        routine has been improved to speed lookups, increasing cache
        throughput.  Added flush and enable/disable options to CDQ and
        QuickMon.  Added help option to CDQ.  QuickMon was unable to start
        up minimized.  Fixed.  No longer supports locating the cache data
        in upper memory.

        Version 1.02 - 1/18/95
        In the opening shareware screen, if you choose to print an order
        form and your printer was offline, CD-Quick would wait for the
        printer to be put back online.  This gave the appearance that the
        software was hung.  Logic to detect this condition has been added. 
        Enhanced the Install program to work with any type of CD-ROM
        extensions (not just Microsoft's MSCDEX).  Changes made to the
        AUTOEXEC.BAT file might not get saved if you used a hard drive
        cache that did write caching and you rebooted from within the
        install program.  Fixed.   QUICKMON would display a cache size of
        1024K on startup if the CD-ROM drive had not been accessed first. 
        Fixed.  A real artist created a better looking icon for QUICKMON.

        Version 1.01 - 12/30/94
        While Microsoft's MemMaker was optimizing upper memory use, CD-
        Quick was unable to find your CD-ROM's real hardware device driver. 
        This resulted in too high a number of CD-ROM drives being reported,
        and caused MSCDEX to report an error.  CD-Quick has been changed to
        enable it to always find the true device driver.

        Version 1.00 - 12/20/94
        First release.
                                                                          17

                            Appendix A - Error Messages


        Cache has already been installed.

             You have already loaded CD-Quick using this Device Driver
             name.  If you want to use CD-Quick with another device driver,
             specify a different driver name.


        Cache must be installed before MSCDEX.

             CD-Quick requires that it be loaded AFTER your CD-ROM hardware
             device driver and BEFORE Microsoft's MSCDEX.EXE.  Check your
             AUTOEXEC.BAT and/or CONFIG.SYS files to make sure that is the
             case.


        CD-Quick's executable has been corrupted.  Please reinstall.

             Someone or something (another program perhaps) has changed
             your copy of CDQ.EXE.  CD-QUICK checks itself every time it
             runs and this check has failed.  Reinstall the program.


        Device driver not found: 'XXXXXXXX'.  Please install before
        CD-QUICK.

             The hardware device driver you told CD-Quick to use has not
             been loaded.  This is done by a line in your CONFIG.SYS file. 
             Make sure this driver is loaded and the driver name is cor-
             rect.


        Extended Memory Manager not present.

             CD-Quick requires the extended memory in your system be man-
             aged by a memory manager.  It's the memory manager's job to
             turn extended memory into XMS memory.  The XMS memory manager
             HIMEM.SYS comes with DOS and should be loaded by a line in
             your CONFIG.SYS file.  See your DOS manual if you need help
             with this.  Any memory manager supporting version 2.0 of the
             XMS specification will work with CD-Quick.


        Extended Memory allocation error.

             CD-Quick tried to allocate XMS memory and the XMS memory
             manager returned an error.  No memory could be allocated. 
             Check to see if you've got some free XMS memory available.


        Extended Memory not present or not-usable.

             You don't have any memory above 1MB in your system.  CD-Quick
             uses extended XMS memory for its data cache.  Since many 
             programs can perform better if you have some XMS memory, you 
             may want to add some to your computer.
                                                                          18

        HMA can not be enabled.  Use /NOHMA option.

             You have enough free memory in the High Memory Area, but it
             can't be accessed.  Use the /NOHMA switch when loading CDQ to
             disable CD-Quick's HMA use.


        No valid CDROM device drivers selected.

             You didn't specify a CD-ROM hardware device driver to use with
             CD-Quick.  Check your AUTOEXEC.BAT file to make sure you have
             used the '/D:' parameter.


        Not enough Extended Memory, must have at least 64K free.

             Although you have XMS memory in your system, less than 64K is
             free when CD-Quick loads.  Either decrease the amount of XMS
             memory allocated to other applications that load before CD-
             Quick or buy more memory.


        Not enough Extended Memory, reducing number of buffers.

             You don't have enough free XMS memory to allocate a cache as
             large as you have specified.  CD-Quick will allocate a lesser
             number of cache buffers to fit in the memory you do have
             available.


        This program requires DOS 3.10 or later.

             You have a very old version of DOS.  Since MSCDEX.EXE or its
             equivalent requires DOS 3.1 or later, you should upgrade.


        Unable to allocate cache index table.

             You don't have enough memory to allocate CD-Quick's cache
             index table.  This shouldn't be possible since CD-Quick tries
             to use the HMA, UMA and also conventional memory.  Please let
             us know if you get this message.


        Your printer is NOT ready.

             You asked CD-Quick to print an order form but your printer is
             offline.  Check to see if your printer has power, has paper
             and its cable is connected.
                                                                          19

                     Appendix B - Common Questions and Answers


        Q.   After installing CD-Quick, Windows won't load (or my Windows
             video driver, Wolfenstein or other whiz-bang program has
             problems).  If I remove CD-Quick everything works.  What's
             wrong?

        A.   The problems you are having are related to the way you have
             apportioned your memory.  CD-Quick uses XMS memory for its
             cache.  Your problems go away when CD-Quick is not loaded
             because you have freed up the memory used by CD-Quick.  It is
             now available for Windows (or other software) to use. You need
             to determine how you are allocating your XMS memory.  Are you
             using a cache for your hard drive?  If so, how much memory
             does it use?  Do you have a RamDrive or print spooler that
             uses XMS memory?  You should also check to see how much XMS
             memory CD-Quick is using.  From DOS, just type CDQ any time
             after CD-Quick has loaded.  From Windows start CD-Quick's
             QuickMon program.  CD-Quick's memory usage will be displayed.

             After you learn how your memory is being allocated, you can
             then determine the proper division of XMS memory for your
             software that uses this memory.

             If you allow CD-Quick to automatically determine its cache
             size, it may use too much memory in some cases.  CD-Quick
             can't anticipate your memory requirements after it loads.  So
             you have to be aware of any software that requires more XMS
             memory than is usual.  You can then set CD-Quick's cache size
             manually.

        Q.   If I allocate a 2MB cache for CD-Quick and 2MB for my disk
             cache, I've used up over half my memory (I've got 8MB).

        A.   A common mistake is to allocate too much memory to a hard
             drive cache.  With today's hard drives, 80% of your perfor-
             mance gain will be had with 256KB to 512KB of memory.  A 2MB
             hard drive cache just wastes memory that could be better used
             elsewhere.  CD-ROMs are 20 times slower and require a larger
             cache size.  We recommend a ratio of 1 to 4 when allocating
             memory to a hard drive cache and CD-Quick.  For instance, if
             you have CD-Quick set for a 2MB cache, you should set your
             hard drive cache to use 512KB.  If you want to set CD-Quick's
             cache lower, you should reduce your hard drive cache too.  For 
             a 1MB CD-ROM cache, use 256KB for your hard drive cache.

        Q.   I don't use SmartDrive for my hard drive (I use a different
             cache).  What's wrong with using SmartDrive v5.0 to cache only 
             my CD-ROMs.

        A.   In a word, memory.  For a 2MB cache, SmartDrive uses 30K of
             conventional memory (45K before it goes resident!).  In most
             cases, CD-Quick uses 11K.  SmartDrive's use of XMS memory is
             equally inefficient.  Typically you need to allocate a larger
             cache size to equal CD-Quick's performance.  Or, to put it
             another way, CD-Quick will out perform SmartDrive for the same
             size cache.  See Appendix C for more information.
                                                                          20

          Appendix C - Comparing CD-Quick to Microsoft's SmartDrive 5.0+

        The version of SmartDrive included with MS-DOS v6.2 is capable of
        caching CD-ROM drives as well as hard and floppy drives.  It's
        tempting, if you already have SmartDrive v5.0, to wonder how it
        compares to CD-Quick.

        SmartDrive has improved with each version of DOS, so that today it's
        not a bad disk cache.  However, it has some problems when used with
        CD-ROMs.  Its first problem is that it uses a single cache for hard
        drives, floppy drives and CD-ROMs.  If you read a large enough block
        of data from any one of these, you effectively flush the cache for
        all the others.  This can be something as simple as doing a file
        search of your hard drive with a program such as Norton's File
        Finder or similar "Where is" program.  Unless SmartDrive's cache is
        VERY large, any CD-ROM data will be flushed from the cache.  Tests
        I've run with a 345MB hard drive (87% full) and SmartDrive, show
        that a "Where is" search for a nonexistent file will flush the cache
        of CD-ROM data for cache sizes as great as 5MB!.

        Another problem with using a single cache for both hard drives and
        CD-ROMs is the big difference in access times between the two. 
        Average access times for most of today's hard drives are under 15
        milliseconds.  CD-ROMs are about 20 times slower!  When deciding on
        how much memory to allocate to a cache, you will always reach a
        point of diminishing returns.  For instance, doubling the cache size
        may only increase performance by 10%.  Sometimes, increasing cache
        size beyond a certain point will actually DECREASE performance.  At
        the very least, having a cache larger than needed will waste memory. 
        This point of diminishing returns for hard drives is much lower than
        it is for CD-ROMs.  To be able to tune your system for the best
        performance, you need to be able to set the size of your hard drive
        cache and your CD-ROM cache independently.  This can only be done if
        they're separate caches.  Very good hard drive performance can be
        had with a 256KB to 512KB cache.  A CD-ROM drive in the same system,
        might need a 2MB cache or larger.

        In addition to these considerations, SmartDrive doesn't use cache
        memory very efficiently.  SmartDrive does a lot of sector read-ahead
        buffering.  It reads more data than you ask for with the hope that
        you'll want it later.  This is fine for sequential data reads, but
        it's very wasteful if you're reading data stored in many random
        locations.  The cache can quickly fill with data you'll never want. 
        CD-Quick also uses sector read-ahead buffering, but it dynamically
        adjusts the amount of read-ahead based on the pattern of your reads. 
        It can drop the number of read-ahead sectors to zero if random data
        is being read.

        While the CDTEST utility included with CD-Quick is intended to 
        demonstrate the difference between using a CD-ROM cache and not
        using one, it can also be helpful when comparing caching software. 
        To illustrate SmartDrive's problem of using a shared cache, have
        CDTEST do a directory walk of a CD-ROM.  Now do the walk again.  If
        the directory data is found in the cache, it should only take a
        second or two.  Now try a "Where is" search for a nonexistent file
        on your hard drive.
                                                                           21

        You can do this with the DOS DIR command.  Type:

             DIR  C:\weasel.dat  /S

        This will search for a 'WEASEL.DAT' file on your hard drive.  If you
        go back and run CDTEST's directory walk again, you will find the
        cache has been flushed (unless it's VERY large).  As mentioned
        before, CD-Quick's cache is not shared by non CD-ROM drives, so it
        can never be flushed by any reads you do on your hard drive.

        If you'd like to see the effect of SmartDrive's read-ahead buffer-
        ing, you can use CDTEST to do a directory walk followed by a read
        test.  If you go back and do another walk, you'll find in most cases
        the directory data has been flushed from the cache.  This second
        directory walk should be very quick, since the first walk has
        already read the needed data.  But with SmartDrive it will take much
        longer.  Tests I've run show this occurs with cache sizes of up to
        2MB.  Because CD-Quick makes better use of cache memory, you won't
        see this problem until you reduce CD-Quick's cache size to about
        1MB.


        A Word About Benchmarks

        All benchmark programs (CD-TEST included) are intended to test and
        quantify a particular aspect of a program's operation.  To properly
        apply a benchmark, you have to understand what the benchmark is
        intended to measure.  If you use it in a way other than that in
        which it was intended, your results may not be accurate.

        Here's a case in point.  CD-TEST was intended to compare CD-Quick's
        performance to a system's performance without a CD-ROM cache.  It
        will give meaningful results if you use it in that way.  Some people
        would like to use it to compare CD-Quick with other CD-ROM caches
        such as SmartDrive.  They might perform the following test: set
        SmartDrive to use a 2MB cache, run a directory walk then do CD-
        TEST's read test.  Repeat with CD-Quick set to use a 2MB cache and
        compare times.  If you do this, you probably won't see a big differ-
        ence in times.  You would then (erroneously) conclude that CD-Quick
        is not much better than SmartDrive.

        If you did this test with both SmartDrive and CD-Quick set to use a
        1MB cache, you would see a big difference in read times.  You would
        then conclude that CD-Quick IS much better than SmartDrive.

        What's going on here?  CD-TEST's read test reads a total of 384
        blocks (or 768KB) for the combined sequential and random read tests. 
        If you set both SmartDrive and CD-Quick to use a 2MB cache, this
        data easily fits in memory.  However, with a 1MB cache size, Smart-
        Drive can't hold 768KB of data!  If you ran this test with only the
        2MB caches you'd never see this.

        So be careful when using benchmarks.  Know what they're intended to
        test and use them accordingly.  Also don't rely on them as your only
        measure of performance.  If the benchmark doesn't test for it, the
        results can't show it.
                                                                           22

                Appendix D - Distribution Points for CD-Quick Cache


        The latest version of CD-Quick Cache may be found on the ASP's
        monthly CD-ROM.  All BBS's who are ASP members receive this CD each
        month.  Check for an ASP BBS near you.  The filename to look for is
        CDQCKxxx.ZIP (where xxx is the version number).

        CD-Quick may also be found in the PC Hardware forum on CompuServe
        (GO PCHW) in Lib 1.  Look for the filename CDQCK.ZIP.

        Lastly, CD-Quick is available via the ASP's Hub Network of BBS's. 
        If you are in North America, these BBS's all allow downloading of
        CD-QUICK on the first call:


             Consultant BBS, NY            (718) 837-3236
             Break RBBS, VA                (703) 680-9269
             Twilight Zone, WI             (715) 652-2758
             Data Exchange BBS, LA         (318) 239-2122
             SPACE BBS, CA                 (415) 323-4398
             Knightec BBS, Canada          (519) 940-0007

