Magic Disk 64

home to index to text: MD9212-UTILITIES-BETA-SKIP_1.txt

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 !

Valid HTML 4.0 Transitional Valid CSS!