home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ARM Club 3
/
TheARMClub_PDCD3.iso
/
hensa
/
disk
/
archive
/
packdir_1
/
!PackDir
/
Docs
/
Guide
next >
Wrap
Text File
|
1996-10-13
|
11KB
|
255 lines
__________________
PackDir user guide
__________________
User, please note
=================
PackDir is Freeware, i.e. it is free software.
Copyright notice
================
The copyright (c) of this program belongs to John Kortink. All rights are
reserved.
You may not change this program (except for documented configuration
changes). You may not use any part of this program in any other program or
product without my written approval. You may spread this program freely, but
only in complete and unchanged form, and only against bare distribution costs
(if any). This program is provided 'as is'. No fitness of this program for
any particular purpose is implied. Using this program is entirely at your own
risk.
//
//
// Introduction
//
//
PackDir is an *extremely* fast file archiver. It can take a set of files and
put them all together in a single archive file. It can also perform the
reverse process, i.e. it can exactly recreate the original set of files from
the archive file. To make archive files as small as possible, PackDir can
perform lossless compression on file data, which reduces the archive's size
typically to about 50% (or even much less, depending on the nature of the
file data).
PackDir is *extremely* quick. All archiving and unarchiving is performed by
100% ARM assembler code that cuts every possible corner to maximize
processing speed. The data compression and decompression routines are highly
optimized and are even considerably faster than Acorn's Squash routines
contained in RISC OS. On a RISC PC, archiving or unarchiving a directory
(with compression enabled) is even faster than making a copy of that
directory ('faster' mode on) ! Also, on some rough tests with typical file
sets, PackDir has been found to be between 5 and 10 times as fast as Spark,
the 'de-facto' archiver for Acorn machines. Test and compare and you'll
quickly be convinced !
PackDir is not meant to fully replace existing archivers because it lacks
some 'convenience' features. But if you regularly need to lug around a lot of
data, e.g. if you regularly exchange data with your friends or if you
regularly make and restore backups of your data, PackDir is an ideal tool. It
will save you a *lot* of time. If you also need Filer-like read access to
PackDir archives you may want to use SparkFS, a commercial product made by
David Pilling. Newer versions of this program can read PackDir archives.
PackDir always archives and unarchives a single, complete directory. It does
not provide for archiving of a specific selection of objects or for adding
objects to or removing objects from an existing archive.
//
//
// Using PackDir
//
//
On PackDir's iconbar menu the usual 'Info' and 'Quit' icons can be found. In
addition, 'Control' gives access to the 'PackDir control' window (click on
'Control' to make the window permanent) and 'Status' gives access to the
'Status' menu. The 'Progress ...' and 'Statistics ...' icons open the
'PackDir progress' and 'PackDir statistics' windows respectively. The
'PackDir control', 'PackDir progress' and 'PackDir statistics' windows and
the 'Status' menu are described below.
Dragging a directory to PackDir's icon will initiate archiving. Dragging a
PackDir archive file to PackDir's icon, or double-clicking on a PackDir
archive file will initiate unarchiving. Archive files which do not have the
correct filetype are also recognized (and filetyped correctly).
NOTE : to archive a '$' directory (which cannot be displayed in a Filer
window and hence cannot be dragged to PackDir), hold down CTRL and instead
drag any object in that '$' directory (note that the default name of the
resulting archive file is 'Root', as '$' is an illegal filename).
//
//
// The 'PackDir control' window
//
//
In this window, you will find five parts, called 'Compression', 'Store',
'Extract', 'Extract to' and 'Image file'.
A few words about what is stored in a PackDir archive and how I refer to the
items. For example, if the directory archived is 'RAM:$.Glpfz.Biqx', the
resulting PackDir archive will store information on the 'RAM:$.Glpfz.Biqx'
directory, and on all objects encountered by recursing 'RAM:$.Glpfz.Biqx'.
For all files encountered, information & contents (data) are stored. For all
directories encountered, only information is stored (as directories store no
actual data). 'Information' consists of everything relevant to recreate the
object, e.g. name, date stamp, size, filetype and so on.
The 'Compression' part allows you to specify the compression method to be
used on file data when a directory is being archived :
- 'None' disables compression. File data will be stored in the archive in
uncompressed form. Note that the resulting archive has a '12-bit LZW'
format, even though no compression has been used on the file data. This is
to retain backward compatibility with older versions of PackDir.
- 'n-bit LZW' (where n = 12, 13, 14, 15, 16) orders PackDir to attempt n-bit
LZW compression on file data. If the compression does not result in size
reduction (which can occur on some data, e.g. if it is already compressed),
file data will be stored in the archive in uncompressed form.
LZW (Lempel Zev Welch) is an efficient compression algorithm, and is very
widely used in the computing world. It is used (in a variety of subtly
different forms) in nearly all archiving programs available, regardless of
platform. 'n-bit' indicates that the compression codes output by the
algorithm are 9..n bits long. In general, 16-bit LZW results in the best
possible compression and therefore the smallest archives. However, as 'n'
increases, more and more workspace memory is needed to perform the algorithm.
16-bit LZW compression needs around 740k of workspace to compress, and around
320k to decompress, while 12-bit LZW needs only around 45k to compress, and
around 20k to decompress. The differences in processing speed between all of
the 'n-bit LZW' compression methods are negligible. It is recommended to use
16-bit LZW wherever possible.
The 'Store' part allows you to restrict what is stored in an archive file
when a directory is being archived :
- 'All' results in everything relevant being stored in the archive.
- 'Skeleton' results in everything relevant being stored in the archive,
except for file data. This setting is sometimes useful to make a compact
'snapshot' of a directory tree structure. Unarchiving this archive
recreates the directory structure (but, obviously, not the file data).
The 'Extract' part allows you to restrict what is extracted from an archive
file when a directory is being unarchived :
- 'All' results in everything relevant being extracted from the archive.
- 'Envelope' results in everything relevant being extracted from the archive,
except for file data. Note that while file data is not restored, the file
size is, i.e. the resulting file contents will be undefined (as after a
*Create command).
- 'Skeleton' is like 'Envelope', except that all file sizes are forced to 0
(so files will not take up any media space).
The 'Extract to' part allows you to specify the destination directory when a
directory is being unarchived :
- 'New path' pops up a 'save' window. You can drag the directory icon to a
Filer directory viewer to indicate the destination and start unarchiving.
- 'Old path' does not pop up a 'save' window, but unarchives straight to the
original 'root' directory (which is stored in the archive). E.g. if you had
archived directory 'RAM:$.Glpfz.Biqx', then 'RAM:$.Glpfz.Biqx' is also the
destination directory.
The 'Image file' part allows you to specify how PackDir should handle image
files. Image files are special files, usually archives of some sort (i.e.
they contain directories and files). In normal situations, an image file
behaves just like any other file. However, once an appropriate Image Filing
System is loaded, and it recognizes the format of the image file, the image
file behaves differently. It can then be accessed both as a file and as a
directory. PackDir needs to know which too choose.
- 'File' makes PackDir see image files as files. While archiving, when an
image file is encountered, it is stored in the archive as a single file.
- 'Directory' makes PackDir see image files as directories. While archiving,
when an image file is encountered, it is stored in the archive as a
directory. I.e. the image file is broken down into subdirectories and
files, and these are stored seperately in the archive.
Note that PackDir archives are also image files. When you are running an
Image Filing System that recognizes PackDir archives, e.g. SparkFS, and you
have 'Image file' set to 'Directory', you should keep in mind that PackDir
then sees its own archives as directories and will not unarchive them. To
avoid confusing situations like this, it is recommended to keep 'Image file
is' set to 'File', or stop the Image Filing System from recognizing PackDir
archives.
//
//
// The 'PackDir progress' window
//
//
This window will show a graphic representation of the progress of the
archiving or unarchiving process.
The meaning of most of the contents of this window is obvious and will not be
explained. Note that the beige parts of the sliders represent the data being
processed, the red and green parts represent data that has already been
processed.
NOTE : When this window is open PackDir's performance drops considerably, due
to the overheads incurred in updating the window. Therefore, only open this
window if you really need to observe progress and speed is of lesser
importance !
//
//
// The 'PackDir statistics' window
//
//
This window will show statistics for a PackDir archive file dragged to it.
The meaning of the contents of this window is obvious and will not be
explained.
//
//
// The 'Status' menu
//
//
In this menu you can manipulate PackDir's 'status', which consists of a
number of configuration settings.
- 'Save' will save the current status.
- 'Load' will load the saved status.
- 'Default' will load the default status.
- 'Kill' will remove the saved status.
When PackDir starts up it loads the saved status, or the default status if
there is no saved status.
The status consists of the 'Compression', 'Store', 'Extract', 'Extract to'
and 'Image file' settings.
//
//
// Epilogue
//
//
Updates of PackDir will be made available by (in order of preference) :
- World Wide Web, on www.inter.nl.net/users/J.Kortink.
- Electronic mail, to kortink@inter.nl.net.
- Snail mail, to : John Kortink, Nutterbrink 31, 7544 WJ Enschede, The
Netherlands. Include a DD or HD floppy, return envelope and one
International Reply Coupon (IRC).