@database "PPMC.hyper"

@node main "PPMC documentation"
@width 80
PPMC 1.2b TUTORIAL

			   The Powerpacker Mini Clone
			Copyright (c) 1992,1993 REELSOFT

	@{ " Introduction    " link intro     }       About `PPMC'
	@{ " Install v37     " link install20 }       OS 2.0, Ready, set, go !..
	@{ " Install v38+    " link install21 }       OS 2.1 and OS 3.0
	@{ " Shell usage     " link shell     }       CLI/Shell syntax
	@{ " Workbench usage " link workbench }       Click that icon !
	@{ " Changes         " link changes   }       What's new ?
	@{ " Still to do     " link todo      }       I would like to..
	@{ " Author          " link author    }       Who wrote it ?
	@{ " Acknowledgments " link credits   }       Thanks..

	Both this program and its source are freely distributable,
	but remain Copyright (c) REELSOFT.
@endnode


@node intro Introduction

  PPMC is powerpacker.library meeting gadtools.library.
  It's a utility, useful for packing and unpacking text and data files.
  Unlike the original Powerpacker, PPMC won't insert a decrunch header
  in the packed file, so it would be useless to crunch an executable file
  (except for an archival purpose)

  PPMC works under 2.0(V37), 2.1(V38) and 3.0(V39) systems
  and can be invoked either from the @{" Shell "link shell} or from the @{" Workbench "link workbench}.
@endnode


@node install20 "Installation"
  Installation under OS 2.0 :
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  PPMC obviously requires the powerpacker.library.
  That is the only library to install, in order to use the Shell interface.
  As for the Intuition interface, the reqtools.library is needed too.

  The installation program allows you first of all to compare the version
  number of the provided libraries with those already installed in your
  system.
  It will then update your Libs: assignement with the libraries you had
  previously checked.

  Note :
  ~~~~~~
  - Pressing the Esc key will quit the program.
@endnode
@node install21 "Installation"
  Installation under OS 2.1 & OS 3.0 :
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  To execute the installation script, double-click on your language icon.

  Notes :
  ~~~~~~~
  - You will need Commodore's Installer program in your C: assignement.
  - I'm sorry if your native language isn't provided.
    Feel free to do the translation and don't forget to send me a copy
    of the `.ct' file...
@endnode


@node shell "Usage from Shell"

  If you wish to use an Intuition+GadTools interface, just type `PPMC'
  with no argument.
  (skip to the `Usage from @{" Workbench " link workbench}' chapter for more details)

  You may otherwise be interested in a CLI-only interface.
  In that case, type `PPMC ?' to display the template.

  Syntax :
  ~~~~~~~~
	PPMC FROM <source> TO <destination>
	[EFFECT] {1|2|3|4|5} [BUFFER] {1|2|3} [DECRUNCHING] {1|2|3|4|5}
	[ENCRYPT] [FORCE] [QUIET] [VER] [HELP]

  Template :
  ~~~~~~~~~~
	PPMC
	@{" FROM "link from}/A,@{" TO "link to}/K,
	EFF=@{" EFFICIENCY "link eff}/K/N,BUF=@{" BUFFER "link buf}/K/N,DEC=@{" DECRUNCHING "link dec}/K/N,
	@{" ENCRYPT "link encrypt}/S,@{" FORCE "link force}/S,@{" QUIET "link quiet}/S,@{" VER "link ver}/S,@{" HELP "link help}/S

	@{" Examples "link ex}
	@{" Miscellaneous "link misc }
@endnode


@node from FROM

  FROM :	this is the path and name of the file to be crunched.
@endnode


@node to TO

  TO :		this is the path and name of the destination file.

  If this argument is omitted, the destination file name would be equal to :
  - the source name plus  the `.pp' extension if packing.
  - the source name minus the `.pp' extension if unpacking.
    (Be careful: if the source file has no `.pp' extension,
    it will be overwritten !)
@endnode

