home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
WDR Computer Club Digital 1995 June
/
CLUB_0695.BIN
/
shareos2
/
zipchunk
/
zcp.doc
< prev
next >
Wrap
Text File
|
1995-02-06
|
28KB
|
683 lines
+------------------------------------------------------+
| Zip Chunker Pro, (C) Copyright 1991-95, Scott Jibben |
| Version 3.01 |
+------------------------------------------------------+
This is a list of the files that should accompany this software
package:
FILE_ID.DIZ - BBS Description File.
ZCP.DOC - Zip Chunker Pro Documentation.
DISTSAMP.DOC - Sample of a distribution license.
SITESAMP.DOC - Sample of a site license.
SITEINFO.DOC - Information and applications of licensing.
LICENSE.DOC - License for Zip Chunker Pro software.
PRICE.DOC - Pricing guidelines for site/distribution licenses.
ORDERFRM.DOC - The order form.
CC-ORDER.DOC - Information to register by credit card.
VENDOR.DOC - Information for disk vendors and SHAREWARE distribution.
ZCP.EXE - Zip Chunker Pro executable for DOS.
ZCP2.EXE - Zip Chunker Pro executable for OS/2 2.x.
ZCP32.EXE - Zip Chunker Pro executable for Win32.
CATALOG.JSW - Information on Jibben Software Products.
WHATSNEW.TXT - The Version History of Zip Chunker Pro.
AVEXTRA.TXT - Information regarding PKZIP AV codes.
ARJ-SEC.TXT - Information regarding ARJ Security envelope.
What this software does
This software is a file sizing utility. It supports two modes of
operation.
1. It can size any type of file to a desired size creating multiple
files with the *.ZC file extension. These file will be exactly the
size requested except for the last file created. Using this mode of
operation you will be able to size any file to your requirements.
The only disadvantage of using this method is that you will have to
use Zip Chunker Pro to "reassemble" the files back to the original
file.
2. It can size files created by archive/compression software to your
desired size. This will create multiple files that retain
compatibility with the software that created the archive. The only
disadvantage to using this method is if the internal compressed
files are larger than the requested size. Zip Chunker Pro can't
force the files to be smaller and retain compatibility. In this
case it is recommended to use method 1.
The current compression software files that Zip Chunker Pro supports
are:
ARC created by System Enhancements Associates ARC software.
ARJ created by Robert K. Jung's ARJ software.
HYP created by P. Sawatzki and K.P. Nischke's Hyper software.
LZH created by Haruyasu Yoshizaki's LHA software.
ZIP created by PKWare's PKZip (tm) software.
Requirements for Zip Chunker Pro
Zip Chunker Pro allocates memory as needed when processing. However, I
suggest that you have at least 200KB of free memory to run it. If you
are going to process large Arc/Arj/Hyp/Lzh/Zip files (with a lot of
files, not total size), I suggest that you have 400KB of free memory to
run Zip Chunker Pro.
Installation Instructions
It is relatively simple to install Zip Chunker Pro. All you have to do
is copy the files to a subdirectory that is listed in your PATH
statement in your AUTOEXEC.BAT file. You could also just create a new
subdirectory, copy the files there, and then add the new sub- directory
to the PATH statement. I won't go into the details of making
subdirectories and modifying your path as you should have good examples
of this in your DOS manual.
The concept of Shareware
Zip Chunker Pro is being released as a Shareware product. Shareware is
a marketing concept, in which you get to try out a software package for
a period of time. If you find that the software is useful to you (you
are still using it), you are obligated to send in a registration fee
for that software to the author.
Zip Chunker Pro's trial period is 21 days. That means, once you start
using Zip Chunker Pro, you have 21 days to decide whether or not it is
useful to you. If it is useful, please promptly send in the requested
registration fee. If it is not useful, you are expected to delete it
and stop using it.
Zip Chunker Pro is fully functional. However, it has a message that
will appear every time it is used to size or reassemble files.
Here's what you get when you register (Please use ORDER.FRM to order
this software):
1. Support. You can call and leave e-mail to me on any of the BBS'
listed in the Technical Support section of this document or
CompuServe and get a response from me. I will more than likely
answer all questions, but the registered individuals will
definitely get top priority. You will also receive unlimited
telephone support for the program. Registered users will get a
phone number that they will be able to use to receive support
between the hours of 6:00 pm - 10:00 pm (Central Standard Time)
Monday-Friday.
2. You will receive a disk with the most recent version of Zip Chunker
Pro. The software will also have the registration reminder screen
removed. Your name and serial number will also be displayed when
the software is run.
3. Special access to new products. You will be allowed access to
beta test any software package that I'm in the process of creating.
The beta software will be available only on the Warehouse BBS.
Also you must make arrangements with Jibben Software to get access
to the new software. (see Technical Support section of this
document for details).
4. You will also have low cost upgrades of this software.
Advantages of Using Zip Chunker Pro
I've designed Zip Chunker Pro to make the least demands on your
hardware. Zip Chunker Pro is at least 2 times faster than any other
software package of this type for sizing archive files (Arc/Arj/Hyp
/Lzh/Zip). In some instances, I've found it to be up to 10 times
faster. I wrote it for creating/reassembling *.ZC files as fast as
possible as well.
One other benefit from using Zip Chunker Pro is the amount of disk
space it requires to process an archive file. My closest competitor
requires 2-3 times the disk space of the original file, ie, if you had
a 2MB ZIP file you would have to have up to 6MB of free disk space in
order to break it up! Zip Chunker Pro automatically determines the
disk space required and will tell you if you don't have enough BEFORE
you create the files.
The algorithm in which I calculate the amount of files to put in a
archive file is highly optimized. Zip Chunker Pro will sometimes have
one less file than other software packages of this type and the files
will be closer to the requested size.
Zip Chunker Pro can handle any file created using PKZIP (tm). All
other software packages of this type that I've seen, have the tendency
to crash if the ZIP file is too large or there are too many files in
the ZIP file. One of my beta testers ran ZCP on a 170 Megabyte Zip file
and ZCP processed it without problems.
Zip Chunker Pro is also the only software package that I know of that
supports archive file formats as well as any file sizing.
As far as I know, Zip Chunker Pro is the only sizing utility for Arc,
Arj, Hyper, and Lzh files.
Why Zip Chunker Pro will not Re-Assemble Archive Files
Zip Chunker Pro was never intended to be used to reassemble archive
files, only *.ZC files. At first thought, it may seem unreasonable to
you, but there are several reasons why. Hopefully after reading the
main reasons you'll understand why I chose not to.
1. Some archivers already provide the ability to combine archives
(ARJ).
2. There would be no way for ZCP to 'know' how many files are in a set.
With the *.ZC file standard, I can store the number of split files
in the file. With the archives, there is no provision for this.
For instance, if you would tell it to reassemble myzip-01.zip, how
many files should ZCP expect to put together? Since modifying the
archives format would make it a 'corrupted' file, there is no way to
track this.
3. The other problem is that people would expect when they split an
archive and then reassemble, that it would be identical to the
original file. ZCP/ZC are so effective on creating files that match
the size parm because they grab files from anywhere in the archive
to create them. You can see this for yourself, just split a zip and
compare the files in xxx-01.zip to the original xxx. You'll notice
that I don't just take the first so many files until the size hits
the limit and then start the next file. xxx-01.zip can contain the
1st, 8th, 22nd, 30th, etc. files. Given this fact, it is impossible
to reassemble a archive file (zip) back to it's original state.
There is no way for me to flag each file as being the 1st, 4th, etc.
file of the original.
4. Finally, I have to ask you, "Why?". I seriously wonder why you
would want to put the zips back together. The files still unzip
fine. Why take the _extra_ step to reassemble the files into one
file, then unzip the one big file? Isn't it easier to just run
something like "PKUNZIP mym8-?.zip". This one command will unzip
all the zips, mym8-1, mym8-2, etc. Just use the '?' where the
numbers are in the zips.
Using Zip Chunker Pro
The software is fairly straight-forward and easy to use. In fact, I
doubt that you will need to read this document in order to be able to
use the software. Zip Chunker Pro will always display all of your
options when you just type in ZCP and press Enter. The following is a
list of the options with their descriptions. Since there are two modes
of operating ZCP, I've listed the examples for these modes separately
following the parameter descriptions.
+------------------------+
| Parameter Descriptions |
+------------------------+
[/L] - This option causes Zip Chunker Pro to display its license
information and information about contacting the author
for support.
[file] - This parameter is to be replaced with the name of the
file that you wish to size. If there is an archive file
in the location that you've specified, ZCP will be able to
detect the file by the files extension. Therefore, you
would be able to just type in ARCFILE instead of
ARCFILE.ARC. ZCP will not process a file if it finds more
than one file with the supported file extensions (if you
specify ABC and there is an ABC.ARC and ABC.ZIP file in
that location). In order for ZCP to process a file in this
case you must apply the files extension as well. If
you specify a file that doesn't have one of the supported
file extensions, ZCP will default to the *.ZC file format.
You can also 'force' this method of sizing with the /Z
option. Also, if you specify just an *.ZC file, (no other
parameters), ZCP will report information on the *.ZC file.
[max size] - This is option is used for specifying the maximum size of
the files that you wish to create. ZCP will use this
value in attempting to keep your files a certain size or
smaller. There are several ways to specify this size.
The first is to just specify a size in bytes, like 200000.
Note that there are NO commas in this number. The other
two methods are 'preset' values for floppy disk sizes.
The old Zip Chunker presets are available, /5L, /5H, /3L,
and /3H. There is also a new one called /3E for the new
2.88MB floppy disks. The last method is using the /S:
option. After /S: you specify the size of the floppy that
you wish to size to. The list of different options is
listed on the info screen. For example, to size for a
3.5" high density floppy, the option would be /S:1.44.
The default [max size] is 1.44MB.
[/E] - Using this option will cause Zip Chunker Pro to erase the
original archive file. This only works for archive files.
NOTE: It has been disabled for *.ZC files.
+------------------------+
| Parameter Descriptions |
+------------------------+
[/F] - This option is only valid for archive files, NOT *.ZC
files. It is used to make ZCP size the resulting files so
that when the new files are uncompressed they will fit on
the [max size] that you specified using a floppy size.
Note: this only works when using a valid floppy disk
preset (see the [max size] option).
[/D:path] - This option is used to tell ZCP where to put the files that
it creates. This is how you tell ZCP to put the new files
on a floppy disk. ZCP will prompt you to put in a new
floppy disk when it is needed. You can also use this
option to put the files on another hard disk or
sub-directory. It will work as long as you provide a
valid destination. Note: when using this option with a
floppy disk size preset (see [max size] option), the disk
must be able to support the size you requested. Also,
when sizing to a floppy drive, make sure you have enough
blank, formatted disks available for the process.
[/Z] - This option is used for 'force' sizing the file into
an *.ZC file. This is helpful if you want to size an
archive file to fit on a floppy when there are internal
files that are larger than the disk size you are
attempting to size for.
[/R] - This option is used to reassemble *.ZC files back to the
original file. It is simple to use. Just supply one of
the *.ZC filenames and this option and ZCP will reassemble
it back together.
[/M] - This option will report the smallest allowable value for
[max size]. It is useful for determining the value that
you can use for [max size] before making the attempt to
size a file.
[/N] - This option will report the number of new files that will
be created.
[/T] - This option will allow Zip Chunker Pro to use the current
date and time for the new files that are created.
[/K] - This option will allow you to keep the backup files in ARJ
files. It only works for ARJ files. The default is to
delete backup files in ARJ ( version 2.30+ ) files.
[/L#] - This option will allow you to leave # amount of space ( in
bytes ) on the first file. It works with *.ZC and archive
files. The primary use for this option is to 'leave
space' in the first file to reserve room for other
software on that disk.
+----------+
| Examples |
+----------+
For All Types of Files
----------------------
C:\WORK>ZCP
The example above will display Zip Chunker Pro's Information screen.
This displays all the available command line options.
C:\WORK>ZCP \L
The example above will display Zip Chunker Pro's license information.
It also displays information about support BBS and the authors
CompuServe ID.
C:\WORK>ZCP workdata /m
The example above will display the smallest allowable size for the [max
size] parameter for sizing.
C:\WORK>ZCP file 500000 /n
The example above will display the number of new files that will be
created when sizing the file. It doesn't actually size the file.
C:\WORK>ZCP myfile 500000 /t
The example above will size myfile to be 500,000 bytes and will use the
current system date and time on the files.
C:\WORK>ZCP myfile /L50000
The example above will size myfile to fit on 3.5" high density floppy
disks. However, the first file will be 50,000 bytes smaller than the
rest. This would allow for the storage of ZCP.EXE (or other 'install'
type programs) on the first disk of the split files.
+----------+
| Examples |
+----------+
For Archive Files
-----------------
Here are some examples on the use of ZCP for archive files:
C:\WORK>ZCP workdata
The above example will break out files from WORKDATA that will
be equal to or smaller than the size of a file that would fit on a
3.5" HD disk. It will also save the original file. WORKDATA can be a
Arc, Arj, Hyp, Lzh, or Zip file. ZCP will automatically detect the file
by it's filename extension. ZCP will not process the file if there are
two or more WORKDATA files with any combination of extensions; Arc,
Arj, Hyp, Lzh, or Zip. If WORKDATA doesn't have one of the support
file extensions (or any extension) then ZCP will default to sizing as an
*.ZC file.
C:\WORK>ZCP 123data.zip /5L /E
The above example will break out files from 123DATA.ZIP and these
files will be equal to or smaller than what would fit on a 5.25"
low density disk. It will delete 123DATA.ZIP when it is done.
C:\WORK>ZCP 123data.zip /S:360 /E
The above example will work exactly as the previous example. The only
difference is the use of the /S: parameter instead of /5l.
C:\TELIX\UL>ZCP e:\games\biggame.lzh 200000
The above example will break out files from E:\GAMES\BIGGAME.LZH
and these files will be equal to or smaller than 200,000 bytes.
The original file, E:\GAMES\BIGGAME.LZH, will be saved as well.
Also, the new LZH files will be created in C:\TELIX\UL.
C:\EXCEL\XLS>ZCP XLSHEETS.LZH /s:1.44 /d:a:
The above example will break out files from XLSHEETS.LZH. The new
files will fit on a 1.44MB floppy. The files will be created on drive
A:. When the floppy is filled with a file, Zip Chunker Pro will prompt
for a formatted blank disk for the next file. The original file will
be saved. This process requires NO hard disk space, only formatted
blank floppy disks. Also, ZCP will check to determine if the size you
specified matches type of floppy hardware is available. At any prompt
you can press Esc to abort the process.
+----------+
| Examples |
+----------+
C:\CLIPART\PICS>ZCP CA-PICS.ARC /s:1.44 /f
The above example will break out files from CAP-PICS.ARC. The new Arc
files when uncompressed will fit on a 1.44MB floppy disk. The original
file will be saved. This process requires NO hard disk space, only
formatted blank floppy disks. Also, ZCP will check to determine if the
size you specified matches type of floppy hardware is available. At
any prompt you can press Esc to abort the process.
C:\WORK>ZCP accounts /S:360 /K
The above example will process the ACCOUNTS.ARJ file and keep the
backup files in the file. If you wanted to delete the backup files,
you would not use the /K option.
For *.ZC Files
--------------
C:\WORK>ZCP bigdb-1
The above example will display the *.ZC file information for the
BIGDB-1.ZC file. Note: the file extension is optional.
C:\WORK>ZCP bigdata.db
The above example will size the BIGDATA.DB file into *.ZC files. The
new *.ZC files will be created in the C:\WORK directory. BIGDATA.DB
will not be erased when processing is completed.
C:\WORK>ZCP data.lzh /z
The above example will size the DATA.LZH file into *.ZC files. The new
*.ZC files will be created in the C:\WORK directory. Note: the /Z
option over-rides the normal LZH file sizing. DATA.LZH will not be
erased when processing is completed.
C:\WORK>ZCP bigdata.db /d:a: /s:1.44
The above example will size the BIGDATA.DB file into *.ZC files. The
new *.ZC files will be created on the A: drive (if A: is a 1.44MB
drive). Zip Chunker Pro will prompt for new disks. This option
requires NO hard disk space for processing. BIGDATA.DB will not be
erased when processing is completed.
+----------+
| Examples |
+----------+
C:\WORK>ZCP bigdb-1 /r
The above example will reassemble the *.ZC files in the BIGDB-#.ZC
series of file names.
C:\WORK>ZCP bigdb-3 /r
The above example will reassemble the *.ZC files in the BIGDB-?.ZC
series of file names. Note: Zip Chunker Pro will start at the first
file name in the series even though the file above is not the first
file.
C:\WORK>ZCP bigdb-1 /r /d:d:\access
The above example will reassemble the *.ZC files in the BIGDB-?.ZC
series of file names. The created file will be placed in the D:\ACCESS
directory.
C:\WORK>ZCP a:bigdb-1 /r
The above example will reassemble the *.ZC files from the A: floppy
drive. When ZCP needs another disk, it will prompt for it.
Miscellaneous
Zip Chunker Pro will not allow you to process a file if there isn't
enough free disk space available.
If Zip Chunker Pro finds a file in the original archive file that is
larger than the maximum size specified, it will give you the option of
continuing to process the archive file. The result of this type of
operation is that there will be some files that have only one file in
them but they will still be larger than the maximum size.
If the original file is already smaller than the maximum size then
Zip Chunker Pro will tell you and not process the file.
Zip Chunker Pro will in most cases be able to detect that a file passed
to it is a valid archive file or not. It will not be able to detect if
the internal files have been corrupted, though.
Zip Chunker Pro CAN handle password encrypted files and retain the
password in ZIP files. It can also retain the encryption and password
for 'garbled' ARJ files.
+----------------------------------+
| Zip Chunker Pro Programming Info |
+----------------------------------+
Zip Chunker Pro will return the following DOS Error Levels when it
aborts in an error state:
1. Out of memory.
2. Incorrect [max size] for floppy drive specified.
3. Can't open file.
4. Zip file is corrupt/invalid or multi-volume.
5. Can't process multi-volume Zip files.
6. File version isn't compatible with Zip Chunker Pro.
7. File is already an *.ZC file.
8. The requested max size will create too many files.
9. File is not an *.ZC file.
10. Process aborted.
11. There isn't enough disk space available to process file(s).
12. The internal data of this *.ZC is corrupt/invalid.
13. Arc file is corrupt/invalid.
14. Lzh file is corrupt/invalid.
15. A file exists that ZCP wanted to create.
16. Couldn't find the requested file.
17. The file name given isn't specific enough.
18. The [max size] value is invalid.
19. Arj file is corrupt/invalid.
20. Can't process multi-volume ARJ files.
21. Can't process Secured ARJ files.
22. Hyper file is corrupt/invalid.
23. Unknown/All other errors.
This is the format of *.ZC file header (in C notation):
struct as_header {
unsigned long signature; // always 0x10af5341
unsigned short version;
char file_name[13];
struct ftime file_date_time; // Borland C++ ftime struct
unsigned short file_attributes;
unsigned long this_file_size;
unsigned long total_file_size;
unsigned long this_file_num;
unsigned long total_file_num;
unsigned long crc32;
unsigned long original_crc32;
};
// short is 16 bit number
// long is a 32 bit number
This header will always be present at the beginning of an *.ZC file.
Technical Data
Zip Chunker Pro (DOS) was written entirely in C/C++ using Borland C++
4.5. This is a partial explanation of ZCP's speed and size. The other
main reason for ZCP's speed and size is that I access the Zip file
directly vs. making calls to the PKZip software.
Zip Chunker Pro (OS/2) was written entirely in C/C++ using Borland C++
2.0 for OS/2.
Zip Chunker Pro (Win32) was written entirely in C/C++ using Borland C++
4.5.
Technical Support
For technical support I (Scott Jibben) can be reached at the following
on-line systems:
The Warehouse BBS: 612-379-8272 1200-57600 baud V.32bis/HST 16.8K
(N81) - 10 Lines. The Warehouse is my first (main) line of support.
Since I am a co-sysop of this BBS, I usually log on several times a day
to check for email. This BBS is a subscription BBS, however anyone
logging on will receive access rights to the file area where my
software can be downloaded for FREE and a message area that is
dedicated to my software.
CompuServe:
My CompuServe ID is 72657,3303. Feel free to send me an E-Mail any
time. I usually log on to CompuServe at least once a day.
FidoNet:
The Warehouse BBS is FidoNet Address, 1:282/115. FREQ 'JSWCAT' for a
catalog of Jibben Software's latest releases.
Internet:
My Internet/UUCP address is: 72657.3303@compuserve.com
Acknowledgments
I would like to thank those people that have assisted me in the
development of this software:
Travis Carter and Randy Clark, sysops of the Warehouse BBS, for testing
the software and providing a message forum for supporting software
written by me.
Chris Edmonson, who gave me some valuable insight on various
methods of designing the dynamic memory allocation code.
Robert Jung, author of ARJ, for testing ZCP to ensure it works properly
with ARJ archive files. Robert also gave me some timely information
regarding how ARJ files are organized, etc.
Steve Lee (publisher of PC Shareware Magazine) and Steve Townsley
(CompuServe sysop for the UKSHARE forum) for testing ZCP with new
versions of PKZip and for giving my software such good exposure in the
U.K.
Keith Ledbetter, author of the BEST file finding utility money can
buy; Supersonic Search Tool (SST), for providing valuable information
about the internal file formats of several archiving software
packages. This saved me valuable time and effort.
Kenjirou Okubo and Haruyasu Yoshizaki (Author of LHA) for testing ZCP to
ensure it works properly with LHA archive files.
Bob Ostrander, editor of Public Brand Software, for testing ZCP to
make sure that it worked, specifically the /F option.
My wife, daughter and son, for the patient support and active
involvement in getting this business rolling.
Finally, all of the people who've registered my software. I really
appreciate it!
Disclaimers, etc.
Jibben Software specifically disclaims all other warranties, expressed
or implied, including but not limited to implied warranties of
merchantability and fitness for a particular purpose, functionality or
data integrity. In no event shall Jibben Software be liable for any
loss of profit or any other commercial damage, including but not
limited to special, incidental, consequential or other damages.
Borland is a registered trademark of Borland International, Inc.
PKWARE, PKLITE, PKZIP and PKUNZIP are registered trademarks of PKWare
Incorporated.