JP Software SDFLUSH Documentation Version 1.0 -- December 16, 1993 Copyright 1993, JP Software Inc., All Rights Reserved. Published by JP Software Inc., P.O. Box 1470, E. Arlington, MA 02174 USA, (617) 646-3975, fax (617) 646-0904. This file explains how to use SDFLUSH, JP Software's TSR utility for use with 4DOS and SMARTDRV. Microsoft's SMARTDRV disk cache program offers a "delayed write" or "write-behind" mode. In this mode, data written to disk is held in the cache (in memory) until the system is idle (or until the cache memory area is full), at which point the data is physically written to the disk. This approach can improve performance, but it can also be dangerous -- for example, if you wait for the prompt and then turn off the computer, there may be data in the cache which has not yet been written to disk. Under PC-DOS 6.1 and MS-DOS 6.2, COMMAND.COM attempts to minimize this danger by instructing SMARTDRV to write all cached data to the disk before the command prompt is displayed. 4DOS does not currently interact with SMARTDRV in this way. However, if you wish to enable this behavior under 4DOS you can do so with SDFLUSH. SDFLUSH is a TSR which watches for a signal from 4DOS indicating that 4DOS is about to display a prompt. It then sends the appropriate signals to instruct SMARTDRV to write cached data to the disk. It does not allow 4DOS to display the prompt until it receives an indication from SMARTDRV that there is no more data waiting to be written to the disk. Note that you do NOT need SDLFUSH unless (a) you are using SMARTDRV from MS-DOS or PC-DOS version 6 or later, (b) SMARTDRV is running in delayed-write mode, and (c) you wish to force cache data to be written to disk before each prompt is displayed. To use SDFLUSH, simply load it with a command like this: c:\> c:\4dos\sdflush Normally you would place this command in AUTOEXEC.BAT or otherwise load it when your system boots. SDFLUSH should be loaded after SMARTDRV. It can be loaded high with the LH command or other similar utilities if you wish. SDFLUSH uses 336 bytes when resident in memory. SDFLUSH cannot unload itself, but you can unload it with MARK and RELEASE from the TSRCOM utility package (available on-line or on the 4DOS Utility Disk from JP Software), or other similar TSR management utilities. SDFLUSH works with PC-DOS 6.1 and MS-DOS 6.2 as described above. In addition, SDFLUSH will work with MS-DOS 6.0 SMARTDRV. You may find this to be an improvement over MS-DOS 6.0 COMMAND.COM, which does not offer a similar feature. SDFLUSH is designed for use with 4DOS 5.0 and above, along with SMARTDRV for MS-DOS / PC-DOS version 6.x. If you do not have both 4DOS and SMARTDRV loaded, there is no point in loading SDFLUSH. SDFLUSH may work properly with SMARTDRV from MS-DOS / PC-DOS version 5, and with 4DOS version 4, but it has not been tested in those environments. Some other cache software responds to the same signals as SMARTDRV and may therefore work properly with SDFLUSH, but we have not tested such combinations and cannot guarantee the results. CAUTION: USING ANY CACHE PROGRAM IN DELAYED WRITE MODE CAN REDUCE THE INTEGRITY OF YOUR SYSTEM. If you use SMARTDRV or any other cache program in delayed write mode we STRONGLY encourage you to use your own methods to ensure that the cache is empty prior to rebooting or shutting down your system, defragmenting your hard disk, or disabling your cache. Such methods might include issuing the appropriate "flush buffers" command for your cache software (for example, the SMARTDRV /C command), or observing the disk activity light for an appropriate period of time to ensure that activity has ceased. JP Software cannot guarantee that SDFLUSH will provide additional safety on your particular system. SDFLUSH is a relatively simple program and we expect it to work reliably. We have tested it with SMARTDRV under MS-DOS 6.0 and 6.2 and found that it does delay display of the prompt until cached writes are completed. However this behavior may change due to interaction with other memory-resident programs, updates to SMARTDRV, and any SMARTDRV configuration options you select. Therefore you may wish to use the additional methods as described above to help ensure that cached data is written to disk when such assurance is required. DISCLAIMER: THIS SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND. IN NO EVENT SHALL WE BE LIABLE FOR ANY INCIDENTAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES WHATSOEVER ARISING OUT OF USE OF THIS PROGRAM. SDFLUSH is distributed free of charge by JP Software, and may be redistributed freely, as long as this documentation and the program itself are included with all copies, and have not been altered in any way.