Die Familie der PM-Pack- und Hilfsprogramme: Die nachfolgend beschriebenen Programme sind nur auf Rechnern mit einem CP/M(-kompatiblen)-Betriebssystem lauff{hig. Es ist min- destens ein Z80-Prozessor und der in den Hilfeseiten angegebene freie Arbeitsspeicher (TPA) erforderlich. PMARC - Der Packer Der modernste Packer, den es zur Zeit f}r CP/M gibt, ist PMARC. Dieses Programm erzeugt Archive mit der Erweiterung .PMA, aber es ist auch m|glich, eine andere Erweiterung anzugeben. Der Aufbau der Archive {hnelt dem von LHA (MS-DOS). Mit LHA kann auf einem IBM-PC das Verzeichnis gelesen werden, aber die Dateien k|nnen nicht aus dem Archiv entpackt werden. Wird auf CP/M-Kommandoebene PMARC ohne Parameter eingegeben, so erscheint folgende Hilfeseite: PMarc Version 2.00 for 46K CP/M(Z80) Copyright(C) 1990 by Yoshihiko Mino. Usage: PMARC2 [=][/w:] [d:][=][/BDHMNT] Options: /w : Work drive(default is current) /B : Binary file(ignore EOF) /D : Delete members in archive /H : High-speed mode /M : Make memorandums /N : No compression /T : Text file(stop at EOF) Die Angaben haben dabei folgende Bedeutung: - Name des zu bearbeitenden Archivs; fehlt der Dateityp, wird automatisch .PMA angef}gt - Basis-Archiv; damit wird ein verf}gbares Modul bezeichnet (PMSFX oder PMEXE) - Name der Datei, die ins Archiv gepackt werden soll; Jokerzeichen (? oder *) sind erlaubt - Name unter dem die Datei im Archiv abgelegt werden soll /w Work drive - Arbeitslaufwerk, von dem das Modul geladen werden soll /D Delete members - die angegebene Datei wird aus dem Archiv gel|scht /M Make memorandums - erlaubt das Einf}gen von Notizen /T Text file - die zu packenden Dateien sind Textdateien und enden mit EOF-Zeichen (1Ah) /B Binary file - die zu packenden Dateien sind Bin{rdateien; das EOF-Zeichen wird ignoriert /H High-speed mode - das Archiv wird schneller erstellt, jedoch ist die Packdichte nicht so hoch wie normal /N No compression - die Dateien werden ungepackt im Archiv abgelegt Alle Angaben zwischen [ und ] k|nnen entfallen. Dabei ist zu beachten, da~ kein Leerzeichen zwischen den Dateinamen und dem Slash '/' stehen darf, da sonst die Optionen nicht erkannt und ausgef}hrt werden. Das Programm akzeptiert keine Userbereichsangabe. Die Dateien m}ssen also bei verschiedenen Laufwerken im selben Userbereich vorliegen. Ansonsten erwartet das Programm alle Dateien auf dem aktuellen Laufwerk. Will man z. B. Notizen einf}gen, so mu~ man PMARC folgenderma~en aufrufen: A>PMARC TEST HALLO.TXT/M Daraufhin erscheint folgendes Bild: PMarc Version 2.00 for 46K CP/M(Z80) Copyright(C) 1990 by Yoshihiko Mino. Archive file = TEST.PMA (NEW) HALLO .TXT Compressing 0014/0014 50.2% Memo>testdatei Adding Done. PMARC erkennt, ob das Archiv (hier TEST.PMA) schon existiert. Ist das Archiv neu, so wird dies gemeldet. Die angegebenen Dateien werden komprimiert und danach wird die Notiz abgefragt. Hat man die Eingabe mit best{tigt, so meldet PMARC die Aufnahme (Adding) bei neuen Archiven oder das Ersetzen (Updating) der Dateien. Die eingegebenen Notizen werden beim Auspacken mit PMEXT angezeigt. Die Packdichte, die man mit PMARC erreichen kann, ist die derzeit h|chste unter CP/M. Auch einige Packer unter MS-DOS werden }berragt. So packt PMARC z. B. besser als LHA, ARC und PKZIP1xx, die von MS- DOS bekannt sind. An den neuen Algorithmus von PKZIP2xx und ARJ kommt PMARC jedoch nicht heran. Die bekannten Packer unter CP/M, wie z. B. ARK, CRUNCH, CRLZH20 und Squeeze (in NSWEEP enthalten) werden jedoch allesamt von PMARC }berragt. Da PMARC alle gepackten Dateien in einem Archiv ablegt, kann auf das Anlegen einer Biblio- thek (.LBR) verzichtet werden. Zum Packer PMARC gibt es den entsprechenden Entpacker. PMEXT kann nicht nur die Archive von PMARC entpacken, sondern auch die LZH- Archive (MS-DOS). Umgekehrt ist dies derzeit nicht m|glich. PMEXT - Der Entpacker Da andere Programme das PMARC-Format nicht verarbeiten k|nnen, gibt es einen speziellen Entpacker: PMEXT. Nach dem Aufruf ohne Parameter meldet es sich mit folgendem Bild: PMext Version 2.22 for 34K CP/M(Z80) Copyright(C) 1990,1991 by Yoshihiko Mino. Usage: PMEXT [[dev:][=][/A/B/C/I/L/M/N/Pn/Q/W]] Options: /A : Extract with attribute /B : Binary file(ignore EOF) /C : Check CRC of members /I : Indifferent to unmatching members /L : Display list of members /M : Nondisplay memorandums /N : Nondisplay hex-counter /P : Output by the page /Q : Work with question /W : Overwrite without question Examples: A>PMEXT B:SAVE ; Display list of members in B:SAVE.PMA A>PMEXT B:SAVE *.COM/L ; Display list of COM-members in B:SAVE.PMA A>PMEXT SAVE B: ; Extract all members in SAVE.PMA to drive B: A>PMEXT SAVE READ.ME=*.DOC ; Extract READ.ME as READ.DOC in SAVE.PMA A>PMEXT SAVE CON:READ.ME ; Display contents of READ.ME in SAVE.PMA A>PMEXT SAVE EXE:TERM ; Execute TERM.COM in SAVE.PMA A>PMEXT SAVE /C ; Check all members in SAVE.PMA Zun{chst sei angemerkt, da~ PMEXT mit Jokerzeichen auch im Archiv- Namen arbeiten kann. Es werden alle zutreffenden Archive durch- sucht. Sind auf einer Diskette viele Archive, k|nnen mehrere oder alle Archive mittels Jokerzeichen angesehen werden. Dabei haben die Angaben folgende Bedeutung: - Name des Archivs; Dateityp .PMA braucht nicht angegeben werden dev - Device (Ger{t), auf das die Datei ausgegeben werden soll - Name, unter dem die Datei im Archiv gespeichert ist - Name, unter dem die Datei ausgegeben werden soll /A Extract with attribute - die Dateien werden mit Attributen ausgegeben /C Check CRC of members - Pr}fsumme der enthalte- nen Dateien pr}fen /L Display list of members - Liste der enthaltenen Dateien anzeigen /N Nondisplay hex-counter - Hex-Z{hler nicht an- zeigen /Q Work with question - fragen, wenn auszuge- bende Datei bereits existiert /B : Binary file(ignore EOF) - Bin{rdatei; EOF igno- rieren /I : Indifferent to unmatching members - ung}ltig f}r nicht zu- treffende Dateien /M : Nondisplay memorandums - Notizen nicht anzeigen /P : Output by the page - seitenweise Ausgabe /W : Overwrite without question - bereits existierende Datei ohne R}ckfrage }berschreiben Auch hier k|nnen die Angaben in [ und ] weggelassen werden. Zus{tzlich kann vor dem Archiv-Namen auch das Laufwerk (kein Userbereich) angegeben werden, auf dem sich das Archiv befindet. Anschlie~end werden ein paar Beispiele f}r die Anwendung gegeben. Interessant ist dabei besonders die Option 'dev:', denn es werden mehr Ausgaben unterst}tzt, als bei den meisten Programmen sonst }blich ist. F}r 'dev:' k|nnen folgende Angaben eingesetzt werden: A: - P: - die Laufwerke unter CP/M (sofern vorhanden) LST: - die Ausgabe wird auf das aktuelle List-Ger{t (Drucker etc.) umgeleitet; wurde die Option /P angew{hlt, so werden Seitenvorsch}be eingef}gt (durch PMSET festge- legte Seitenl{nge) PUN: - die Ausgabe wird auf das Ger{t umgelenkt, welches durch die BIOS-Funktion f}r den Punch-Kanal (Loch- stanzer) unterst}tzt wird EXE: - entpackt die angegebene .COM-Datei und l{dt sie in den TPA-Bereich zur Ausf}hrung; es kann eine Kommandozeile wie unter CP/M angegeben werden CON: - Ausgabe auf die Konsole (Bildschirm); wurde Option /P angegeben, sind zus{tzliche Funktionen m|glich, die durch Tastenbet{tigung ausgel|st werden: ENTER/RETURN - l|scht den Bildschirm und gibt eine neue Seite aus A - Abbruch des Listings dieser Datei B - eine Seite zur}ck (nur bis zur ersten Seite des aktuellen Blocks) Q - bricht die Lesefunktion ab und kehrt zu CP/M zur}ck X - zeigt die n{chste Zeile an SPACE - zeigt die n{chste Seite ohne den (Leertaste) Bildschirm zu l|schen Beispielsweise k|nnte PMEXT folgenderma~en aufgerufen werden: A>PMEXT B:* CON:*.DOC/I/P Danach sucht PMEXT (auf Laufwerk A:) nach allen Dateien mit dem Dateityp .PMA (????????.PMA) und wenn die Suche erfolgreich war, sucht es im Archiv-Verzeichnis nach einer .DOC-Datei. Dabei werden Archive, in denen keine .DOC-Datei enthalten ist, nicht angezeigt (Option /I). Verl{uft die Suche positiv, wird die .DOC-Datei auf den Bildschirm entpackt und nach jeder Seite angehalten. Man kann dann die oben beschriebenen Tastenfunktionen bei der Betrachtung benutzen. Bricht man mit 'A' ab oder erreicht das Ende der Datei und bet{tigt , wird mit der n{chsten .DOC-Datei fortge- fahren. Diese wird auf den Bildschirm entpackt usw. bis das Ende der letzten .DOC-Datei im letzten Archiv erreicht ist oder bis man 'Q' dr}ckt. PMCAT - Der Verwalter Diese Programm dient der schnellen Bearbeitung bereits gepackter Dateien. Bereits gepackte Dateien k|nnen von einem Archiv an ein anderes angehangen, Dateien in einem Archiv schnell gel|scht oder anhand eines anderen Archivs aktualisiert werden. Nach dem Aufruf ohne Parameter meldet sich PMCAT mit folgender Hilfeseite: PMcat Version 2.11 for CP/M Copyright(C) 1990 by Yoshihiko Mino. 1) PMCAT [-S] [=] [ []] Catenate members in matching with to . If is fixed,copy the archive to ,and do as the above. If is absent, all members are catenated. If is absent,it mean refresh . If switch -S is fixed,sort members in alphabetical order before catenating. 2) PMCAT -U [] Update directry by members in matching with . 3) PMCAT -D[D] Delete members in matching with . If fix -DD,rewrite directry. Auch hier k|nnen die Angaben zwischen [ und ] entfallen. Die Hilfeseite ist sehr ausf}hrlich und beschreibt eigentlich die m|glichen Betriebsarten von PMCAT. Dennoch soll hier eine etwas ausf}hrlichere Beschreibung folgen. Die Befehlszeile m}~te eigent- lich lauten: PMCAT [Option] [=] [] [] Die verwendeten Bezeichnungen haben dabei folgende Bedeutung: - Empfangs-Archiv, auf das sich die (Arbeits-Archiv) Aktivit{ten mit PMCAT beziehen - Basis-Archiv; verf}gbares Modul (PMSFX oder (Basis-Archiv) PMEXE) - Sende-Archiv, von dem die Dateien zur (Sende-Archiv) Aktualisierung oder zum Anh{ngen kommen - zutreffende Dateien; durch ein- oder (Dateiname) mehrdeutigen Dateinamen bestimmt (fehlt er, werden alle angenommen - *.*) Optionen: -S - bewirkt das alphabetische Sortieren der Dateinamen vor dem Anh{ngen -U - Aktualisierungsfunktion wurde gew{hlt -D - L|schfunktion wurde gew{hlt; folgt ein zweites 'D', so wird das Archiv-Verzeichnis neu geschrieben Die verschiedenen Optionen bewirken unterschiedliche Betriebsarten: Anh{ngen - Diese Betriebsart ist standardm{~ig voreinge- stellt. Dabei werden die zutreffenden Dateien des Sende-Archivs an das Arbeits-Archiv angehan- gen. Wurde ein Basis-Archiv angegeben, so wird das Arbeits-Archiv zun{chst kopiert und mit dem Modul versehen. Fehlt das Sende-Archiv, so wird das Arbeits-Archiv aufgefrischt. Option -S m|glich Aktualisieren - Zutreffende Dateien des Arbeits-Archives werden durch (gleichnamige) Dateien des Sende-Archives ersetzt. durch Option -U angew{hlt L|schen - Die zutreffenden Dateien werden aus dem Arbeits- Archiv gel|scht. Bei Angabe eines zweiten 'D' wird danach das Verzeichnis des Arbeits-Archives neu geschrieben. PMSET - Die Voreinstellungen Man kann bei PMARC und PMEXT viele Funktionen }ber die Options- Schalter einstellen. Diese sind jedoch nur w{hrend dieses Aufrufes g}ltig. Verwendet man h{ufig die selben Einstellungen, empfiehlt es sich, diese mittels PMSET in PMARC oder PMEXT zu verankern, so da~ sie nicht jedes Mal angegeben werden m}ssen. Nach dem Aufruf ohne Parameter meldet sich PMSET mit folgender Hilfeseite: PMset Version 1.20 for CP/M(Z80) Copyright(C) 1990 by Yoshihiko Mino. Usage: A>PMSET [] Parameters: A/{0|1} : Set attribute option. C/code : Set screen clear code. D/ext : Delete text-extension. E/ext : Add text-extension. F/{0|1|2} : Set display-form of counter. I/{0|1} : Set indifferent option. L/n,n : Set lines per page. M/{0|1} : Set memorandum option. O/{0|1} : Set overwrite option. P/{0|1} : Set page option. Q/{0|1} : Set question option. W/[d] : Set work-drive. Die Angaben haben dabei folgende Bedeutung: - Name des einzustellenden Programms (PMARC oder PMEXT), wobei das Laufwerk vorangestellt werden kann und der Dateityp .COM angegeben werden mu~ Gibt man keine an, so wird der derzeitige Zustand des entsprechenden Programms analysiert und ausgegeben. Nicht alle Optionen k|nnen bei einem Programm eingestellt werden. Folgende ]bersicht zeigt, welche Option bei welchem Programm angewendet werden kann: Option PMARC PMEXT ------------------------------- A * C * D * E * F * * I * L * M * * O * P * Q * W * Dabei haben die Optionen folgende Bedeutung: A - Attribut-Option (/A) wird bei PMEXT voreingestellt; die Dateien werden mit Attributen ausgegeben C - Befehlsfolge f}r Bildschirml|schen festlegen; wird f}r den Seitenmodus von PMEXT ben|tigt; Code mu~ so eingegeben werden, wie er im Programm verwendet werden soll (z. B. ^Z f}r 1Ah) D - L|schen eines Dateityps f}r Textdateien; beim Packen beachtet PMARC das EOF-Zeichen f}r Textdateien E - Hinzuf}gen eines Dateityps f}r Textdateien; in PMARC k|nnen bis zu 10 Dateitypen gespeichert werden F - Einstellung der Anzeigeart des Z{hlers beim Packen oder Entpacken 0 - normale Form; Z{hler hinter Dateinamen 1 - CR-Form; Z{hler am Anfang der n{chsten Zeile 2 - kein Z{hler I - Indifferent-Option (/I) f}r PMEXT festlegen; f}r nicht zutreffende Dateien wird der Befehl nicht ausgef}hrt L - Anzahl der Zeilen pro Seite; erste Zahl f}r den Bild- schirm, zweite Zahl f}r den Drucker; als normale Dezimalzahl eingeben M - Notiz-Option (/M) voreinstellen; PMARC fragt f}r jede Datei eine Notiz ab; PMEXT unterdr}ckt die Anzeige der Notizen O - ]berschreib-Modus; PMEXT }berschreibt bereits existierende Dateien ohne R}ckfrage (Option /W) P - seitenweise Ausgabe wird voreingestellt (/P); erm|glicht komfortables Betrachten der Dateien mittels PMEXT Q - R}ckfrage-Modus; PMEXT fragt nach, wenn die auszugebende Datei bereits existiert (Option /Q, Gegenteil von PMEXT /W) W - Einstellung des Arbeitslaufwerkes, von dem PMARC die Module PMSFX oder PMEXE l{dt (Option /W); bei Angabe von 'W/' ohne nachfolgenden Buchstaben, wird 'aktuelles Lauf- werk' benutzt Nach dem Slash '/' schaltet eine '1' die jeweilige Option an, eine '0' diese aus. Mehrere Parameter k|nnen, jeweils durch ein Leer- zeichen getrennt, eingegeben werden. PMEXE und PMSFX - Die Module Die Programme PMEXE2.COM und PMSFX2.COM haben in der Familie der PM-Pack- und Hilfsprogramme eine ganz spezielle Bedeutung. Sie verrichten, im Gegensatz zu den bisher vorgestellten Programmen, ihre Arbeit mehr IM als am Archiv. Nach dem Aufruf von PMEXE2.COM erscheint anstelle der }blichen Hilfeseite nur: PMexe Version 2.00 for CP/M Copyright(C) 1990 by Yoshihiko Mino. Auch PMSFX2.COM zeigt sich recht kurz angebunden: PMsfx Version 2.00 for CP/M Copyright(C) 1990 by Yoshihiko Mino. Diese beiden Programme stellen jedoch die neueste und meiner Meinung nach auch die gr|~te Errungenschaft auf dem Gebiet der CP/M-Packprogramme dar. Mit ihnen werden M|glichkeiten erreicht, die bisher nur den gr|~eren Rechnern vorbehalten waren. PMEXE2.COM und PMSFX2.COM stellen die oben bereits erw{hnten (Basis-Archiv oder besser Basis des Archivs) dar, die mittels PMARC oder PMCAT in ein Archiv geladen werden k|nnen. Dabei stellt ein mit PMEXE versehenes Archiv ein selbstausf}hren- des, mit PMSFX versehen, ein selbstextrahierendes Archiv dar. Sollen die Archive mit einem Modul versehen werden, dann mu~ nat}rlich f}r den Archivnamen der Typ '.COM' gew{hlt werden. Ansonsten erkennt es CP/M nicht als ausf}hrbare Datei. Dabei ist jedoch zu beachten, da~ das Archiv nicht gr|~er als der frei verf}gbare Speicher (TPA) wird, da es sonst nicht als Programm geladen werden kann. Selbstausf}hrende Archive mit PMEXE d}rfen nur aus einem Programm bestehen. Dieses wird dann im Speicher entpackt, auf die Adresse 0100 Hex geladen und zur Ausf}hrung gebracht. Deshalb mu~ darauf geachtet werden, da~ sowohl das gepackte als auch das entpackte Programm zusammen in den Speicher passen. Es kann sonst dazu f}hren, da~ das Betriebssystem oder Teile davon }berschrieben w}rden, was unweigerlich zum Absturz desselben f}hren w}rde. Die Kommandozeile PMARC BEISPIEL.COM=PMEXE2.COM XXX.COM wird ungef{hr dieses Bild liefern: PMarc Version 2.00 for 46K CP/M(Z80) Copyright(C) 1990 by Yoshihiko Mino. Base archive = PMEXE2.COM Archive file = BEISPIEL.COM (NEW) Copying: SFX/EXE module XXX .COM Compressing 0041/0041 71.8% Adding Done. Danach liegt auf dem aktuellen Verzeichnis die neue Datei 'BEISPIEL.COM' vor, die ein selbstausf}hrendes Archiv darstellt. Wird sie aufgerufen, entspricht das der Befehlszeile: PMEXT BEISPIEL.COM EXE:XXX ]brigens ist diese Befehlszeile immer noch anwendbar. Mit PMEXT k|nnen n{mlich die Archive mit PMEXE- oder PMSFX-Modul wie andere Archive bearbeitet werden. Man darf nur nicht den Dateityp verges- sen, weil standardm{~ig '.PMA' erwartet wird. Man kann dem Archiv BEISPIEL.COM auch eine ganz normale Befehlszeile }bergeben, die dann automatisch nach dem Starten des Programms (hier XXX.COM) ausgef}hrt wird. Bei selbstextrahierenden Archiven ist die Angabe des Ziellauf- werkes m|glich, ansonsten wird standardm{~ig auf das aktuelle Laufwerk ausgepackt. Zum Schlu~: Die Original-Dateien wurden von Jonathan Taylor downgeloadet und im selbstextrahierenden Archiv PMAUTOAE.COM abgelegt, um die Weitergabe des Paketes zu vereinfachen. Nach dem Ausf}hren von PMAUTOAE sollten sich folgende zus{tzliche Dateien auf der Dis- kette befinden: PMARC.COM PMEXT.COM PMCAT.COM PMSET.COM PMEXE2.COM PMSFX2.COM READ.ME ADDENDUM.DOC PMARCEXT.DOC PMCHGMX.MAC Lie~ sich PMAUTOAE.COM problemlos ausf}hren, so besteht die Gewi~- heit, da~ alles auf Ihrem System l{uft. Anderenfalls (wenn sich alles in einer .ARK oder .LBR-Datei befand) handelt es sich nicht um das Original und es sollte erst gepr}ft werden, ob gen}gend TPA und mindestens ein Z80-Prozessor vorhanden ist. Alle aufgef}hrten Dateien sind Public Domain, da~ hei~t sie d}rfen zum nicht-gewerblichen Gebrauch an andere User weitergegeben werden - kostenlos nat}rlich. Dabei sollten Sie es BITTE in der selbstextrahierenden Form weitergeben, denn es ist die platz- sparendste mit der gr|~ten Kompatibilit{t f}r die meisten CP/M- Systeme. Diese deutsche Anleitung wurde von J|rg Linder, K}striner Stra~e 68, D-15306 Seelow erarbeitet. Es wird keine Garantie oder Haftung f}r eine einwand- freie ]bersetzung }bernommen. F}r Hinweise diese Dokumentation betreffend bin ich Ihnen stets dankbar.