*** PMarc compression utility for CP/M
*** (c) 1990,1991 by Yoshihiko Mino
*** Ported to IBM-PC by Wolverine Logan, (c) 1997
***
*** PMarc help manual
*** Compiled by Wolverine Logan, 1997


General information
-------------------

As an utility for CP/M, PMARC/PMEXT doesn't allow the use of directories on
the command line, only drives. To use directories, use the DOS SUBST command
to create fake drives to work on with PMARC/PMEXT.

PMARC.COM
---------

This utility creates LZH-like archives with the extension .PMA. It compresses
as effectively as the MSDOS utility LHA, but is not completely compatible (you
can read the directory with LHA, but you can't extract files from
the archive). Just type PMARC at the prompt to see a list of options.


PMEXT.COM
---------

This great program unpacks .PMA as well as .LZH archives (even compression
method -lh5-), and it's very fast compared to other LZH unpackers
(like LHRD and LHX). Type PMEXT without filenames for more information.


PMEXE.CPM
---------

This is a module which you can only use in combination with PMARC. It
is used to make executable compressed COM files (just like LZEXE or
PKLITE for MSDOS). To make such a file, type:

	PMARC <archive>.COM=PMEXE2.CPM <filename> [options]

The archive-name must be .COM, offcourse, not .PMA. The output file will
have the extension .CPM. It's an MSX-DOS COM file and will not run under 
MSDOS. Remember to rename file to .COM to run it under MSX-DOS.


PMSFX.CPM
---------

This module is also for use with PMARC. It is used to make self-
extracting (SFX) archives, like this:

	PMARC <archive>.COM=PMSFX2.CPM <filenames> [options]

The archive-name must be .COM, not .PMA. The output file will have
extension .CPM. It's an MSX-DOS COM file and will not run under MSDOS.
Remember to rename file to .COM to run it under MSX-DOS.


PMSET.COM
---------

This is a program with which you can set some default options in
PMARC. Start up the program without arguments to get help.


PMCAT.COM
---------

This is a program with which you can update and catenate or delete
files in PMA archives. Start up the program without arguments to
get help.

Note:
PMSET and PMCAT (just like PMEXT) will also work on .LZH archives
made with the MSDOS archiver LHA 2.11, but don't count on LHA to
be able to extract them afterwards.


Extra information on the usage of the PMArchive Suite of software
-----------------------------------------------------------------

In addition to the commands and options that can be gleaned from the 
previous DOCs and usage summaries there are some VERY useful ones that 
were missed.
Firstly the PMARC & PMEXT programs both work on multiple files, i.e., if 
wild-cards are used in PMEXT then it will search ALL matching archives 
not just the first match it finds which I find very useful when you 
set up one disk with many archives each dealing with one program 
group.
Also with PMEXT more devices are supported than has yet been revealed!
with the usage:

PMEXT [D:]<filename><extension> {device:}<filematch>(options)

where all parameters are optional, both D: and device: will use default 
drives if they are left out.
In addition though the {device:} option can redirect file output to 
other devices:

A: - P: to drives as usual
LST: outputs to current list device (printer etc:) and if the /P 
     option is used form feeds will be sent at the PMSET intervals.
PUN: outputs to the CPM2.2 Paper Punch device or whatever is driven by 
     that BIOS function with as far as I know no re-formating of the passed 
     data.
CON: outputs to the console and if the /P(aginate) option is used the 
     there are a few quite unique functions that can be invoked by keyboard 
     input.
     After a screen full of text you can press Enter/Return A, B, Q, X or 
     Space.  Each performs a specific function and are read from the console 
     buffer:
     Enter/Return - clears the screen and displays the next screen-full.
     A - Aborts this file listing.
     B - Goes Back one Page. (can only go back as far as the first page in 
     current block)
     Q - Quits the Read function and exits to DOS prompt.
     X - Displays one line at a time.
     Space - Displays the next screen-full without clearing the screen. 

An example command line could look like this:

A> PMEXT B:* CON:*.DOC/I/P

Which would load PMEXT from drive A, and search drive B for all files 
that matched ????????.PMA and when it finds one it searches the 
directory for a DOC file and dosn't display non-matches when it finds 
one it will extract it to the console with pagination and you can then 
use the above keys to view the DOC. If you abort with A key or reach 
the end of text and press Enter the search for the next DOC file 
resumes, and the process continues until either the last archive has 
been searched or the search is aborted by the Q key during reading.
I personaly find this to be a very good text viewer in its own right.
A short note on the compression ratios that I have achieved and 
compared against various Archivers for both CPM and MS-DOS and also 
stand-alone compressors.
Firstly this may be difficult to believe but PMARC beats the MS-DOS LHA 
archiver which, so I gather is were the inspiration for PMARC came 
from. It also beats the MS-DOS ARC format archiver and PKZIP1xx though 
I don't think it beats the new version 2 algorithms.
Obviosly it beats the CPM ARK archiver hands down on both compression 
and facilities and does all that the .LBR format can with just the two 
main PMARC & PMEXT files. It beats all the stand-alone compressors 
including CRLZH20.COM which as far as I know was previosly the best 
one for CPM.
There is only one existing archiver that I know of that beats the PMA 
algorithms for sure and that is MS-DOSs ARJ archiver though it's not 
by much! With an XRS mail packet which consists of a number of 
different files the ratios achieved only differed on average by 2.5% 
in favor of ARJ which considering the speed of extraction with UNARJ  
and that of the PMEXT that small diference in ratios definately shows 
that the whole suite is very well coded and alot of thought went into 
its design.
The biggest flaw with this suite is that it does not support du: 
specifiers. I suppose that some of those who realy nead them could 
possibly hack a fix but if they do then it'd be a good idea to change 
the Z80 specific instruction DJNZ dis. used throughout this suite to:

DEC B
JR NZ,dis

which would then make it usable on old 8080 systems and on the V20 
series in 8080 mode.
Note the High speed mode option in PMARC may be faster but it 
definately reduces the amount of compression obtained.
Also when creating a PMEXE type archive remember that there must be 
enough TPA to allow both the existing archive and the expanded form to 
exist in otherwise it will jam up!




Credits:
- Help texts of PMEXE,PMSFX,PMSET,PMCAT,PMARC,PMEXT by Pierre Gielen 
  (Nijmegen, The Netherlands);
- Text with extra information on the usage of the PMArchive Suite of 
  software by Johnathan Taylor 06/02/93;
- PMarc utility package ported to IBM-PC by Wolverine Logan, (c) 1997
- Manual compilation and information addendum by Wolverine Logan, (c) 1997
