0 V E R D R I V E OVERDRIVE is a utility designed to provide "buffering" for a disk drive using part of an alternate memory bank. Furthermore, System Modules 1, 2, 3, 4, 5, 9, 10, 11 and 12 will be loaded into the alternate memory bank, and will produce results similar to those gained after executing a SYSTEM (SYSRES). It can ONLY be used on Model 4's and 4P's that have 128K of RAM. Up to two drives may be buffered. When a disk read is requested from a buffered drive, the entire track will be read into banked memory. Additional read requests for that track will transfer the data from memory, eliminating the physical disk access. When a system overlay is needed, it will be retrieved from alternate memory, again eliminating a physical disk access. In many cases this will greatly increase the speed of disk 1/0. The syntax is: OD (parm,parm) Optional Parameters: B1=x B2=y Specify the drive(s) to be buffered, where x and y represent the drive number. Either or both may be specified. If neither is used, prompts will appear for the drives to be buffered. REMOVE When used with B1 and/or B2, will disable the buffering of the specified drive(s). The disk driver and system overlays will remain in memory. When used by itself (without B1 or B2) all drive buffering will be disabled, the back bank will be released, and the memory used by the driver will be freed (if possible). abbr: REMOVE=R I M P 0 R T A N T N 0 T I C E OVERDRIVE requires the TRSDOS 06.02.00 Operating System for proper operation. OVERDRIVE Installation OVERDRIVE requires one free bank of alternate memory (16K for the drive "buffer" and 16K for the system overlays) and approximately 400 bytes of space in low memory for the disk driver. If there is not sufficient low memory or no back bank is available, OVERDRIVE will display an error message and the installation will be aborted. If OVERDRIVE is to be used with other "low" memory drivers/filters (e.g. COM/DVR or FORMS/FLT), it should be installed first to ensure that enough "low" memory is available. When OVERDRIVE is installed, if System Modules have previously been resided in main memory (via SYSTEM (SYSRES)), an informative message will appear and no System Modules will be loaded into the back bank. This will not affect drive buffering, but will waste memory (the memory taken up by the SYSTEM (SYSRES) and the memory in the back bank reserved for the System Modules). When OVERDRIVE is active, you will not be allowed to SYSGEN (if OVERDRIVE is "trapped" in memory but not active, you will be allowed to SYSGEN - See Removing OVERDRIVE). When OVERDRIVE is entered without specifying either B1 or B2, this prompt will appear: Enter drive to buffer, to end At this time, either 0, 1 or 2 drives may be specified for "buffering". After the first drive number is entered the prompt will appear again, and the second "buffered" drive may be specified (if desired). If is pressed and no drives are specified, the driver will be installed in low memory, the alternate memory bank will be allocated and the system overlay modules will be placed in the back bank, but no drive buffering will be done. This is useful for "reserving" low memory space for the driver. During the initial installation of OVERDRIVE (i.e. if the driver is not already present), the key may be used to terminate the installation. The driver will NOT be installed in this case, and the back bank will not be allocated. B1 and B2 may be used on the command line to enable disk buffering on one or two drives. Installation of OVERDRIVE when using B1 and B2 is identical to installing OVERDRIVE with no parameters, except there will be no drive prompts. If OVERDRIVE has been installed and fewer than 2 drives are buffered, additional buffered drives may be specified at a later time. This is done in the same manner as initial installation. Only drives that are enabled may be buffered. If you attempt to buffer a disabled drive, an appropriate error message will be displayed. Removing OVERDRIVE The buffering operation for a specific drive may be disabled by using a "drive" parameter (Either or Both B1 and B2) along with the REMOVE parameter. This will not affect the, buffering of "non- removed" drives, and will not affect the use of the system overlays from the back bank. Using the REMOVE parameter without specifying B1 or B2 will disable all drive buffering, release the alternate memory bank and attempt to remove the low memory driver. Informative messages will appear showing the operations which were performed. If OVERDRIVE is "trapped" in memory, the alternate memory bank will be released but the "trapped" memory taken up by OVERDRIVE will not be "freed up". If this is the case, OVERDRIVE will occupy the same "trapped" memory allocation if later re- installed. When to use OVERDRIVE OVERDRIVE can greatly speed up processing of information that is read from a disk (especially a floppy disk). There will be a speed increase in all systems by having the system modules "resident" in the back bank. This will eliminate a disk access on any system overlay request. Please note that the "Library" modules (SYS6, 7 and 8) cannot be resided, and entering a library command (such as DIR) will cause a physical disk access. The greatest increase in speed will result when a disk file is being accessed sequentially from a "buffered" drive (e.g. Record 1 is read first, followed by Record 2, Record 3, etc.). If a file's records are being read in a random order, drive buffering should not be enabled, as it may actually slow down processing (OVERDRIVE can still be used to reside the system overlays). Library commands and utilities that do their own buffering (such as COPY and BACKUP) will not show a speed increase when used with OVERDRIVE (but in most cases will not show a decrease in speed either). In certain cases, it may be beneficial to buffer drive 0 (e.g. when reading data sequentially from drive 0). However, for the more "routine" operations (such as executing TRSDOS Library and Utility commands), buffering drive 0 may slow down overall operation. SPECIAL CAUTIONS If OVERDRIVE is to be used with "other" disk drivers (such as LS-DiskDisk, MemDisk or a hard disk driver), OVERDRIVE should be the LAST driver installed on the drive (do not confuse this with installation - OVERDRIVE may be installed in memory without having any drives buffered). For example, if you wish to use OVERDRIVE with LS-DiskDisk, install the DiskDisk driver first, followed by OVERDRIVE. There are some things that should NEVER be done when using OVERDRIVE. These are: 1) Performing the TRSDOS Library command SYSTEM (SYSTEM=n) if either drive 0 or drive n is buffered. If you need to change your "System" drive, you MUST disable the buffering for BOTH drives before doing so. 2) Buffering both the "outer" and "inner" drive when LS-DiskDisk is used (Note: The "outer" drive is the actual physical drive. The "inner" drive is the DiskDisk file which is acting as a drive). Either the outer drive or the inner drive may be buffered. Buffering BOTH at the same time will cause unpredictable results (more than likely a system "hang up" when the inner drive is accessed). 3) Performing a DEBUG Read or Write operation on a buffered drive. OVERDRIVE uses the same area of memory that DEBUG uses when a read/write operation is done. Using DEBUG to read/write a buffered drive may cause a system "crash". Technical Notes One final word about OVERDRIVE concerns the "logging" in of a new diskette in a buffered drive. When accessing the directory (or track 0), no buffering will be done, and the "current" buffered information will be marked as "old". This will force the next "read" to perform physical I/O, and will prevent any "old" buffered information from being used. In most cases, diskette swapping will present no problems. Examples The following command could be used to install OVERDRIVE and enable buffering on drives 2 and 4. OD (B1=2,B2=4) If drives 2 and 4 are currently buffered and you wish to disable the buffering for drive 4, this command could be used: OD (B1=4,REMOVE) To disable all drive buffering, release the back bank and attempt to de-allocate the memory used by OVERDRIVE, use this command: OD (R) I M P 0 R T A N T N 0 T I C E The OVERDRIVE package is a product of Logical Systems, Inc. It has been designed and tested to work with the LS-DOS/TRSDOS 6.2 operating system. The LS-DOS/TRSDOS 6.2 operating system is a product of Logical Systems, Inc., and is licensed to Tandy Corporation. TRSDOS is a trademark of Tandy Corporation. This package is sold on an "as-is" basis. Logical Systems, Inc. makes no expressed or implied warranty of any kind with regard to the software or documentation. Under no circumstances will Logical Systems, Inc. assume any liability for actual, incidental or consequential damages resulting from the use of this package. Furthermore, under no circumstances will Logical Systems, Inc. assume any liability for actual, incidental or consequential damages resulting from the use of the LS-DOS/TRSOOS 6.2 operating system. From time to time, updates to this product may become available for a nominal charge. Customer Service information on this product and any available updates may be acquired by contacting Logical Systems, Inc. at the following address: Logical Systems, Inc. 8970 N. 55th Street P.O. Box 23956 Milwaukee, Wisconsin 53223 (414) 355-5454 The entire OVERDRIVE package and manual is Copyrighted 1984 by Logical Systems, Inc.