home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 5
/
DATAFILE_PDCD5.iso
/
utilities
/
p
/
packdir
/
!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 encounte