home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-385-Vol-1of3.iso
/
z
/
zckr201.zip
/
ZC.DOC
< prev
next >
Wrap
Text File
|
1993-01-25
|
26KB
|
645 lines
+----------------------------------------------------+
| Zip Chunker, (C) Copyright 1991-93, Scott Jibben |
| Version 2.01 |
+----------------------------------------------------+
This is a list of the files that should accompany this software
package:
ZC.DOC - Zip Chunker Documentation.
ZC.EXE - Zip Chunker executable.
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 software.
PRICE.DOC - Pricing guidelines for site/distribution licenses.
ORDERFRM.DOC - The order form.
CC-ORDER.DOC - Information to register by credit card.
CATALOG.JSW - Information on Jibben Software Products.
WHATSNEW.TXT - The Version History of Zip Chunker.
AVEXTRA.TXT - Information regarding PKZIP AV codes.
ARJ-SEC.TXT - Information regarding ARJ Security envelope.
FILE_ID.DIZ - BBS Description File.
What this software does
This software is a file splitting utility. It supports two modes of
operation.
1. It can split ANY type of file to a desired size creating multiple
files with the AS 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 split any file to your requirements.
The only disadvantage of using this method is that you will have to
use Zip Chunker ( or Archive Sizer ) to "reassemble" the files back
to the original file.
2. It can split files created by the PKZip software to your desired
size. This will create multiple files that retain compatibility
with the PKZip software. The only disadvantage to using this method
is if the internal compressed files are larger than the requested
size. Zip Chunker can't force the files to be smaller and retain
compatibility. In this case it is recommended to use method 1.
The only compression software files that Zip Chunker supports is:
ZIP created by PKWare's PKZip (tm) software.
Requirements for Zip Chunker
Zip Chunker 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 Zip files (with a lot of files, not
total size), I suggest that you have 400KB of free memory to run Zip
Chunker.
Installation Instructions
It is relatively simple to install Zip Chunker. 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 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's trial period is 21 days. That means, once you start
using Zip Chunker, 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 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. 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 on the Warehouse BBS and
CompuServe. 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
I've designed Zip Chunker to make the least demands on your
hardware. Zip Chunker is at least 2 times faster than any other
software package of this type for sizing Zip files. In some instances,
I've found it to be up to 10 times faster. I wrote it for
creating/reassembling AS files as fast as possible as well.
One other benefit from using Zip Chunker 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 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 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 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 ZC on a 170 Megabyte Zip
file and ZC processed it without problems.
Archive Sizer, LHA Chunker, and Zip Chunker are the only software
packages that I know of that supports archive file formats as well as
any file sizing.
Why Zip Chunker will not Re-Assemble Archive Files
Zip Chunker was never intended to be used to reassemble archive
files, only *.AS 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 ZC to 'know' how many files are in a set.
With the *.AS 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 ZC 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. ZC is 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
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 will always display all of
your options when you just type in ZC and press Enter. The
following is a list of the options with their descriptions. Since
there are two modes of operating ZC, I've listed the examples for
these modes separately following the parameter descriptions.
+------------------------+
| Parameter Descriptions |
+------------------------+
[/L] - This option causes Zip Chunker 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 Zip file
in the location that you've specified, ZC will be able to
detect the file by the files extension. Therefore, you
would be able to just type in ARCFILE instead of
ARCFILE.ZIP. If you specify a file that doesn't have Zip
for the file extension, ZC will default to the AS file
format. You can also 'force' this method of sizing with
the /A option. Also, if you specify just an AS file, (no
other parameters), ZC will report information on the AS
file.
[max size] - This is option is used for specifying the maximum size of
the files that you wish to create. ZC 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 to erase the
original archive file. This only works for archive files.
NOTE: It has been disabled for AS files.
+------------------------+
| Parameter Descriptions |
+------------------------+
[/F] - This option is only valid for Zip files, NOT AS files. It
is used to make ZC 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 ZC where to put the files that
it creates. This is how you tell ZC to put the new files
on a floppy disk. ZC 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.
[/A] - This option is used for 'force' sizing the file into
an AS 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 AS files back to the
original file. It is simple to use. Just supply one of
the AS filenames and this option and ZC 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 to use the current
date and time for the new files that are created.
[/L#] - This option will allow you to leave # amount of space ( in
bytes ) on the first file. It works with *.AS 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>ZC
The example above will display Zip Chunker's Information screen. This
displays all the available command line options.
C:\WORK>ZC \L
The example above will display Zip Chunker's license information. It
also displays information about support BBS and the authors CompuServe
ID.
C:\WORK>ZC workdata /m
The example above will display the smallest allowable size for the [max
size] parameter for sizing.
C:\WORK>ZC 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>ZC 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>ZC 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 ZC.EXE (or other 'install'
type programs) on the first disk of the split files.
+----------+
| Examples |
+----------+
For Zip Files
-------------
Here are some examples on the use of ZC for archive files:
C:\WORK>ZC workdata
The above example will break out files from WORKDATA.ZIP 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.
C:\WORK>ZC 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>as 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>ZC e:\games\biggame.zip 200000
The above example will break out files from E:\GAMES\BIGGAME.ZIP
and these files will be equal to or smaller than 200,000 bytes.
The original file, E:\GAMES\BIGGAME.ZIP, will be saved as well.
Also, the new ZIP files will be created in C:\TELIX\UL.
C:\EXCEL\XLS>ZC XLSHEETS.ZIP /s:1.44 /d:a:
The above example will break out files from XLSHEETS.ZIP. 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 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, ZC 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>ZC CA-PICS.ZIP /s:1.44 /f
The above example will break out files from CAP-PICS.ZIP. 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, ZC 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.
For AS Files
------------
C:\WORK>as bigdb-1
The above example will display the AS file information for the
BIGDB-1.AS file. Note: the file extension is optional.
C:\WORK>as bigdata.db
The above example will size the BIGDATA.DB file into AS files. The new
AS files will be created in the C:\WORK directory. BIGDATA.DB will not
be erased when processing is completed.
C:\WORK>as data.zip /a
The above example will size the DATA.ZIP file into AS files. The new
AS files will be created in the C:\WORK directory. Note: the /A option
over-rides the normal ZIP file sizing. DATA.ZIP will not be erased
when processing is completed.
C:\WORK>as bigdata.db /d:a: /s:1.44
The above example will size the BIGDATA.DB file into AS files. The new
AS files will be created on the A: drive (if A: is a 1.44MB drive).
Zip Chunker 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>as bigdb-1 /r
The above example will reassemble the AS files in the BIGDB-#.AS series
of file names.
C:\WORK>as bigdb-3 /r
The above example will reassemble the AS files in the BIGDB-?.AS series
of file names. Note: Zip Chunker will start at the first file name
in the series even though the file above is not the first file.
C:\WORK>as bigdb-1 /r /d:d:\access
The above example will reassemble the AS files in the BIGDB-?.AS series
of file names. The created file will be placed in the D:\ACCESS
directory.
C:\WORK>as a:bigdb-1 /r
The above example will reassemble the AS files in the BIGDB-?.AS series
of file names from the A: floppy drive. ZC will prompt for each
disk in the series to reassemble the file. The created file will be
placed in the C:\WORK directory.
Miscellaneous
Zip Chunker will not allow you to process a file if there isn't
enough free disk space available.
If Zip Chunker 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 will tell you and not process the file.
Zip Chunker will in most cases be able to detect that a file passed
to it is a valid Zip file or not. It will not be able to detect if
the internal files have been corrupted, though.
Zip Chunker CAN handle password encrypted files and retain the password
in ZIP files.
+--------------------------------+
| Zip Chunker Programming Info |
+--------------------------------+
Zip Chunker 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 Archive Sizer.
7. File is already an *.AS file.
8. The requested max size will create too many files.
9. File is not an *.AS file.
10. Process aborted.
11. There isn't enough disk space available to process file(s).
12. The internal data of this *.AS is corrupt/invalid.
13. Reserved.
14. Reserved.
15. A file exists that AS 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. Reserved.
20. Reserved.
21. Reserved.
22. Reserved.
23. Unknown/All other errors.
This is the format of AS files (in C notation):
struct as_header {
unsigned long signature; // always 0x10af5341
unsigned int version;
char file_name[13];
struct ftime file_date_time; // Borland C++ ftime struct
int 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;
};
This header will always be present at the beginning of an AS file.
Technical Data
Zip Chunker was written entirely in C/C++ using Borland C++ 3.1.
This is a partial explanation of ZC's speed and size. The other main
reason for ZC's speed and size is that I access the Zip file directly
vs. making calls to the PKZip software.
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) - 6 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.
Terrapin Station BBS: 612-623-0152 1200-9600 V.32 (N81)
Terrapin Station is the second home for Zip Chunker. This BBS is
used by many professional computer people. One of it's focal points is
programming, but there are several other topics that are discussed on
this BBS. I usually check into this BBS at least once a week.
Painters Workshop BBS: 414-722-0242 1200-14400 V.32bis/HST (N81)
Painters Workshop is Distribution Site #003 for Jibben Software. If
you need help with Jibben Software products the sysop, Duane Heller
will be able to help you. I log onto this BBS once every two weeks.
Duane contacts me at least once a week.
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.
Acknowledgments
I would like to thank those people that have assisted me in the
development of this software:
Travis Carter, sysop 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.
Howard Ekman, sysop of Terrapin Station BBS, for providing a second
home for Zip Chunker and testing ZC.
Steve Lee (publisher of PC Shareware Magazine) and Steve Townsley
(CompuServe sysop for the UKSHARE forum) for testing ZC 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.
Bob Ostrander, editor of Public Brand Software, for testing ZC to
make sure that it worked, specifically the /F option.
My wife and daughter, 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.