Copyrights and Credits Copyright 1994 AugmenTek All Rights Reserved AugmenTek 3606 S. 180th St. C-22 SeaTac, WA 98188 USA Phone: 206-246-6077 email: augmentek@acm.org MultiVol is a trademark of AugmenTek. AmigaGuide, AmigaGuide.info, amigaguide.library, WDisplay, WDisplay.info (c) Copyright 1992 Commodore-Amiga, Inc. All Rights Reserved. Reproduced and distributed under license from Commodore. Installer and Installer project icon (c) Copyright 1991-93 Commodore-Amiga, Inc. All Rights Reserved. Reproduced and distributed under license from Commodore. AMIGAGUIDE AND INSTALLER SOFTWARE IS PROVIDED "AS-IS" AND SUBJECT TO CHANGE; NO WARRANTIES ARE MADE. ALL USE IS AT YOUR OWN RISK. NO LIABILITY OR RESPONSIBILITY IS ASSUMED. This archive is freely redistributable only with all parts included. Introduction This is a demonstration version of the commercial MultiVol product from AugmenTek. MultiVol transparently splits and joins large files across multiple volumes such as diskettes or hard disks. With transparent joining and a special utility, REXX procedures can be reused, allowing more that one REXX main program to use the same file of procedures. This is a "crippled" demo version, severely limited in the size of files that can be split and joined. A split file part can contain up to 127 bytes, which is most easily specified by when splitting "exact amount" -- see below. Utilities for renaming and listing split files, the graphical user interface, and comprehensive online documentation are not included. When you encounter the limitation on splitting a file, you will see a requester indicating that the volume is full. When you encounter the limitation on joining a file transparently, you will see in the MultiVol_Server's window a "missing file part" message for "SI" or "SA". We realize that the severe limitation on file size does not allow for much testing of the product. However, this was required to deliver a somewhat-hackerproof demo that can be freely redistributed. Any larger sizes would have basically provided you with a useful product -- though still somewhat limited. 1. Double-click on the "Install.MultiVol" icon to install, or type: Installer Install.MultiVol 2. To start MultiVol: MVolD:c/mv_startup 3. To stop MultiVol: MVolD:c/mv_shutdown 4. After installation, there are some examples below which you can run. You can use your own, but you must keep in mind the limitations. Splitting by percentages, i.e., remaining disk space or file percentage, will be difficult to get to work properly, as you would need less than about 1024+128 bytes available on each disk for the former, and have a file whose split parts result in sizes of less than 128 bytes for the latter. Though the number of split file parts is virtually unlimited, for files split by file percentage only 100 file parts can be used since fractions of a percent are not allowed. General Instructions The general form of the name specification for MultiVol is: mvd:vol:name[%type[amount]][...] where the brackets "[]" denote something optional. "mvd:" is required, "name" is the name you assign to this collection of split file parts, "type" and "amount" are described below, and "..." can be any number of the following: ,vol:[%type[amount]] There are four amount types that can be used to specify how to split the file. Some of them are followed by an amount. * (nothing) -- use all remaining space on the volume Unless you have diskettes that are very close to being full, this probably won't be of much use due to the size limitations. * A -- use exactly the amount of bytes specified This type is the most useful with this demo version. * D -- use the specified percentage of remaining disk space on this volume Only disks with less than about 13KB of available space could be used due to size limitations. The larger the amount of available space, the smaller your specified amount (percentage) should be. * F -- use the specified percentage of the original file size: used with the MVCOPY utility Only files less than about 13KB bytes could be used due to size limitations. The larger the size, the smaller your specified amount (percentage) should be. Generally, to split an existing file, one can use the AmigaDOS COPY command, where the output file specification uses the MultiVol "mvd:" name specification (see the examples). However, any program that allows you to specify the name of the output file can be used, as long as the "mvd:" name specification is given. Utilities The utilities can be found in the "MVolD:c" directory. They provide a means of creating and deleting "MultiVol files". A "MultiVol file" is defined to be the file which contains information about the file parts as well as the file parts themselves. Splitting a file creates a MultiVol file; however, MVSETUP creates one without splitting; therefore, separate files can be considered appended to one another. MVSETUP's command line interface is as follows: MVolD:c/MVSETUP vol: filename [...] where "vol:" is the name of the root volume, such as "Work:" or "RAM:" or "disk_1:", and "filename" is the full path name to an existing file. "..." means that there can be more than one file name. Each file will be appended to each other in the order given when the name of the file -- the same base file name as the first file name specified -- is used (see the examples). MVSETUP, together with the use of "mvd:" in a file name specification, allows for reuse of REXX procedures. MVDEL will delete the MultiVol file specified, including all of file parts associated with it: MVolD:c/MVDEL vol:name where "vol:" is the root volume name (as above), and "name" is the name you gave to the file you split originally. MVCOPY is the only way to split a file by percentage of its size. Due to the technique that MultiVol uses -- AmigaDOS handlers -- no information about the file to split is available. In addition, if a file is being created and also being split, then the total size of the file is often not known. If it is known, it is not communicated to the any handler... except when MVCOPY is used. MVCOPY will pas the existing file size to the MultiVol handler, which uses this information to allow splitting a file by its size. Of course, MVCOPY still cannot split a file as it is being written -- it must already exist. MVCOPY looks very similar to the AmigaDOS COPY command: MVolD:c/MVCOPY filename mvd:[vol:]name[%Fn][...] where "filename" is the full path name to the file to split, "name" is the name you specify for the MultiVol file, "%Fn" is the type and percentage "n" of the file size to put on this volume, and "..." means that one or more additional ,[vol:]name[%Fn] specifications can be given. Examples 1. Split a file across three diskettes Using split by exact amount, split the example file "ex1" into three parts, 80 bytes apiece. You must have three diskettes, called "d1", "d2", and "d3", formatted for this to work. copy MVolD:examples/ex1 mvd:d1:my_ex%a80,d2:%a80,d3:%a80,NIL: The last volume specification for "NIL:" indicates to discard the remainder. 2. Joining a file without MultiVol To join the file split across three diskettes, type: d1:mvdir/my_ex The AmigaDOS EXECUTE and JOIN commands will be used to reconstruct the file in your current directory, file name "my_ex". "mvdir" is the name of the directory where MultiVol file information is recorded. 3. Split a file by percentage of file size As mentioned before, this involves passingthe file size to MultiVol, which MVCOPY does. Let's place the file parts in "RAM:". In the following example, the MultiVol specification appears on a separate line due to formatting concerns for this document -- you would type everything on the same line. MVolD:c/MVCOPY MVolD:examples/ex1 mvd:ram:fex%f20,ram:%f30,ram:%f20,ram: The last file part -- the fourth -- will get the remaining bytes. 4. Join a file transparently with MultiVol Using the example of splitting by file size and a file-oriented command such as TYPE: type mvd:ram:fex Any command that inputs files could have been used. For example, the MEMACS editor could be used to edit the joined file, then split it back into its parts when the file is saved. This will not work with the percentage of file size method since, again, the new file size is not known. Here we use the split by exact amount example: MEMACS mvd:d1:my_ex In this case, the file already exists, so the old specifications will be used when saving, which will be to put 80 bytes on each diskette and discard the rest. 5. Deleting a MultiVol file and its parts Let's delete "fex": MVolD:c/MVDEL ram:fex Do not specify "mvd:". 6. Reusing REXX procedures In this simple example, there is a main program in one file that calls two procedures in separate files. The first step is to create a MultiVol file that records information about the REXX files involved. We will place the MultiVol file information on the "Work:" volume. MVSETUP makes this easy. In the following example, file names appear on separate lines due to formatting concerns for this document -- you would type them all on the same line. MVolD:c/MVSETUP Work: MVolD:examples/ex2_main MVolD:examples/ex2_proc1.rexx MVolD:examples/ex2_proc2.rexx Now we have a MultiVol file called "ex2_main". To run the REXX program: rx MVD:Work:ex2_main which, when you enter your name, should put it in lights :-).