home *** CD-ROM | disk | FTP | other *** search
- ======================= CompDisk & DecompDisk ========================
- ======================================================================
- CompDisk & DecompDisk © Copyright 1990 by MXM, geschrieben von Olaf
- Barthel. Wir übernehmen keine Garantien, daß die Programme CompDisk &
- DecompDisk einwandfrei arbeiten und somit 100%ige Datensicherheit
- gewährleistet ist. Wer die Programme oder deren Quellcode benutzt,
- der tut dies auf eigene Gefahr!
-
- ============================ Hintergrund =============================
- ======================================================================
- Derzeit sind für den Amiga soviele Programme zum Komprimieren von
- Disketten verfügbar wie es Sand am Meer gibt. Diese glänzen entweder
- durch extrem geringe Länge der resultierenden Datei oder durch extrem
- hohe Komprimierungsdauer (es ist eben doch nicht alles Gold was
- glänzt). Wieder einmal ist es Zeit, daß ein weiteres Programm dieser
- Art das Licht der Welt erblickt.
-
- Dieses Programm versucht nicht:
-
- - Dreieinhalb Stunden an einer einzigen Diskette zu laborieren, um ein
- Datenfile von dreizehn Bytes Länge zu produzieren.
-
- - Longtracks, exotische Synchronisierungsformate und andere
- Kopierschutztricks 1:1 zu reproduzieren.
-
- - Dem Benutzer eine schwer zu erlernende Benutzerführung aufzuzwingen.
-
- Wer eben diese Features erwartet hat, kann CompDisk & DecompDisk guten
- Gewissens löschen.
-
- ========================= Leistungsmerkmale ==========================
- ======================================================================
- Beide Programme lassen sich sowohl vom CLI, als auch von der Workbench
- aus bedienen. Leider ist der alte Lattice-Arp-Interface-Code nicht in
- der Lage, residente Programme zu erzeugen. 'ARes' wird bei jedem
- Aufruf einen Checksum-Error melden. Die Routinen der arp.library und
- der req.library kommen zum Einsatz, deshalb sollten sie vor der
- Installation beider Programme in das LIBS: Verzeichnis kopiert
- werden.
- Der Lempel-Ziv-Komprimieralgorithmus kommt bei beiden
- Programmen zum Tragen. Er ist nicht nur vergleichsweise schnell, er
- komprimiert Daten bis auf weniger 50% ihrer ursprünglichen Länge.
- Jede Diskette wird Spur für Spur (0-79) komprimiert. Sollte dennoch
- der Inhalt einer Spur nicht durch Komprimierung verkürzt werden
- können, wird der ursprüngliche Inhalt übernommen.
- Über jede Spur wird vor der Bearbeitung eine 16-Bit Prüfsumme
- angelegt, die mit den schließlich zu schreibenden Daten verglichen
- wird. Sind Fehler, z.B. während des Transfers über Telefonleitung
- aufgetreten, werden diese früh genug während der Bearbeitung erkannt
- und gemeldet.
- Um den Komprimierungsaufwand zu reduzieren, werden nur
- wirklich benutze Datenblöcke bearbeitet, leere Blöcke werden mit
- Nullen aufgefüllt.
- Im ungünstigsten Fall benötigt die Komprimierung nur etwa
- sechs Minuten, die Dekomprimierung im ungüstigsten Fall etwa vier
- Minuten. Für gewöhnlich benötigt die Komprimierung einer Diskette
- zwischen drei und vier Minuten (Durchschnittswerte nach DIN Martin).
- Achtung: Die mit CompDisk erzeugten Dateien sind zu keinem
- anderen Programm kompatibel. Ebenso kann DecompDisk das Datenformat
- anderer Diskettenkomprimierungsprogramme nicht lesen und umsetzen.
-
- ====================== Bedienung der Programme =======================
- ======================================================================
- Vom CLI akzeptieren die Programme unter folgender Vorgabe
- FILE/A,DRIVE/A,NOCLEAR/S die entsprechenden Parameter:
-
- FILE .......... Der Dateiname, unter dem die komprimierte Datei
- erzeugt wird. Das Programm DecompDisk liest unter
- diesem Namen eine komprimierte Datei ein. Hat diese
- nicht das richtige Format, erscheint ein
- entsprechender Hinweis.
-
- DRIVE ......... Das Laufwerk (DF0: - DF3: oder RAD:) dessen Daten
- komprimiert werden sollen. Derzeit werden nur die
- Standardlaufwerke unterstützt. Das Programm
- DecompDisk erwartet hier den Namen des Laufwerks, auf
- das die entkomprimierten Daten geschrieben werden
- sollen.
-
- NOCLEAR ....... Nur das Programm CompDisk unterstützt diesen
- Parameter. Ist er gewählt, werden unbenutzte
- Datenblöcke einer Diskette nicht gelöscht.
-
- Nur vom CLI aus gestartet wird die req.library von den Programmen
- nicht benötigt und auch nicht geöffnet.
-
- Durch einen Doppelklick auf das Icon der Programme lassen sich
- CompDisk & DecompDisk von Workbench starten. Ein Fenster öffnet sich
- unter dem Mauszeiger, das sechs Gadgets enthält.
-
- Stringgadget .. Hier wird der Pfadname erwartet, unter dem die
- komprimierten Dateien abgespeichert werden sollen. Im
- Programm DecompDisk hat dieses Feld keine Bedeutung,
- stattdessen wird an dieser Stelle der Name der derzeit
- bearbeiteten Datei angezeigt. Achtung: aus
- undefinierbaren (huch!) Gründen erscheint dieser Name
- nicht immer (zumindest nicht bei Neumond am 25.
- Februar), trotzdem wird die Datei korrekt angelegt,
- bzw. gelesen.
-
- Laufwerke ..... Hier wird das zu bearbeitende Laufwerk angewählt. Bei
- CompDisk wählt man erst das Laufwerk und legt
- anschließend die zu lesende Diskette ein. Bei
- DecompDisk ist es genau umgekehrt: erst wird die
- Diskette eingelegt, dann das Laufwerk angewählt, in
- dem sich die Diskette befindet. Der Arbeitsvorgang
- wird abgebrochen, sobald das Stop-Gadget angeklickt
- wird, vorher erfolgt jedoch eine Sicherheitsabfrage.
-
- Soweit möglich wird für jede erzeugte Datei ein Icon angelegt. Um die
- Datei von Workbench aus wieder entkomprimieren zu können, muß dieses
- Icon unbedingt erhalten bleiben!
- Eine Datei wird von Workbench entkomprimiert, indem ihr Icon
- doppelgeklickt wird, oder man die Shift-Taste gedrückt hält, die
- einzelnen Dateien selektiert und zuletzt das Icon von DecompDisk
- doppelklickt.
-
- Übrigens: der Chefkoch empfiehlt, dieses Programm auf einem Amiga mit
- Accelerator-Board laufen zu lassen, besonders wenn größere
- Diskettenmengen durch den Wolf geschickt werden sollen, verkürzt sich
- die Kompressionszeit erheblich (auf einem A2000 mit 33 MHz GVP-68030
- Turbo-Board benötigte CompDisk ganze 1.07 Minuten zum Bearbeiten einer
- 100% vollen Diskette, was in etwa der Geschwindigkeit eines
- DiskCopy-Befehls von Diskette in die RAD:-Ramdisk entspricht).
-
- ==================== Erweiterungen des Programmes ====================
- ======================================================================
- Es wäre sicherlich eine gute Idee, wenn dieses Programm neben dem
- Lempel-Ziv Komprimierungsalgorithmus andere Algorithmen unterstützen
- würde. Der bisher brauchbarste Algorithmus, adaptives
- Huffman-Squeezing (wie in LHArc), ließ sich bisher nicht erfolgreich
- adaptieren, da der mir zur Verfügung stehende Quellcode sich nicht
- unter Lattice 'C' compilieren läßt (der Algorithmus hängt in einer
- Endlosschleife in EncodeChar() fest). Es ist jedermann freigestellt,
- Algorithmen zu schicken, selbstverständlich erhält er eine neue
- Version der Programme als Dank zurückgeschickt.
-
- ========================== An den Anwender ===========================
- ======================================================================
- Die Entwicklung dieser Programme hat mehr Schweiß und Zeit gekostet,
- als ursprünglich abzusehen war. Deshalb möchten wir jeden Anwender,
- der dieses Programm als gut und benutzenswert erachtet, bitten, uns
- eine Spende von mindestens DM 15,- zu schicken.
-
- Schickt Briefe, Spenden, Fehlerlisten an:
-
- Olaf Barthel, MXM
- Brabeckstraße 35
- D-3000 Hannover 71
-
- CompDisk & DecompDisk sind Share-Ware und dürfen nicht zum Gegenstand
- nicht-autorisierter kommerzieller Vermarktung gemacht werden. Wir
- möchten darüber unterrichtet werden, wenn eines oder beide Programme
- in PD-Auswahlserien übernommen werden sollen. Ausdrücklich gestattet
- ist die Übernahme der Programme in deutsche PD-Serien und die
- Veröffentlichung im Rahmen des AmigaJuice-Diskettenmagazins.
-
- ========================== Quellennachweis ===========================
- == (or what do you think is the proper translation for 'Credits?') ===
- ======================================================================
- Herzlichen Dank an Arp Programmers für Arp 1.3, Stephen Satchell &
- Chuck Forsberg für die 16-Bit CRC-Routinen, Bruce Dawson & Colin Fox
- für die req.library und nicht zuletzt an den Autor der
- Kompressions/Dekompressionsroutinen, dessen Name in der scheußlichen
- Programmstruktur leider nicht mehr auszumachen war.
-
- ======================= Entwicklungsgeschichte =======================
- ======================================================================
- V1.6 In dieser Version werden jetzt schließlich und endlich die 16
- Bytes Sector-Label-Daten für jeden Block mitgepackt und
- abgespeichert. Unangenehmer Nebeneffekt: diese Version ist
- nicht mehr abwärtskompatibel zu den älteren Versionen.
-
- V1.5 Eine weitere Überarbeitung der Routinen bringt ein bißchen
- mehr Sympathie für Multitasking, Speicherverwaltung und
- die Arbeitsgeschwindigkeit der Programme mit sich.
-
- V1.4 Sämtlicher Arbeitsspeicher wird jetzt - sofern vorhanden - im
- Fast-Ram angelegt. Das Komprimieren/Dekomprimieren dürfte
- damit wieder etwas schneller geworden sein (besonders Besitzer
- von Accelerator-Boards mit 32-Bit-Ram dürften sich darüber
- freuen).
-
- V1.3 Überarbeitung der gesamten Routinen, Optimierung an allen
- Ecken und Kanten, Geschwindigkeitsgewinn von etwa 10%-20%.
- Endlich funktioniert auch der Zugriff auf die Disk-Bitmap
- einwandfrei.
-
- V1.2 Umstellung auf Lattice 'C', kleinere Veränderungen mit großem
- Effekt in Hinsicht auf Codelänge (jetzt etwa 21K) und
- Arbeitsgeschwindigkeit (bis zu 60% schneller!).
-
- V1.1 Einführung der 16-Bit CRC Prüfsumme, Intuition-Interface (mit
- dem RCT) eingebaut. Erste Experimente mit der Bitmap der
- Diskette (die natürlich auch prompt fehlschlugen).
-
- V1.0 Komprimierung mit der Holzhammermethode, nicht sonderlich
- schnell, aber verläßlich. Programmlänge etwa 35K (Aztec 'C'
- 3.6).
-
- ============================ Postscriptum ============================
- ======================================================================
- Da viele Leute an uns herangetreten sind und fragten, warum wir unsere
- Doumentationen nicht in Deutsch schrieben, haben wir jetzt erstmals
- den Versuch gewagt, ein Programmkonzept zuerst im deutschen Sprachraum
- zu veröffentlichen. Bitte enttäuscht uns nicht, Amigas und Amigos,
- wir machen diese Arbeit nur für Euch, wir warten auf Eure Reaktionen.
-