home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ENTERPRS / CPM / UTILS / A / ARC20.ARC / ARCCPM.DOC < prev    next >
Text File  |  1989-11-10  |  10KB  |  274 lines

  1.  
  2.  
  3.  
  4.                        --------------------------
  5.                         A R C C P M  Version 1.0
  6.                        --------------------------
  7.  
  8.  
  9.  
  10.                 Copyright (c) August 1987 by Reimer Mellin
  11.                 Sulenstr.8, 8000 Muenchen 71, West Germany
  12.                 RBBS: T-Bus Muenchen (FidoNet 507/Node 14)
  13.                 CP/M-80 Section (Area 4),Tel#:(089)/293881
  14.  
  15.  
  16.  
  17.                        --------------------------
  18.                         A R C C P M  Version 2.0
  19.                        --------------------------
  20.  
  21.  
  22.  
  23.                 Copyright (c) November 1989 by Tilmann Reh
  24.                 In der Grossenbach 46, D-5900 Siegen,  FRG
  25.                 Mail: CosmoNet Hannover, tilmann@cosmo.uucp
  26.  
  27.  
  28.  
  29.  
  30.  
  31.                        ALLGEMEINE VORBEMERKUNGEN 
  32.                        -------------------------
  33.  
  34.   ARCCPM Version 2.0 ist eine vollstaendig neu geschriebene Realisierung
  35.   des Archivierungsprogramms ARCCPM V1.0, welches durch Reimer Mellin von
  36.   den C-Quelltexten ins Turbo-Pascal umgesetzt wurde.
  37.  
  38.   ARC V2.0 ist nicht nur etwa 5 KB kleiner und 5 mal so schnell wie V1.0,
  39.   sondern bietet darueberhinaus noch funktionelle Erweiterungen:
  40.  
  41.    - Squeezing und Unsqueezing (Ver.4) werden ab sofort voll unterstuetzt.
  42.    - Unter CP/M-Plus werden Datum und Uhrzeit der Dateien ins Archiv
  43.      uebernommen. Existiert kein Zeiteintrag (oder bei CP/M 2.2), so wird
  44.      die aktuelle bzw. die eingegebene Zeit verwendet.
  45.    - Die Eingabezeile wird durch einen Patch auf die volle Laenge von 127 
  46.      Zeichen vergroessert. Ohne Patch stehen unveraendert 32 Zeichen zur
  47.      Verfuegung. Der Patch (3 Byte im Kompilat) ist in CLINE127.INC 
  48.      beschrieben.
  49.    - Mit dem Schalter 'k' kann die Kompressionsart 'Crunching' fest vorge-
  50.      geben werden.
  51.  
  52.   Das Programm sollte mit einer Endadresse von etwa E000h kompiliert werden,
  53.   um systemresidente Programme nicht unnoetig einzuengen. Bei extrem kleinen
  54.   Systemen, in denen dies nicht moeglich ist, kann durch Aendern des Hash-
  55.   Verfahrens beim LZW-Crunching etwa 4 KB Heap gespart werden, d.h. die
  56.   Endadresse kann auf etwa D000h gelegt werden.
  57.   Nach jedem Kompilieren den 127-Zeichen-Patch nicht vergessen!
  58.  
  59.   Die folgende Beschreibung von ARCCPM ist bis auf die o.g. funktionellen
  60.   Erweiterungen das Werk von Reimer Mellin.
  61.  
  62.   Tilmann Reh, D-5900 Siegen, 10. November 1989.
  63.   WARUM ARCEN : 
  64.  
  65.   Komprimierung und Archivierung  von Dateien ist  besonders in der DFUE
  66.   wichtig  (eigentlich sogar notwendig),  da hier jede Minute Uebertrag-
  67.   ungszeit Geld bedeutet.  Der in diesem  Programm  implementierte Algo-
  68.   rithmus komprimiert eine Datei auf ca. 20-60% der Originalgroesse. Zu-
  69.   saetzlich koennen  zusammengehoerende  Dateien auch  in  einem  ARChiv
  70.   (z.B zu Backupzwecken)  zusammengefasst werden.  Das bedeutet fuer den 
  71.   Anwender groessere  Uebersichtlichkeit  auf seinen  Speichermedien und
  72.   reduziert gerade bei  Diskettenformaten  kleiner Kapazitaet die Anzahl
  73.   der notwendigen Directory Eintraege.
  74.  
  75.   EINSCHRAENKUNGEN :  
  76.  
  77.   ARCCPM beherrscht - leider - nur einen Subset des original ARC's. 
  78.  
  79.   Unterstuetze Komprimierungsverfahren:
  80.    - Storing(nur speichern ohne Komprimieren),
  81.    - Packing (identische Bytefolgen zusammenfassen),
  82.    - Squeezing (Huffman-Encoding),
  83.    - Crunching (Lempel-Ziv-Welch Verfahren).
  84.  
  85.   Unterstuetze Dekomprimierungsverfahren:
  86.    - Ent-Storing (na klar),
  87.    - Ent-Packing (logisch),
  88.    - Ent-Squeezing (auch das),
  89.    - Ent-Crunching (sowieso).
  90.    
  91.   NICHT Unterstuetze Verfahren:
  92.    - Ent-Crunching nach aelteren Verfahren,
  93.    - Squashing/Entsquash.
  94.  
  95.   Dokumentation zu ARCCPM Version 1.0                           Seite  1
  96.  
  97.  
  98.  
  99.                         WIE FUNKTIONIERT ARCCPM ?
  100.                         -------------------------
  101.  
  102.   Ein Aufruf von ARCCPM lautet immer:
  103.  
  104.   ,--------------------------------------------------------------------,
  105.   l     ARC {adelmvx}[bknstw][g<password>] <archiv> [<filelist>...]    l
  106.   '--------------------------------------------------------------------'
  107.  
  108.  
  109.   Symbole in [] sind optional,  Angaben in <> sind unbedingt zu machen !
  110.  
  111.   Von den Symbolen in {} (Flags) ist jeweils eines unbedingt anzugeben !
  112.  
  113.   <password> ist ein String von hoechstens 10 Zeichen, die Dateibezeich-
  114.   nungen <archiv> & <filelist> duerfen Laufwerksbezeichner oder die CP/M
  115.   ueblichen Wildcards ('*' und '?') enthalten.
  116.  
  117.  
  118.   Wirkung der Symbole :
  119.  
  120.  
  121.   a    Add to Archive.  Ein noch nicht existierendes Archiv wird neu an-
  122.        gelegt. Alle gefundenen Files der <filelist> werden in das Archiv
  123.        einsortiert.
  124.  
  125.   d    Delete Files from Archive.  Die angebenen Dateien werden aus  dem
  126.        Archiv geloescht.
  127.  
  128.   x,e  Extract from Archive.  Die  angegebenen  Dateien  werden  aus dem 
  129.        Archiv extrahiert. Ohne Angabe von Parametern: Alle Dateien.
  130.  
  131.   l,v  'Verbose Listing' of Archive.  Das  'ausfuehrliche Directory' des 
  132.        Archivs wird auf dem Bildschirm dargestellt.
  133.  
  134.   m    Move to Archive. Wie 'a' , aber die einsortierten  Dateien werden
  135.        anschliessend geloescht.
  136.  
  137.   b    Keep Backup.  Das alte Archiv bleibt im Falle von Aenderungen als 
  138.        BAK-file erhalten.
  139.  
  140.   k    Force Crunching. Die zu addierenden Dateien werden grundsaetzlich
  141.        gecruncht. Der Zeitgewinn hierdurch ist allerdings kaum messbar.
  142.  
  143.   n    Suppress Notes. Kommentare werden unterdrueckt.
  144.  
  145.   s    Store only. Nur sinnvoll bei der 'A'dd Option. Die zu addierenden 
  146.        Dateien werden nur kopiert (Storing).
  147.  
  148.   t    Set  Time. Unter CP/M-Plus wird explizit nach Datum  und  Uhrzeit 
  149.        gefragt.  In diesem Fall werden auch die Zeiteintraege der  CP/M-
  150.        Plus-Dateien nicht verwendet. Unter CP/M 2.2 ist dieser  Schalter
  151.        wirkungslos.
  152.  
  153.   w    Suppress Warnings. Warnungen werden unterdrueckt.
  154.  
  155.   g    Password  Entry. Die folgende durch <space> abgeschlossene Zeich-
  156.        enkette wird als  Password zum Verschluesseln/Entschluesseln her-
  157.        genommen.
  158.   Dokumentation zu ARCCPM Version 1.0                           Seite  2
  159.  
  160.   
  161.  
  162.  
  163.                                 BEISPIELE
  164.                                 ---------
  165.  
  166.  
  167.   'arc l *'  
  168.  
  169.         Listet alle Files im ersten Archiv des Default Drives auf.
  170.  
  171.  
  172.   'arc v a:*'
  173.   
  174.         Listet alle Files im ersten  gefundenen Archiv  auf Laufwerk A:
  175.         auf.
  176.  
  177.  
  178.   'arc l test *.doc *.com *.?q?  
  179.  
  180.         Listet alle Files mit Endung  '.doc','.com','.?q?' auf,  welche 
  181.         im Archiv test.arc gefunden werden. 
  182.  
  183.  
  184.   'arc x c:test a:*.*'  
  185.  
  186.         Extrahiert alle Files im Archiv 'c:test.arc' auf das Drive A:.
  187.  
  188.  
  189.   'arc e a:* c:*.doc b:*.com'
  190.        
  191.         Extrahiert alle  Files '*.doc' ( im ersten gefundenen Archiv auf 
  192.         Laufwerk  A:) auf das Laufwerk C: und alle Files '*.com' auf das 
  193.         Laufwerk B:.
  194.  
  195.  
  196.   'arc a y* d:*.inc d:arc*.*'
  197.         
  198.         Sucht auf dem Default Drive das Archiv 'y*.arc' und addiert alle
  199.         Files '*.inc' und 'arc*.*' vom Laufwerk D: dazu.
  200.  
  201.  
  202.   'arc m test a:*.lbr'
  203.  
  204.         Sucht 'test.arc' ( falls nicht gefunden, generiert es )  und ad-
  205.         diert vom  Laufwerk A: alle Files mit Endung '.LBR'.  Anschlies-
  206.         send werden diese Files geloescht !
  207.  
  208.   
  209.   'arc d test *.txt'
  210.  
  211.         Entfernt vom Archiv 'test.arc' alle Files mit Endung '.TXT'.
  212.   Dokumentation zu ARCCPM Version 1.0                           Seite  3
  213.  
  214.  
  215.  
  216.  
  217.                                  HINWEISE
  218.                                  --------
  219.  
  220.   Das Programm darf auf keinen Fall unter Turbo-Pascal 2.0 kompiliert
  221.   werden, da in Inline-Anweisungen direkte Zugriffe auf die Laufzeit-
  222.   bibliothek von Turbo-3.0 erfolgen.
  223.  
  224.   Es duerfen maximal 10 Dateinamen als Parameter angegeben werden.
  225.   Werden mehr angegeben, kann es zu furchtbaren Effekten kommen.
  226.  
  227.   Die CP/M-Spezifikation von Dateinamen mit Wildcards muss eingehalten
  228.   werden. Es ist nicht zulaessig, nach einem '*' ein weiteres Einzelzeichen
  229.   anzugeben (nur '.' oder Namensende erlaubt). Zwei Punkte hintereinander 
  230.   sind nicht zulaessig.
  231.  
  232.   Wird bei der Frage nach dem Datum (Schalter 't' oder CP/M 2.2) nur
  233.   RETURN eingegeben, so wird nicht weiter nach der Uhrzeit gefragt und kein
  234.   Datum/Zeiteintrag im Archiv gemacht. Wird nur bei der Uhrzeit RETURN 
  235.   eingegeben, so enthaelt das Archiv den Datumseintrag ohne Zeitangabe. 
  236.  
  237.   User Areas  werden derzeit noch nicht unterstuetzt,  alle Files werden 
  238.   im eingestellten User-Bereich erwartet.
  239.  
  240.   Beim  Addieren  werden auf der  Diskette  des Archivs folgende Dateien
  241.   temporaer erstellt:
  242.  
  243.     - arcname.$$$    <-- das in Bearbeitung befindliche neue Archiv,
  244.     - arcname.crn    <-- Komprimierte Datei, die gerade addiert wird.
  245.  
  246.   Es wird nicht vor dem Archivieren ueberprueft, ob genug Speicherplatz
  247.   auf der Diskette ist. Es muss daher immer mindestens die Kapazitaet des
  248.   bearbeiteten Archivs frei sein.
  249.  
  250.   Wenn die 'Keepbak' Option gesetzt ist,  dann wird das  alte Archiv  zu 
  251.   'arcname.BAK'  umbenannt und  nicht geloescht.  In jedem Fall wird die 
  252.   Datei 'arcname.$$$' in 'arcname.ARC' umbenannt.
  253.  
  254.   Falls die  's'(store only) Option  gesetzt  wird,  wird  das  Crunchen 
  255.   uebersprungen  und nur kopiert.  Diese  Option kann man dann anwenden, 
  256.   wenn man zusammengehoerige Files nur zusammenfassen moechte.
  257.                     
  258.   Anhand der Filegroesse  des komprimierten Files (nach dem Analysieren) 
  259.   erkennt ARCCPM, welches Verfahren am guenstigsten ist.
  260.  
  261.  
  262.  
  263.   GEPLANTE ERWEITERUNGEN :
  264.  
  265.    - Eventuell eine Implementierung des 'SQUASHING' Algorithmus.
  266.      (Ich habe noch keine Algorithmen hierzu.)
  267.  
  268.  
  269.  
  270.   OK das wars, Nachfragen & Bugreports bitte an obige Adresse !
  271.   
  272.   Viel Spass and keep ARC'ing ....    Tilmann Reh, 10.11.89
  273.  
  274.