Magic Disk 64

home to index to text: MD9303-UTILITIES-SIR-COMPACTORS.txt
             SIR-COMPACT VI+            
         - Der Sequenz-Packer -         

In dieser Ausgabe der MD, möchten wir Ihnen gleich zwei Packprogramme vorstellen: 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 Namens, sondern vielmehr, daß sie mit verschiedenen Packalgorithmen arbeiten, die jeweils verschiedene Packergebnisse erreichen 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 jeweiligen Packers auf dem Bildschirm.

* Jedesmal, wenn einer der Packer Ihnen ein Auswahlmenu zur Verfügung stellt, so sehen Sie in selbigem einen Selectbalken, 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 enthaltenen Files aufgelistet sind. Sie können durch diese Liste nun mittels ' CRSR UP' und ' CRSR DOWN' einen Selectbalken 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 automatisch 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 hinzugeschaltet werden kann. Hierbei handelt es sich um einen einfachen Equal-Byte- Packer, der aufeinanderfolgende, gleiche Bytes zusammenfasst. Der Vorteil 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 $00 B0 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önnen 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 aufgerufen. 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 ermittelt 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 Programms, 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 übernehmen 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 Diskette abgelegt werden soll. Ist auch diese Eingabe getätigt, so wird der eigentliche Packer aufgefrufen. Da sich an diesem Punkt die Bedienungswege 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 auswählen. Anschließend beginnt das Pro- gramm mit seiner Arbeit. Ist der Vorgang abgeschlossen, so wird Ihnen der Scan-Value angezeigt. Er wird als Voreinstellung schon gleich für die spätere Abfrage vorgemerkt. Per Tastendruck kommen Sie nun wieder ins Hauptmenu zurück.
c) DIRECTORY Hiermit können Sie sich das Inhaltsverzeichnis der eingelegten Diskette anschauen. Hierbei erscheint das gewohnte Ladefenster, in dem Sie hinund herscrollen können. Drücken Sie die ' RE-TURN'- Taste, um zum Hauptmenu zurückzukehren.
d) SET PARAMETER Wird dieser Menupunkt angewählt, so können Sie einige Grundeinstellungen vornehmen, die den Packvorgang beeinflussen. 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 Tastendruck bestätigt.

* FINISH AND RETURN: Diesen Punkt wählen Sie an, um alle Einstellungen zu übernehmen, und ins Hauptmenu zurückzukehren.
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 unten) .

* DECRUNCHER EFFEKT: Hiermit schalten Sie den Farbeffekt ein, der später beim Entpacken zu sehen ist. Dadurch haben Sie eine Anzeige, daß das geladene 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 Packalgorithmus ist zwar sehr aufwendig und zeitintensiv, jedoch werden hierbei sehr gute Packergebnisse erzielt. Nachdem Sie im Menupunkt " CRUNCH FILE" alle notwendigen 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 Option " Permanent Display" eingeschaltet hatten, so wird Ihnen nun eine Statuszeile angezeigt, in der immer die aktuelle Position in den ungepackten Daten (" from"), die bisherige Länge der gepackten 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 File) . Am Anfang eines jeden Packvorgangs wird es immer negativ sein, da der Pakker noch $0171 Bytes für die Entpackroutine mitrechnet ( um die das Zielfile ja länger wird) . Haben Sie die Option " Permanent Diskplay" abgeschaltet, so wird Ihnen an dieser Stelle nichts angezeigt.
Erst am Ende des Packvorgangs wird das Packergebnis auf den Bildschirm gebracht. Das hat den Vorteil, daß der Packvorgang nicht unwesentlich schneller abläuft, da ja nicht ständig die Bildschirmausgabe aktualisiert werden muß.
Ist der Packvorgang nun beendet, so wird das gepackte File auf Diskette gespeichert. Ist der Parameter " User Requests Off" ausgschaltet, so erscheint zuvor die Aufforderung eine Zieldiskette einzulegen, die mit einem Tastendruck bestätigt werden muß.
4) DER SIR-Im Gegensatz zum SIR+ ist der SIRein Packer, der nach dem sog." Huffman-Algo- rithmus" arbeitet. Er ersetzt 4- Bit-Sequenzen ( Nibbles), mit kürzeren Bitfolgen. Hierbei werden die am häufigsten vorkommende Nibbles, mit den kürzesten Bitfolgen ersetzt. Weniger häufige Sequenzen 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 angezeigt, welche der 16 verschiedenen Nibble- 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 Pakker eine hohe Effizienz erreichen. Zeigt sie etwa gleich viele kürzere, wie längere 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 gepackten Daten selbst im ungünstigsten Fall niemals länger werden, als die ungepackten ( sieht man von den Bytes ab, die die Entpackroutine für sich in Anspruch nimmt) .
Jedoch selbst wenn das Packergebnis kaum eine Steigerung verspricht, kann das Packen mit dem SIRvon Vorteil sein.
Dadurch nämlich, daß der Packer vollkommen neue Bitfolgen generiert, und das gepackte File sich in der Art der Daten sehr stark vom ungepackten unterscheidet, kann es vorkommen, daß beim Nachpacken mit einem Sequenzpacker ( z. B. dem SIR+") ein weitaus besseres Ergebnis erzielt wird, als wenn das File nur mit dem Sequenzpacker gepackt wird! Probieren 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 Analysetabelle 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 verspricht, so können Sie mit diesem Menu- punkt den Packer starten. Nach verhältnismäßig kurzer Packzeit wird das gepackte File dann abgespeichert.
b) SAVE FILE:
Ist ein schlechtes Packergebnis zu erwarten, 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 Hauptmenu zurückkehren.

                                    (ub)

Valid HTML 4.0 Transitional Valid CSS!