Mit dem BetaSkip-System wollen wir Ihnen
wieder einmal ein Utility der ganz besonderen Sorte vorstellen. Der Anwendungsbereich dieses Programmpaketes ist
so vielseitig, daß er nicht sehr einfach
zu beschreiben ist. Primär ist das BetaSkip- System eines der schnellsten
softwaremäßigen Ladesysteme, die für den
64 er zu haben sind. Darüberhinaus bietet
es dem einfachen Anwender die Möglichkeit, die Files einer Diskette zu einem
einzigen, lauffähigen File zusammenzubinden, und die darin enthaltenen Teile
über ein komfortables Menu auzufrufen.
Ein weiterer Vorteil des BetaSkip-Systems sind die darin enthaltenen Pak- ker, die für nahezu jeden Anwendungszweck verwendbar sind und bei einer hohen Effizienz dennoch annehmbare Packzeiten haben.
Doch damit nicht genug: zusätzlich beinhaltet das BetaSkip-System einen sehr
effektiven Kopierschutz, der auch schon
in komerziellen Produkten Verwendung
fand. Diesen können Sie einfach, per
Programm, auf einer Diskette installieren. Einmal darauf vorhanden, kann diese
Diskette nicht mehr so einfach kopiert
werden. Selbst die besten Nibbler-Pro- gramme versagen bei ihm! ! !
Wir wollen nun die einzelnen Programme
des BetaSkip-Systems durchgehen und deren Funktion erläutern.
1) DER BETA-DYNAMIC-LEVEL-COMPRESSOR
Dies ist der komfortabelste und Effizenteste Packer des Beta-Systems. Im Zusam- menhang mit dem Beta-Ladesystem werden
Sie ihn wohl am häufigsten verwenden, da
er spezielle Pack-Files generiert, die
von diesem direkt weiterverarbeitet werden können. Optional können aber auch
einfach durch ' RUN' startbare Files generiert werden. Der Vorteil an diesem
Packer ist seine hohe Packeffizienz ( im
Test hat er ein ungepacktes File mit 65 Blocks auf sage und schreibe 17 Blocks
heruntergekürzt) und die Möglichkeit, die Files einer ganzen Diskette zu selektieren. Da er relativ hohe Packzeiten
hat ( ca.1 .5 Std. für ein File von 208 Blocks Länge), können Sie so eine ganze
Diskette getrost einmal über Nacht zusammenpacken lassen. Kommen wir nun zu
seiner Beschreibung:
Laden Sie den Cruncher mit LOAD" BETA
SEQ. LEV. CRU",8 von dieser MD und starten
Sie ihn mit ' RUN' . Nach kurzer Entpackzeit präsentiert sich Ihnen das Hauptmenu, in dem Ihnen folgende Menupunkte zur
Verfügung stehen:
F1- GO PACKER Mit diesem Menupunkt rufen Sie den eigentlichen Packer auf. Hierzu kommen wir
später.
F3- DIRECTORY Durch Druck auf die ' F3'- Taste wird das
Directory der Diskette im Floppylaufwerk
mit der Gerätenummer 8 angezeigt. Durch
Druck auf irgeneine Taste gelangen Sie
ins Hauptmenu zurück.
F5- DOS COMMAND Mit diesem Menupunkt können Sie einen
DOS-Befehl an die Floppy senden. Hierzu
erscheint in der unteren Bildschirmhälfte der Prompt " DOS:" und ein Cursor wartet auf Ihre Eingabe. Nach Ausführen des
Befehls liest das Programm den Floppy-Status aus, und zeigt ihn am unteren
Bildschirmrand an. Mit einem Tastendruck
gelangen Sie zurück ins Hauptmenu.
F7- MODE Hier stellen Sie den Packmodus ein. Es
gibt derer drei. Sie unterscheiden sich
nur in der Art der Weiterverwendeung
eines Programms. Durch Druck auf ' F7' wird der jeweils nächste Modus eingeschaltet. Hier die einzelnen Modi und
deren Bedeutung:
LOAD: Ist dieser Modus aktiv, so wird
ein gepacktes Programm so abgespeichert, daß es später während
des Ladevorgangs entpackt werden
kann. Diese Einstellung ist nur
dann sinnvoll, wenn Sie das File
später mit dem BetaSkip-Ladesystem
in ein Menu einbinden wollen. Versuchen Sie es normal zu laden, so
wird es nicht zum Laufen zu bringen sein. Wird ein so gepacktes
File vom Menu des BetaSkip-Systems
aufgerufen, so bewirkt dies zwar
eine Geschwindigkeitseinbuße beim
Laden, jedoch wird das File ohne zusätzlichen Speicheraufwand dann
direkt an seinen Platz im Speicher
geladen, von wo aus direkt aufrufbar ist. Eine weitere Anwendung
wäre auch das Nachladen von Levels
bei einem Spiel. Sie können so die
Leveldaten direkt an ihren Platz
im Speicher laden lassen.
MEMO: Auch diese Einstellung können Sie
nur in Verbindung mit dem BetaSkip-Ladesystem verwenden. Sie
gibt an, daß ein File erst nach
dem Laden entpackt wird. Dies erledigt dann das BetaSkip-Lade- system automatisch für Sie. Der
Vorteil gegenüber des ' RUN!'- Modus
( s. u.) ist, daß der Entpacker
nicht noch eigens mitgespeichert
werden muß.
RUN! : Dieser Modus generiert Files, die
durch ' RUN' startbar sind. Er kann
somit auch für Zwecke außerhalb
eines BetaSkip-Menus verwendet
werden.
F8- DESTINATION Durch Druck auf diese Taste schalten Sie
zwischen den Floppylaufwerken mit den
Numern 8 und 9 als Ziellaufwerken hinund her. Dies funktioniert natürlich nur
dann, wenn Sie über ein zweites Laufwerk
verfügen, das über die Devicenummer 9 zu
erreichen ist. Der Vorteil eines zweiten
Laufwerks als Ziellaufwerk ist der, daß
die Daten der Quelldiskette im Originalzustand bleiben ( s. u.) !
DER EIGENTLICHE PACKER Zum eigentlichen Packprogramm des Dynamic- Level-Compressors gelangen Sie mit
Hilfe der ' F1'- Taste. Sie sehen nun im
obersten Viertel des Bildschirms eine
Anzeige der verfügbaren Tastenfunktionen. Im unteren Teil sind die Namen aller Files der eingelegten Diskette ( in
Laufwerk 8) angezeigt. Mit Hilfe der
Cursor-Tasten steuern Sie einen inversen Balken durch die File-Liste. Sie können
nun die zu packenden Files mit Hilfe der
folgenden Tastenfunktionen anwählen:
CR :(= Return) Hiermit wird ein File
angewählt. Dies wird durch ein Häkchen am Ende des Filenamens angezeigt.
DEL: Hiermit deselektieren Sie ein File
wieder. Das Häkchen am Ende verschwindet.
T:( Toggle) Mit dieser Taste wird die
Selektion invertiert. Alle nicht
gewählten Files werden als ' gewählt' gekennzeichnet und umgekehrt. Sie können diese Funktion
auch verwenden, wenn Sie alle Files
packen lassen wollen. Benutzen Sie
sie einfach, wenn Sie noch keine
Files angewählt haben.
R:( Rename) Hiermit können Sie ein
File umbenennen. Drücken Sie diese
Taste, so verschwindet der inverse
Balken über dem aktuellen Filenamen und ein Cursor erscheint. Sie können nun einen neuen Namen für das
File eingeben. Während der Eingabe
können Sie mit den Tasten ' CRSR
LEFT' und ' CRSR RIGHT' den Cursor
im Filenamen hinund herbewegen.
Durch Druck auf ' RETURN' schließen
Sie die Eingabe ab. Ein umbenanntes
File wird auch automatisch selektiert.
: Mit dieser Taste geben Sie einem
zuvor umbenannten File seinen alten
Namen zurück.
CLR: Mit dieser Taste löschen Sie alle
Selektionen wieder. Zusätzlich erhalten alle umbenannten Files ihren
alten Namen zurück.
HOME: Hiermit springen Sie mit dem Selektionsbalkten auf den ersten Fileeintrag.
R/ S:(= RUN/ STOP) Diese Taste bricht die
Fileselektion ab und kehrt ins
Hauptmenu zurück.
SPC:( SPACE) Diese Taste startet den Packvorgang. Wenn Sie kein File
selektiert haben, so erscheint eine
Fehlermeldung und es wird mit einem
Tastendruck zum Hauptmenu zurückgekehrt ( ebenso bei leerer Diskette, bzw. leerem Laufwerk) .
< : Mit dieser Taste rufen Sie eine
Sonderfunktion auf. Sie benennt das
aktuelle File in " BETAxx" um, markiert es als ' gewählt' und springt
gleich weiter zum nächsten Eintrag.
Hierbei steht " xx" für eine hexadezimale Zahl zwischen $01 und $63 .
Diese spezielle Art der Umbenennung
ist unter Verwendung des Beta-Ladesystems ( und des Menu-Makers) von Bedeutung ( sh. dort) . Jedesmal, wenn Sie nun die '<'- Taste drücken, wird dem File der Name " BETA" und
eine fortlaufende Nummer zugewiesen. Die Nummer, die als nächstes
erscheint, wird ganz rechts oben am
Bildschirm angezeigt. Durch Druck
auf die '↑'- Taste setzten Sie sie wieder auf "01" zurück und können
somit erneut mit einer Namensvergabe beginnen. Natürlich können Sie
mit Hilfe der ''- Taste so umbenannten Files ihren alten Namen
wieder zurückgeben.
Wenn Sie nun alle zu packenden Files
markiert haben, so starten Sie den Packvorgang mit ' SPACE' . Der Bilschirm wird
nun gelöscht und auf der linken Bildschirmseite erscheint der Text " LOADING:
Name" . Es wird nun das erste File in den
Rechner eingelesen. Ist dies geschehen, so wird der Bildschirm grau. Ab und zu
werden Sie weiße Linien darüberhuschen
sehen. Dies zeigt an, daß der Packer
gerade am arbeiten ist. Durch Druck auf
die ' SPACE'- Taste sehen Sie wieder den
normalen Bildschirm, auf dem links oben
der Text " PACKING: Name" steht. In der
Ecke rechts oben sehen Sie die Anzeige
" LEFT:$ XXXX", wobei "$ XXXX" für die hexadezimale Anzahl der Bytes, die noch zu packen sind, steht. Sie zählt von der
Länge des Files bis auf "$0000" herunter. Ist dies geschehen, so ist der
Packvorgang beendet. Wenn Sie die ' SPA-CE'- Taste wieder loslassen, so erscheint
wiederum der graue Bildschirm. Drücken
Sie diese Taste bitte immer nur zur Ihrer Information und lassen Sie sie bald
wieder los. Der abgeschaltete Bildschirm
beschleunigt den Packvorgang nämlich um
ca.5% .
Ist ein File zu Ende gepackt, so wird
seine ungepackte Version zunächst einmal
von der Diskette gelöscht. Dies wird
durch den Text " SCRATCH: Name" angezeigt. Hiernach wird es ( evtl. auch unter einem neuen Namen) wieder auf der
Diskette gespeichert. Angezeigt wird
dies durch den Text " SAVING: Name" . Das
File wird nun mit einem Häkchen versehen, um anzuzeigen, daß es fertig bearbeitet wurde. Der Vorgang wiederholt
sich nun so lange, bis alle angewählten
Files der Diskette bearbeitet wurden. Am Ende des Packvorgangs gelangen Sie durch
einen Tastendruck wieder zurück zum
Hauptmenu.
Wenn Sie über ein zweites Floppylaufwerk
verfügen und dieses als Ziellaufwerk
angaben, so löscht der Packer die Quellfiles nicht. Er schreibt die gepackten
Files dann auf das zweite Laufwerk und
beläßt die Quelldiskette im Originalzustand. Wenn Sie nur ein Laufwerk besitzen und dennoch ihre alten Files behalten möchten, so müssen Sie vor dem Pakken ein Backup der Quelldiskette erstellen ( auch bei den ersten Versuchen mit
diesem Programm ist das zu empfehlen), da die darauf enthaltenen Daten später
unweigerlich gelöscht sind!
2) DER BETA-DYNAMIC-COMPRESSOR
Dieser Packer stellt im Prinzip eine
' abgespeckte' Version des Beta-Dynamic- Level-Compressors dar. Er arbeitet wie der RUN!- Modus desselben, erzeugt also
durch ' RUN' startbare Files. Hierbei
unterscheidet er sich jedoch in folgenden Punkten:
* Es können auch Files gepackt werden, die nicht mit ' RUN', sondern mit direktem Aufruf zu starten sind.
* Es können noch einige zusätzliche Optionen angegeben werden, die den Inhalt der Speicherstelle $0001 und den
Zustand des Interrupt-Flags des Prozessors bei Einsprung in das entpackte
Programm festlegen.
* Es wird immer nur EIN EINZELNES File
gepackt. Die Fileselektion fällt weg.
Laden Sie diesen Packer mit LOAD" BETA
SEQ. PRG. CRU",8 und starten Sie ihn mit
' RUN' . Nach kurzer Entpackzeit erscheint
der Hauptbildschirm, auf dem Sie den
Packer mit den notwenigen Eingaben versorgen.
Zunächst einmal wird nach dem Namen des
zu ladenden Files gefragt. Nach dem
Prompt " Load:" sehen Sie einen Rotationscursor, mit dem Sie den Namen des
Files eingeben. Hierbei erlaubte Tasten
sind die normalen alphanumerischen Tasten, die ' DEL'- Taste zum Löschen des
letzten Zeichens und die ' RETURN'- Taste
zum Abschließen der Eingabe.
Als nächstes werden Sie nach dem Namen
gefragt, unter dem das gepackte File
gespeichert werden soll. Geben Sie selbigen hinter dem Prompt " Save:" ein.
Mit dem Prompt " jmp$ :" wird nach der
Einsprungadresse ( in hexadezimaler
Schreibweise) des entpackten Programms
gefragt. Hier gibt es mehrere Möglichkeiten:
a) Ist das zu packende Programm ein Assemblerprogramm, daß normalerweise
mit einem " SYS"- Befehl aufgerufen
wird, so müssen Sie die Adresse des
SYS-Aufrufs in hexadezimale Darstel- lung umrechnen und hier angeben.
b) Ist das zu packende Programm ein Assemblerprogramm, das jedoch mit ' RUN' startbar ist, so müssen Sie dieses
Programm vorher mit LIST auf den
Bildschirm bringen und die Adresse
des dort angezeigten SYS-Befehls
( natürlich in Hex umgerechnet) als
Aufrufadresse angeben. Oder aber Sie
verfahren wie in " c)" .
c) Ist das zu packende Programm ein BA-SIC- Programm ( oder eines wie in " b)" beschrieben, so müssen Sie die RUN-Routine des Basic-Interpreters anspringen. Diese liegt bei Adresse
$ A659 .
Hieran anschließend fragt Sie der Packer
nach dem Inhalt der Speicherzelle $01("$01$ :"), vor Einsprung in das Programm. Diese Adresse regelt das Bank-Switching im 64 er. Im Normalfall enthält
sie den Wert $37( dez.55) .
Nun wird noch gefragt, ob etwaige Inter- rupts ( IRQs) erlaubt sein sollen oder
nicht (" cli? :") . Dies trifft im Regelfall zu. Hier können Sie nur mit ' Y' oder ' N' antworten. Im Regelfall antworten Sie also mit ' Y' .
Die letzte Abfrage lautet " run start?" .
Sie ist ganz wichtig im Zusammenhang mit
der Art und Weise in der das Programm
später weiterverwandt wird. Geben Sie
hier ' Y' an, so wird das gepackte Programm hinterher so gespeichert, daß es
mit ' RUN' startbar ist. Hierbei geschieht dann nichts anderes, daß Sie
damit den Entpacker aufrufen, der das
Programm entsprechend entpackt und an
der zuvor gegebenen Adresse aufruft.
Geben Sie hier jedoch ein ' N' ein, so
richtet sich der Packer nach der Ladeadresse des Programms. Steht es z. B. im
Speicherbereich von $1000-$ XXXX, dann
würde das gepackte File ebenfalls an
diese Adresse geladen werden, wobei der
Packer dann bei $1000 liegt ( und dort zu
starten wäre) . Für den normalen Hausge- brauch ist es allerdings ausreichend, wenn Sie ' Y' eingeben.
Der Packer fragt Sie nun abschließend, ob alle Angaben richtig sind (" Everything ok ?") . Wenn ja, antworten Sie mit
' Y' und der Packvorgang beginnt. Wenn
nein, so antworten Sie mit ' N' um alle
Eingaben nochmals durchführen zu können.
Haben Sie den Packer mit ' Y' gestartet, so fordert er Sie zunächst dazu auf, die
Quelldiskette einzulegen (" Insert Source
Disk") . Tun Sie dies und bestätigen Sie
mit einem Tastendruck. Das angegebene
File wird nun geladen und gepackt. Während des Packens wird, wie gewohnt, der
Bildschirm abgeschaltet. Durch
Gedrückthalten der ' SPACE'- Taste werden
Ihnen die noch verbleibenden zu packenden Bytes angezeigt.
Nach dem Packen werden Sie dazu aufgefodert die Zieldiskette einzulegen (" Insert Target Disk") . Tun Sie dies und
bestätigen Sie mit einem Tastendruck.
Nachdem das Programm gespeichert wurde
erhalten Sie nochmals die Möglichkeit, es auf einer anderen Diskette zu speichern. Drücken Sie hier die ' RUN/ STOP'- Taste um einen Reset auszulösen und damit das Programm zu verlassen. Jede andere Taste speichert das gepackte Programm nochmals ab.
3) DER BETA-DYNAMIC-TURBO-COMPRESSOR
Der dritte Packer des Beta-Systems ist
für eine ganz besondere Art von Programmen geschrieben worden. So ist es möglich, mit diversen Freezer-Modulen den
Speicherinhalt des 64 ers auf Diskette zu
speichern. So können Sie z. B. aus einem
Spiel aussteigen und es später wieder
starten. Wichtig dabei ist auch der Inhalt des Stack-Pointers.
In der Regel werden bei so einem Vorgang
zwei Files auf die Diskette geschrieben:
ein langes File ( meist mit 202 Blocks),
das den Bereich von $0100-$ CFFF enthalten kann, und ein kürzeres ( ca.50 Blocks), das in der Regel den Bereich
von $ D000-$ FFFF enthält. Man wählt diese
Methode, da das erste File auf sehr einfache Weise auch mit dem normalen LOAD-Befehl geladen werden kann, ohne irgendwelchen großen Schaden anzurichten. Würde das zweite File an seine Adresse geladen werden, so würde es in den normalerweise eingeschalteten I/ O-Bereich des
64 ers schreiben und somit den Rechner
zum Absturz bringen. Mit dem Turbo-Compressor haben Sie nun die Möglichkeit
zwei solche Files zu verarbeiten. Er ist
speziell darauf ausgelegt, kann jedoch
auch ' normale' Files packen. Ein weiterer Vorteil an diesem Packer ist seine
Geschwindigkeit. Er lädt die Daten sehr
schnell in den Speicher des Rechners und
benötigt zum Packen nicht länger als 10 Sekunden! Desweiteren kann er fast den
gesamten Speicher des C64 zusammenpakken. Sein maximaler Packbereich geht von$0035-$ FFFF! ! Kommen wir nun jedoch zur
Beschreibung des Packers.
Bitte laden Sie nun Teil 2 der Anleitung
für das BETA SKIP SYSTEM !