diff options
Diffstat (limited to 'doc/alf14_doc.txt')
| -rw-r--r-- | doc/alf14_doc.txt | 266 |
1 files changed, 266 insertions, 0 deletions
diff --git a/doc/alf14_doc.txt b/doc/alf14_doc.txt new file mode 100644 index 0000000..832f59d --- /dev/null +++ b/doc/alf14_doc.txt @@ -0,0 +1,266 @@ + AlfCrunch Documentation Revised 7/10/88 + ----------------------- + + AlfCrunch is an implementation of the Lempel-Ziv compression + algorithm. Although it produces files that have the same structure as + those produced by the Arc program, the two are not compatible. Arc + cannot uncrunch AlfCrunch files, nor can AlfUnCrunch unarc normal Arc + files. + + The current version of the LZ/DZ files is 1.4. Versions 1.1 through 1.3 + are compatible, but not with 1.0. If you have 1.0, you should discard it + and use 1.4. The reason for this is that 1.0 used the same header as + normal Arc crunch. Because of possible confusion over this, the header + used by AlfCrunch was changed. Since 1.0 had very limited distribution, + this situation should not often arise. For those who wish to be able to + detect the AlfCrunch format, the first two bytes of the file will always + be $1A $0F. + + This version fixes an annoying bug in both v1.2 and 1.3. If you had a +subdirectory entry amongst the filenames you were crunching, LZ would +stop at the subdir entry. Also the stack errors will now cause a proper +exit to Dos rather than re-execution. + + Enhancements to v1.4 are the addition of time/date support. If you +are running under Sparta 3.2, LZ will store the Sparta date/time from each +file into the header. DZ does not use this information, it's just there to +provide a reference point. + + When running either LZ.COM or DZ.COM, Memlo must be under $3000. This + should not normally be a problem unless you have a lot of handlers +installed. + A cartridge may be present, as it only affects the size of the buffer + available to AlfCrunch. Maximum speed will be achieved without a + cartridge being present. + + A final note + ------------ + + Well I think this is about as far as AlfCrunch is going to get for now. I +don't really believe there are any more features to add without modifying the +command line parameters. So this version (1.4) will be the last for +some time to come. Except for bug fixes (few if any I hope) the 1.x line will +not change. I hope to add command line parameters similar to ARC and maybe +add the ARC compression methods to finally resolve the compatibility issue. + + Alfred + Programmer's Aid BBS + (416) 465-4182 + + Running AlfCrunch + ----------------- + + To crunch files, load LZ.COM. The title will be displayed, along + with the version which should be 1.4. You will then be prompted for + the output filename. This may be up to 80 characters long, + including subdirectory names. + + If the output file already exists, it is checked to see if it is an +AlfCrunch file. If the first header is correct, then the new files will be +appended to it. If the header is wrong the program will print an error +message and exit to Dos. If the file is shorter than the header length +(29 bytes), then it is simply opened for normal output, which erases it. + + Next you will be prompted for the input filemask. This is what will + be used to select the files. This may also be up to 80 characters long, + including any subdirectory names. Wildcards are allowed. If selecting + all files, the mask must end in *.* . + + Finally, you have the option of turning the screen off. Selecting + this option will speed up the program by 15-20%. Once selected, you will + not again be prompted for this option. If you do not elect to turn the + screen off, the program will continue to present this prompt until it is + selected. + + The program will then select files using the mask and compress them, + displaying the filenames as it progresses. When it has finished, it will + prompt you for additional input filemasks. You may either enter another + mask or simply press return to exit back to Dos. + + LZ and SpartaDos 3.2 + -------------------- + + If you are using SpartaDos 3.2, you may invoke LZ.COM and specify + the output file and input filemask on the command line. The format is: + + [Dn:]LZ Dn:[path>]filename[.ext] [Dn:[path>]filename[.ext] ] + + The square brackets denote optional parameters which may be omitted. + The first filename is the output file. The second is the input + filemask. If you do not specify the input filemask, the program will + prompt you for it. The program will automatically turn the screen off. + When it is finished it will prompt you for more input filemasks. + + To invoke LZ as part of a batch file, the format is almost identical. + The lines in the batch file would be: + + [Dn:]LZ Dn:[path>]filename[.ext] [Dn:[path>]filename[.ext] ] + Dn:[path>]filename[.ext] <- Additional + Dn:[path>]filename[.ext] input masks + + The program will read each input filemask, compress the files + selected and continue until all the input masks have been used. You will + then be prompted for more input masks. If this is part of a larger batch + file, leave a single return after the last input mask to force LZ to + return control back to the batch file. Example: + + [Dn:]LZ Dn:[path>]filename[.ext] [Dn:[path>]filename[.ext] ] + Dn:[path>]filename[.ext] + Dn:[path>]filename[.ext] + (single return here) + [Dn:]LZ Dn:[path>]filename[.ext] [Dn:[path>]filename[.ext] ] + Dn:[path>]filename[.ext] + Dn:[path>]filename[.ext] + (single return here) + + At the end of this, you will be left at the Dos prompt. Because of + the way i/o redirection is handled, an alternative form is available: + + [Dn:]LZ + Dn:[path>]filename[.ext] <- The output file + Dn:[path>]filename[.ext] <- The input filemask + Y <- Turn the screen off + Dn:[path>]filename[.ext] <- Additional + Dn:[path>]filename[.ext] <- input filemasks + (single return here) + + Notice that the Y was only supplied once. When LZ is run in this + manner, it behaves exactly as if you were pressing the keys yourself. If + you turn the screen off, then you need only enter the Y once. If you + said N, then you would need an N after every input filemask until you + said Y. Example: + + [Dn:]LZ + Dn:[path>]filename[.ext] <- The output file + Dn:[path>]filename[.ext] <- The input filemask + N <- Leave the screen on + Dn:[path>]filename[.ext] <- Additional mask + N <- Leave the screen on + Dn:[path>]filename[.ext] <- Additional mask + Y <- Screen off now + Dn:[path>]filename[.ext] <- Additional masks, but no Y + Dn:[path>]filename[.ext] <- is necessary + (single return here) + + Getting Them Back + ----------------- + + To extract the files from an Alfcrunch file, load DZ.COM The title + will be displayed, along with the version number. + + The first prompt is for the name of the file to uncrunch. This + filename may be up to 80 characters long, including subdirectory names. + Wildcards are not allowed. + + The next prompt is the output directory. This is the directory where + the files will be placed when extracted from the crunch file. If the + directory does not exist, an attempt will be made to create the + directory. This may involve creating a number of subdirectories to get + to the last one, so care should exercised with this feature. If + errors occur during the directory build stage, an error message will be + displayed, and the program will return to DOS. You may specify a wildcard to +only extract certain files or use '*.*' to extract them all. *.* is the default. + + Auto directory creation is only available under SpartaDos. Under + any other Dos, if you specify a subdirectory, you will probably get +a single file with the name of the first pathname. + + Assuming all is well, you again have the option of turning the screen + off while files are being extracted. + + The program will then extract each file and place it in the output + directory specified. If any errors occur, an error message is printed + and the program returns to Dos. When all files have been extracted, you + will be prompted for another input file. You may enter another filename + or press Return to exit to Dos. + + The situation may arise where the crunch file has been corrupted. + This may occur due to errors during download, or failure of the disk on + which the file resides. There are several error messages which are + associated with bit errors. + + Msg: Not An AlfCrunch File! + --------------------------- + If this message is issued before any files were extracted, then + either the first two bytes of the file are corrupt, or else the file was + not created by AlfCrunch. If the message is issued after several files + were extracted, then the file has been damaged somewhere in the last + file extracted. You may also get the message which is described next. + + Msg: File Checksum In Error + --------------------------- + DZ has detected that the checksum calculated for the filename just + extracted does not agree with the checksum in the header block. Either + the header block has been damaged or more likely, the file itself has + been corrupted. If the file is a text file, it may be partially correct. + Object file types should be discarded, as it must be assumed they are + corrupt. + + Msg: Stack Overrun + ------------------ + This is an internal DZ error. The file being processed has been + corrupted, and DZ has exhausted all free memory in attempting to extract + the data. The output file produced is incomplete, corrupt, and should be + discarded. + + Msg: Extra Bytes At Eof, Don't Add To File + ------------------------------------------ + This means that the file has extra data at the end which is not valid. +This may arise from downloading where the last block is padded. Do not add +new files to it with LZ as you will not be able to get them back when you run +DZ again. You will get the 'Not An AlfCrunch File!' message at that time. + + DZ and SpartaDos 3.2 + -------------------- + If you are using SpartaDos 3.2, you may invoke DZ.COM and specify + the input file and output directory on the command line. The format is: + + [Dn:]DZ Dn:[path>]filename[.ext] [Dn:[path>][*.*] + + The square brackets denote optional parameters which may be omiited + if you wish. The first filename is the file to be processed. The second + filename is the directory in which the output files are to be placed. + Remember, if any of the directories in the output path do not exist, an + attempt will be made to create them. Remember, you can use a wildcard to +limit the files or take the default +which is '*.*'. + + The program will automatically turn the screen off, and extract + the files. If any errors occur, the appropriate error message will + be printed and control will return to Dos. + + When DZ is finished with the current input file, it will again prompt + you for another input file. You may continue uncrunching files, or + simply press return to exit back to Dos. + + As part of a batch file, the form for DZ is almost identical to the + LZ form. Accordingly, only brief examples will be shown: + + [Dn:]DZ Dn:[path>]filename[.ext] [Dn:[path>][*.*] + Dn:[path>]filename[.ext] <- Second input file + Dn:[path>][*.*] <- Second output path + Dn:[path>]filename[.ext] <- Third input file + Dn:[path>][*.*] <- Third output path + (single return) <- Return to Dos + + The second format is: + + [Dn:]DZ Dn:[path>]filename[.ext] <- First input file + Dn:[path>][*.*] <- First output path + Dn:[path>]filename[.ext] <- Second input file + Dn:[path>][*.*] <- Second output path + Dn:[path>]filename[.ext] <- Third input file + Dn:[path>][*.*] <- Third output path + (single return) <- Return to Dos + + The third format is: + + [Dn:]DZ + Dn:[path>]filename[.ext] <- First input file + Dn:[path>][*.*] <- First output path + Y <- Screen off + Dn:[path>]filename[.ext] <- Second input file + Dn:[path>][*.*] <- Second output path + Dn:[path>]filename[.ext] <- Third input file + Dn:[path>][*.*] <- Third output path + (single return) <- Exit to Dos |