@node eff EFFICIENCY

  EFFICIENCY :	the packing efficiency

		1 = FAST
		2 = MEDIOCRE
		3 = GOOD
		4 = VERY GOOD
  (default)	5 = BEST
@endnode


@node buf BUFFER

  BUFFER :	the size of the speedup buffer used while packing

		1 = LARGE	from   3K (FAST) to  33K (BEST)
		2 = MEDIUM	from   5K (FAST) to  65K (BEST)
  (default)	3 = SMALL	from 196K (FAST) to 256K (BEST)
@endnode


@node dec DECRUNCHING

  DECRUNCHING :	the effect to be used during decrunching

		1 = flash color 0
		2 = flash color 2
		3 = flash mouse pointer
		4 = background color scrolling
  (default)	5 = No decrunching effect
@endnode


@node encrypt ENCRYPT

  ENCRYPT :	This switch enables encryption of packed files.
		You will then be asked for a password.
@endnode


@node force FORCE

  FORCE :	Use this switch to disable the confirmation request
		before the crunching of an executable file.
@endnode

@node quiet	QUIET

  QUIET :	When this switch is on, no information is displayed
		during the packing or the unpacking operation.
@endnode

@node ver VER

  VER :		This switch will ask PPMC to display its current version.

  Note :
  ~~~~~~
  - Same as the `-v' option on previous versions of PPMC.
@endnode

@node help HELP

  HELP :	A very useful switch which will make PPMC display
		the packing parameters values.

  Notes :
  ~~~~~~~
  - This option is localized
  - Same as the `-h' option on previous versions of PPMC.
@endnode

@node ex Examples

	> PPMC file1 file2 EFF=3 BUF=2 DEC=3 ENCRYPT

	- Pack and encrypt `file1' with a GOOD efficiency,
	  using a MEDIUM speedup buffer, and a decrunching effect
	  on the mouse POINTER, then save it to `file2'.


	> PPMC file FORCE

	- Pack `file' with the default parameters
	  ( EFF=BEST, BUF=LARGE, DEC=NONE ), without encrypting it,
	  then save it as `file.pp', even if it's an executable file.
	  If `file' is already packed, it will be unpacked and saved.
@endnode


@node misc Miscellaneous
  When using PPMC from the Shell :
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  - The program firstly checks if the source file is already packed
    and encrypted and will in that case decrunch it.
    So use the same syntax to unpack a file.
  - You may abort any packing or unpacking operation by hitting Ctrl-C
    or Ctrl-D.
  - The display of messages can be avoided by adding >NIL:
    at the end of the command line.
@endnode


@node workbench "Usage from Workbench"

  To run PPMC from Workbench, simply double-click on its icon,
  which has several @{" Tool Types "link tooltypes} that you may want to set before.

  To load a file, you can either :
  - Drop an icon on PPMC window (the fastest way),
  - Click on the GetFile gadget, then select a file in the requester,
  - Use the Load item from the Project menu (right Amiga + L).

  Once the file is chosen, the program analyses it and whether it's already
  packed or not, enables the appropriate button.

  Notes :
  ~~~~~~~
  - The Esc button aborts the crunching operation.
  - Decrunching is too fast to be aborted.
  - You will be warned by a requester, every time you will attempt to
    load an executable file.
@endnode

@node tooltypes "Tool Types"
  PUBSCREEN	:	The public screen name on which PPMC should open
			its window
  Default	:	Default public screen (or Workbench)

  LANGUAGE	:	The language to use for localization (OS 2.1+ only)
  Default	:	System default if available, English otherwise

  EFFICIENCY	:	Sets the crunching efficiency at startup
  Range		:	1-5 (@{"Values"link eff})
  Default	:	5 (BEST)

  BUFFER	:	Sets the speedup buffer at startup
  Range		:	1-3 (@{"Values"link buf})
  Default	:	1 (LARGE)

  DECRUNCHING   :	Sets the decrunching effect at startup
  Range		:	1-5 (@{"Values"link dec})
  Default	:	5 (NONE)

  ENCRYPT	:	Sets encryption at startup
  Default	:	OFF

  VERBOSE	:	When this tool type is OFF, the `size', `% gain' and
			`%' gadgets, as well as the percentage gauge will be
			disabled during the packing operation.
  Default	:	ON

  ASL		:	PPMC will use the reqtools.library file-requester
			by default.
			If you prefer using the asl.library file-requester
			or any other library providing an ASL patch program
			(KDfreq,MFR,etc..), set this tool type to ON.
  Default	:	OFF

  PATTERN	:	You may avoid the use of a backfill pattern
			by launching PPMC with this tooltype OFF.
  Note		:	This is particularly appropriate for owners of
			a slow processor Amiga, who use an 8 or 16 color
			Workbench screen under Kickstart 2.0 or 2.1.
			(Intuition windows are sped up a lot under V39).
  Default	:	ON

  COLOR		:	Sets the window pattern color.
  Range		:	0-255
  Default	:	3
@endnode

@node changes "Major Changes"

		v1.2b	- Dutch catalog
			- Icon Tool Type parsing
			- Invisible password prompting from CLI
			- All UNIX style options replaced by new switches
			- Recompiled with SAS/C 6.1

		v1.2a	- File overwritting detection
			- Gadget shortcuts corrected
			- `-b' option

		v1.2	- Localized
			- Unpacking possibility
			- Complete CLI/Shell interface
			- ASL file requester
			- Custom Password prompting
			- New look
			- Internal font changed
			- Hypertext documentation

		v1.1	- Encrypts files
			- Warns the user if an executable file is loaded
			- Internal font purged
			- Few bugs fixed

		v1.0	- First released version
