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)