`8NNNNkp NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNO`  @`! #@%`)+-/1 O5`79=A C@E`GIKMOQ S@U`WY[]_a c@e`gikmoq s@u`wy{} @ / @ ` @ o / @ ` @ ` ǀ ɠ @ ׀ @/@`!  !Aa!!#A%a')+-/1!3A5a79;=?A!CEaGIKMOQO`  @`! #@%`)+-/1 O5`79=A C@E`GIKMOQ S@U`WY[]_a c@e`gikmoq s@u`wy{} @ / @ ` @ o / @ ` @ ` ǀ ɠ @ ׀ @/@`!  !Aa!!#A%a')+-/1!3A5a79;=?A!CEaGIKMOQST340 P6  ,FAT Ѝ<REDISKSDOCm<DESKTOP INFo<CACHEV35 <CHEETAH <>DSKCH32A <VERSYS <HDWAIT F>HD_LOCK U>QUIKLOCK gDSTMIRROR mQ. <.. <DISK TXTэ<}HDRIVE_CC ԍ<STFAT DOC֍< 9/ This document describes the method of interfacing to the 1772 through the DMA CHANNEL on the ATARI ST. Before any data transfers can begin to or from the floppy, the DMA fifo must be cleared and the DMA address must be set up. To clear the fifo write a 190 to ff8606 followed by 90 to ff8606. Next set up the DMA address as follows: ff860d is the least significant 8 bits of the address ff860b is the middle 8 bits of the address ff8609 is the most significant 8 bits of the address Addressing the 1772 The 1772 requires two writes to access the registers. The first write (to ff8606) selects the 1772 register. The second access is to the 1772 register. The addresses for the registers are ( in hex ): 1. 80 - This selects the command/status register. 2. 82 - This selects the track register. 3. 84 - This selects the sector register. 4. 86 - This selects the data register. Each of the above values must be or-ed with 100 (hex) if the direction of transfer is from memory to floppy disk. Also a value of ff must be written to 43e to prevent the TOS from changing the value in ff8606. ( If ff is in 43e this prevents TOS from modifying the value in ff8606. THIS BYTE MUST BE SET BACK TO 00 AS SOON AS THE DISK OPERATION IS COMPLETED!!) Seeks To seek to a track the 1772 first receives the destination track in the data register ( 86 ) and then is issued the command seek command ( 17 ). For Example: move.w #$86,ffff8606 ;select the data register move.w #$4f,ffff8604 ;write destination track (last track on drive) move.w #$80,ffff8606 ;select command register nop nop ;delay because of the 3usec cycle time of ;the 1772 register access move.w #$17,ffff8604 ;this is a seek with verify with the correct ;step rate The 1772 will generate an interrupt when it has finished the seek. The interrupt can also be polled at fffa01 bit 5. If this bit is a zero then the 1772 is finished. To check for errors read from ff8604. this will clear the interrupt bit. Transferring Data To write to the diskette, first set up the DMA address. Next clear the DMA fifo then write 190 to ff8606 followed by 1 to ff8604. The 1 sets an upper limit of 512 bytes that can be transferred. (The maximum 512 byte blocks that can be transferred is ff.) Write the sector ( 1 - 9 ) number in the sector register. For a write in tracks 00-27 use a6 for the write command, and a4 for tracks 28-4f. Use 84 (hex) for the read command. Do not use any of the read/write multiple sectors commands since these require a Force Interrupt command which performs much slower than re-executing the read or write command. Format Track Command The write track command ( f6 for tracks 00 - 27 and f4 for tracks 28 - 4f ) writes data to the drive beginning with the index pulse and ending with the index pulse. This requires about 1a00 bytes to fill a drive running at 3%. By using the existing format command each track will have 9 sectors of 512 bytes per sector. The fourth byte of the Id-Field is used by the 1772 to count the number of bytes to transfer andto determine where the CRC is in the data field. Changing a parameter in the Id-Field can be incompatible with the TOS. Valid track numbers are 0-4f, valid sector numbers are 1-9. The side number is ignored. (The side number can be read by issuing the READ ADDRESS command 3 times without clearing the DMA fifo or changing the DMA pointer. ) The entire track can be written as one long sector and then read back using the read track command. (Using this method does not allow any use of the 1772 error checking capability.) When doing this, the first bytes to written after the index pulse should be 00. Allow at least 12 bytes of 00 for lock on time and 3 bytes of f5's for byte synchronization. ( The f5's generate a1's with a missing clock pulse to allow the bytes to be aligned. ) s/***************************************************************************/ /* */ /* SUPRA CORP. Hard Disk Format drivers for the Atari 520 ST */ /* */ /* 15 April 1986 */ /* */ /* This file containes the routines that are necessary to access */ /* a DMA bus device on the Atari 520ST. These examples are */ /* intended ONLY to be used as examples on how to read and write */ /* to the DMA bus. They were written in MEGAMAX C. */ /* NOTE: */ /* The 'asm' command in the 'FIFO_RD()' procedure may be required */ /* if your compiler uses a 'CLR' to zero a memory location. The */ /* two lines must store a LONG 0 into 'FIFO'. A 'CLR' (what */ /* Megamax compiles the commented out line to) will NOT WORK. */ /* */ /* Supra Corp. assumes no responsibility or liability for the use of */ /* these routines. This information is correct for the current */ /* version (11/20/1985) of TOS in ROM, and is compatible with */ /* Atari's hard disk drive. */ /* If you have questions or comments please use either Compuserve */ /* or call the Supra Support BBS. We are not able to answer */ /* questions over the phone about this information. We do hope */ /* that this information will help answer the questions on the use */ /* of the powerful and fast Atari 520ST DMA bus. */ /* */ /* Tech Support Department */ /* CIS 76004,565 */ /* SUPRA CORPORATION */ /* 1133 Commercial Way */ /* Albany, OR 97321 */ /* (503) 967-9075 */ /* Supra Support BBS (503) 926-1980 */ /* */ /***************************************************************************/ /***************************************************************************/ WORD *flock = 0x43eL; BYTE *gpip = 0xfffa01L; WORD *diskctl_w = 0xff8604L; LONG *diskctl_l = 0xff8604L; WORD *fifo = 0xff8606L; BYTE *dmahigh = 0xff8609L; BYTE *dmamid = 0xff860bL; BYTE *dmalow = 0xff860dL; LONG save_ssp; #define READ 0x8008L #define WRITE 0xa008L #define LONG_DELAY 690000 #define SHORT_DELAY 23000 #define FLOCK_ON -1 #define FLOCK_OFF 0 /***************************************************************************/ VOID sup_on() { save_ssp = Super(0L); } VOID sup_off() { Super(save_ssp); } WORD wait(time) LONG time; { while(time--) { if( (*gpip & 0x20) == 0) return(0); } return(-1); } VOID fifo_rd(count) WORD count; { *fifo = 0x90; *fifo = 0x190; *fifo = 0x90; *diskctl_w = count; *fifo = 0x8a; /* *diskctl_l = 0x0L; DONT use this -- compiler does it WRONG */ asm{ move.l #0x00ff8604,A0 move.l #0x00000000,(A0) } } VOID fifo_wrt(count) WORD count; { *fifo = 0x90; *fifo = 0x190; *diskctl_w = count; *fifo = 0x18a; *diskctl_l = 0x100L; } WORD get_status(mode) WORD mode; { WORD err; err = wait(LONG_DELAY); if( !err ) { *fifo = mode; err = *diskctl_w & 0xff; } return(err); } VOID end_hd() { WORD dummy; *fifo = 0x80; dummy = *diskctl_w; *flock = FLOCK_OFF; } VOID set_dma(buf) LONG buf; { *dmalow = (BYTE) (buf & 0xff); *dmamid = (BYTE) ((buf >> 8) & 0xff); *dmahigh = (BYTE) ((buf >> 16) & 0xff); } WORD select_sector(command,sectno,count,buf,dma) LONG command,sectno; WORD count; LONG buf; WORD dma; { WORD err; *flock = FLOCK_ON; if ( buf ) set_dma(buf); *fifo = 0x88; *diskctl_l = ( (LONG) dma << 21) | command; err = wait(SHORT_DELAY); if( !err ) { *diskctl_l = ( (LONG) dma << 21) | (sectno & 0x1f0000) | 0x8a; err = wait(SHORT_DELAY); if( !err ) { *diskctl_l = (sectno & 0xff00) << 8 | 0x8a; err = wait(SHORT_DELAY); if( !err ) { *diskctl_l = (sectno & 0xff) << 16 | 0x8a; err = wait(SHORT_DELAY); if( !err ) { *diskctl_l = (LONG) (count & 0xff) << 16 | 0x8a; err = wait(SHORT_DELAY); } } } } return(err); } WORD hd_read(sectno,count,buf,dma) LONG sectno; WORD count; LONG buf; WORD dma; { WORD err; sup_on(); err = select_sector(READ,sectno,count,buf,dma); if( err == 0 ) { fifo_rd(count); err = get_status(0x8a); } end_hd(); sup_off(); return(err); } WORD hd_write(sectno,count,buf,dma) LONG sectno; WORD count; LONG buf; WORD dma; { WORD err; sup_on(); err = select_sector(WRITE,sectno,count,buf,dma); if( err == 0 ) { fifo_wrt(count); err = get_status(0x18a); } end_hd(); sup_off(); return(err); } 0660002000266 1 2page # 9[....................................................] ST Disk Directory For those of you that have gone from the 8-bit ATARI computers to the 16-bit ATARI ST's, there have been many surprises for you in the past months. Among them is probably " What do I do with all of this extra memory.", or maybe " The graphics on this system sure are something." and one of my favorites, " That disk holds a lot of data." All of these statements are true for obvious reasons. For the longest time there was only 48K of ram available in the ATARI Systems, so jumping to 512K is a fantastic leap. The same holds true for the graphics capability of the new ATARI, by going to a monitor and improving the resolution, another big leap has been made. But, one of the most important improvements to me has been the disk storage. After using an ATARI 810 disk drive for several years, going to 360K per disk is great. Now, since I have that off my chest, I would like to go a little deeper and try to explain some of the differences in the way the ST disks (single sided) are handled. The ST disk is divided into 80 tracks (0 thru 79), 9 sectors per track (1 thru 9), and is written in QUAD density (512 bytes per sector). When a disk is formatted, a Boot sector (track 0, sector 1), the File Allocation Tables (it starts at track 0, sector 2) and the Directory (it starts at track 1, sector 3) are established using all 18 sectors in the first two tracks. The remaining sectors (tracks 2 thru 79, sectors 1 thru 9) are initialized in pairs or by cluster (two sectors = one cluster). As a cluster is initialized the File Allocation Table (F.A.T.) is updated to indicate the status of the cluster; this continues until all 351 data clusters have been completed. If a cluster cannot be formatted or initialized, the corresponding entry in F.A.T. is marked not-available and will remain that way until the disk is re-formatted or thrown-away. If a cluster is marked as bad, the F.A.T. entry will contain a number between $FF0 and $FF7. That range of numbers simply means the cluster is un-usable and will never used to store data. The ST disk uses track 2, sector 1 thru track 79, sector 9 to store any files you write to the disk. All filenames are listed on the disk directory in the order they are entered. The directory is seven (7) sectors long and has room for 112 entries, with each entry being 32 bytes in length. Each entry contain the Filename and Extension, the file Attributes, the Time the last change was made to the file, the Date the last change was made to the file, the number of the first cluster in the file, and the length (in bytes) of the file. In addition, there are 10 bytes that have been reserved for future use (see fig.1). fig.1 ST Directory Fields 1) Filename 8 bytes bytes 0 thru 7 2) Filename Ext. 3 bytes bytes 8 thru 10 3) Attributes 1 byte byte 11 4) RESERVED 10 bytes bytes 12 thru 21 5) Time of Last Change 2 bytes bytes 22 and 23 6) Date of Last Change 2 bytes bytes 24 and 25 7) First Cluster Number 2 bytes bytes 26 and 27 8) File Size (in bytes) 4 bytes bytes 28 thru 31 The Filename and Extension are the first two fields in each entry of the directory. They take up the first 11 bytes of an entry and follow the same format as the ATARI 800 or the IBM PC, with one small exception. If the first character of an entry is $E5, the file has been deleted and is no longer available for your use. If no changes have been made to the disk since the file was deleted, it may be possible to recover it by using one of the many sector editors available. The Attributes field is one byte long and contains a number that indicates any special or unique characteristics about this entry. There are only five bits of the entry used on the floppies at this time, and they are listed in Fig. 2. fig.2 Attributes Bit 0 = Read Only (not set if the file is Read-Write) Bit 1 = Hidden Bit 2 = System Bit 3 = Volume Label (Name assigned to the disk) Bit 4 = Sub-Directory (Folder Name) Bit 5 = Archive (This will be used on the Hard Disks) Bit 6 & 7 are not used at this time The next field is marked RESERVED and is 10 bytes long. This field will be filled with 00's on all disk entries and no plans for its use are known at this time. The Time of Last Change field is 2 bytes long and is updated each time you write to a file. This field contains the HOURS, MINUTES, and SECONDS(/2) of the last change to the file. This field is in the low-byte, high-byte format and uses all 16 bits. Starting with the highest bit, it uses 5 bits for the Hour, 6 bits for the Minutes and the last 5 bits for the Seconds. (The value in the seconds portion of the field must be multiplied by 2 to get the correct seconds count.) The Date of Last Change field is handled almost the same as the previous field. This field is changed along with the Time of Last Change, and is also in the low-byte, high-byte format. Starting with the highest bit, use 7 bits for the Year, 4 bits for the Month, and the last 5 bits for the Day. Don't be to surprised when the year equals a 5 (as most files will) because the year stored has 1980 subtracted from it. The First Cluster field contains the number of the first cluster used for the file. The cluster information is stored in high-byte, low-byte order and should never go above $15F (351), since there are only 351 clusters. The File Size field is a value equal to the number of bytes used in the file. This number divided by 1024 (1k) will tell you how many clusters are being used for the file (cluster * 2 = sectors). The File Allocation Table (F.A.T.) starts on track 0, sector 2, and may be the most important table on the disk. F.A.T. is used to keep track of the sector linkage for all data sectors. It is also used for files listed in Folders (sub-directories, see Attributes). The F.A.T. is five sectors long and is valuable enough to be have a duplicate table on the same disk. The location of the second F.A.T. is currently track 0, sector 7, but that is subject to change at any time. The best way to think of the F.A.T. is like a puzzle. Each entry of the F.A.T. is 12 bits long (not bytes, bits), and the values range from $000 to $FFF (see fig.3). Byte 0 of F.A.T. tells what density the disk is formatted in ($F7 is normal for byte $00), and bytes 1 and 2 will $FF as they are not used. The rest of the table is used as follows. (I'll be using the F.A.T. from the disk I have been working on for my examples. see fig.3) Before I begin I should point out that 12 bits per entry means that 2 entries equal 3 hex characters (bytes). We will start with bytes 03, 04, and 05 for our first 2 entries (see fig.3). Byte 03 will be bits 0 thru 7 of the first 12 bit entry, and bits 0 to 3 of byte 04 will be bits 8 thru 11 of the first entry. As you can see in the first example, the number is $FFF. In F.A.T., if an entry contains $FF8 thru $FFF it means the cluster is the last cluster of the file (EOF). Also, if an entry contains $FF0 thru $FF7 it means the cluster is not usable for some reason. Now, if you will return to byte 04, you will remember that we have only used 4 bits (0 to 3). Bits 4 thru 7 of byte 04 will become bits 0 thru 3 of the second entry and byte 05 will be used as bits 4 thru 11. This entry indicates that cluster 4 will be the next cluster for this file and it continues in that manner for the rest of the table. Now you know what cluster to look at but maybe you want to know which track and sector that is. The quickest way I've come with is one of the following formulas, a) To convert from Cluster to Track and Sector; ( ( ( cluster # + 9) * 2 ) - 1 ) / 9 = track ( ( ( cluster # + 9 ) * 2 ) - ( track # * 9 ) = sector b) To convert from Track and Sector to Cluster; ( ( ( track # * 9) + sector # ) - 17 ) / 2 = cluster # A brief explanation. Data sectors start at Track 2, Sector 1. That means 18 sectors (or 9 clusters) have to be accounted for in the formula. Also there are 2 sectors per cluster so you must multiply by 2 at some point. Here is all there is to it, what cluster is Track 22, Sector 3 ?? I'll put the numbers into the formula. ( ( ( 22 * 9) + 3 ) - 17) / 2 = cluster # ( ( 198 + 3) - 17 ) / 2 = cluster # ( 201 - 17 ) = cluster # 184 / 2 = cluster # 92 = cluster # If there had been a remainder, it would have been the second sector in the cluster. Thats all there is to it, but just so you can practice a little, I included a chart with some of the Clusters marked with the Track and Sector (see fig.4). fig.3 (in hex) -- F.A.T. -- 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 F7 FF FF FF 4F 00 05 60 00 07 80 00 09 A0 00 0B 10 C0 00 0D E0 00 0D 00 01 11 F0 FF 13 40 01 15 60 20 01 17 F0 FF 19 A0 01 1B C0 01 1D E0 01 1F 00 02 30 21 20 02 23 40 02 25 60 02 27 80 02 29 A0 02 2B fig.4 Track & Sectors = CLUSTERS BOOT SECT < FAT #1 > < FAT +-----+-----+-----+-----+-----+-----+-----+-----+-----+ | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | +-----+-----+-----+-----+-----+-----+-----+-----+-----+ #2 > < Disk Directory (7 Sectors) > +-----+-----+-----+-----+-----+-----+-----+-----+-----+ | 1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 | 1.7 | 1.8 | 1.9 | +-----+-----+-----+-----+-----+-----+-----+-----+-----+ < CLU #2 > < CLU #3 > < CLU #4 > < CLU #5 > < CLU +-----+-----+-----+-----+-----+-----+-----+-----+-----+ | 2.1 | 2.2 | 2.3 | 2.4 | 2.5 | 2.6 | 2.7 | 2.8 | 2.9 | +-----+-----+-----+-----+-----+-----+-----+-----+-----+ #6 > < CLU #7 > < CLU #8 > < CLU #9 > < CLU #10 > +-----+-----+-----+-----+-----+-----+-----+-----+-----+ | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | +-----+-----+-----+-----+-----+-----+-----+-----+-----+ || \||/ < CLU #334> < CLU #335> < CLU #336> < CLU #337> < CLU +-----+-----+-----+-----+-----+-----+-----+-----+-----+ |76.1 |76.2 |76.3 |76.4 |76.5 |76.6 |76.7 |76.8 |76.9 | +-----+-----+-----+-----+-----+-----+-----+-----+-----+ #338> < CLU #339> < CLU #340> < CLU #341> < CLU #342> +-----+-----+-----+-----+-----+-----+-----+-----+-----+ |77.1 |77.2 |77.3 |77.4 |77.5 |77.6 |77.7 |77.8 |77.9 | +-----+-----+-----+-----+-----+-----+-----+-----+-----+ < CLU #343> < CLU #344> < CLU #345> < CLU #346> < CLU +-----+-----+-----+-----+-----+-----+-----+-----+-----+ |78.1 |78.2 |78.3 |78.4 |78.5 |78.6 |78.7 |78.8 |78.9 | +-----+-----+-----+-----+-----+-----+-----+-----+-----+ #347> < CLU #348> < CLU #349> < CLU #350> < CLU #351> +-----+-----+-----+-----+-----+-----+-----+-----+-----+ |79.1 |79.2 |79.3 |79.4 |79.5 |79.6 |79.7 |79.8 |79.9 | +-----+-----+-----+-----+-----+-----+-----+-----+-----+ This is one of the many Public Domain Disks available for the Atari ST from BRE Software. We also carry a complete line of commercial software, accessories and peripherals for the Atari ST. For a complete, current catalog call or write. Atari ST Catalog BRE Software P.O. Box 25151 Fresno, CA 93729 (800) 347-6760 Orders (209) 432-3072 Customer Service/Questions (209) 432-2194 BBS (209) 432-2599 FAX #a000000 #b000000 #c7770007000600070055200505552220770557075055507703111103 #d #E 9B 02 #W 00 00 0A 01 32 17 08 A:\*.*@ #W 00 00 0D 08 15 0B 00 @ #W 00 00 0E 09 15 0B 00 @ #W 00 00 0F 0A 15 0B 00 @ #M 00 00 00 FF A FLOPPY DISK@ @ #M 00 01 00 FF B FLOPPY DISK@ @ #T 00 03 02 FF TRASH@ @ #F FF 04 @ *.*@ #D FF 01 @ *.*@ #G 03 FF *.APP@ @ #G 03 FF *.PRG@ @ #F 03 04 *.TOS@ @ #P 03 04 *.TTP@ @ . <.. <CACHEV3 DOC<#*CACHEV3 PRG<' CHCSTAT ACC<*f CHCSTAT PRG<3CHCSTAT RSC<;p Cold Hard Cache 3.5 Cold Hard Cache 3.5 for the Atari ST and MEGA ST Computers with or without a Hard Disk Copyright 1989, Robert E. Owens III Cold Hard Cache is an easy to use disk caching program that works with both hard drives and floppies. Disk caching improves disk I/O speed by keeping the sectors that are used most frequently in RAM. The I/O speed of a cached drive will be between that of a RAM disk (very fast) and the uncached drive (much slower than a RAM disk). Benefits: o Faster disk operation. o Longer life for your disk drives. o Longer life for your media. o Less waiting on programs that grind your disks. Drawbacks: o The cache program and the sector buffers take up some RAM memory (about 20K minimum). Cold Hard Cache was designed to be as small, reliable, and as fast as possible. The program buffers reads only. All writes go directly to disk unless the sector is already in the cache and the data has not changed. This ensures that the disk's contents are current in case of a crash, power failure, or accidentally powering off the computer. The size of the code may surprise you. Good things come in small packages. Version 1.0 was about 8K long while Version 3.5 is just over 2K long. The code has been carefully refined and tested for about two years on several models of hard drives including Atari, Supra, and ICD models and should be compatible with any other models. Included Files: cachev3.prg The caching program. chcstat.prg The GEM application status/configuration program. chcstat.acc The GEM accessory status/configuration program. chcstat.rsc The GEM resource file for both chcstat.prg and chcstat.acc. chcache.doc This file. - 1 - Cold Hard Cache 3.5 Installation: 1. Place the following files in the root directory of your boot disk: chcstat.prg chcstat.acc chcstat.rsc 2. Place cachev3.prg in the AUTO folder of your boot disk. Make sure it is placed after your hard disk driver (like AHDI.PRG on Atari drives). Also, if you are networked, make sure cachev3.prg is placed BEFORE your network driver or there is a very good chance of scrambled files. Configuration/Status Reporting: General: There are two versions of the configuration/status program. Chcstat.prg and Chcstat.acc. They both operate the same except one is a stand-alone program and the other is a desk accessory. I will refer to these as the Chcstat from here on. Chcstat first tests whether cachev3.prg is installed. If it is not Chcstat will complain. Then a dialog is displayed. The top half of the dialog contains performance and status info. The bottom half contains configuration settings. Configuration: You may choose the size of the cache and the drives you wish to be cached. The size of the cache is measured in buffers. Each buffer requires 524 bytes (512 for the sector, 12 overhead). The cache should be at least 32 buffers but not too big. I usually use 256 buffers (about 128K). You can try various sized caches and watch the statistics to find a good size. You may choose the maximum sized multi-sector transfer to be considered cachable. The default setting is 4 (512 bytes * 4 sectors = 2K). You may specify any value from 1 to 9999 sectors. Large values will cause a loss of performance since large transfers (like program loads) will fill the cache and flush potentially useful sectors (like directory and FAT sectors). You may tune the cache for your particular needs. If you use a database with large records you may wish to specify a larger max size to accomodate the size of your records. You may also choose the drives you wish to be cached. Select the drives with the mouse. Caching is enabled on the Selected drive letters. There is no harm if you enable a drive that doesn't exist. If you enable caching on a ramdisk you will make it work SLOWER than if it was not cached. - 2 - Cold Hard Cache 3.5 Status/Performance: The status and performance info is useful for tuning the size of the cache for optimum performance for your hardware/software environment. The performance is based on cachable sectors. An average access time is given (in milliseconds) which represents the average time it takes to locate and read a cachable sector from disk. The average is for all of the enabled drives, not just one drive. The approximate read time is displayed which represents the total amount of time it took to read all of the cachable sectors. The approximate time savings is calculated from the average access time and the number of sector requests satisfied from the cache (Hits). The read status shows the number for cachable sector requests (tries), the number of those requests satisfied from the cache (hits), and the percentage of hits. The number of write optimizations is displayed. A write optimization occurs when a sector write is requested and the sector is in the cache AND the contents of the sector does not change so no write takes place. Exiting: There are three ways of exiting the dialog. Cancel The Cancel button will exit without changing any of the settings. OK The OK button will enable the selected drives and then exit. Any changes to the size will be ignored. If the Reset Stats button is selected the statistics will be reset. Save The Save button will save the current settings in the cache.inf file (so they will take effect after the next boot), enable the selected drives and then exit. If the Reset Stats button is selected the statistics will be reset. NOTE: The cache program cachev3.prg must be positioned in the AUTO folder after your hard disk driver (ahdi.prg for Atari drives) and before any network drivers. NOTE: If the alternate key is held down when cachev3.prg is run (from the \auto folder during the boot process) the cache will NOT be installed. NOTE: Users of TURBODOS may see lower performance since TURBODOS does some caching internally. TURBODOS will disable caching on floppies since it bypasses RWABS() and the ROM routines that handle floppies. Cachev3 when - 3 - Cold Hard Cache 3.5 used with TURBODOS can still give good results if there is lots of disk activity. Try it and see what you get. NOTE: Cachev3 should work with TOS 1.4 with Extended partitions (> 16 Meg) however only the first 16 Meg will be cachable. THIS HAS NOT BEEN TESTED! TRY IT AT YOUR OWN RISK! MAKE SURE YOU HAVE A BACKUP OF YOUR DRIVE BEFORE YOU TRY! NOTE: Cachev3 prevents writes to the boot sector (# 0) for enabled drives. This will prevent utilities that make partitions bootable (or viruses) from working. NOTE: Some Hard Disk utilities (like markbad) will not function correctly when the caching is enabled. Simply disable the drives with the chcstat program or accessory. BUG ALERT: Cold Hard Cache 3.2 did NOT recognize Media Changes correctly. This may have affected Removable Hard Drives as well as Floppies. This has been corrected in version 3.3. Cold Hard Cache 3.3 would crash (Address error) if a read or write request specified a transfer to or from an odd address (very rare). This has been corrected in version 3.4. Cold Hard Cache versions before 3.5 would not allow floppies to format correctly. Writes to the Boot Sector were not permitted. They are now allowed for floppies but NOT allowed for drives C through P. Cold Hard Cache was written using the Mark Williams C Compiler. I highly recommend this product. Cold Hard Cache is released as Shareware. If you use this program please make a donation ($15 or so) to: Robert E. Owens III 34 Pinecrest Dr. Covington, LA 70433 USA This program was designed to save time and has proved to be valuable. I usually save 20 to 40 minutes a day! If you have any suggestions or comments about this program I would like to here from you. I can be reached by Stamp Net (at the above address) or on Genie (at R.OWENS3). - 4 - `0*o"mB #.I+I/ BBBgމ/ / Bg?<JNA ?. *z-M g 0-Gf- Hnf `(M*m`#dBL0N^NuNVH >.<. :. 0G8*z-M g$- HEf0-DdFc0fBm*m`L N^NuNVH8*n zTg0(U&m-L g)K-K g&B z. +z(#pL8N^NuNV/ R?.?.NXO*@ gR/ N. HmNpPOB`l zZ ?.?.p?/. ?. zN -@ z, ѹ*z .f$/ N.XO0.@ ;nHm/. NPO .*_N^NuNV/ ?.?.NZXO*@ fT*z>?.?.p?/. ?. z*N -@ f$/ NXO0.@ ;nHm/. NPO .`(?<Hm/. N 0f/ NzXORB*_N^NuNVH n{f0.@g"n CA"!!!!!!!!!!~ Gl0Gf ?BgBgN\ORG`p{`Bn0.m @n0@H=@0.@f$ ng0.@g?.?.?.Nn\OBn0.f*Bn0.@g nop`?.BgBgN:\O0.f0/.?.?.?./. ?. zN-@ g``N?. z. PNTOH-@ fp`<0.zo4?.?.?/. ?. zjN -@?.?.?.N\O`R0.@g < ` <Z*@~nl0?.?./. ?.N -@fRnRG n -H ` .`>Cv n A!!!!!!!!!!`n nzfC@ n A!!!!!!!!pz`h n|fJBBBBp|`B f?.Bgp?/:Bg zrN -@ g?.BgBgN\O .L N^NuNV?. z@NTOH-@ f?.BgBgNr\O0.N^NuNV z#h  z#l "N^NuNVH0Hy 0:NH/N/@XOpH?NA\O*@-M fp`,#p~zl*  (@)MBlRG`BB@L0N^NuNVHz)p ?NA\OBg/:p=?NAPO=@0l zp @ /:p ?NA\O`\Hnp/?.p??NA f2 nl n@o""NA!!!!!!!!!! ylp3?.p>?NAXON0fZHzp&?NN/|MTOp ?NA\OBn nl>0ngp ?p?NAXO0.@A?p?NAXORn`Hzqp ?NA\OHzmp ?NA\ON^NuNVH0*n(n f g><Q`><((((((((QL0N^Nu o"`"/ jD$/jDD$@A`" jDNu o"`"/ _$0"@0HAHBЁH@B@ЉN o"o0/ S@mf`pNumpNupNu ~vcache.infnot found. Cold Hard Cache 3.5 1989, Robert E. Owens III Drive(s):No RAM!  0DL$.L2 @ $"F`vP0.|.NBgNANVHnHnHnHnHnHnBgBgHy0BgBgBgBgBgBgBgBgBgBgp?BgBgp?N <=@=y10.@g y(0f0.y>fN`N^NuNVN RHy@N8XO0gHyL?94N\O3>`HyZp?N\ONN^NuNVpz?BgBgHy4:Bgp?NM zgB@`p{?BgBgHy3*Bgp?NMpN^NuNVp=@Hyp?N\O=@0. @g @gB@`pc`paHyp?N\Op?Hyp=?NAPO=@0.lBgHyp?NAXOp{?p?BgHy3*p3?p?NM0.N^NuNV/ p?BgNXO#46p ?BgNXO-@p?BgNXO-@p?BgNXO-@p?BgNXO-@p?BgNXO-@p?BgNXO-@p?BgNXO-@p?BgNXO-@N0fHyp?N\O 94:4>/HyHy/94BN PO/NJPO/NJPO-@HyHn 94:4>/NPO/NJPO-@HyHn 94Fй4>/NPO/NJPO-@?93*Hy(/946N /94:Hy+/.N /94>Hy0/.N Hy4:Hy/94>N PO/NDPO/Hy5/.N /94FHy:/.N ?93?.?.?.?.?.?.?. BgN0.g.?.?.?.?.?.?.?.?. p?N?.?.?.?.p?Bg/.N?n /n Nz\O=@0.g.?.?.?.?.?.?.?.?. p?N?.?.?.?.?.?.?.?. p?NBgNTO0.@N^NuNV0.gBp?`BBgN\ON^NuNV330.@ Hv-@p=@ nl$0.HC3 nRB@2Rn`/9.NXO094N^NuNV#3.#3 .#3.#4.#4.#4.#..p ?N TO344094N^NuNVp?N TOpN^NuNV333 33 33333333333333333333 33"3#$43(33*4p?N TO n,04 n004 n404 n804 n<04 n@04094N^NuNV33# 4p4?N TON^NuNV#4p6?N TO n 04 n04 n04 n04 094N^NuNV333 33 3333333333333p3?N TON^NuNV#43 3p2?N TON^NuNV33# 4pN?N TON^NuNV33# 4p#?N TON^NuNV#43 33333333333p*?N TON^NuNV#43 3p,?N TO n04 n04094N^NuNVH0*n(n 0m?0l?NXO:0-m?0,l?NXO8??NXO>?-?,NXO<89F0G9@0F9@GoFop`B@L0N^NuNV333 3pp?N TO n 4094N^NuNV#4pn?N TON^NuNV333 3ph?N TO n 04 n04 n04 n04 094N^NuNV33pk?N TON^NuNV0.n o0`0. N^NuNV0.n l0`0. N^Nu"/0<NBNuNV# .3 .34p34 p34$34*NJ#1 .N^Nu#4."<. <sNBNuNVH *nz~H< @ g F fR` F-fz` F+fRH< @0m F9n2A00 A>`JEf0D@>0L N^Nu"o ofJfHHNu"o o fNuNVHn?</.N Hn HnN8POHnBg nN\ON^NuNVH0-n n(PXH> @%g0gP/.? n hN\O`p =@p=@p=@H> G-fp=@H>`Bn G0f p0=@H> G*f& nT=Plp=@0.D@=@H>`*Bn G0m G9n0. G@0=@H>` G.fJH> G*f nT=PH>`*Bn G0m G9n0. G@0=@H>` Glf&H> Gdg Gog Gug Gxf0@> `-@*@p=@0 |2<`XHXW PN`4 nT=P0.l0.D@=@p-p ??./ NPO*@`p ? nT?`p`p` n-PX .l .D-@p-p ?/./ N$ `p ? n// N$ *@X`p`p`/ ?./.?N *@P`fBn n-Pf-|nX .-@*@g0.m noS`(Bn nT0` n//.N8PO`n ./0.Hї =@lBn0.fL0.g0 n0f( n -f/. nRH? n hN\O0.Sn0g /.?.` nd /. nRH? n hN\O`0.g0.Sn0g/.?. n hN\O`L0N^NuNVH >. *NB%0<g"0H@H@B@H@ @,>`?Bg _,g nR` .L N^NuNVH0*n>.IB$p0//. NzPO-@g$p0//. NPOA,-n ` n ,g` L0N^NuNVpL?Hyvp?NPOp?NTON^NuNVNN^NuNV/ *n .*+@+|`B-0. D@;@ m l;| +|F`+| *_N^NuNV/ *n Sm lBm p` UR0.*_N^NuNV/ *n UR0.*_N^NuNV/ *nRm oBm p` URB@*_N^NuNVN?.NTON^NuNVN^NuNV?.pL?NAXON^NuNV/A#/9NXXO0gBp 3(:  >f(4$6. *           *<    R FP( LD" $ | 2 &`LLp0*o"m #.I+I/ BBBg/ / Bg?<JNA NT ?N\?<LNANVN BBgN\OHyNXO0gNN`Hy$p?N \ON BgN\TON^NuNVpz?BgBgHy"Bgp?NM zgB@`p{?BgBgHy!Bgp?NMpN^NuNVp=@Hy~p?N \O=@0. @g @gB@`pcp`papHyp?N \Op?Hypp=?NAPO=@0.lBgHypp?NAXOp{?p?BgHy!p3?p?NM0.N^NuNV/ p?BgN~XO#"p ?BgN~XO-@p?BgN~XO-@p?BgN~XO-@p?BgN~XO-@p?BgN~XO-@p?BgN~XO-@p?BgN~XO-@p?BgN~XO-@N0fHyp?N \O 9""/HyHy/9#NPO/N PO/N PO-@HyHn 9""/NPO/N PO-@HyHn 9#й"/NPO/N PO-@?9!Hy/9"N /9"Hy/.N /9"Hy/.N Hy"Hy/9"NPO/NPO/Hy/.N /9#Hy/.N ?9!Hy /.N /.Hy/.N /.Hy/.N /.Hy/.N p=@0.HAL PgT0n!g p?0.HAL?BgN`p?0.HAL?BgN\ORn`p?BgBgBgBgp?BgN =@p??.BgN\Op=@0.HAL Pg26n!0.HAL?BgNXO@Rn`/9"N:XO3!/.N:XO3!p*?BgNXO@=@p?p*?BgN\O0. @gH @+f0.gp|?p?BgBp3?p?NMp{?p?BgHy!p3?p?NM`D0.gp|?p?BgBp3?p?NMN0gHy `Hyvp?N \OHyp?N \O&_N^NuNVHn?.BgNPO0. ЮN^NuNV?. ?.N4XO-@ n ( N^NuNV?. ?.N4XO-@ n-h n N^NuNV?. ?.N4XO-@ n0( N^NuNV?. ?.N4XO-@ n0. h N^NuNV?. ?.N4XO-@0. F@ nh N^NuNV?. ?.N4XO-@ n0. hN^NuNV?. ?.N4XO-@0. F@ nhN^NuNV?. ?.N4XO-@ n-h n0(N^NuNVJn l <4`x?. ?.N4XO-@ n-h n hg$ n hg n hg n hf n-P/./<5NPOJ@f <:` .N^NuNV?. ?.N4XO-@ n-h n hg$ n hg n hg n hf n-P/. /.NPO n Jgp??. ?.N`p??. ?.N\ON^NuNV?. ?.N4XO-@ n-h /. n/NPON^NuNV?. ?.N4XO-@ . -@0. nN^NuNVp?N|TOBg?. N4XO-@HnHn?. /.N?. ?. N4XO-@ n=h n=hJnm|HnHnHnHnp ??.N*JngzJngtHnHnN2POJ@g&?.?.?.?.p??. /.NHnHnHnHnp `?.?.?.?.p??. /.NBgN|TON^NuNV09fB?<N\Op3N^NuNV09gB?<N\OByN^NuNV=n =n 0.n =@0.n =@Hnp??.NPON^NuNVHn?.BgNPOHnHnHnHn/.N =n=n n( H=@0l$0.=@nn@n0.@n n0( @ gZnZnp?N|>?.?.?.?.?.?.?. BgN0.g.?.?.?.?.?.?.?.?. p?N?.?.?.?.p?Bg/.N?n /n N`\O=@0.g.?.?.?.?.?.?.?.?. p?N?.?.?.?.?.?.?.?. p?NBgN|TO0.@N^NuNV0.gBp?`BBgN\ON^NuNV3"0.@ HL-@p=@ nl$0.HC" nRB@2Rn`/9NXO09"N^NuNV#"#!#"#"#"#"#p ?N TO3""09"N^NuNVp?N TOpN^NuNV3"# "p4?N TON^NuNV#"p6?N TO n 0" n0" n0" n0"09"N^NuNV3"3 "3 "3"3"3"3"3"3"p3?N TON^NuNV#"3 "p2?N TON^NuNV3"# "pN?N TON^NuNV#"3 "3"3"3"3"3"p*?N TON^NuNV#"3 "p,?N TO n0" n0"09"N^NuNVH0*n(n 0m?0l?NXO:0-m?0,l?NXO8??NXO>?-?,NXO<89F0G9@0F9@GoFop`B@L0N^NuNVpo?N TON^NuNV3"3 "pp?N TO n "09"N^NuNV#"pn?N TON^NuNV3"3 "ph?N TO n 0" n0" n0" n0"09"N^NuNV3"pk?N TON^NuNV0.n o0`0. N^NuNV0.n l0`0. N^Nu"/0<NBNuNV# 3 3"p3"p3"3"N #N^Nu#""< <sNBNuNVH *nz~H< @ g F fR` F-fz` F+fRH< @0m F9n2A00 A>`JEf0D@>0L N^Nu"o ofJfHHNu"o o fNuNVHn?</.N Hn HnNPOHnBg nN\ON^NuNVH0-n n(PXH> @%g0gP/.? n hN\O`p =@p=@p=@H> G-fp=@H>`Bn G0f p0=@H> G*f& nT=Plp=@0.D@=@H>`*Bn G0m G9n0. G@0=@H>` G.fJH> G*f nT=PH>`*Bn G0m G9n0. G@0=@H>` Glf&H> Gdg Gog Gug Gxf0@> `-@*@p=@0 |2<`XHXW PN`4 nT=P0.l0.D@=@p-p ??./ NPO*@`p ? nT?`p`p` n-PX .l .D-@p-p ?/./ N `p ? n// N *@X`p`p`/ ?./.?Nj *@P`fBn n-Pf-|. *NB%0<g"0H@H@B@H@ @>`?Bg _g nR` .L N^NuNVH0*n>.IB$p0//. NPPO-@g$p0//. NPOA-n ` n g` L0N^NuNVpL?HyDp?NPOp?N\TON^NuNVNjN^NuNV/ *n .*+@+|6B-0. D@;@ m l;| +|`+| *_N^NuNV/ *n Sm lBm p` UR0.*_N^NuNV/ *n UR0.*_N^NuNV/ *nRm oBm p` URB@*_N^NuNVNv?.N~TON^NuNVN^NuNV?.pL?NAXON^NuNV/A#/9N.XO0gBp 3p`,/. 0.H/?.p@?NA .B/NXO.N^NuNV .l .D3p` .N^Nu"o`C"/jD$jDA`|J/jDJk`JjDNu$/` o$"/A`NNu"o`C$jD"/jDA`, gJ/jDNu$/` o$"/A` NupJfpN∲cd⒒d҂dFN o"`"/ jD$/jDD$@A`" jDNu o"`"/ _$0"@0HAHBЁH@B@ЉN O$X"XHB@Nu o0/L.Nu DO8UX<cde@f@g@ors^uxD80123456789ABCDEFchcstat.rsc[3][Resource file not found!][ ABORT! ] !"#$%&'(c:\cache.inf[1][Your boot drive is:][ A: | C: | Cancel][3][Place your boot disk|in drive A.][ OK ][2][Cache not installed!][ OK ]%d%6ld%6ld%4ld%6ld%3d%4ld%4ld%4ld[1][The buffers setting will|take effect the next time|the system is booted.][ OK ][3][Could not write/create|cache settings file.][ OK ][0][This program is Shareware.|Please make a donation to:| Robert E. Owens III| 34 Pinecrest Dr.| Covington, LA 70433][ Thanks ]NONE{NULL} You must compile with the -f option to include printf() floating point!  0Lp(    &" $  :(                   D6   $$,$(*(*,R V 0>(:  >f(4$6. *         *>    R FP( LD" $ | 2 &4$l-p COLD HARD CACHE 3.4 Performance:____Average access time: ____ ms9999____Approx. elapsed read time: ____ sec9999____Approx. time savings: ____ sec9999Stats:TRIESHITS%Reads:____________999999____________999999_______._9999Write Optimizations:____________999999Settings:____Cache Buffers: ____9999@@@Max. Multi-Sector Read Size: ___999SaveDrives Cached:CancelReset StatsOKCopyright 1989, Robert E. Owens III$:;<IJq KPs#x}$$q#(.3HIJQX_ijq kp! $, p%%%  <"X$t#%       8Tp) %   ! (  A B C D  E  F  G! H" I# J$ K% L & M ' N( O P* +  ,  4. <>.. <CHEETAH PRG<?CHEETAH TXT<`0cKJ$f(By0Ox/9?<HNA\OJg.@`6 - ЭЭй"ҍ¼.A// Bg?<JNA ##\ y#\/(,HhNvP/9/9?9,NT?<NNVNNHyBgBgNPHnHnHnHn/9N:O?.?.?.?.BgBgBgBgBgNO?.?.?.?.?< Bg/9N*ON$?.?.?.?.BgBgBgBg?<NONxBgNTN^NuNuNV#Hy ?<&N\`-y n1| y# 9f#Hy ?<&N\`-y n1| y# 9f0<N^NuNV y#0<N^NuNVH=|.9` B?<N\HnHnHnHnHnHnBgBgHnBgBgBgBgBgBgBgBgBgBg?<?<?<?<N8O<=@0.|g0.| @ f =|R`0.| @f09#N6<@3#N` 2`tHnHnHnHn/N:OBn0.`?.?.?.?.BgBgBgBg?<NONX@=|`?.?.?.?.BgBgBgBg?<NON`=|`?.?.?.?.BgBgBgBg?<NONe=|`ZNdV=|`JBgNT`0.H/ </Nx  yBp BgBgBgBg?<?./N*O`0.H/ </Nx  y00 |fh0.H/ </Nx  y00 |f@0.H/ </Nx  y1 BgBgBgBg?<?./N*ORn nHo0.H/ </Nx  y00 |fA#P#Hy0f:<`:<%BG`$BgBgBgBg?<0G?/9N*ORG GmRF FmBgBgBgBg?<?<K/9N*OBy$0<LN^NuNVH0.gRy$ y$fBy$`09$f3$Sy$Bn`$0.f(=y~=yl-yh-y2=|`&=y#=y-y-y6=|% nf`BF` A `RF F mBF`v:nH/*</Nx* n:0X09$`0H n-pA*HG-mGA Z//.NTP.H| f|0`^A Z/0H n?0N\`:A Z/0H n?0N\``|gX|g|g09$gd0.FH/ </Nx  y-p n*PA  n BgBgBgBg?<0.F?/9N*O n `$BgBgBgBg?<0.F?/9N*ORF0nH/ </Nx  n pg Fm`Rn nm y-h n*P09$`6A  n `6A  n `$A  n `|gư|gҰ|gBgBgBgBg?<?<K/9N*O n 0<L N^NuNVH>.|0.@=@0@>0.G=@>.|G0 |0 n 0 H@|0 n @ n |/>.|0 |0 n @0 H@|0 n @ n |/>.|GG|P0 |0 n @0 H@|0 n @ n B(0<LN^NuNVH>.|0.H=@0@>0.G=@>.|OO0 |0 n 0 H@|0 n @ n |:>.|O0 |0 n @0 H@|0 n @ n |:>.|G0 |0 n @0 H@|0 n @ n B(0<LN^NuNVH0.f=|#=|"-yh=|`=|6=|5-y=|%HnHn?./9NOHnHn?./9NOHnHn0.H/ </Nx  y?00.H/ </Nx  y?0?.?.?.?.0.H/ </Nx  y?00.H/ </Nx  y?0N\O=@0.f0<`Bn`Rn0.H/ </Nx  n pfnJnl0<`0.n0.H/ </Nx  y002.H/"</Nx" yp=@0.d2.RA=@>.dμ0.d2A2.HAc 02.AdRG0.f3l`3Bn`0.nH/ </Nx  y-p 0n/ </Nx Ю n 0n/ </Nx  n02.nH/"</Nx" y|1 BgBgBgBgBg0.n?/9N*ORn nm0?.N TBgBgBgBg?<?./9N*O0<LN^NuNVH0.f>9l-yh<<":<#`>9-y<<5:<6BD`RD0H/ </Nx  n pfRD0H/ </Nx  y002H/"</Nx" yp=@0<@0.=@0.H=@0H/ </Nx  y10<LN^NuNVH0.f-yh8<"=|#`-y8<5=|6BE`RE0H/ </Nx  n pfRE0H/ </Nx  y=p0.=@0.=@0.2H/"</Nx" y20AeD0H/ </Nx  y002.H/"</Nx" y1`$0.H/ </Nx  y10.H/ </Nx  yBp0<LN^NuNVH0.f<9l:<-yh=|"`<9:<$-y=|5BG`RG0H/ </Nx  n pf Gl?<?<?<Nb\0<`0. f40f?<?<?<Nb\0<`BD`SD0Dg Dn`@02|Al?<?<?<Nb\0<`BD`RD0D|Gn DmBG`20R@GH/ </Nx  y-p 0DGH/ </Nx Ю n 0DGH/ </Nx  n0H| f&0R@GH/ </Nx  yBp`&0R@GH/ </Nx  y1@0DGH/ </Nx  n02RAGH/"</Nx" y|1 BgBgBgBg?<0R@G?/9N*ORG Gm0D<0.f3l`3?.N TBgBgBgBg?<?./9N*O0<LN^NuNVH nm nn<<`<<$0.H/ </Nx  y00 |gBG`><0.H/ </Nx  y1 BgBgBgBgBg?./9N*OHnHn?/9NOHnHnHnHnNO`&?.?.?<?/9NvO =@ ng0.H/ </Nx  y00|@gl0.H/ </Nx  y00 2Ag@0.H/ </Nx  y1 BgBgBgBgBg?./9N*O`L0.nm,2.0H/ </Nx  yp0.An2.0H/ </Nx  yp*0.AlN7: FfBgBgN4X`Bg?<N4X0H/ </Nx  y00"2Agf0H/ </Nx  y00 |@g@0H/ </Nx  y1"BgBgBgBgBg0R@?/9N*O`2.0H/ </Nx  yp*0H/ </Nx  y00.@0.AmN7: Ff?<BgN4X`?<?<N4X0H/ </Nx й @0(r2Agl0H/ </Nx й @0(p|@gD0H/ </Nx й @1GrBgBgBgBgBg0|?/9N*O`?<?<?<Nb\HnHnHnHnNO0.|f0<LN^NuNVH<$yHn?< BgNPHnHnHnHn/.N:O?.?.?.?.BgBgBgBgBgNO?.?.?.?.BgBgBgBg?<NO n-h< n PB?.?.?.?.?< Bg/.N*OBg/.N8\=@ ng $ n Pg Bn`@0. n P0H|:g0. n P0H|\f0. n P_Rn0. n P0f nf&&y2*y#hA#-H(y#d=y~`$&y6*yA-H(y#B=y# nfHy?<N\ nBhj nBhR?.?.?.?.BgBgBgBg?<NO?.?.?.?.BgBgBgBg?<NOHnHnHnHn/9N:O?.?.?.?.BgBgBgBgBgNO?.?.?.?.?< Bg/9N*O0<` PBn`Rn0.H3fBn`Rn0.H/ </Nx  n00fSn0.2.H/"</Nx" n20AAm0.fHy?<N\ nBhj nBhR?.?.?.?.BgBgBgBg?<NO?.?.?.?.BgBgBgBg?<NOHnHnHnHn/9N:O?.?.?.?.BgBgBgBgBgNO?.?.?.?.?< Bg/9N*O0<``$<.H/,</Nx, n<0h`0<50 ue><`RG005g0le0lfHy?<N\ nBhj nBhR?.?.?.?.BgBgBgBg?<NO?.?.?.?.BgBgBgBg?<NOHnHnHnHn/9N:O?.?.?.?.BgBgBgBgBgNO?.?.?.?.?< Bg/9N*O0<`0;0;0.H/ </Nx  nTp09~y#f^ nf,0 y10 y1`*0 y#h10 y#h10.HЋ-@Bn`0. nB0Rn nm><`RG005g0le0lfHy.?<N\ nBhj nBhR?.?.?.?.BgBgBgBg?<NO?.?.?.?.BgBgBgBg?<NOHnHnHnHn/9N:O?.?.?.?.BgBgBgBgBgNO?.?.?.?.?< Bg/9N*O0<`Bn`&0. n P02.4.Hԋ BRn n l0. n P0f`0.2.Hҋ A Rn n m0.H 0;?<,NT=@0.|2.H0.@2.H?<*NT=@0.|2.H0.@2.H0|2.H0H2.HBn` 0.B2Rn nm.| | | | | | | | | | | 0|@0H@|. |.!| "| #| $| %| &| '| (| )| *|+0.H/ </Nx  n00|@:0.H/ </Nx  n00H@;?.0U@@l ??</ ?<?<NbO nf6BgN~TBgNTBg/9#d?9~NLPBgN@T`<`f Gf(yh`(yBF`.0H/ </Nx 4H|g 0.G=@RF0H/ </Nx  tfRG Gm0.f.?<?<?<Nb\HyN?<N\0<`d nf.?<?<?<Nb\Hy?<N\0<`.Sn0.f(yh:9~*y2`(y:9#*y2BBBF`P0H/ </Nx 4H|g,0H/ </Nx 4H| fR`RRF0H/ </Nx  tfHn?<BgNP n/(9l<<=|"`*y>9<<%=|50. gP0H/ </Nx й @(h\ T(H| f?<?<?<Nb\0<`RG`"0f?<?<?<Nb\0<`SGBEBD`0EH/ </Nx  y(p 0GH/ </Nx Ѝ(0GH/ </Nx 5H|2EH/"</Nx" y1 BgBgBgBgBg0E?/9N*O0GH/ </Nx  ugRDRE Em40H/ </Nx й @(h\ T(H| fJ0H/ </Nx й @0(X|2H/"</Nx"ҹ A1@X`H0H/ </Nx й @0(X|@2H/"</Nx"ҹ A1@X0.f3l`3?.N TBgBgBgBg?<?./9N*O0<L0N^NuNVHBF`0f:9l*yh=|`:9*y=|%BGBD`0GH/ </Nx  ufRD`0.DH/ </Nx  y00 |g@0GH/ </Nx 5H|2GH/"</Nx"`>0GH/ </Nx 5H|2GH/"</Nx"RDRG Dm(RF Fm0<L N^NuNVH<0.f(*y#h-y#dA#(H$yh&y2:<`&*y-y#BA(H$y&y6:< BG`RG0H/ </Nx й @0(b|f Gm GfdBF` 0H/ </Nx 2fRF`0H/ </Nx 02H3 H|g0H/ </Nx 02H3|=@0.@=@0.2H/"</Nx"22H3|C=@0H/ </Nx 02HЋ/?.?.N;PBgBgBgBg?<?/9N*O0<`0H/ </Nx 2H| f?<?<?<Nb\Hy?<N\0<`~0H/ </Nx й @0(b|2H/"</Nx"ҹ A1@bBgBgBgBgBg0|9?/9N*O??<NbX-@Jf.?<?<?<Nb\Hy?<N\0<`BF`0H/ </Nx BRF Fdl0H/ </Nx  4f0.f##d3~`##B3#?./.?NLPHyBg?.N;PBgBgBgBg?<?/9N*OBgBgBgBg?<?<T/9N*O0<LRn0. n=pJnfHy ?<N\?.H4x H|H &<. .09` 2.H4HHÀ. . 2.H4 HHÀ. . 2.H4 HHÀ.&>.H4xHH . 2.H4HHÀ. . 2.H4HHÀ. . 2.H4HHÀ.'G>.H4xHH . 2.H4HHÀ. . 2.H4HHÀ. . 2.H4HHÀ.'G` 2.H4HH¼. . 2.H4HH¼. . 2.H4HH¼.&>.H4xHHμ . 2.H4HH¼. . 2.H4HH¼.'GB &<& +&<'@`4 g 2.H4HH¼. . 2.H4HH¼. . 2.H4HH¼.&>.H4xHHμ . 2.H4HH¼. . 2.H4HH¼.'GB &<& +&<'@`J 2.H4HHÀ. . 2.H4HHÀ. . 2.H4HHÀ.&>.H4xHH . 2.H4HHÀ. . 2.H4HHÀ. . 2.H4HHÀ.'G>.H4xHH . 2.H4HHÀ. . 2.H4 HHÀ. . 2.H4 HHÀ.'G`&|gذ|gް|gް|gND RnRn0.H4f.09#TgN&nBn`6 &<& +&<'@ +&<'@ Rn0.H4fBnBBBHn?< BgNP`Bn,<B`0H y00fRG0 y#Bhe y/(/.NTP0<L0N^NuNVN3n?<NT=@ nfHyNX`F nfHyNX`.?<?<?<Nb\Hy,BgN\BgNTByFHyBgBgNPHn?<BgNP?< NbT-@-|Bn3#V` .f0<9nH/ </Nx  y00 |2<9nH/"</Nx" y1 0<nH/ </Nx  n00 |2<nH/"</Nx" n1 `d no\?.?<NbX-@fHy`?<N\??.?<NbX*@Jf.?<?<?<Nb\Hy?<N\0<` 9,2- ¼ၰl.?<?<?<Nb\Hy"?<N\0<`j(yBG`BRGX02- SAAAe?.?<0- S@?/9?<?<NbO0.y~f(Bg/9#d?9~NLPHyHBgBgN;P0.y#f,?</9#B?9#NLPHyTBg?<N;P nBh nBhBn`P0<nH/ </Nx  n00 |2<nH/"</Nx" n1 Rn nmHnHnHnHn/.N:O?.?.?.?.BgBgBgBg?<NO0<L0N^NuNV y~g y#f.?<?<?<Nb\Hy`?<N\0<`609~y#fBn`Rn0.A# 0fBn`Rn0.A 0fSnSn0.A#002.Apf.?<?<?<Nb\Hy?<N\0<`##`##`BnBn`r0./ </Nx  yh0H|g@0./ </Nx  yh002.¼ y1RnRn0./ </Nx  yh pfd0.f.?<?<?<Nb\Hy?<N\0<`0. y10.R@@ѹ 9,2.RAA¼Ҽ(lHy"?<N\BgNT0.R@@,Np<=@0.f nfA#X#Hy9H n/(T/NTP>9"H n/(/NTP>9 H n/(/NTP.9#X#P/.</Nx./.</N.X n/(/NTP>9 H/.</Nx."9#X#P/./N.X / <0,nX0f0?<?<?<Nb\Hyn?<N\BgNT0lS@De0Tn&y `>0+nX0f0?<?<?<Nb\Hy?<N\BgNT0+S@ne>n0gL 92A¼Ё @0gHy?<N\BgNT 92A¼Ё @0`60|2.¼ y60H2.¼ y6:0 y#h=p nc0 y1 neL``|g|g|g,- H|g0.fRy"0.f0.nA#1`0.R@2.nA#1Rn ndf0?<?<?<Nb\Hy>?<N\BgNT nf=n`-H@=@0.-|C=@0.nA#10.nA10.g 09FfBn`nBn`\0.g:?9~0.U@@ y#dh ??</.Bg?<NbO0. y#h=pRn nd0.g09Fg0.f0.@2.nA#1-n .2.RAAA¼l0?<?<?<Nb\Hy|?<N\BgNT0.@@X@Ѯ0.@@X@09Fg,0.Xѹ0.X,0.nA#!0.nA#=p nf<#60.nA!0.@2.nA109Fg0.f`Rn0.@A&00g ne nf0?<?<?<Nb\Hy?<N\BgNT0.@AH!0.@2.AA&10.@A1Bn nBRn ne`Bn`Rn0.@A00nf0.@A&002.nA#10.@AH 02.nA#! nf`0.@AH#60.@AH 02.nA!0.@A&002.nA1=|0.nA##20.nA#00@=@`0.fRy0.gRn`Rn0. y pf>0.f609Ff##,0.`0.`0<`` |g|g0<L8N^NuNVH<*y$yt y#d6(ƼЃT(@`P`Rf m&M`Rg m-M g& U@@ y#dh 4 .@5@X mBRBj0<L<N^NuNVH BGBG`rJGf*yt(y#d` *y (y#BBF`B0H05l T@2H;0HЍ @0(1@TF0HJufRG Gm0<L0N^NuNVH 9/ </N X-@ .R(@ 9,/ </N X-@ .U=@BnBFBGBDBE`*L`B?<?<NbXJ@gD?<?<NbX-@ af&Hy?<N\=@ nf0<`0.2¼ yt20EAet0 yt00E=@?9~0 yt00E??./ Bg?<NbO0.n0.n0.TGBE`V?9~0 yt00E??./ Bg?<NbO0.n0.0.@Bn0.g0 yt00f*L`h?<?<NbXJ@gD?<?<NbX-@ af&Hy.3p|<.3`|:.3P|8.3@|0|2.<|>|0@>0G<02.>|0@><|0H<8G02.VnXnTn0.med?.?<?-/ ?<?<NbO?.0<m??-/ ?<?<NbO0<L8N^NuNVH<0.f"A#$H&y2*y#d<9~(y#h` A$H&y6*y#B<9#(yBG`RG0H/ </Nx 02f0f0?<?<?<Nb\Hy~?<N\BgNTSG0f&?0-@R@??-/ ?<?<NbO`d-K:H/*</Nx*:2X`>?0U@@m ??</.?<?<NbO0:4 Ee0<L / </Nx  n 0Ю"/"</Nx" n!R 2.Hm0<LN^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNVHBG".l~D$. l GD&gHC H@J@g@HCBCւJGgD-C LN^.JNuNV n"n 2.HbH0|f |f`$ |g `Q`bA`2Q`VA`"Q`J0|f |f`$ |g ` Q`A`3 Q` A`# QN^NuNV 9A䀰|l yX 0<`0<N^NuNVH`Y y PN 9AfA*H`0- |g / N,X A"Ҽ@m?.NTL N^NuNVH*n0- |g/ NXg0<`20- |g /-NXBm ?- NTg0<`0<L N^NuNVH*n0- |f0<`r.0- |gV0- |f0<`R0- |g?<B?- N$P?/-?- NP @f m@ 0<`m *Bm0<L N^NuNVJnl3 <`H?.?./. ?<BNO -@Jm .`?<?.B?<BNO -@Jl .3 <`?<?.B?<BNO -@ nf .Ю -@ `& nf .Ю -@ `0.g <` . oH?.NT|J@f .3 <``` Hn . /?.?<@NO Bg?./. ?<BNO J]|=@g3 <`` . NqN^NuNVH .<".ҼS/"</N<"X/./N. /NvX*@f <`(M)G P/NX 9L0N^NuNVH .<".PS/"</N<"Xށ 9(@JfA (@##B*T -e* -f(`  -+G# P`( f/NX*@Jf <`(M*U`L0N^NuNV0./NXN^NuNVH .f`t .Q*@(y` m n l`(T o l "-Ёf T (ѭ T*`* ",Ёf -Ѭ(`(#L0N^NuNVBn`<0.@A,H00f&0.@A,H10.@A,H1 ` Rn nmN^NuNVBn`*0.@A,H00nf0.@A,HBpRn nmN^NuNVH>.=|\A,H"HPgXHf0(LN^NuNVHHy/.NPfBG`Hy/.NPf><`Hy/.NPf><`0. |gR0. |?/.?<=NP>J@m 0. |g&JGm??<>NXBg/.?<`j0. |gD0. |?/.?<=NP>J@m"??<>NXBg/.?<`0. |?/.?<=NP>JGl 30<`?. ?NhX0LN^NuNV/.?<HN\-@ .f-|3 .N^NuNV0./NvXN^NuLB@ggSBAgHJ@gHANuNVH*n (MBn ng?.NT| fA&H. nU|`|H| f S @  . nU| A|l0fB AH-@Hn/.?.?<@NO <g 30<`dA&H0f =@`J/ 0./?.?<@NO -@2.¼g .30<` .n0.L8N^NuNV3#0.| AHЈ-@=|` nR2.AA#H1Rn nm/9pNX09,N^NuA,xXyx !J"/0<NBYyxA,x"P$hNu NV#,3 ?<rNTN^NuNVH$.f BB`&". Bvd d``bd-@-A LN^NuNVHL&gHC H@J@g@HCBCւ-C LN^.JNuNV?.?<LNXN^NuNV?.NTJnn0<`,?.?<>NX=@g30<``0<NqN^Nu  !"#4567JLMNOQRStt tt & 6 F : X   j ~ SizeDateTime[3][ No Path selected | for operation ][ Okay ][2][ Root Directory Full! ][ Oh Well ][3][ Disk is Full! ][ Oh Well ][3][ Disk is Full! ][ Oh Well ][2][ But you haven't selected | any files....][ I Will ][2][ You must select files | from only one path ][ Oops! ][2][You must select a | drive/folder!][ Okay ][1][Error getting BPB][ Oops! ] [3][ Error Tracing Directory! ][ Bye.. ][3][ Directory is greater than 20K!][ Oops! ][3][ Fat is would | overflow Buffer ][ Abort! ][3][ Error Reading HD Fat! ][ Abort! ][3][ Fat is would | overflow Buffer ][ Abort! ][3][ Error Reading Floppy Fat!! ][ Abort ][3][ Cheetah does not | support low res! ][ Okay! ][3][ Error Getting BPB! ][ Abort ][3][ Error allocating Source | FAT Buffer][ Bye! ][3][ Error allocating Destination | FAT Buffer][ Bye! ][3][ Error allocating Source | Directory Buffer][ Bye! ][3][ Error allocating Destination | Directory Buffer][ Bye! ][3][ Error allocating Source | Window Buffer][ Bye! ][3][ Error allocating Destination | Window Buffer][ Bye! ][3][ Error allocating | Main Buffer][ Bye! ][3][ Main Buffer less than 10K!!| Free up some memory! ][ Okay ] [2][ You must select both a source | and destination path!][ Okay ] [1][ Warning...| This will DESTROY all | data on this drive!][ Abort | Continue ][1][ Error getting BPB ][ Oops! ][1][ Main Buffer too small ][ Oops! ] [2][ How about selecting both | a Source and Destination?? ][ I guess. ][3][ Source and Destination Paths | are the same...][ Abort ][2][ But you haven't selected | any files!!! ][ I will ][3][ Main Buffer is too small || Free up some memory |][ Okay ][3][ Main Buffer is too small || Free up some memory |][ Okay ][3][ Main Buffer is too small || Free up some memory |][ Okay ][3][ Main Buffer is too small | free up some RAM! ][ Okay ][3][ Free Cluster List Full!! ][ Bye Bye ][3][ Not enough room | on this disk!][ Phooey! ][3][ Main Buffer is too small | free up some RAM! ][ Okay ][3][ Can not delete duplicate | from within source!! ][ Abort ][3][ This copy would overflow | the root Directory!][ See Ya! ][3][ Disk overflow | expanding Directory! ][ Boom! ][3][ System Error | Deleting with no directory! ][ Abort ][3][ Error Tracing Folder ][ Bye.. ][3][ System Error | EOD with no depth! ][ Bye Bye ][3][ System Error| Error Tracing File ][ Bye Bye ][3][ Software Error| Error Re-Mapping File ][ Sorry ][3][ Failure! | Out of read commands | Re-Mapping File ][ Oops! ][3][ Failure!| Out of write commands | Re-Mapping File][ Oops! ][3][ SOFTWARE FAILURE !| Trying to assign a | non-free Cluster! ][ Abort ][3][ System Overflow!| Folder Depth beyond 100!! ][ Bye! ][3][ Main Buffer is too small! ][ Bye! ][3][ Buffer Overflow!| You have exceeded the 200 | folder per copy limit!][ Okay ][2][ Do you really want | to abort the copy?][ Abort |Continue][2][ Do you really want | to abort the copy?][ Abort |Continue][3][ System Error| No Directory to write! ][ Sorry ]0000$00* P+Zero Drive Drives AbortZeroHard Drive InfoFreeofC################################################################################################################################################################################################################################DEFGHIJKLMNOPOkay################TOTALAuto Select MenuOnOffSelect FoldersFile Maskfilenameext________.___FFFFFFFFFFFArchive BitSensitiveDate Masks######__/__/__999999######__/__/__999999Newer ThanOlder ThanSelect WhenOnOffOnOffWrite Src DirSelectCancelSelect DriveSelectSourceCheetahFile Copy Systemv1.1 11/15/89(c)1989 by Jay JonesSelect DriveSelectDestination Src 1.ext SRC 2.EXT SRC 3.EXT SRC 4.EXT SRC 5.EXT SRC 6.EXT SRC 7.EXT SRC 8.EXT SRC 9.EXT SRC 10.EXT SRC 11.EXT SRC 12.EXT SRC 13.EXT SRC 14.EXT SRC 15.EXT DEST 1.EXT DEST 2.EXT DEST 3.EXT DEST 4.EXT DEST 5.EXT DEST 6.EXT DEST 7.EXT DEST 8.EXT DEST 9.EXT DEST 10.EXT DEST 11.EXT DEST 12.EXT DEST 13.EXT DEST 14.EXT DEST 15.EXT Drives NameCreate FolderCopyExtrasDestination Free Select All ExitDelete *** Extras Menu ***Main Buffer SizeBytes########Memory FreeBytes########System StatusZero DriveFree SpaceFunctionsAuto SelectSort OrderYesNoShow PerformanceOptionsYesNoFolder Buffering Exit Copy CompletePerformance Statistics########Files########Folders########K BytesCopied in########SecAveraging########Mb/MinDelete OriginalsExitOne Moment...ReconfiguringJust a secCopying..Create FolderFilenameext________.___pppppppppp>> Destination >><< Source <<CANCELSort OptionsNameExtensionFile SizeTime StampInverted SortOkayReady to Delete########Files########FoldersAbortDeleteReady to copy Files Folders K Bytes Go!! Abort$/ 09 EU V[ \_             #, 3:C JU Va bco ~         ' (6 7E FT Uc dr s            * +9 :H IW Xf gu v            "3 Xl m~        +   , an    0 !ABC DE F G  H I JK LMNO PL: %@ 2h`"!bk  t }                ( 1 :  C !L U #^$`%b&d'f(h )j *l +n ,p -r.t/v0x 1}2       ,    H   d          (   D ps wz `  % T 9@@ |@@ @   !       $ @( @ @@@ \ @ x $"             <  X  t              !@ "@ ##@ "@8%7(& 8 ' T ( p )  *  +  ,  -  . /4 0P 1l 2 3 4 5@766@ 5@$@J9I!:A;B<C =D>E?F@G AHBICJDK ELFMGNHO IP8K L M0# N@O@P@QL) R@4SCT@HUU+ T O " h     с                    , ',3 AXagpx            '  H  d       7I `Z    o t ~   '    Ga       # %*")'p%) (H''(0000$00* P+Zero Drive Drives AbortZeroHard Drive InfoFreeofC################################################################################################################################################################################################################################DEFGHIJKLMNOPOkay################TOTALAuto Select MenuOnOffSelect FoldersFile Maskfilenameext________.___FFFFFFFFFFFArchive BitSensitiveDate Masks######__/__/__999999######__/__/__999999Newer ThanOlder ThanSelect WhenOnOffOnOffWrite Src DirSelectCancelSelect DriveSelectSourceCheetah(c)1989 by Jay Jonesv1.1 11/15/89File Copy SystemSelect DriveSelectDestination SRC 1.EXT SRC 2.EXT SRC 3.EXT SRC 4.EXT SRC 5.EXT SRC 6.EXT SRC 7.EXT SRC 8.EXT SRC 9.EXT SRC 10.EXT SRC 11.EXT SRC 12.EXT SRC 13.EXT SRC 14.EXT SRC 15.EXT SRC 1.EXT SRC 2.EXT SRC 3.EXT SRC 4.EXT SRC 5.EXT SRC 6.EXT SRC 7.EXT SRC 8.EXT SRC 9.EXT SRC 10.EXT SRC 11.EXT SRC 12.EXT SRC 13.EXT SRC 14.EXT SRC 15.EXT Drives NameCreate FolderCopyExtrasDestination Free Select All ExitDelete *** Extras Menu ***Main Buffer SizeBytes########Memory FreeBytes########System StatusZero DriveFree SpaceFunctionsAuto SelectSort OrderYesNoShow PerformanceOptionsYesNoFolder Buffering Exit Copy CompletePerformance Statistics########Files########Folders########K BytesCopied in########SecAveraging########Mb/MinDelete OriginalsExitOne Moment...ReconfiguringJust a secCopying..Create FolderFilenameext________.___pppppppppp>> Destination >><< Source <<CancelSort OptionsNameExtensionFile SizeTime StampInverted SortOkayReady to Delete########Files########FoldersAbortDeleteReady to copy Files Folders K Bytes Go!! Abort$/ 09 EU1 V[ \_             #, 3:C JU Va bco ~          & '5 6D ES Tb cq r            ) *8 9G HV We ft u            !2 Wk l}  ! !   ! *   + `m   0 " ABC DE F G  H I JK LMNO PL: %@ 2h`"!bk  t }                ( 1 :  C !L U #^$`%b&d'f(h )j *l +n ,p -r.t/v0x 1}2       ,    H   d           (   D ps wz `  % T;@@ |@@ @   !       $ @) @ @@@ \ @ x $"             <  X  t              !@"@ ##@ "@8%7)& 8 ' T ( p )  *  +  ,  -  . /4 0P 1l 2 3 4 5@766@ 5@$@J9I# :A;B<C =D>E?F@G AHBICJDK ELFMGNHO IP8KL M0$N@O@P@QL+ R@3SBT@GUU- T N"h    с ~                 , '+2 @W`fow          A ' H  d      6H`Y   n s }   '   Ga      " %)")'p%) (H''(  CON:AUX:PRT:*  $  "    L@ 2 , , V" "@  ": D   (  *   &   6*  HF6$ 2&* 2H"* 6@j""($"$$$8&&$:$  "&&<@$*""  H((  ,&   *$&6    4&$ D* 4&$ &\ 4&$ @b 4&$ 6 (4      4&$ ..* $  ".$$$&   $* $(  $"("*"$$&$*"*( ($( ""< 4",8, "  ""     b:> $ :`($$,$  F$p D:j @B.(&$$ "  R       *"(" "      4      ":&$$H0 & & \<$  $$( . 4  (  $:`*>*D^ 4$  F$$,H200 .$$,$$$, $$$$4*$  $ .   2(0&   $&&"    &&$$$ 4"6$ $$"&  $       $ " 8*$      ". (  &$  $ <  " 2$ . $" , * "$0   "$ &.$$(&LH&N. T,$:$&  z,$    ,0  F  *& ""(bJ 2 & "  *F " B"4 0 ( 8 " >D Dt8 *0< * .( &$ (,6               :((L \8"&J  J "  (l@ (X&>&. . 4$f.,*   ."(N~8 && r d Documentation for Cheetah (C) 1989 by Jay Jones This program is being distributed as Shareware. This means that you may give this program out to your friends or post it on Bulletin Boards freely as long as the program remains unchanged and this text file is included. All I ask is that if you like this program and use it, please send a donation ($20 Suggested?) to the address listed below. The only way that I can continue to develop and support this program is if I receive some compensation for the MONTHS I have devoted to its development. Your registration also insures that you will be informed of any upgrades made available. Enough said. Cheetah is designed as a high speed file copying utility. Hard Drive users will find it the most useful, however it does fully support floppy drives also. Effective transfer rates vary depending on the hardware and the data being copied. Hard drive users can expect to see transfer rates ranging from 6 to 14 Mb/Min, averaging about 9 Mb/Min. Selecting Paths: There are two ways to select your source/destination paths. One is to highlight the drive letter and click in the "Select Path" boxes, the other is to double click the drive letter. When double clicking, first the source then the destination will be selected. After that, you can use normal double clicks to select source or hold down the right button when double clicking to change destination. To go into a folder, either double click it or highlight it and click in the "Select Path" box. Selecting Files: Once both source and destination paths are selected, files can be selected by clicking on them, or by holding down and dragging. "Select all" will toggle all files on/off. Also see "Auto Select" in the "Extras" menu below. Extras Menu: From this menu you can see buffer and mem free sizes, change the file sort order, chose whether or not to display the performance window after the copy, or go to either of the 3 submenus (Auto Select, Free Space or Zero Drive). Auto Select Menu: This routine will go through the source path top to bottom (as displayed) and select as many files as can fit into the destination free space. All previously selected files are ignored. The other items are for setting filtering of which files to select. The "File Mask" and the two date fields are ignored if left blank. Archive bit Sensitivity (In the Auto Select Menu): To enable archive bit sensitivity, highlight the "Archive bit sensitive" box. If this box is selected, the select routine will take into account archive bit status relative to the "Select when" option. If archive bit sensitivity is enabled, the directories in the main menu will display archive bit status by showing a ":" if the bit is on, and a "." if it is off. Any time the archive bit sensitivity is enabled and a copy is performed, the bit status of the copied files is changed in memory (ie: "Select when" set ON, all copied files are set to OFF). If "WriteSrc Dir" is ON, the modified archive bit status will be saved to disk,otherwise it is changed IN MEMORY ONLY and is lost when source paths are changed or you exit the program. Quick Keys: From the main menu, there are several "Hot Keys" to get the sub-functions quickly. ^A Auto Select Menu ^F Free Space ^Z Zero Drive ^S Sort Order Menu ^B Toggle Folder Buffering On/Off Aborting: Copies can be aborted by pressing the UNDO key, the program will then prompt you to verify the abort. This can be done during all but the final stage of the copy. Folder Buffering: If folder buffering is enabled the program will try to load all copied folders into the main buffer. If you are having problems with buffer size or errors try turning the buffering off to save memory. DO NOT exceed 200 folders in a copy with buffering on! Note: If you are using less than TOS 1.4 you may notice that the double click is a bit SLOW!! This is due to slow return times from the AES. It may be easier with old TOS to make selections by using the path select boxes at the tops of the file windows. Disclaimer: Every effort has been made to ensure that this program is safe to use and error free.... HOWEVER, I accept no responsibility for any damage or data loss that may occur from the use of this program. *********************** Warning *********************** Cheetah does not use standard calls to its copying/deleting! This can cause problems when you exit the program with GEM not being updated properly as to the changes that have been made. Normally this is only a problem if you are running some sort of caching program. This can usually be resolved by hitting ESC on the affected drives at the desktop. If you are unsure as to whether GEM has been updated properly, play it safe, REBOOT! ********************************************************************** * Changes for ver 1.1 11/15/89 * ********************************************************************** CACHING PROGRAMS: Routines have been added when exiting Cheetah to force GEM to re-read the disks even when caching programs are resident! These routines have been tested with Atari's CACHExxx.PRG, Beckmeyer's HDACCEL.PRG, and ICD's v4.x.x booter, and all seem to work fine. The ONLY thing that we have found that can still cause a problem is if you have a window open into a folder, then delete that folder from within Cheetah. If you have any problems, please let me know. Found and fixed a bug when creating a folder on the source drive. File Size,Date,Time Display A new item has been added to the main menu. By clicking on the arrows you can shift the display left or right through File Name, Size, Date and Time. This can also be acomplished through pressing the left/right cursor keys. Many thanks to Don and Mark for all the help in resolving the caching problem, and through out the development of the program. Note: I have just heard of a problem when running Cheetah on partitions larger than the 16 Meg standard. I will be looking into this bug as soon I can get the hardware to test it with. Donations, Comments, Questions or Suggestions: Please write. Jay Jones 9862 S 262nd Pl Kent, WA 98031 . <.. <DISKCHRTTXT<! DSKCHARTPRG<NDSKCHARTRSC<n Ron Sanborn 120 High St. South Windsor CT 06074 Disk Chart Ver 3.2 01-25-90 Diskchart has been through several overhauls since it's first release in OCTOBER 1989. Although some revisions many not seem all that significant to the user they have all been time consuming for the author. Originally DISKCHART was written as a quick solution to display HARD DRIVE partition space for my own personal use. I always was interested in having an idea of how much space was being used on my machine. The show info option at the desktop did ok but it was slow as molasses and I really was only concerned with the space statistics. Without seeing all of the partition stat's at once it was difficult to make a decision of whether or not to back up files, move directories or just do some general housekeeping! I am always interested in how efficiently space is being used. Diskchart started as a very simple GFA BASIC program and it was originally named FREEBYTE2.PRG. I decided to rewrite FREEBYTE2.PRG after some of the members of our local users group STATUS mentioned that it would make a great PD or SHAREWARE program. Since then FREEBYTE2.PRG has gone through the following changes: Ver 1.0 Written in GFA BASIC with bar graph addition and report option. Renamed DSKCHART.PRG Ver 2.0 Totally re-written in C with a GEM interface bar graph and report. Ver 3.0 Revised to support MONOCHROME monitors as well as color MED rez. Ver 3.1 Fixed a bug in the total space percentage statistics. Ver 3.2A Includes the ability to print the report option. Bug fix to provide better graphing compatibility with TOS 1.4. Optimized for faster program execution. Ver 3.3 ------------------------------------------------------------------------ Available To Registered Users Only! Displays System Ram Time And Date! Selects All Partitions For Graphing and report at once! Displays Extended Disk Statistics Report! Prints Extended Disk Statistics Report As Well! Future revisons may include a desk accessory version if there are enough registered users to make it worth while. If you are a registered user and would like to see an added program feature feel free to send your suggestions! ------------------------------------------------------------------------- I'd like to thank all of the members of STATUS for their suggestions for improving DISKCHART.PRG. Granted DISKCHART is a somewhat simple straight forward program that does what it was intended to. And that is to make managing a HD a bit more fun! If you find that DISKCHART is a welcome addition to your software collection that just click the DISK ICON and send a donation! Your support will determine the output of other SHAREWARE programs as well! Ron Sanborn `CKJ$f(ByCOK/9H?<HNA\OJk.@H`6 - ЭЭйH"ҍ¼.A// Bg?<JNA #\ y\/(,HhNDP/9T/9L?9LPN0NtNT?<N!NV?<NT3LN*NFJyLg yLo0HyE?<N+n\?9SN.TN*BgN!TNN6?9SN.TN*N^NuNuNVHySHySHySHySN,O3SBn`0.Rn@A\1 n m3\HyS*HySHy\N/O N^NuNVBn`0<L2.AA]1Rn nmBn`6Bn`$2.AV2H҈0.@HЁ @BRn nmRn nmN^NuNVHHyF6N.XHnBgBgN-PHnHnHnHn/.N+O?.?.?.?.BgBgBgBgBgN+O?.?.?.?.?< Bg/.N-vOHyS?<N,\Bg/.N,\=@ n(fN dBgBg?.?.?.?.Bg?<(/.N-O?.?.?.?.?< Bg/.N-vO?9SN/zTBG`?.?N,XRG Gm?9SN04T nflN BgBg?.?.?.?.Bg?</.N-O?.?.?.?.?< Bg/.N-vOBG`?.?N,XRG Gm nfJNBG`?.?N,XRG Gm?<Bg?.?.?.?.Bg?</.N-OBG`2AAC200.Af yD>f?NrTN H?<Bg?.?.?.?.Bg0@AC?0/.N-O?.?.?.?.?< Bg/.N-vOBn`?.?.N,XRn nm`P0R@?N vT?.?N,X?<Bg?.?.?.?.Bg0@AC?0/.N-ORG Gm n+f\0<gVRyD>09D> @o0<`09D>3D>JyD>f*?<Bg?.?.?.?.Bg?<+/.N-O n+fB0<gN)TO N^NuNV?. 0.@AD/00.PAW~HЈ/N)TO N^NuNVHBG`܇ۄHAHB>܇ۄH@HC>܇ۄ>ڇلHDHEHF8:|HB>ڇن>؇HC>ڇنH@HB>ڇن~>(JkڅلSG <"FHD„v 歊ȀۆنGk Gc xz`xz`SGOHG؇Jj LN^NuNVH n $& n "(*fJgx(fJgt H@8HB:LME,<.*FHÁ…HC΃ƅąb fbRD1DHBHC.h~>ЇHG~` B@H@:|FH@HAHF<0BAHBHC8:ǒxjSG҃тd6BBHBHC,h ,ІHF|` B@H@:ƒ*HEHE8BEjSF҃BdHG>H@HA0,h ,ІHF|` B@H@6HC:2HAH@xDjSF҃dhrHF<x8(z <"FHG‡v 殌΀݅߅Dk Dc ~|`~|`SDLHDބJj LN^NuNV 9HAL 䀰|l yHXH 0<`0<N^NuNVH`YH yH PN 9HAL fAH*H`0- |g / N"rX AH"Ҽ@m?.N2TL N^NuNVH*n0- |g/ N"Xg0<`20- |g /-N&"XBm ?- N8Tg0<`0<L N^NuNVH*n0- |f0<`r.0- |gV0- |f0<`R0- |g?<B?- N#jP?/-?- N)P @f m@ 0<`m *Bm0<L N^NuNVJnl3LR <`H?.?./. ?<BNO -@Jm .`?<?.B?<BNO -@Jl .3LR <`?<?.B?<BNO -@ nf .Ю -@ `& nf .Ю -@ `0.g <` . oH?.N'BT|J@f .3LR <``` Hn . /?.?<@NO Bg?./. ?<BNO J]|=@g3LR <`` . NqN^NuNVH .<".ҼS/"</N1"X/./N2B. /N(X*@f <`(M)G P/N&"X 9J0L0N^NuNVH .<".PS/"</N1"Xށ 9J0(@JfAL, (@#J0#L,BL0*T -e* -f(`  -+G#J0 P`( J0f/N$X*@Jf <`(M*U`L0N^NuNV0./N%NXN^NuNVH .f`v .Q*@(yJ0` m n l`(T o l "-Ёf T (ѭ T*`* ",Ёf -Ѭ(`(#J0L0N^NuNVBn`<0.@AL00f&0.@AL10.@AL1 ` Rn nmN^NuNVBn`*0.@AL00nf0.@ALBpRn nmN^NuNVH>.=|\AL"HPgXHf0(LN^NuNVHHyJ4/.N)xPfBG`HyJ:/.N)xPf><`HyJ@/.N)xPf><`0. |gR0. |?/.?<=NP>J@m 0. |g&JGm??<>NXBg/.?<`j0. |gD0. |?/.?<=NP>J@m"??<>NXBg/.?<`0. |?/.?<=NP>JGl 3LR0<`?. ?N&X0LN^NuNV/.?<HN\-@ .f-|3LR .N^NuNV0./N(XN^NuNV .#JL#JF3JJ/./. HyJFN5hO yJFB .N^NuNVA X//. /.N)O N^NuLB@ggSBAgHJ@gHANu op`R@SJWfFNuNVH*n (MBn ng?.N'BT| fA&H. nU|`H| f S @  . nU| A|l0fD AH-@Hn/.?.?<@NO <Hg 3LR0<`dA&H0f~ =@`J/ 0./?.?<@NO -@2.¼g .3LR0<` .n0.L8N^NuNV?<N.4T0<N^NuNVA]#^AT#^AT#^A\#^ AWr#^ALh#^A^#V&?< N.4T3\\09\N^NuNV3T# Wr?<4N.4TN^NuNV#Wr?<6N.4T n 0\ n0\ n0\ n0\09\N^NuNV3T3 T3 T3T3T3T3U3U3U nf 3L83L:3L63L4?<3N.4TN^NuNV n0L8 n 0L: n0L6 n0L4N^NuNV#Wr3 T?<2N.4TN^NuNV?<MN.4T n0\ n 0\ n0\ n0\09\N^NuNV3T# Wr?<NN.4TN^NuNV#Wr3 T3T3T3T3T3T3U3U?</N.4TN^NuNV#Wr3 T3T3T3T3T3T?<*N.4TN^NuNV?<oN.4TN^NuNV3T3 T3]?<pN.4TBy] n Lh09\N^NuNV#Wr?<nN.4TN^NuNV3]0.| A<<`6<<BE`,<<:< ` `|Xg|dgΰ|ogа|ug°|xg Jl ndf - D.` 0. fμA м&@B#(/8H/N1X(0 D m2<7E`2<0A /0H/N1 X.f/ / N. *n (U=| Gf><#V#VHyJXHyVNHP]|=@0R@?HnHnHnN@|O0.g-.H|0f.f0` nff<.GRF0no<.JFl0<`0?HnHnHnN@|OA&HA&H`SFSn0gJnl`0SnJnl0g.` 0RnSG0g nm`JFoH`0<0SFSG0J@l`J0g.A R&@`SG0J@lE-L0.H/HnBg?<dN2O (n*L8N^NuNVHBG n*P`0 HC|0>HAJe0H|f n 0L N^NuNVH<*n(n &nBn`P?<%/ N<^\$@Jg2. g$/ ??</ N;`O <n0Gg` R(@`*/ N)X>/ ??</ N;`O <n`Bn=|Bn8< H|-f=|RH|0f8<0RH|*f R=ST`-LHnN5X=@(nH|.f>RH|0f8<0RH|*f R=ST`-LHnN5X=@(nH|lf=|Rf`$A $@-@H=@`$SX/ N)X:no:.8< `0.g `0H/Hn?.?.N2O 0.g0<`0<*. ng=n` nRT:<`#V#V/9V/9VHn?.?.N3OP*.`f0. nR:<`P`N|Xg<|cg|dg.|eg|fg|gg|og|sg|ug|xgN70.gj/ ??</ N;`O <n0Eg`>.E`4Sm0-J@m0 URH|` / ?N90\ @f` RnSG0J@l`f>.E`4Sm0-J@m0 URH|` / ?N90\ @f` RnSG0J@l/ ??</ N;`O <n0Eg`f0.LNX=@g3LR0<``0<NqN^NuNVH*n 0- |g0- |fm 0- |fm@ Bm0- |@g0<` -f / NBX0- |g UR m `<0- |g2m UR . H| g ml . H|`V/ N"Xg m@ 0<`>0- |gBm. H|`$`"0-S@;@m . URH|NqL N^NuNVH *n(n`":,A>. Eo>`>. 0g60n ?// NBO 0H0Hє0,g0lGl JEf/ N"Xg0<`":,A0. Emv=n 0g<. 2. HHAA`<. 0n `G0H0g?/ ?, N)P>J@n Gf&l@ ?<0.FH/?, N#jP0<` 0. f0<L0N^NuNVH*n>. <.(n0, |g0, |fl 0, |f0<` ,f/ NBX(9lBE`RE0HSF0J@m/ ?/ N:@O g0, |ff gX0, |g/ N"Xgl@ `:&l`R g H| f gH| f/ N"Xgl@ Bl0L8N^Nu o/ f pJWf`g fS `pNuLrWf SNuAT\Xy\ !J"/0<NBYy\AT\"P$hNu NV0.f#HV#HV`$ nl#KvV#KzV` n4o#HV#HV`AJ -@ n]|=@g 0.D@=@0.|=@0.g0 .2.HЁQ @#V#V-yV-yV0.@=@0.|=@0.gn .2.HЁм0 @#V#V-yV-yV0.gHnHnNP` #V#V-yV-yV0.@=@0.|=@0.gt .2.HЁмh @#V#V-yV-yV0.f0.gHnHnNP` #V#V-yV-yV0.gH#HV#HV-yV-yVHnHnN P#V#V`#V#VN^NuNVH *n(n Bn-L-U-mBEK.g>OG|JGn|m`NB0T@|dm0<d@D@`B0D@S@|dm0<d@?N>4TOHyV/ NPO`&0-H@$-JGg FGQ0<0dR@0.BAQ/,>QQԟ׆G|0QB`Rn0.g(nB`0R 2.HmB`d .6.HЃR(@ nH|0fRZ$` R$H|9n nH|0f(n R*@NqfSE .6.HЃ @B n0L0N^NuNVH*n AHf0?<NCTf"m m ;yJ.AHh `, AHf BgNCTfm m ;yJ.`X0- |g AHALEZEvEEEExtended Disk Info For Drive %c: %s Sectors Size %10d (Bytes) Sectors Per Cluster %10d (Sectors) Cluster Size %10d (Bytes) Directory Size %10d (Sectors) FAT Size %10d (Sectors) Second FAT Sector %10d Start Data Clusters %10d Total Data Clusters %10d Miscellaneous Flags %10x Free Clusters %10ld Allocated Clusters %10ld [0][ Diskchart Ver 3.0 | Runs Med Or High Resolution ][*** OK ***]dskchart.rsc[0][Features Beyond Ver 3.2A|Available To Registered Users|Click The Disk Icon][*** OK ***][0][Features Beyond Ver 3.2A|Available To Registered Users|Click The Disk Icon][*** OK ***][0][Features Beyond Ver 3.2A|Available To Registered Users|Click The Disk Icon][*** OK ***]@Y%s%s Total Used Free Used FreeDrive %c:%10ld %10ld %10ld %10ld%c %10ld%c %s%s ----------------------------------------------------------------Totals: %10ld %10ld %10ld %10ld%c %10ld%c [0][ Please Put Me Online! | Or I Refuse To Print! ][*** OK ***] @ Wi??!TD-@ !TD-@$?!TD-?.B9??L  CON:AUX:PRT:Je (( (( AAAAAABBBBBB @$@Y@@@È@jA.AcAׄCAy7DxCyٝFnH=c)\I1sKP1P=M8O?ZwH02g$uOs<*     *<$$ $$ $$0 "$$"( ( ( (2*& $$ &  <".*&$$ &  <".*&$$2*&&  "   $ $        & 0  F$$ (0*&      v                "  (l@ (X&>&. . 4&f.,*   ."( &h8 (             &&     ,6$f@D$dHH8PtBF&2l`0b,n,,<\v L< <     Hx$ V[ nB:C:D:E:F:G:H:I:J:K:L:M:N:O:P:ReportEXITClearA:By Ron Sanborn(C)Copyright 1989Disk Chart V3.2AExtendedUISA B C D E F G H I J K L M N O PQuitPrintDisk Chart V3.2A is a SHAREWAREIf you enjoy using Disk Chart andfind the programuseful then send a donation of$10.00 to receiveadded features and program revisions to:OKSouth Windsor Ct 06074120 High St.Ron SanbornProgram.OKYour Printer Is Not Having Fun Yet!QuitPrintEE}PpP0p0PpPp@0 ~0(*R7$Qc Q- Q9 QE Q$  Q0  Q<  QH QK Q? Q3 Q' QNQB Q6 Q* QQ 42CXQ] 0.,*(&$"  !"#+%'&f(u$'Q*Q  q)A  7Qq  7 !$#B!T# x%    Q~    '3QQ  #Mq Gv Gv Gv Gv Gv Gv Gv Gv Gv Gv Gv Gv Gv Gv Gv Gv Gv Gv Gv Gv Gv Gv Gv GvQ 6 n. <.. <VERSYS DOC<VERSYS PRG <g VerSys: The Programmer's Version Backup System Distribution VerSys is distributed as Shareware. You are therefore encouraged to copy and give it to your associates and friends. If you like CardFile, please send $15 as payment. After you register your copy, the author will provide support and update information. Send to... Tyson Gill 12114 Kirton Avenue Cleveland, Ohio 44135 Introduction to Program Version Control Programmers must keep accurate and detailed program backups. Errors can be introduced at any time during program development and are often not noticed until many more changes have been made. It can be very difficult to reconstruct a previous version of a multi-module program without losing a great deal of good work. Without a solid backup procedure, you can easily end up with a lot of wasted effort if not complete disaster. Most programmers simply copy all their files to backup disks occasionally. These disks easily get out of hand and confused. Some programmers actually create new numbered program names for each version to help document the backup sequence. This gets very difficult when you have a number of program modules, include files, and resource files. Both of these approaches backup all files, not just those that have changed. That makes it an inefficient use of backup time and disk space. The end result is that backups never get done enough. The most critical problem, however, is that since all files are copied each time, the programmer does not have an audit trail. Without and audit trail, it is extremely difficult to determine which changes caused the problem or to reconstruct the system without potentially wasting a lot of good code. A typical incremental file backup program solves the problem of efficiency, but they are not useful for programmers since they copy all files over the previous versions and do not maintain a running archive and audit. Some professional programming groups use commercial version control and code documentation systems designed to manage large multi-programmer projects. VerSys was designed to provide ST programmers the security of a simple backup system without going to the expense and effort of implementing a full version control system. VerSys is a must for programmers of any language. Once you start to use it, you will wonder how you ever managed without it. Using VerSys VerSys is very simple to use and is internally documented with help screens. It copies all or only changed files to a new folder named using the current time and date. It allows the programmer to specify only the file types requiring backup. If a problem occurs, the programmer can look back to any date and time to see which files had changed or restore a previous version completely. VerSys can actually be used by anyone, not just programmers, who has a need to maintain sequential versions of files. Info: Internal program documentation. Paths to backup from: Enter up to nine paths to backup files from. The paths can be typed in or selected using the FIND option. Examples are C:\C_SOURCE\ and D:\MYPROG\RESOURCE\. Path to backup to: Enter the path to backup files to. The path can be typed in or selected using the FIND option. Examples are B:\ or E:\BACKUPS\. File types to backup: Enter all file types you wish to backup. Examples are C, H, RSC, DEF, BAS, FOR, DOC or any others. Wildcards ? and * can also be used in the file type. For instance, artists can save a history of Degas picture modifications in any resolution by backing up PI? files. Load: The load option allows the user to input a backup setup which has been previously stored. You may want a number of backup setups such as one for BASIC code and one for C code. You may also have individual setups for different projects. The file VERSYS.SET is the default setup. If this file is present in the same folder as VERSYS.PRG, it is automatically loaded when the program starts. Save: Saves the current setup to a file. Backup All: This option starts a backup of ALL files specified in the current setup. It copies the files whether or not they have been changed since the last backup. It stores files in a folder whose name ends in 'A'. Backup New: This option copies only those folders that have been changed since the last backup. It stores files in a folder whose name ends in 'C'. VerSys decides if a file has been changed by checking the archive bit. When VerSys copies a file it sets the archive bit to 1. If the file is changed and then closed, the archive bit is cleared to zero. During a Backup New operation, VerSys copies only those files whose archive bit is clear. Check/Set Clock: Backups are stored to a folder with a time and data code, YYMMDDHH.mm?. YY indicates the year such as 89. MM indicates the month 01-12. DD indicates the day from 1-31. HH represents the hour 01-24, and mm represents the minutes 00-59 after the hour. The last character '?' is 'A' if All files have been backup up and 'C' if only Changed files are in the folder. Obviously, you can only make one backup per minute. Also, the date and time must be accurate in order to name the backup folders correctly. The Check/Set Clock option allows the clock to be checked and set if necessary. For example, say that it is June 17, 1989 at 10:20 and you wish to backup all programs from the folder D:\C\PROJECT1\ and D:\BASIC\PROJECT2 to E:\BACKUP\. VerSys would copy all files of the specified types to the new folders E:\BACKUP\89061710.20A\C\PROJECT1\ and E:\BACKUP\89061710.20A\BASIC\PROJECT2\. Quit: Exits VerSys. Program Specifications: VerSys is less than 40 Kb and can be installed as a tool under the Megamax LaserC Shell. It can copy files up to 300 Kb long and can backup 400 files in one operation. VerSys does not require a resource or any other support files. `ZP0T!KJ$f(ByZPO/9?<HNA\OJg.@`6 - ЭЭй"ҍ¼.A// Bg?<JNA # y/(,HhNXP/9/9?9$NT?<N$0NVNDHnHnHnHnNZO3N ?<NT3f2?<?<?<NN\HyZR?<N\?<N$0T?<?<?<#N\?<?<NXHy^:N XBBgN\N N JHy?<N\?<NT=@0.R@?Hn?<GNPHn0.|A?HyZHy,N1OHyZHyrN2JPHy,HyN2JPHyN.XHyHyN2JPHyHyN2JPHyrNvXNZ?9N4 TN,N^NuNuNVHyBgBgN PN N?<N JTg(Bg?<N XN gHyrNvX`>?<N JTg(Bg?<N XN gHyrNX`?<N JTgBg?<N XN`?<N JTg(Bg?<N XBgN8Tg BgNT`?<N JTg*Bg?<N X?<N8Tg ?<NT`r?<N JTgBg?<N XN`N?<N JTgBg?<N XN`*?<N JTgBg?<N XN`0<``nN^NuNVHyZHnN2JPHyHnHyN&O N 09f0<`Bn`>0.#Aj0H|@g0.#AjHЈ/N2^Xf` Rn nmHyN.XHy0.#AjHЈ/N2JP0<N^NuNVHyZHnN2JPHyHnHyN&O N 09f0<`&HyN.XHyHyN2JP0<N^NuNV/.N2^XS@=@`0. n0H|\f` SnJnn0. nB0N^NuNVB?<N\HyZ/.N&P#JfBBgN\0<`Bn` 0.#AjHЈ/NFXRn n mBn`0.@AHЈ/NFXRn nmHyNFX/9N$XBBgN\0<N^NuNV=|Rn ySh0(J@m y R @H|`/9N&LX2. n0. n0H| f0. nB00.f n@ nB(N^NuNVB?<N\HyZ/.N&P-@JfBBgN\0<`Bn`,0.#AjHЈ/HyZ/.N(O Rn n mBn`*0.@AHЈ/HyZ/.N(O Rn nmHyHyZ/.N(O /.N$XBBgN\0<N^NuNVHy?<BgN PNBg?<N XHy?<BgN PNBg?<N XHy?<BgN PNBg?<N XHy?<BgN PNBg?<N XHy?<BgN PNBg?<N XN^NuNVHnHnHnHn/9NOBgBgBgBg?.?.?.?.BgNNO?.?.?.?.?< Bg/9NOB?<N\Bg/9N\BgBgBgBg?.?.?.?.?<NNOBBgN\N^NuNV09fB?<N\3N^NuNV09gB?<N\ByN^NuNVBn`0.Rn@A1 n m33HyVHyHyN44O N^NuNV0.H/ </N"  y p 0.H/ </N"  y p 1nN^NuNV0.H/ </N"  y00 g0<g0<``0<NqN^NuNV0. g&0.H/ </N"  yp `$0.H/ </N"  yp N^NuNVBn`HyZHyjN2JPRn n mBn`HyZHyN2JPRn nmHyZHyN2JPN^NuNVHyBgBgN P?<#Hyj?<N P?<#Hy?<N P?<#Hy?<N P?<#Hy?<N P?<#Hy?< N P?<#Hy?< N P?<#HyNX09`Hy/.?.?<?NO Jl?<?<?<NN\/.Hy[HyN1O Hy?<N\3 yf``60.g?.?<>NX0.g?.?<>NX09`Hy/.?.?<@NO Jl?<?<?<NN\/. Hy[HyN1O Hy?<N\3 yf``40.g?.?<>NX0.g?.?<>NX09`00.g?.?<>NX0.g?.?<>NX0<N^NuNV?<*NT=@?<,NT=@0<P2.AA|A=@0.@|=@0.|=@0.@@|=@0.@|?=@?.?.?.?.?.Hy\ /.N1ON^NuNV?<*NT=@?<,NT=@0<P2.AA|A=@0.@|=@0.|=@0.@@|=@0.@|?=@?.?.?.Hy\ HnN1O?.?.Hy\.HnN1O Hy?<BgN P?<Hn?<N P?<Hn?<N PN?<N JTgBg?<N X0<`Bg?< N XHnHnHnHy\8HnN1OnP0.2.AA2.AAA=@HnHnHy\FHnN1O0.@2.AAA=@?.?<+NX?.?<-NXN^NuNVxN N PHy?<N\By*Bn`0.#Aj0H|Al` nf$0.#AjHЈ/Hy\PN-P`"0.#AjHЈ/Hy\nN-P=|Bn`j y*oN?<?<?<NN\?<Hy\HyN1O Hy?<N\30<``0.@A0H|Al`0.@AHЈ/0.#AjHЈ/Hy\HnxN1O?< Hnx?<NNPJ@l`Hy0.#AjHЈ/Hy\HnN1O nf?< BgHn?<CNO =@`Bn0.gF0.#AjHЈ/09*H/ <T/N" AЈ/N2JPBn`$09*H/ <T/N" AB0Hy09*H/ <T/N" AHp@N2JP09*H/ <T/N" A1R09*H/ <T/N" A! N0.fHnHy\N-PRy*`Hy0.#AjHЈ/Hy\HnN1O nf?< BgHn?<CNO =@`Bn09*H/ <T/N" AB0Hy09*H/ <T/N" AHp@N2JP09*H/ <T/N" A1R09*H/ <T/N" A! N0.fHnHy\N-PRy*?<ONTJ@lRn nmRn n m09*f(Hy\N-XHyN%X?<NT09*N^NuNV,BnHy?<N\HnNX nfHy]HnN2P`Hy]HnN2PHnHyHy]Hn,N1OHn,NX=@ nf0<`Bn`"0.H/ <T/N" A0gj2.H/"<T/N""A҈ <Ё/HnHyHy]"Hn,N1OHn,NX=@ nf0<``N0.S@H/ <T/N" AЈ/0.H/ <T/N" AЈ/N2JP0.H/ <T/N" AHp@0.H/ <T/N" AЈ/Hy]*HnN1O0.H/ <T/N" AHp@Hn,Hy]0HnlN1OHnHy]6N-P0.H/ <T/N" A/0NHnlHnN O =@ nfRnHnHy]HN-P`D nf 0<``2?< ?<Hn?<CNO @ gHnHy]\N-PRn0.y*m09*n?Hy]N-\0.g?.Hy]N-\Hy]N-XHyN%X?<?<?<NN\?<NT0<N^NuNV/.Hy]N-PHn/.NP=@Bn`/.HnN2JP0.@A00AHЈ @BHn?<9N\=@ ngf0.g`?<?<?<NN\Hn?.Hy]HyN1OHy?<N\3 yf``09`Rn0.nmF0<N^NuNVBn=|`.0. n0H|\f0.H n 1RnRn/.N2^X"0.Am0.N^NuNV?<N3T0<N^NuNVA>#JA#NA2#RA#VA#ZA#^AJ#?< N3T309N^NuNV323 4?<N3TN^NuNV32# ?<4N3TN^NuNV#?<6N3T n 0 n0 n0 n009N^NuNV323 43 6383:3<3>3@3B nf 3 33 3?<3N3TN^NuNV n0 n 0 n0 n0N^NuNV#3 2?<2N3TN^NuNV##  ?<ZN3T n009N^NuNV?<MN3T n0 n 0 n0 n009N^NuNV32# ?<NN3TN^NuNV#3 23436383:3 / </N"  n 0Ю"/"</N"" n!R 2.Hm0<LN^NuNVHBG".l~D$. l GD&gHC H@J@g@HCBCւJGgD-C LN^.JNuNV n"n 2.HbH0|f |f`$ |g `Q`bA`2Q`VA`"Q`J0|f |f`$ |g ` Q`A`3 Q` A`# QN^NuNV 9A䀰|l yX 0<`0<N^NuNVH`Y y PN 9AfA*H`0- |g / N$X A"Ҽ@m?.N7TL N^NuNVH*n0- |g/ N%Xg0<`20- |g /-N+bXBm ?- NG$Tg0<`0<L N^NuNVH*n0- |f0<`r.0- |gV0- |f0<`R0- |g?<B?- N(P?/-?- N2vP @f m@ 0<`m *Bm0<L N^NuNVH*n0- |g0- |fm 0- |fm@ 0- |`g*Bm0<`X -f / N>8X*0- |gHyN%X0- |g0<`0-?/?- N/P;@0<L N^NuNVH*n/ N%Xg0<`8Sm0-J@l mfm `m@ Bm0<` URH|L N^NuNVH *n BnH|bf=| RH Erg Ewg Eag 0<H`h 90(@Jf.A(H`0, |f` A"Ҽ@m A"Ҽ@m 0<H`B0Bl -H|+W|g l l Ewf:?<0g0<`0<||n?/.N,P>0fl `v EafB?<0<n?/.N,P>JGm ?<B?N(Pl 0fl `.Bg0g0<`0<n?/.N,P>0fl Gf Bl 0<H`9G Bl <()@9y L0N^NuNV#0/.N$X/. /.N&PN^NuNVA X//. /.N:O N^NuNVJnl3T <`H?.?./. ?<BNO -@Jm .`?<?.B?<BNO -@Jl .3T <`?<?.B?<BNO -@ nf .Ю -@ `& nf .Ю -@ `0.g <` . oH?.N,T|J@f .3T <``` Hn . /?.?<@NO Bg?./. ?<BNO J]|=@g3T <`` . NqN^NuNVH .<".ҼS/"</N7J"X/./N7. /N1(X*@f <`(M)G P/N+bX 9L0N^NuNVH .<".PS/"</N7J"Xށ 9(@JfA4 (@##4B8*T -e* -f(`  -+G# P`( f/N*X*@Jf <`(M*U`L0N^NuNV0./N*XN^NuNVH .f`t .Q*@(y` m n l`(T o l "-Ёf T (ѭ T*`* ",Ёf -Ѭ(`(#L0N^NuNVBn`<0.@Ad00f&0.@Ad10.@Ad1 ` Rn nmN^NuNVBn`*0.@Ad00nf0.@AdBpRn nmN^NuNVH>.=|\Ad"HPgXHf0(LN^NuNVHHy/.N2&PfBG`Hy/.N2&Pf><`Hy/.N2&Pf><`0. |gR0. |?/.?<=NP>J@m 0. |g&JGm??<>NXBg/.?<`j0. |gD0. |?/.?<=NP>J@m"??<>NXBg/.?<`0. |?/.?<=NP>JGl 3T0<`?. ?N+X0LN^NuNVA X//.HyN:O N^NuNVHn/<?.?<?NO f|.HN^NuNV09yf.0<33`BgN."T=@ nfH?<NKTg(?< ?<?<NN\?<?<?<NN\09gSy` n f009RyA< ?< ?<?<NN\` nf ?<N$0T nfD0.29RyA<?< ?<?<NN\?< ?<?<NN\`"0.29RyA<0<f09A<0H|fRy0<``09RyA<0HNqN^NuNVH *n 0.-@ByT?.NKTg4B`N.T|f``RR0.SnJ@f .``4/. /.?.?<?NO -@Jl .3T0<`?.N,T| f .=@ . *@(@`v HmT/ 0./?.?<?NO -@Jl .3T0<`F .f`.0.*LH| fR`Sn0.f H-@ .L0N^NuNV/.?<HN\-@ .f-|3T .N^NuNV0./N1(XN^NuNV .##3/./. HyN:O yB .N^NuNVA X//. /.N1zO N^NuNVHn B/.BgNCON^NuNV . @"n rJWfSWfN^NuLB@ggSBAgHJ@gHANuL rWfNu op`R@SJWfFNuNVH*n (MBn ng?.N,T| fA&H. nU|`|H| f S @  . nU| A|l0fB AH-@Hn/.?.?<@NO <g 3T0<`dA&H0f =@`J/ 0./?.?<@NO -@2.¼g .3T0<` .n0.L8N^NuNV3>0.| A5HЈ-@=|` nR2.AA>H1Rn nm/9N5X09N^NuNV3eByBy3N5<<`6<<BE`,<<:< ` `|Xg|dgΰ|ogа|ug°|xg Jl ndf - D.` 0. fμA м&@B#(/8H/N7JX(0 D m2<7E`2<0A /0H/N7J X.f/ / NKP*L8N^NuNVH>. *n (U=| Gf><##HyHyNRP]|=@0R@?HnHnHnNMO0.g-.H|0f.f0` nff<.GRF0no<.JFl0<`0?HnHnHnNMOA&HA&H`SFSn0gJnl`0SnJnl0g.` 0RnSG0g nm`JFoH`0<0SFSG0J@l`J0g.A R&@`SG0J@lE-L0.H/HnBg?<dN7O (n*L8N^NuNVHBG n*P`0 HC|0>HA)0H|f n 0L N^NuNVH<*n(n &nBn`N?<%/ NJ\$@Jg2. g$/ ??</ NIO <n0Gg` R(@`*/ N2^X>/ ??</ NIO <n`Bn=|Bn8< H|-f=|RH|0f8<0RH|*f R=ST`-LHnN:tX=@(nH|.f>RH|0f8<0RH|*f R=ST`-LHnN:tX=@(nH|lf=|Rf`"A $@-@H=@H`$SX/ N2^X:no:.8< `0.g `0H/Hn?.?.N7O 0.g0<`0<*. ng=n` nRT:<`##/9/9Hn?.?.N8OP*.`f0. nR:<`P`N|Xg<|cg|dg.|eg|fg|gg|og|sg|ug|xgN<0.gh/ ??</ NIO <n0Eg`>.E`2Sm0-J@m0 UR|` / ?NG\ @f` RnSG0J@l`d>.E`2Sm0-J@m0 UR|` / ?NG\ @f` RnSG0J@l/ ??</ NIO <n0Eg`f0.LHA)0H|f n 0L N^NuNV09g/9NGpX` yRHNqN^NuNVHNqN?^>A)HЈ @H|f0LN^NuNVH>.<. :. BnBnB0.`"<< `2<<`*<<`"<< ``|dgڰ|hg|ogְ|xg E-f=|N?^:0``" "Ё6.HЃ(=|N?^:0SGJ@g??N?X=@ @f`` 6.HЃ(=|N?^:0SGJ@g??N?X=@ @f`X` 6.HЃ(=|N?^:0SGJ@g??N?X=@ @f``|gz| g,|g0.g09gBy09g/9?NKj\`S0.g D` NqLN^NuNVH>.<. -y-yBnBnBnBn=|Bn=|-y -y G-f=|N?^>`BnBE` G-f0.g =|`A)0pH|g0.g0. G|0=@` G0gBn0.fRE`l0.gSE0.f^##HnHyNSSF0f0.f30.g0.@`0.@`*JElHnHnNS"PRE`HnHnNS0.g nX P `( Dhf . nX P` . nX P0RG`, Deg DffN?: @f0<`?.?NAX-y-y09g0`0.f>0.g nX P !n`"##NO nX P RG` DsfN?: @f0<`|0.f nX(P`"0.f0N?^: @f0<`LSn0.g0gA)0PH|gB09g/9?NKj\`SRGf0L0N^NuNV?.N,@TJnn0<`,?.?<>NX=@g3T0<``0<NqN^NuNV nSh0(J@m n R @H|` /.N&LXNqN^NuNVH*n 0- |g0- |fm 0- |fm@ Bm0- |@g0<` -f / N>8X0- |g UR m `<0- |g2m UR . H| g ml . H|`V/ N%Xg m@ 0<`>0- |gBm. H|`$`"0-S@;@m . URH|NqL N^NuNVH *n(n`":,A>. Eo>`>. 0g80n ?// N#LO 0H0Hє0,g0l0@l JEf/ N%Xg0<`":,A0. Emx=n 0g<. 2. HHAA`<. 0n ` 0@0H0g?/ ?, N2vP>J@n Gf&l@ ?<0.FH/?, N(P0<` 0. f0<L0N^NuNVH*n>. <.(n0, |g0, |fl 0, |f0<` ,f/ N>8X(9lBE`RE0HSF0J@m/ ?/ NHO g0, |fd gX0, |g/ N%Xgl@ `:&l`R g H| f gH| f/ N%Xgl@ Bl0L8N^Nu o/ f pJWf`g fS `pNuNV?<?.B?<BNO -@Bg?./<?<BNO -@Bg?./.?<BNO V|N^NuNVH*n 0- |f f0<`Rm. S UHL N^NuLrWf SNuNV0.f##` nl#:#>` n4o#Z#^`A -@ n]|=@g 0.D@=@0.|=@0.g0 .2.HЁQ @##-y-y0.@=@0.|=@0.gl .2.HЁм0 @##-y-y0.gHnHnNWJP` ##-y-y0.@=@0.|=@0.gr .2.HЁмh @##-y-y0.f0.gHnHnNWJP` ##-y-y0.gF##-y-yHnHnNXP##`##N^NuNVH *n(n Bn-L-U-mBEK.g>OG|JGn|m`NB0T@|dm0<d@D@`B0D@S@|dm0<d@?NKTOHy/ NWJPO`&0-H@$-JGg FGQ0<0dR@0.BAQ/,>QQԟ׆G|0QB`Rn0.g(nB`0R 2.HmB`d .6.HЃR(@ nH|0fRZ$` R$H|9n nH|0f(n R*@NqfSE .6.HЃ @B n0L0N^Nu#HyNQXONuHyNQXO 9Nu#HyNPXONuHyNPXO 9Nu#HyNQXONuHyNQXO"9Nu#HyNPXONuHyNPXO"9Nu#HyNQXONuHyNQXO$9Nu#HyNPXONuHyNPXO$9NuNVH n "(fJg"¼м@ LN^NuNVH nB fB`м8 LN^NuNVH n g jDh <r`V$<H@J@fBH@ @bQB @bYB @?bUBJ@kSB&<"F€JHBЂJj LN^NuNVH n "($HBJ&<BnDB Bcp`*` B c <`6<BtjABJjD LN^NuHHy//NRPOL/WXONuHHy//NSPOL/WXONuH o#HyHyNPNRNPPO o L/WXONuH o#HyHyNPNSNPPO o L/WXONuH////NUvPLNuH////NUPLNuH////NUPLNuH////NXPLNuH////NWJPLNuH o#HyNP//NUPLNuH o#HyNP//NUPLNuH o#HyNP//NXPLNuH o#HyNP//NWJPLNuH o#HyNQ//NUPLNuH o#HyNQ//NUPLNuH o#HyNQ//NXPLNuH o#HyNQ//NWJPLNuH o0H#HyNQ//NUPLNuH o0H#HyNQ//NUPLNuH o0H#HyNQ//NXPLNuH o0H#HyNQ//NWJPLNuNV n " n $&JjFFJjFFN^NuNVH~ n $& n "(JfJf`n*(fJf "`ZNVH.<`b fcBCD!E xzH@:HB<M8NF E6cH@`~GG~GGH@HBҁрSEg:jփՂ`2 E c&tE Ec 6HCBBHBE|.F΂Ć꫆Jk*RA҃тgRD Dcpr``xg`fSDJf"Jf`hHAJAf HA rD `0BADH@~GcH@`0z`XEJ@gREGcH@Ejpr` |.F΁†SDLHDЄJj LN^NuNVH n $& n "((fJg*fJg H@:HB<MNE1F,<.*FHÁ…HC΃ƅąxHB<:HC>܇ۄHAHB>܇ۄH@HC>܇ۄ>ڇلHDHEHF8:|HB>ڇن>؇HC>ڇنH@HB>ڇن~>(JkڅلSG <"FHD„v 歊ȀۆنGk Gc xz`xz`SGOHG؇Jj LN^NuNVH n $& n "(*fJgx(fJgt H@8HB:LME,<.*FHÁ…HC΃ƅąb fbRD1DHBHC.h~>ЇHG~` B@H@:|FH@HAHF<0BAHBHC8:ǒxjSG҃тd6BBHBHC,h ,ІHF|` B@H@:ƒ*HEHE8BEjSF҃BdHG>H@HA0,h ,ІHF|` B@H@6HC:2HAH@xDjSF҃dhrHF<x8(z <"FHG‡v 殌΀݅߅Dk Dc ~|`~|`SDLHDބJj LN^Nu[3][ Sorry, this program does | not run in low res... | ][ Abort ]%c:%s\*.SETVERSYS.SET@@rw%s %s %s @@@E[3][ | Sorry, maximum file size for | copying is %ld Kb.| ][ Skip ][3][ | Error opening source file: | %s | ][ Retry | Skip | Abort ][3][ | Error creating file: | %s | ][ Retry | Skip | Abort ][3][ | Error reading file: | %s | ][ Retry | Skip | Abort ][3][ | Error writing file: | %s | ][ Retry | Skip | Abort ]%02d%02d%02d%02d.%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d Logging changes from %s ... Logging full backup from %s ... [3][ | Sorry, you can log a | maximum of %d files... | ][ Abort ]%s*.%s%s%s %s %s%s %s No files to backup. Press any key...NA%s%s\%s%s%s%s%s%s%s copying %s ... ** %s skipped ** Failed to set archive bit for %s... A total of %d files have been backed up. ** %d files were skipped. Press any key... Creating folder: %s ... [3][ | Error %d creating folder: | %s\ | ][ Retry | Abort ]PPPP$PP)0r)LCheck/Set ClockPaths to backup from:Find______________________________________________________________________pppppppppppppppppppppppppppppppppppp______________________________________________________________________pppppppppppppppppppppppppppppppppppp______________________________________________________________________pppppppppppppppppppppppppppppppppppp______________________________________________________________________pppppppppppppppppppppppppppppppppppp______________________________________________________________________pppppppppppppppppppppppppppppppppppp______________________________________________________________________pppppppppppppppppppppppppppppppppppp______________________________________________________________________pppppppppppppppppppppppppppppppppppp______________________________________________________________________pppppppppppppppppppppppppppppppppppp______________________________________________________________________ppppppppppppppppppppppppppppppppppppInfoVerSys:SharewareCopyright 1989 Tyson GillThe Programmer's Version Backup SystemLoadSaveBackup AllQuitBackup NewPath to backup to:______________________________________________________________________ppppppppppppppppppppppppppppppppppppFindFile types to backup:______FFF___FFF___FFF___FFF___FFF______FFF______FFF______FFF______FFF______FFF______FFF______FFF______FFF______FFF______FFFVerSys: PathsThebe put. The path can be a root directorypaths to backup fromare the foldersThepath to backup toin which you want your backup copies tois the foldercontaining the files you wish to backup.such as F:\ or a path such as A:\BACK\.The source files will be copied intoa time-date subfolder in the destinationpath. For example, when backing up fromD:\SOURCE\ to F:\BACK\, copies will beplaced in a new folder calledF:\BACK\99999999.99\ where 99999999.99Nextis the current date and time.VerSys: Distribution PolicyThanks!VerSys is distributed as shareware. Ifyou like it, please send $15 as payment.I will file your name for support orprogram enhancements.mail or on Compuserve at 73467,777.I hope the program makes your filebackup more efficient and reliable.Send to: Tyson Gill 12114 Kirton Avenue Cleveland, Ohio 44135Report any bugs or suggestions to me by or not they have been changed since theall files. All files are copied whetherlast backup, if any.NextTheoption starts a backup ofTheoption starts a backup ofbackup newVerSys: Backup newVerSys: Backup allbackup allof only those files which have changedsince the last backup. The archive bitis used to identify altered files.Check/Set ClockVerSys uses the GEMDOS date and time.Your system may set the Xbios clock butnot the GEMDOS clock. Check and set theclock if it is not correct.Mo/Da/Yr = __/__/__999999Cancel24Hr:Min = __:__9999SetVerSys: Typesincluded in the backup. They can includeThespecify the file extenders which will befile types such as C, H, and RSC. TheUse thesetup in a file.Nextfile types to backupallows you tocharacters * and ? are valid wildcards.VerSys: Load and SaveSaveoption to store the currentto read the setup. The default fileVERSYS.SET is automatically loaded if present.Loadcan then be usedVerSys: Introductionprogram files in folders with a timeVerSys is a backup utility speciallydesigned for programmers. It archivesand date name such as 89040114.20 whichis the backup folder created on April 1,1989 at 2:20 in the afternoon.You can choose to backup all files oronly those files which have changedsince the last backup was made. In thisway, you can easily maintain anorganized archive of all programrevisions.Next4JPs#%#%*Mr#%#%'L#%q#%&#%Kn#%#%*23= >XY'#%,BCGKOPTXY]abfjkosw{())>?OPTUgh()(%B)Ck(l''$K'Lu)v%$# $ ! 5 6 S T t  u ) ( (    + , 0 1 K L W  X k l    ' ' #   7& 8 `( a (     )  " # L) M s& t | }    (     @$ A h' i r  s x y   % % &<(=f)g&$( >!?J K$/  & PK l$$$ $ $ $  $ 0 $L $C%7 h &C-  C-&$'  /-!",#H$d %&'() * +(,D-`.| /(,&($@\x '   ( '  $  (< 'X &t&!  ,&!&($8T # p "  #     (,'4'P !l       % & 0 L &h & " - '%'', ! H ' ! ,d&((%     ! ( D  `' | &  #&$  @ ,\&x$$%'(   % < # X ' t    'K!'% H"(#x$  CON:AUX:PRT:@$@H) (( (( AAAAAABBBBBB @$@Y@@@È@jA.AcAׄCAy7DxCyٝFnH=c)\I1sKP1P=M8O?ZwH02g$uOs<@ Wi??!TD-@ !TD-@$?!TD-?.B9??*                     J    X  "             $  $ "(>  $            n f    2 & &      "         *    4 0   ,  *&  b"              ((L \8"&J  J 6"  (l$& R.4: " (X&>&. . 4$f.,*   ."($$  , >Ff &~8 &&   r ,6$f@D$dHJ8Pt@D&8  ^& 0Hv*,,2 .(*T   D(    8,J f2 0" Db`2d,n,*.. G>HDWAIT DOCH>/ PAUSE DATK>PAUSE PRGM>TIMER ACCP>WAIT PRGR> HDWAIT.DOC The files in this archive have been provided by the following Compuserve Atari Forum members: Jim Ness 74415,1727 Tim Rogers 73637,3055 Mike Lindsay 70007,3615 Any ST user whose system includes a hard disk drive will find one of these programs indispensible. Are you tired of waiting for the drive to spin up and initialize? Perhaps you have a BBS and need to have a way to restart your system in case of a power failure. Maybe you want to automate your system for accessing other systems at off-hours. These programs will allow you to do these things and more. If you have your system set up to autoboot from the hard disk, you'll find that the ST seems to ignore any floppy disk in drive A:, but it doesn't really. It still looks at drive A: first (because of this it is wise to keep a formatted disk in the drive, even if it is blank, to prevent delays in the boot process). But you still must wait til the hard disk finishes its whirring and buzzing before you can turn on the computer. That's where these programs come in. With one of these programs in an AUTO folder or the accessory (you don't need both) on a floppy in drive A: you can turn everything on at the same time. Because the hard disk hasn't initialized yet,the ST doesn't know it's there. So the ST looks at the floppy in drive A:. If it finds a desk accessory or AUTO folder with .PRG files it will execute them. What these programs do is simply wait a short time, to give the hard disk a chance to initialize, then cause the computer to reboot. This time when the computer comes back to life the hard disk is awake and the auto- boot process takes over. It will ignore the accessory or AUTO file on the floppy and boot normally. Simple as that. These programs have been released into the public domain and may be freely distributed. It is requested that all accompanying source and documentation files be included and that proper credit is given to the author. While these three programs have been written with care and tested before release to assure that they will cause no damage to your hardware or other software, no guarantees are expressed nor should any be implied. TIMER.ACC TIMER.PAS This Accessory and its accompanying source code was written by Jim Ness. Jim has written several programs for the ST, the most familiar to CIS members would be QUICKCIS program for navigating Forums and E-mail. For the best description of TIMER.ACC read the comments in the source file: TIMER.PAS PAUSE.PRG PAUSE.DAT This program was written by Tim Rogers. It is well crafted and the most versatile of the three. The default delay is 20 seconds. If you need more or less just include a text file with a single number (the number of seconds of delay times 50). For example: 500 = 10 seconds, 2000 = 40 sec. Make it a straight ASCII file and name it PAUSE.DAT WAIT.PRG This program was contributed by Mike Lindsay of ST Informer Magazine. The author is unknown but it is in the public domain. It is the smallest of the three and was probably written in assembly. It will give you a visual countdown while waiting. It will give a straight 20 second delay. Enjoy! Ed Waldorph 73637,42 500 `lQ` Efv*oM m HPHUBg?<JNA(m)m -:gS)@ -OK1PC#HNHx?<HNA@)@l/?<HNA)@h&@)@XЬl)@d)@`ARCpr Ѝ"QHNFALNHz2?< NA\pdAxr0XQ)K\NN < |a6RGk0Gg`a(0GVfA1G<ap??<?<NM\Nu??< NMXNuHn 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0Nu 2$NuE`B<gJEgEjCDEDF Fe( F dF8BCHC` F0bFHC8v` HD8HDkDуdQRBNuDdBDA@kgAр[SBk0NuJlJBk&Nu0g H@rB JkЀ[` BbNuJBj prtNuHPAJgPpr$< _Nup _NpNNuCDEJEgJBgJjBEBQ*HE?<>0rHGGdHGGdSWDуdi\?<>0rHGGdHGGdSWDуdiN?<>0rHGGdHGGdSW2 H@N?<,>CEdGH@0r`?<`JBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNuprt|=|  g +g -f .g20  b 0e 9b da`RF` .f 0e 9b dajSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`HJjDDDS4</NJFkSFk&aQN`Ha"FFaQL8N 6.JgtBnNupr$<NuJBk4<rpAC v JBgJjv-| Bb BkH>aaNRFBdL8?N <JBga2SF Be BgQRB`ApdR e <rRF&0xafEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`2:HQ A dNAXJ@jNNuNFJ@g,A,BBgHQ?<=NAP FJ@k??<>NAXtNutNuvN)@p `H@)@prtNAHplrtNB 2pNpNpapaprapalpalpalpaTpaTpaTBp'a?<NNT@B){L9|0<rtNpapap9@p`pvNv`v`vj`v `v`v`v`?2(g"P@g2RADAH""l`r2oZAe 1@#)I`Nuk1@Nup NN"l`dpNAtrdJhk\QpaNH ld$l`"Hg0 k&@ S`g k#&@0+S@H3 Q&f)I`LNuApN0A0pN0N$N$BS@kH2QNupC ұd"X0Pg"RA$D#Nu"X0Nu _0HpN0E ұeHHQ0)NR$_$ZR@H`2QNu$Y0gHR@@"D%$X0P2g# R@%Nu(* 0(iN$E 4R`Q$D 4R`QˈNF DNF ENua NuNF IHPg"B  g &gN"JBjt BNut`Rptr ae OgT Xgj HgSRB ae Fb$0k  c_  c b退`tSJBkNzRB0 b b瀀`RB0 fрd`H&NրNjNuC l ", Ⲭ dfѬ SA 0! Nup"NNNJfNup#`N2N"p`tdbDA0Hg<<R@f|0HN*JFk*HQ/??<?NAXfX ENuJkpNp`p`\F( &I.` ??<NMXJ[j E&DNuak NupNuakfpNupNtddA0oH?<?B?<BNA Jk.,?<?B?<BNA *kBg?/?<BNA JkNuNp`pNu)H9@Jp4NXP'J&f H LNu P&NuQ'` J,'fJ,&gHA#ȇeC! B,&LNu-W)K20, 8k8@ gJl&f"Nu , 8g"P 8 @/, 8NX  8fQ 8J,'gNupB <``L@ H)l26)z @W , Jf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C\fApNNNBHP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Error # ][Abort]\f.B &lX)K\)ld` lp ,BQjNup(NV"l`Yd&-KNN"l`YepN&#k"C-KN"Cփk փk2##`փk"`2`& $Y8gHRDD*D%H8#$c2g# HRDD%H`p"l`Qd&&| NuN"l`QepZNNpA:\AUTO\PAUSE.DATNDN`&<x*<NJBfN&pINHPNpA:\AUTO\PAUSE.DAT4r"_NpN/p"NRCHN|AHNANpNN4A z0 NNNNNpNNppNNNp Waiting HPAN&<x*<NN,"_NHPNp) seconds for Hard Drive Initialization..."_NNNNpNNpqNNANNANXNBA C3| NAXNu/")x itg$H@//?) ?<@NA LJof _Nu _4` _t6 Bo r aSB`2aNH? _r ar a/L?Nu _r aN _4` _t"x0HgJJjDxvCXzp cRЀ`|e W0R"f`6 _4` _t2xJAjDAxvCXp0 2H@0RJAfJg<-RBlCSBr aQSCaQN _"_v` _"_60`JfQ$ItRJf` _4v` _46"_JBjtJCkgCe4` BSCr axQSBkalQN _6kfv2_t Cc"4YBv` _6kfv"_t Cc4QBvSBkr a(QSCC" A0 9c^a JgYC`NH "oA/ NFL Nu(_"_/ A) g  f$)Jtf&H //?) ?<@NA LJovfNu$ix&i|fa`pRgf#Jx`H")x it#Hxg$H`//?) ?<@NA LJofLNu )f NuHyA` Hy0< LN@REWRITE required prior to WRITE or PUTDisk or directory full yX f#X#\Bh6Nu&_a"h $h43_2NH`&_a"h 3_2?/ L`Nu&_a1_$1_"1_1_1_1_1_,1_*1_(1_&1| N&_aj1_2!_.1_$1_1_1_1_1_*1_(1_&Bh4N&_a41_2!_.1_$1_1_1_1_1_,1_*1_(1_&Bh4N&_a1_2!_.1_$1_1_1_1_1_("h3_$_0)gk"h (JS@"Q"Bh4N&_a1_h1_Z01_N1_L2 @b"y\@$qBh$1|jBhr!jLT1jPXj$"jHA1qHBhJTA01hH1@P1jRRBhf1|B1|D1j>\1j@^1j:`([g1j6d1j8b`BhbBhd1|F1|@!|`l1|@pNa"hBQ$hB5| NuaĠ Nu&_a$h\BZ4"_p$Q"_p$Q N&_a$_ N&_a$_ _20/ ,_N&_an1_>1_<1_:1_81_6h6N#`#d,_,yd y`N _(N _0/Ho |&3JyfXNX/#"`"|a "_a"|aJyg y"`9BgNA/ ?< NA\Nu09Nu09ByNu _3NByNu *** *** Copyright 1986, CCD and OSS, Inc. 2J D &    `O < N/<?<NA\?</<?<NNAPJ@g?</<?<.. U>HD_LOCK ACC V>*HD_LOCK CNF Y>HD_LOCK TXT [>` ``>>> TURBO-C <<<< for ATARI-ST Release 1 (C) 88 Borland International G#J$VH3 k  Ј<.@// ?<?<JNAO pBAA4|`g |`.gg4TB|"O4SBQBt SAe!dB)SAe !eHiR@`/ R@Hzd"k, ON0? 9 g @N 9 g @NN?<LNAHQO,H6NIKHWHoHo "M NN fO pN ??/??p??4<2<>B@N 6O ??/??p??4<2<>pN 6O ??/?4rB@ NN \ONLGE0 NN $8pz`rtv g`B2RER@|m޸|fn??/?4rp NN \OBE`PPRE|m0+2+0+B2Nh7@pkAN0+NrANB@AN7@[@o Kr0+N0+N~0+NrAN0+2+n??/?4rp NN \O|pv p@rvf??/??p??4<2<>pN 6O ??/??p??4<2<>pN 6O B@N 0POL|8NuH41JI<) R@J@mB@`r4JAP CIN) R@J@mB@`r4JA CG' R@|mpL<NuB?< NA\##vd!hv/9?< NA\NuXBRAHDLO0/f ydN0/AJ0g3?9?

NAXONu/?<;NA\ONu//??<@NAO Nu?/?<GNAPONu?/?<d, $  N0  *>$  &  ,  ,&   -=-=-=-=-=-=-=-=-=-=-=-=-=- Hard Disk Lock -=-=-=-=-=-=-=-=-=-=-=-=-=- O Thanks for Dloading this, now that you have un-lzh this rename the file named HD_LOCK.ACX to HD_LOCK.ACC and put it and the other file in the root directory of drive "C". O This will in effect WRITE PROTECT your hard disk partitions you can set your own configuration, or click on and off the drives to write protect. This will work with all types of hard disks and controllers/adaptors, as well as all TOS's execpt the old disk based version (will work with 1.4 devs) O This is a very good example of German programing, I think you will love as I do. oooOooo . hD.. hDQUIKLCKAPRGDQUIKLOCKACCD2QUIKLOCKDOCD`\`|J@kN4Vx @fH@ @f <hNs0/AhJ0g.k/g$??< xNXpNu??< xNXpNuN4VxNqOE|p|м#x// Bg?<JNAPa/<?< NA\O < `Sf ?</?<1NAPOJ J Quick Lock 1.2 (the Software Drive Protector) Copyright Branch Always Software, 1990. All rights reserved. written by Ignac A. Kolenko This software is FREEWARE! It must not be sold. Also available from Branch Always Software: Quick ST Price: $19.95 US. Price includes Quick Index and Quick View. Compatible with color, monochrome, and 19" monitors. For the fastest system possible, buy Quick ST at an Atari dealer near you or send $19.95 U.S. plus $2 s/h to: Branch Always Software PO Box 2624, Station B Kitchener, Ontario N2H 6N2 CANADA Compuserve: 73657,2714 BIX, Delphi, GEnie: DAREKM Usenet: watcgl!electro!brasoft!mailbox B?< NA\O/?< 8# ! 8v#d!$vNA\O?</<R?<=NAPO38kb/<:/<?98?<?NA ?98?<>NAXOA:CdRRRRRRRRNu\LOCK.LCK f  `P `ޭ \&O(zKM+NA,#+PO8\,f.J$gD n A//Bg?<JNAO `.NB+SAz 3Nu` ar-@$NBg`X zT(f?<LNA0/:RNuN@NuA NMJ@"z$z zNA NN`A NA`/B?< NA/@ x hn.8`,`"h(.NA\ .NuA8\"Hpr2QC!IC"!I$zE"0r2QNuNVBgNTBgBgNX?<NTBgNTBgBgNX?<NTBgNTBgBgNX?<NTBgNTBgBgNX?<NTN^NuNVHnHnHnHn/.NO?.?.?.?.?.?.?.?.BgNO?.?.?.?.BgBg0.2.HA?0.2.HA??<NO?.?.?.?.?<cBg/.NON^NuNVHnHnHnHn/.NO?.?.?.?.BgBg0.2.HA?0.2.HA??<NO?.?.?.?.?.?.?.?.?<NONxN^NuNVHnHnHnHn/.NO?.?.?.?.?.?.?.?.BgNO?.?.?.?.BgBg0.2.HA?0.2.HA??<NO?.?.?.?.?<cBg/.NOBg/.N\=@?.?.?.?.BgBg0.2.HA?0.2.HA??<NO?.?.?.?.?.?.?.?.?<NONx0.N^NuNVH>.?9:^?9:T?9:?99?<c?/99NOLN^NuNVNuN^NuNVH09fNz39:By:B <NB#96 96f3:B09^|gHy?98N\394Hy:^Hy:THy:Hy9?<BgNOBBgNn\09:BfN#)$9#)(9<#) :V#),:"BgHn?<GNPHy:tHyVNP/HnNP @B?<NT??<NX,BG`N 2<aHf&0<GH/ </N  y9p Gf gC:tRG GmHy:tN8XA:tHЈ @H|\g:Hy:tN8XA:tHЈ @\Hy:tN8XA:uHЈ @BHy:tN8XA:tHЈ/HyZNP @BHy:dHybNP @B?< Hy:BgNPHy8Hy:dHy:tNO BgHy8?<=NPH*Jm6.Hy:*/<??<?NO ??<>NXBgNvT9:g 38`By83`6HnNX n(f"09:Bg/9?<N\`N409^|f09:Bg/9?<N\`N4LN^NuNuNVHBBgNn\?<NTBG`"?NX`Hy?<N\`4:</99NXHnHy:dHy:tN.O Nx0.gHy8Hy:dHy:tNO BgHy8?<=NP=@JnmHHy:*/<?.?<?NO ?<NvT?<N|T?.?<>NX`Hy?<N\`b:</99NX<<38`@:</99NX<<`&`"` Q@|c0<@ |"|4N0gpHy9?<N\BgNTLN^NuNVH *n(n `f L0N^NuNVH *n(n >.`0SGJ@f L0N^NuNVH. *n <.`0SFJ@f L N^NuNVH<*n(n <Ю&@?<_/ BgNP?<P/ / NO `H|\f$KRf?< R// NO L<N^NuNVH<<:BG`|0.gR0RFA:*02RG y960RFA:*02REA:0RFA:*0 y96p`"RGRF0RFA:*02REA:RFRG Gm~BG`0 yv0p0A:HЈ @HH@A:0ipRG GmLN^NuNVHBG`0A:0ip yv0p0A:HЈ @HH@RG Gm<<:BG`R0RG y9602RFA:*0REA:02RFA:* y960p2RFA:*RG GmLN^NuNVH *n(n BE?<Hn?< NP?<HnBgNP y:" h< A  y:" hT /9:"NXBG`n?<?<NXH| f`TH|fSGJGlBGAB0pA p`Ap0RGA?<N:T Gf`0g/9:"NX0.g0/ HnNPf0<`4`Hy?<N\0<`0.g?</ HnNO L0N^NuNVH>.?9:^?9:T?9:?99?<c?/9:"NOLN^NuNVH>.BF`b0<FH/ </N  y900 |f4 y960`H|fB?< N\#:Z#:&A!/9:Z?< N\0<FH/ </N  y9 p 1|B0<AF y0g/9?<9N\B?< N\#:Z!:&/9:Z?< N\`h y960`H|f,0<FH/ </N  y9 p 1|"`*0<FH/ </N  y9 p 1|RF FmLN^NuNVNNfNN^NuNVHBG`40@A) 0=@0.A"HЈ2AA) !RG GmLN^NuNVHnHnHnHnNLOBn`R2.A"20|0.2.A"20AA2.A"12.A"20|0.2.A"20AA2.A"12.A"20|0.2.A"20AA2.A"12.A"20|0.2.A"20AA2.A"10.A" 0 =@0.A"00`0.A"Hp NPX`0.Hg$0.AdHЈ2.A"! `0.Hg$0."ABHЈ2.A"! `0.Hg$0.A) HЈ2.A"! `R`N`L|gT|gL|g|g |g|g.|g&|gT| gNRn nBmN^NuNVHBG`L0AdHЈ/NPX0AdHpNPX0AdHpNPXRG G2mLN^NuNVH*n g @A)0*L N^NuA8\"Hpr2QC!IC"!I < ` <NV <CNV <ANV <2CANV <5` <3 CNVNV <6tANrC N <4CANVNV ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklwxyz{|}~#$$ ( $%"        %   "   %   '* !( $%%%%                         ! " #m n o pq rs t !u %v  ( $$%& '()"* # +  , # - '.  /0 1 2>+++++++, ,",$,(,*,,,B,D,F,J,L,N,^,`,b,f,h,j,,,,,,,,,,---$-&-(-B-D-F-L-`-b-d-|-~----------........ .".&.(.*...0.2.6.8.:.>.@.B.F.H.J.N.P.R.V.X.Z.^.`.b.f.h.j.n.p.r.v.x.z.~.....................////(/*/,/D/F/H/\/^/`////////////00000 0"06080:0J0L0N0X0Z Quick Lock 1.2 Clicking repeatedly on a drive letterwill toggle the following states:C:normal, not protectedC:write protectedC:fully read/write lockedClicking Password allows you to entera password for your protection. PWExit exits normally but forces you toenter the password next time youaccess this application.Exit Quick Lock 1.2 The ST Drive Protector(C) 1990 by Branch Always SoftwareProgram by: Ignac A. KolenkoTHIS PROGRAM IS FREEWARE. IT MAY NOT BE SOLD.Drives AvailableA:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:WP AllLK AllUnlock AllSaveLoadInfoHelpPasswordPW ExitExit Quick Lock 1.2 This program is Freeware.It may not be sold.Branch Always SoftwareBox 2624, Station BKitchener, Ontario N2H 6N2 CANADAQuick ST is available from all fineAtari ST dealers for $19.95.Watch for new Branch Always productreleases March 2, 1990. Great! Quick Lock 1.2 Enter Password:2 6 < $,F$&F. ",F$H.  $     .                                 " *.  ( , 8 V  6   $$&. "$$X*   00"