@endnode

@node todo "Future improvements"

	- Pack and unpack multiple files
	- Scan a directory for a recursive packing and unpacking
	- Make window & gadgets sizable
	- Add an icon to the destination file(s)
	- Optimize the code with a custom startup
	- Replace ppErrorMessage() with a localized function
	- Translate the documentation to French

  Note :
  ~~~~~~
  These improvements will mostly depend on the needs of PPMC users...
@endnode


@node author "Author"
	PPMC was written by

	Reza ELGHAZI
	35, av Mac Mahon
	75017 Paris
	FRANCE

	Using a very slow Amiga 500+ (1Mb CHIP),
	a GVP A500-HD8+ 52Mb SCSI hard drive (4Mb FAST),
	under Kickstart 39.106 (loaded in RAM with SKick)
	and Workbench 39.29

	Comments, suggestions, bug reports, flames, gifts, etc...
	are welcome.

		...AND SOMEONE SAID FAIR WARNING
		   LORD WILL STRIKE THAT POOR BOY DOWN,
		   TURNED FROM HUNTED INTO HUNTER
		   WENT TO HUNT SOMEBODY DOWN...		(VAN HALEN)
@endnode


@node credits "Acknowledgments"
  Thanks to :
  ~~~~~~~~~~~
	Nico Francois			Fred (Torchi) Servant
	Jan van den Baard		Alex Tsopeis
	Michael Berg			Denis Gounelle

  SPECIAL Thanks to :
  ~~~~~~~~~~~~~~~~~~~
	Jan van den Baard for his awesome GadToolsBox,
	the Dutch localization and for helping me on several bugs.

	Michael Berg for the Danish localization.

	Nico Francois for having resolved the password problem
	and of course his exceptional reqtools and powerpacker libraries.

	Fred Fish for his prodigious PD collection.

	Alice in Chains for the music.

  PPMC was written with :
  ~~~~~~~~~~~~~~~~~~~~~~~
	SAS/C Compiler v6.1		(c) SAS Institute Inc.
	CygnusEd Pro v2.12		(c) CygnusSoft Software
	GadToolsBox v1.4		(c) Jaba Development
	powerpacker.library v35		(c) Nico Francois
	reqtools.library v38		(c) Nico Francois
@endnode
