SIR-COMPACT VI+ - Der Sequenz-Packer - ----------------------------------------
In dieser Ausgabe der MD, möchten wir Ihnen gleich zwei Packprogramme vorstel- len: den "SIR-COMPACT VI+" und den "SIR-COMPACT VI-" (im Folgenden "SIR+" und "SIR-" genannt). Der Unterschied zwischen diesen beiden Packern ist nicht nur das "+" und das "-" am Ende des Na- mens, sondern vielmehr, daß sie mit ver- schiedenen Packalgorithmen arbeiten, die jeweils verschiedene Packergebnisse er- reichen können, je nach dem welche Daten gepackt werden sollen. Da beide Packer in der Bedienungsweise sehr ähnlich sind, gilt diese Anleitung auch für Beide. An den Stellen, an denen sie sich unterscheiden wird gesondert darauf hingewiesen: 1) ALLGEMEINE BEDIENUNGSHINWEISE * Laden Sie den gewünschten Packer wie gewohnt mit ",8" und starten Sie ihn mit 'RUN'. Nach kurzer Entpackzeit erscheint dann das Hauptmenu des je- weiligen Packers auf dem Bildschirm. * Jedesmal, wenn einer der Packer Ihnen ein Auswahlmenu zur Verfügung stellt, so sehen Sie in selbigem einen Select- balken, der mit 'CRSR UP' und 'CRSR DOWN' durch das Menu bewegt wird. Hier rufen Sie einen Menupunkt auf, indem Sie auf ihn fahren und die 'RETURN'- Taste drücken. * Bei Ladeoperationen erscheint jedesmal ein Fenster auf dem Bildschirm, in der die auf der eingelegten Diskette ent- haltenen Files aufgelistet sind. Sie können durch diese Liste nun mittels 'CRSR UP' und 'CRSR DOWN' einen Se- lectbalken bewegen und mit Hilfe der 'RETURN'-Taste ein File anwählen, das daraufhin geladen wird. * Bei Texteingaben erhalten Sie jeweils ein spezielles Eingabefenster, daß die Anzahl der eingebbaren Zeichen automa- tisch beschränkt. Mit den Tasten 'CRSR LEFT' und 'CRSR RIGHT' können Sie sich dabei durch die Eingabe bewegen. Mit 'RETURN' wird selbige übernommen. Die 'DEL'-Taste löscht das Zeichen unter dem Cursor. Alle Zahlen, die abgefragt werden, müssen in hexadezimaler Schreibweise eingegeben werden. * Beide Packer verfügen über einen sog. "Prepacker", der wahlweise hinzuge- schaltet werden kann. Hierbei handelt es sich um einen einfachen Equal- Byte-Packer, der aufeinanderfolgende, gleiche Bytes zusammenfasst. Der Vor- teil dieses Packers: er packt schon während des Ladens, und kann somit überlange Files schon im Packspeicher selbst verkürzen. Daraus ergibt sich, daß die beiden Packer sogar Files, die von Adresse $00B0 bis $FFFF (also fast den gesamten Speicher des C64) gehen, verkraften. Damit der Prepacker jedoch eingesetzt werden kann, muß voher der sog. "Scan Value" ermittelt werden. Dies ist das Byte, das im zu packenden File am wenigsten vorkommt. Wenn Sie diesen Wert schon aus dem Kopf wissen, so können Sie ihn später beim Packen direkt eingeben. Im anderen Fall, kön- nen Sie ihn mit dem Menupunkt "Scan File" vom Programm ermitteln lassen. 2) DAS HAUPTMENU Das Hauptmenu sieht bei beiden Packern gleich aus. Es enthält die folgenden fünf Menupunkte: a) CRUNCH FILE Hiermit wird der jeweilige Packer aufge- rufen. Auch hier ist die vorgehensweise bis zu einem gewissen Punkt analog: * Haben Sie den Prepacker im Parameter- Menu aktiviert (s.u.), so werden Sie hier nun nach der sog. "Scan-Value" gefragt. Tragen Sie hier bitte den Wert ein, der vorher vom Scanner er- mittelt wurde (ist meist als Default voreingestellt und kann durch Druck auf 'RETURN' übernommen werden). Wenn Sie ihn zufällig auswendig kennen (z.B. weil Sie das File früher schon einmal gescannt hatten), so können Sie sich das scannen sparen und den Wert von Hand eintragen. * Nun erscheint das Ladefenster, in dem Sie das zu packende File anwählen. * Nachdem das File geladen wurde, müssen Sie nun zunächst die Startadresse des Programms angeben. Wenn Sie diese nicht genau kennen, so müssen Sie die dezimale Adresse des SYS-Befehls, in der ersten Zeile des zu packenden Pro- gramms, in Hex. umrechnen, und hier angeben. Ist das Programm ein reines Basic-Programm, so können Sie es zwar packen, jedoch nicht automatisch nach dem Entpacken starten. * Als Nächstes müssen Sie den Wert, der nach dem Entpacken in Speicherzelle $01 stehen soll eingeben. Falls Sie sich hier nicht sicher sind, so über- nehmen Sie den vorgegebenen Wert $37, der der Normaleinstellung entspricht. * Die letzte Angabe, die noch getätigt werden muß, ist der Filename, unter dem das gepackte File später auf Dis- kette abgelegt werden soll. Ist auch diese Eingabe getätigt, so wird der eigentliche Packer aufgefrufen. Da sich an diesem Punkt die Bedienungswe- ge für die einzelnen Packer trennen, werde ich den Rest der Beschreibung weiter unten fortführen. b) SCAN FILE Mit diesem Menupunkt können Sie den, für den Prepacker erforderlichen und schon oben erklärten, "Scan-Value" ermitteln. Hierbei erscheint das Ladefenster, aus dem Sie das zu untersuchende File aus- wählen. Anschließend beginnt das Pro- gramm mit seiner Arbeit. Ist der Vorgang abgeschlossen, so wird Ihnen der Scan- Value angezeigt. Er wird als Voreinstel- lung schon gleich für die spätere Abfra- ge vorgemerkt. Per Tastendruck kommen Sie nun wieder ins Hauptmenu zurück. c) DIRECTORY Hiermit können Sie sich das Inhaltsver- zeichnis der eingelegten Diskette an- schauen. Hierbei erscheint das gewohnte Ladefenster, in dem Sie hin- und her- scrollen können. Drücken Sie die 'RE- TURN'-Taste, um zum Hauptmenu zurückzu- kehren. d) SET PARAMETER Wird dieser Menupunkt angewählt, so kön- nen Sie einige Grundeinstellungen vor- nehmen, die den Packvorgang beeinflus- sen. Hierzu erscheint ein Untermenu, in dem Sie, wie gewohnt, einen Selectbalken bewegen können. Wählen Sie nun einen der Unterpunkte an, so wird links neben die- sem Punkt ein "*" angezeigt, der darauf hinweist, daß diese Option eingeschaltet ist. Ein weiteres Anwählen deaktiviert sie wieder. Folgende Menupunkte stehen Ihnen hier zur Verfügung: Für den SIR+ und den SIR-: * INCLUDE PREPACKER: Hiermit schalten Sie den Prepacker ein und aus. * USER REQUESTS OFF: Ist dieser Punkt aktiv, so überspringt das Programm alle Aufforderungen, eine Diskette einzulegen. Ist der Punkt inaktiv, so erscheint jedesmal die Meldung "Insert Disk", wenn eine Floppyoperation durchzuführen ist. Diese Aufforderung wird dann jeweils mit einem Tasten- druck bestätigt. * FINISH AND RETURN: Diesen Punkt wählen Sie an, um alle Einstellungen zu über- nehmen, und ins Hauptmenu zurückzukeh- ren. Zusätzlich beim SIR+: * PERMANENT DISPLAY: Wählen Sie diesen Menupunkt, so wird während des Packens ständig eine Statistik ausgegeben, die die aktuellen Arbeitsadressen und die gesparten Bytes ausgibt (sh. auch un- ten). * DECRUNCHER EFFEKT: Hiermit schalten Sie den Farbeffekt ein, der später beim Entpacken zu sehen ist. Dadurch haben Sie eine Anzeige, daß das gela- dene Programm gerade entpackt wird. e) QUIT CRUNCHER Mit diesem Menupunkt wird der jeweilige Packer durch einen RESET verlassen. 3) DER SIR+ Kommen wir nun zu den Besonderheiten des SIR+. Er ist ein Sequenzpacker, der gleiche Bytefolgen packt. Dieser Packal- gorithmus ist zwar sehr aufwendig und zeitintensiv, jedoch werden hierbei sehr gute Packergebnisse erzielt. Nachdem Sie im Menupunkt "CRUNCH FILE" alle notwen- digen Angaben gemacht haben und das zu packende File geladen wurde, beginnt der Packer nun mit seiner Arbeit. Wenn Sie zuvor im "SET PARAMETERS"-Menu die Op- tion "Permanent Display" eingeschaltet hatten, so wird Ihnen nun eine Status- zeile angezeigt, in der immer die ak- tuelle Position in den ungepackten Daten ("from"), die bisherige Länge der ge- packten Daten ("to"), sowie die Anzahl der Bytes, die bisher gespart wurden ("save"), angezeigt werden. Ist der letzte Wert negativ, so ist das gepackte File länger, ist er positiv, so ist es kürzer (als jeweils das ungepackte Fi- le). Am Anfang eines jeden Packvorgangs wird es immer negativ sein, da der Pak- ker noch $0171 Bytes für die Entpackrou- tine mitrechnet (um die das Zielfile ja länger wird). Haben Sie die Option "Per- manent Diskplay" abgeschaltet, so wird Ihnen an dieser Stelle nichts angezeigt. Erst am Ende des Packvorgangs wird das Packergebnis auf den Bildschirm ge- bracht. Das hat den Vorteil, daß der Packvorgang nicht unwesentlich schneller abläuft, da ja nicht ständig die Bild- schirmausgabe aktualisiert werden muß. Ist der Packvorgang nun beendet, so wird das gepackte File auf Diskette gespei- chert. Ist der Parameter "User Requests Off" ausgschaltet, so erscheint zuvor die Aufforderung eine Zieldiskette ein- zulegen, die mit einem Tastendruck bestätigt werden muß. 4) DER SIR- Im Gegensatz zum SIR+ ist der SIR- ein Packer, der nach dem sog. "Huffman-Algo- rithmus" arbeitet. Er ersetzt 4-Bit- Sequenzen (Nibbles), mit kürzeren Bit- folgen. Hierbei werden die am häufigsten vorkommende Nibbles, mit den kürzesten Bitfolgen ersetzt. Weniger häufige Se- quenzen haben längere Bitfolgen. Hierzu nimmt der Packer während des Ladens des zu packenden Files eine Analyse vor, deren Ergebnis anschließend auf dem Bildschirm erscheint. Hierbei wird ange- zeigt, welche der 16 verschiedenen Nib- ble-Kombinationen durch welche Bitfolgen ersetzt werden. Zeigt die Tabelle viele Folgen, die kleiner, und nur wenige, die größer sind, als 4 Bit, so wird der Pak- ker eine hohe Effizienz erreichen. Zeigt sie etwa gleich viele kürzere, wie län- gere Sequenzen, so wird nicht viel beim Packen herauszuholen sein. Der Fall, daß es mehr längere Sequenzen als kürzere gibt kann nie eintreten. Dadurch kann davon ausgegangen werden, daß die ge- packten Daten selbst im ungünstigsten Fall niemals länger werden, als die un- gepackten (sieht man von den Bytes ab, die die Entpackroutine für sich in An- spruch nimmt). Jedoch selbst wenn das Packergebnis kaum eine Steigerung verspricht, kann das Packen mit dem SIR- von Vorteil sein. Dadurch nämlich, daß der Packer vollkom- men neue Bitfolgen generiert, und das gepackte File sich in der Art der Daten sehr stark vom ungepackten unterschei- det, kann es vorkommen, daß beim Nach- packen mit einem Sequenzpacker (z.B. dem SIR+") ein weitaus besseres Ergebnis erzielt wird, als wenn das File nur mit dem Sequenzpacker gepackt wird! Probie- ren Sie es aus! Doch genug der Vorrede - kommen wir zu der Bedienung des SIR-: Nachdem Sie alle Packparameter angegeben haben, und das zu packende File geladen wurde, sehen Sie nun also die Analyseta- belle auf dem Bildschirm. Zusätzlich dazu erscheint nun ein Menu, in dem Sie die folgenden drei Menupunkte sehen: a) CRUNCH FILE Wenn davon ausgegangen werden kann, daß die Analyse eine hohe Packeffizienz ver- spricht, so können Sie mit diesem Menu- punkt den Packer starten. Nach verhält- nismäßig kurzer Packzeit wird das ge- packte File dann abgespeichert. b) SAVE FILE: Ist ein schlechtes Packergebnis zu er- warten, und möchten Sie das File nicht packen, es aber dennoch speichern, weil Sie den Prepacker aktiviert hatten (der das File ja auch schon verkürzt haben kann), so wählen Sie diesen Menupunkt. Hieraufhin wird das Pregepackte File auf Disette gespeichert. c) SKIP SAVING Möchten Sie garnicht Packen, so können Sie mit diesem Menupunkt in das Hauptme- nu zurückkehren.
(ub)