
                                  SMART PROMPT

                              Notice of Copyrights
    ------------------------------------------------------------------------
    This file and the enclosed SMARTPMT.COM file are copyright 1993 by Steve 
    Gibson, Irvine, California, USA. *** ALL RIGHTS RESERVED ***  These 
    files may be freely distributed and used for any purpose whatsoever so 
    long as they are kept together and not modified in any way.
    ------------------------------------------------------------------------

    The enclosed program, SMARTPMT.COM (Smart Prompt) is Steve Gibson's tiny 
    (336 resident bytes) TSR which helps to prevent drive (and especially 
    DoubleSpace) partition corruption in DOS 6.0 systems.
    
    When returning to the DOS system prompt with hard disk cached data not 
    yet completely written to any drive, SMARTPMT triggers immediate disk 
    cache writing and briefly suspends the return of the DOS system prompt 
    until Microsoft's Smart Drive disk cache has finished all writing. 
    
    SMARTPMT.COM requires only a tiny bit of RAM space yet it makes the DOS 
    6.0 prompt completely safe again. 

    This program was originally written to supplement Steve Gibson's weekly 
    InfoWorld Magazine TechTalk column of May 17th, 1993.  The text of that 
    column is provided below for additional background: 

                   ******************************************* 
                         Steve Gibson's TechTalk Column 
                         for InfoWorld's May 17th, 1993,
                                   Issue # 20 
                   ******************************************* 

    Last week I alluded to the belief that I knew what was causing this 
    "DoubleSpace nuked me after ten days!" behavior which seems to be so 
    prevalent. Also last week, InfoWorld's Test Lab magician, Kevin Strehlo, 
    who's been pursuing many DOS 6.0 loose ends, indicated that he had 
    determined that many of the problems InfoWorld had experienced with 
    "DoubleSpace" turned out to be related to the write deferring behavior 
    of SmartDrive. I believe that he hit the nail squarely on the head! 

    The "loaded gun" (which is all too often found to be smoking) that 
    Microsoft mistakenly placed into DOS 6.0 is their default installation 
    of SmartDrive 4.1 with its "lazy writing" option active. As you may 
    know, lazy writing means that the system's hard disk cache buffers data 
    which needs to be written to the hard disk drive so that the operating 
    system and its applications don't need to wait around for this writing 
    to occur. The cache intercepts the system's write requests, placing the 
    data quickly into temporary RAM memory, and immediately returns control 
    to the application or operating system. At some later point, after the 
    system and the hard disk drive have been idle for a while, the system's 
    hardware clock "wakes up" the cache and triggers a gradual "flushing" of 
    its buffers. 

    I don't believe that write deferring is a bad thing at all, in fact I 
    believe it's a very worthwhile technology which we're as stuck with as 
    we are with compression, but with deferred writing comes some clear 
    responsibility. Microsoft's automatic installation of SmartDrive write 
    deferral in DOS 6.0 completely fails to disclose the inherent dangers of 
    this technology. 

    It took us quite a while to explain to the many tens of millions of 
    computer users why they could not simply turn the computer off while 
    they were still within Wordperfect or Lotus after printing their 
    document.  We also had to explain that they really should not press that 
    little red button on the front of the machine without trying a number of 
    other things first. The continual accumulation of lost hard disk cluster 
    chains only ceased once they had all finally learned to first save their 
    documents then exit Wordperfect, returning to the safe DOS prompt BEFORE 
    reaching down to flip the power switch of their machine.  Then one night 
    without notice, DOS 6.0 was installed upon their system and this once 
    fail-safe behavior became a recipe for guaranteed failure and, when 
    coupled with DoubleSpace, assured hard disk data loss. 

    Check it out for yourself: After DOS 6.0's default installation, and 
    depending upon the speed and performance of the host computer system, if 
    you exit to DOS from within an application, responding "YES" to the 
    prompt to "Save Modified Document", on your way out, you'll receive the 
    DOS prompt immediately, while after a short pause the light on the 
    system's hard disk will begin to flicker as it only then begins writing 
    the document out to the hard disk drive. How would you like to turn the 
    computer off right then? No? Well, across the planet this is the danger 
    which DOS 6.0 has created for its trusting users. 

    What can you do? I can suggest only three cures for this dilemma: You 
    could override SmartDrive's default behavior, in the process losing the 
    performance benefits it delivers. Or you could reeducating all those 
    tens of millions of computer users about this NEW danger and of their 
    new responsibility to prevent disaster. Or you could install the tiny 
    TSR I wrote for the purpose, which triggers an immediate flushing of all 
    pending SmartDrive writes when returning to DOS and suspends the return 
    of the DOS prompt until the cache has been completely cleaned out. It 
    makes the DOS prompt safe once again. 

    I call it "SmartPrompt" and I wrote it for you. It occupies just 336 
    bytes of memory, is loadable high or low, and as far as I've been able 
    to tell it completely solves the problem of this "early return" of the 
    MS-DOS 6.0 prompt when under the influence of the otherwise very nice 
    and high performance SmartDrive 4.1 hard disk cache. You can find it on 
    Compuserve or from my BBS at (714) 362-8848. I hope it saves some data! 
    
                                      -30-

                              README.TXT file ends
    ------------------------------------------------------------------------
