0010 ^ma8 74 ^ju 0020 DDCOPY - Copyright 1985 by Michael Markov 0030 ^sk0 P.O. Box 17, Lockwood, N.Y. 14859 USA 0040 ^sk1 DDCOPY (Drive to Drive COPY) is an additive copy routine that I developed for 0050 the SWAPTAPE program. It allows me to copy files from the media sent to me 0060 by contributors onto a "Master" disk with a minimum of effort on my part. I believe it 0070 could be used to advantage at Conferences, Chapter Meetings, or whenever people 0080 want to exchange files and two mass storage devices are available. 0090 ^sk1 The following features make DDCOPY easy to use, and SAFE: 0100 ^sk0 ~1. The program is menu driven. Once you have responded to a few prompts, 0110 your HP-71 takes over, and you can go back to discussing 0120 your favorite program. 0130 ^sk0 ~2. Existing files will not be overwriten if some filenames on the destination 0140 medium are identical to filenames on the source medium. 0150 ^sk0 ~3. If you run into a problem, and some file cannot be transferred for reasons other 0160 than "Invalid Medium", "End of directory" or "End of medium", 0170 DDCOPY does NOT error-out. Instead, it goes on to the next file and keeps going until it 0180 has transfered as many files as possible. Then, it list the problem file names, and the 0190 associated error message. This allows unattended operation. 0200 ^sk0 ~4. If you have the EXTFL80 LEX, you can copy HP-41/75/80 files just as easily as 0210 HP-71 files. 0220 ^sk0 ~5. The HP-71 COPY function copies the entire source file to RAM (if there is enough 0230 available RAM) before it stores it on the destination medium. 0240 This makes DDCOPY ideal for HP-9114 <==> HP82161 file transfers, since this helps 0250 conserve battery power. 0260 ^sk1 This version does not copy files with names that do not follow HP-71 naming 0270 conventions. I consider this a major deficiency. I am working on an improved version of 0280 DDCOPY that will take care of this problem. Also, the improved version will allow the user 0290 to NOT copy selected files, such as commercial products or personal information. 0300 ^sk1 USER INSTRUCTIONS: 0310 ^sk0 DDCOPY is easy to use: First, hook-up two (or more) drives and some 0320 DISPLAY IS device into your HP-IL loop. The display device can be any 0330 video interface or some convenient printer such as the HP82162 thermal 0340 printer. Second, execute DISPLAY~IS~. 0350 ^sk1 You are now ready to run DDCOPY. The program should then ask you 0360 to select the source and destination drives. After each prompt, key in a 0370 number. For example, to select the third drive on the loop, 0380 press [3] [ENDLINE]. 0390 ^sk1 The rest of the work is done automatically by your HP-71. Further user 0400 intervention should not be required unless you run out of directory or mass storage 0410 capacity. Should this happen, the HP-71 will attract your attention with a few 0420 beeps, and ask you to change the destination medium. After you have 0430 replaced the medium with an initialized replacement, you can restart DDCOPY by pressing 0440 [ENDLINE]. DDCOPY will then transfer any as yet uncopied files to the destination medium. 0450 ^sk1 After DDCOPY has transfered every files it can, it will list on the display device 0460 the names of any files it could not transfer, with the associated error messages. This 0470 gives you the opportunity to take care of any such problems. Usually, the problem 0480 reported should be "File not found" or "Invalid filespec" -- both of which 0490 indicate that the name of the source file somehow does not follow HP-71 0500 conventions. This may occur with temporary HP-75 files (".TEMP"), and with 0510 HP-41 files. 0520 ^sk1 Occasionally, you will come across "Invalid medium". I have found that 0530 this last message is frequently associated with low battery voltage. When this happens, 0540 replace the battery packs. Also, make sure that the destination medium has been 0550 initialized. 0560 ^sk1 TECHNICAL DETAILS: 0570 ^sk0 Most additive copy programs I have seen use some form of CAT$ or TCAT$ to 0580 get the name of the next file to be transferred, and to make sure that there is no file 0590 on the destination medium with the same name. The laudable intent is to 0600 avoid manual entry of the file names to be copied, and to prevent the possibility that an 0610 existing file be accidentally overwriten. However, this procedure entails 0620 TWO directory searches for BOTH the source and the destination medium for EVERY file 0630 that is transfered. This caused undesirable wear, and should be avoided. 0640 ^sk1 DDCOPY (lines 44-52) goes through the source directory only once to get all the 0650 file names on the source medium. These names are stored in a text file 0660 named "TPFL" (default name -- you can substitute any name you want). 0670 There after, DDCOPY starts transfering the files one at a time (lines 54-61). 0680 ^sk1 You will note that DDCOPY does not attempt to check the destination medium for 0690 duplicate file names on the destination medium. The reason is that the HP-71 COPY command 0700 will error-out with "File~exists", WITHOUT overwriting anything... at least, for drive to 0710 drive copying. 0720 Thus, DDCOPY helps reduce wear the the absolute minimum. 0730 ^sk1 The rest of DDCOPY takes care of error recognition & handling, to 0740 include ENDing the program when you encounter the End Of File of TPFL, 0750 and branching to various lines of DDCOPY depending on the drive / COPY 0760 errors encountered. 0770 ^sk1 GENERAL COMMENTS: 0780 ^sk0 This version of DDCOPY can stand a LOT of improvements -- I have 0790 spent almost no time on combining like code sequenses to minimize byte count. 0800 However, DDCOPY works as intended. Therefore, I hereby submit DDCOPY as a utility program 0810 for the CHHU ROM project. 0820 ^sk0 HAPPY FILE COPYING! --- Michael Markov