TTTTT U U RRRR BBBB OOO CCC OOO PPPP Y Y T U U R R B B O O C C O O P P Y Y T U U RRRR BBBB O O C O O PPPP YYYY T U U R R B B O O C C O O P Y T UUU R R BBBB OOO CCC OOO P YYYY version 2.03C by Pierre J. le Riche 1991-95 A Speedy Multi-Volume File Transfer Program Technical Reference *************** *Introduction:* *************** TurboCopy version 1.00 was completed during October 1991, since then I have constantly updated the program and added new options. TurboCopy progressed until version 1.15 when I decided a complete rewrite has become necessary. From the outset I wanted TurboCopy 2.00 to be the fastest and most versatile copy program available, and yet keep it as simple to operate as possible. I hope you will agree that I have been successful in this endeavour. To maintain high speed and small code size I have opted to write the complete package in 8088 assembly language. At the moment the source is just under 10,000 lines long. I am not distributing the source code for version 2, but you can find the source for TurboCopy 1.15 on Simtel20. (If you can yank my arm hard enough I might consider sending you the source for version 2, but that is only in very exceptional circumstances!) **************** *Compatibility:* **************** TurboCopy is compatible with the xcopy command line except for the /e and /p options that have been given new meanings. TurboCopy has been tested with Christoph H. Hochst„tter's FDRead and works fine (However, since version 2.01, TC also has FDRead emulation built in, so you would normally not need this driver). I also recommend that if you want even more speed, that you use his FDFormat program to format your floppies with sector sliding. Due to TurboCopy's internal cache, you are not allowed to TurboCopy to a phantom floppy drive B:. Furthermore, TurboCopy runs on any IBM compatible computer under DOS (version 3.00 or later), OS/2 or Windows. TC will automatically disable it's built in cache under OS/2 and on some older XTs, due to compatibility problems. IMPORTANT! Disable TC's built in writeback cache with the /Z- option (or in the setup with the /U option) if you intend to use a cache with delayed writes on your floppy drives (read caching is OK). Two writeback cache programs competing for the same floppy disk at the same time could lead to an unhealthy state of affairs (at least for the floppy)! ********************** *Memory requirements:* ********************** TurboCopy will utilise all conventional, extended and expanded memory if it is available (up to a maximum of 3072K). For the cache to be enabled, TurboCopy requires 384K conventional memory. With the cache disabled TC can operate with as little as 196K conventional memory. During a DOS shell TC will typically occupy about 25K conventional memory. Do not load any TSR programs while in a DOS shell for this will fragment your conventional memory pool, and TC will refuse to continue. ******************* *Errorlevel codes:* ******************* If you want to detect any errors that may have ocurred during a file transfer fromout a batch file, you may expect one of the following return codes: 0 = No error ocurred, the copy was successfully completed 1 = The user tried a illegal combination of options, i.e. A and M together. 2 = The user pressed break or selected "Quit" from a prompt. 3 = An error ocurred from inside the floppy disk cache. 4 = An error ocurred during memory allocation 5 = A bad or invalid source path was specified. 6 = A bad or invalid destination path was specified. 7 = TurboCopy couldn't match any files to copy. 8 = No source path specified. 9 = You tried to TurboCopy to a phantom floppy drive B:. 10 = The source contained too many files for TC to handle. 11 = The source contained too many subdirectories for TC to handle. 12 = TC couldn't save your configuration (encountered with TC/U). 13 = A nonexistant or corrupt list file was specified. 14 = The TC.COM file has been corrupted. 15 = TC was unable to delete a file in manual file selection box 16 = TC was unable to rename a file in manual file selection box 17 = Bad multiple destinations were specified **************** *Error messages* **************** TurboCopy checks for numerous different error conditions. I have tried to make TC's error messages as informative as possible, and therefore you should not experience any trouble determining what went wrong in the event of a failed copy. For completeness I will include a list of error messages with a short discription for those that might be a bit confusing: Unable to reclaim conventional memory. TC will issue this error after a shell if it is unable to reclaim the full amount of conventional memory it had before the shell, i.e. if you loaded a TSR while in a DOS shell. Not enough space on disk for any files. Destination root directory full. All disks have a limit to the number of files their root directories can contain. For 360K floppies it is 112 and for most others it is 224 (including the volume label), so if you are out of root directory enrtries you may waste precious space on the disk. Error writing file xxxxxxxx.xxx Error reading source Error during floppy cache writeback This error is encountered when the floppy cache encountered an error while doing a disk writeback and was unable to recover. Bad source file skipped. If your source drive contained a file with a bad sector or data error, TC will ask you whether you want to skip the bad file and continue or if you want to quit. Sliced file will continue on next disk. If you are busy slicing a file and TC detects that there already exists a file with the name of the current sliced volume on the current destination disk, and you opted to skip the file, then TC will continue with the sliced file on the next disk. xxxxxxxx.xxx exists. AppEnd, SkIp all, Overwrite all or Rename? Unable to create subdirectory. Unable to delete source file. Unable to reset source file's archive attribute. Unable to remove empty source directories. Unable to quickformat destination disk. TC will only format floppy disks in drive A: or B: that meets the following criteria: It must have two FATs, 512 byte sectors and 12-bit FAT entries. Quickformat warning: Disk has not been changed! If you specified the /Q option and TC prompted you for the next floppy disk, and you pressed any key before changing the disk, TC will display this message. It is to prevent TC from deleting data just copied. Bad source drive 'x:' Bad destination drive 'x:' Bad source path: c:\xxxxxx\xxxxx Move operation might require more workspace. The /X option, when the source and destination is the same drive, uses a minimal amount of workspace (typically one cluster). No files to copy. Duplicate xxxxxxxx.xxx with /C option. Skip file, Ignore or Quit? If you specifies /S and /C and TC encounters two files with exactly the same filename, TC will display this message. Too many subdirectories. Too many files. Invalid date specified. Dates specified with /D must be in the format specified by the COUNTRY setting in your Config.sys file. Cannot TurboCopy to/from phantom floppy drive B:. Due to the built-in cache, TC can only copy to actual physical drives and not substituted floppies. Bad verbosity level specified. Verbosity levels specified with /T range from 0 to 9. A and M options may not be used together. I, E, N and O options may not be used together. Turbocopy requires ?K of memory, thus you will have to free another ?K. No source specified. Bad list file specified. Illegal command in list file. Destination is ambiguous. Is 'xxxxxxxx.xxx' a Directory or a File? WARNING! Insufficient conventional memory for cache. (Mirror buffer full) TC will append this message to your mirror output file (refer to /K option) if it ran out of buffer space (approximately 64K). Unable to delete file xxxxxxxx.xxx Unable to rename file xxxxxxxx.xxx Both error messages given above may occur in the manual file selection box with the use of the ALT-D and ALT-R functions. ************ *Final Note* ************ If you would like any personalised changes, or you have any suggestions, feel free to contact me at the address given. If you are writing something similar, or if you are just interested in obtaining some of my routines; feel free to contact me and I will send them to you (on the condition that you mention in your program where you got them). Finally, please don't hack this program into itsy little bits or edit the documentation or something equally low. I have not built any heavy copy protection into TC, so it should not be difficult to change the program at all; so don't see it as an achievement if you manage to mess it up. Please contact me if you want any changes. Thank you for your interest in this program.