Low-Cruncher --------------
Der Cruncher, den wir in dieser Ausgabe
vorstellen, ist in seiner Art etwas
besonderes. Zum einen dadurch, daß er
nur auf einem EPROM gebrannt
funktioniert, und zum anderen, weil er
durch die Vielzahl von Auswahlmöglichkeiten jeden Speicherbereich crunchen
kann.
Zuerst jedoch ein paar allgemeine Worte
zu Crunchern/ Packern: Packer oder
Cruncher sind Programme, mit deren Hilfe
andere Programme komprimiert werden
können. Dabei werden entweder Folgen von
gleichen Zeichen ( Byte-Packer) oder
identische Bytefolgen zusammengefaßt
( Sequenz-Packer) . Wie diese Verfahren im
einzelnen funktionieren kann ich hier
nicht erklären - dies würde den Umfang
dieser Rubrik wohl sprengen.
Packer gibt es in den zwei Formen, nämlich solche, die im Speicher stehen
und einen Speicherbereich packen, und
andere, wie unser Low-Cruncher, die auf
EPROM gebrannt, den gesamten Speicher
des C64 komprimieren können. Der
Nachteil der ersten Form ist klar
erkennbar: Wenn der Packer im Speicher
steht, kann ein Teil des Speichers nicht
für das zu packende Programm genutzt
werden. Der Vorteil: Es ist kein EPROM
und EPROM-Karte notwendig, um den Packer
zu betreiben. Der EPROM-Packer kann
hingegen den gesamten Speicher
verwenden, kann aber ausschließlich nur
als EPROM-Version arbeiten. Dazu ist die
Anschaffung einer EPROM-Karte notwendig, die im Einzelhandel ca.20,- DM kostet.
Weiterhin wird ein 8- K-EPROM (2764) benötigt, um den Packer darauf zu
brennen. Als letztes muß das Programm
auf das EPROM begrannt werden. Hierzu
ist ein sog. EPROM-Brenner nötig; eine
relativ teure Anschaffung, wenn man ihn nur sehr selten benötigt. Die Preise
schwanken von Hersteller zu Hersteller
zwischen 50,- und 250,- DM.
Um Sie nicht in Unkosten zu stürzen, kann der Low-Cruncher, auf EPROM
gebrannt, zusammen mit einer EPROM-Karte, zum Preis von 30,- bei uns
bestellt werden.
CP Verlag GmbH & Co. KG Low-Cruncher Gufidaunerstraße 13 8501 Schwarzenbruck
Um jetzt nicht ganz vom Thema abzukommen, widmen wir uns nun der
Anleitung des Low-Crunchers.
Wenn die EPROM-Karte mit dem Low-Cruncher im Expansionsport ( rechts
hinten) steckt und eingeschaltet ist, kann der Packer durch RESET oder drücken
der RESTORE-Taste gestartet werden.
Auf die Frage CRUNCHEN ( J/ N) antworten
Sie mit " J", wenn Sie das Programm, das
sich gerade im Speicher befindet, packen möchten. Daraufhin kann die
niedrigste und höchste Packadresse
eingegeben werden ( LOW MEM $ xxxx und
HIGH MEM $ xxxx) . Als nächstes benötigt
der Packer einen Offset-Wert ( OFFSET
$ xx) . Dieser Wert gibt die Suchtiefe an, mit der der Packer arbeitet. Werte von
$00 bis $ FF werden hier akzeptiert.
Im allgemeinen gilt: je höher dieser
Wert, desto besser ist das Packergebnis.
Jedoch erhöht sich damit auch die Zeit, die der Packer benötigt. Werte zwischen
$08 und $1 f liefern ein akzeptables
Ergebnis bei einem ebenfalls akzeptablen
Zeitaufwand.
Als nächstes muß der Packtyp angegeben
werden ( PACK TYP 1,2,3,4) . Hier kann
einer von vier verschiedenen Modi
angewählt werden, mit dem das Programm
gepackt wird.
In der folgenden Tabelle finden Sie die
Speicherbereiche, die die einzelnen
Packtypen bearbeiten können.
Typ 1 $0200 - $0000 $0000 - $0100
Typ 2$0200-$0000
Typ 3 $0200 - $0000 $0011 - $0200 Typ 4 $0200 - $0000 $0100 - $0200
Nachdem Sie Ihren Packtypen gewählt
haben, beginnt der Packer mit der
Arbeit. Während des Packens sehen Sie
die Hintergrundfarbe flackern - ein
Zeichen, daß der Packer arbeitet.
Sobald dieser mit der Arbeit fertig ist, muß die Startadresse des gepackten
Programmes ( EINSPRUNG:$ xxxx) eingegeben
werden.
Der Wert der Speicherzelle $01 wird
ebenso benötigt wie die Angabe, ob der
Interrupt erlaubt oder gesperrt sein
soll, wenn das Programm startet.
Antworten Sie auf die Frage $01 :$ xx mit
$37, wenn das BASIC und das KERNAL
eingeschaltet bleiben sollen. Die
anderen Bitkombinationen entnehmen Sie
dem Handbuch des C64 . Die Frage CLI SET:
J/ N können Sie in 98% der Fälle mit " N" beantworten. Jetzt gelangen Sie ins
Hauptmenü, in dem Sie unter anderem das
gepackte Programm speichern können.
Haben Sie die erste Frage ( PACKEN J/ N) mit " N" beantwortet, gelangen Sie sofort
ins Hauptmenü.
Hier stehen folgende Möglichkeiten zur
Auswahl:
F1- DIR : Directory anzeigen F2- Speicher mit $ xx füllen : hier muß LOW MEM, HIGH MEM und ein WERT
zwischen $00 und $ FF angegeben werden, mit dem der gewählte Speicherbereich gefüllt wird.
F3- Speicher setzen : Hier wird durch LOW
MEM und HIGH MEM festgelegt, welcher Bereich beim Packen bearbeitet wird.
F4-$0800-$0000 löschen : der Speicher von $0800 bis $0000 wird mit $00 gefüllt.
F5- Cruncher starten : es können noch maximal zwei Files geladen werden.
Die Startadresse der Files kann im Gegensatz zur LADE-Funktion auch $0000 betragen. Danach wird genau so fortgefahren, wie weiter oben bereits
beschrieben.
F6- Exit : Packer verlassen und ins BASIC
zurückkehren.
F7- Laden : Files können geladen werden.
" J" lädt," N" überspringt das File.
Wird ein File angewählt, so kann die Startadresse verändert werden. Die Endadresse kann auch als HIGH MEM übernommen werden.
F8- Speichern : Name eingeben und RETURN drücken - das File wird gespeichert.
I-Kurze Anleitung
Damit diese Anleitung nicht zu einem Mammutwerk ausartet, komme ich nun zum Schluß. Ein Tip noch: Experimentieren Sie ruhig ein wenig mit dem Packer herum, um besser damit zurecht zu kommen. (wk)