Magic Disk 64

home to index to text: MD9407-UTILITIES-NINJA-TOOLS.txt
               NINJA-TOOLS              
     - Lautlose und flinke Helfer -     

Die Ninja-Tools bestehen aus vier kleinen Programmen, die Ihnen das Zusammenspiel zwischen C64 und Floppy erleichten sollen. Es handelt sich dabei um kleine Helfer zum Schnelladen,- kopieren und - formatieren, sowie um eine Packroutine, die während des Ladens entpackt.
1) ALLGEMEINE BEDIENUNGSHINWEISE Auf dieser MD finden Sie ingesamt fünf " Ninja-Files" . Das erste davon, mit Namen " NINJA-TOOLS", dient quasi als Auswahl- Menu für die vier eigentlichen Tool-Programme. Laden Sie es mit LOAD " NINJA-TOOLS",8 und starten Sie es durch ' RUN' . Sie können nun eines der Tool-Programme mit Hilfe der Tasten von '1' bis '4' auswählen, woraufhin das gewählte Programm automatisch nachgeladen und gestartet wird. Sie können aber auch jedes der Ninja-Programme " von Hand" laden und starten ( das erspart das Laden des Menus), indem Sie es ganz normal mit LOAD" NINJA-XXX",8 laden und ebenfalls mittels ' RUN' starten.
2) NINJA-LOAD Dies ist der serielle Flopyspeeder des Ninja-Tool- Systems. Laden und starten Sie ihn, so erscheint die Meldung " NIN-JA- LOAD BY TEKLSOFT" auf dem Bildschirm, die Sie darüber informiert, daß der Schnellader aktiv ist. Laden Sie nun ein File mittels LOAD in den Speicher, so wird automatisch der Schnellader aktiviert, der bis zu 25 Mal schneller ist, als die original Laderoutine des C64 .
Ninja-Load bleibt solange aktiv, bis die Tastenkombination ' RUN/ STOP-RESTORE' gedrückt, oder ein Reset ausgelöst wird.
Danach kann sie mit einem " SYS320" wieder reaktiviert werden. Einige Programme können nach dem Laden und Starten abstürzen, da sie den Speicherbeich von $ E000 bis $ FFFF nutzen, in dem Ninja-Load sich breitgemacht hat. In diesen Fällen sollten Sie den Schnellader vor dem Starten des geladenen Programs immer mit ' RUN/ STOP-RESTORE' deaktivieren, damit alles wieder wie gewünscht funktioniert. Aus technischen Gründen kann Ninja-Load nur Programme mit einer maximalen Länge von 202 Blocks ( bis Adresse $ D000) laden, was jedoch bei der Laderoutine des Betriebssystems ebenfalls der Fall ist.
2) NINJA-COPY Hierbei handelt es sich um ein schnelles Disketten-Kopier- Programm. Es kopiert eine ganze Diskette in nur 90 Sekunden ( mit Verify in 145 Sekunden) . Nach dem Laden und Starten erscheint zunächst ein kleiner Intro-Bildschirm, aus dem Sie mit einem Druck auf die ' SPACE'- Taste in das eigentliche Programm gelangen. Hier stehen Ihnen nun einige Funktionen zur Verfügung die mit den folgenden Tasten aufgerufen werden:
a)' D'- DIRECTORY Dieser Menupunkt zeigt das Inhaltsverzeichnis der momentan eingelegten Diskette auf dem Bildschirm an. Mit einem beliebigen Tastendruck gelangen Sie dann wieder ins Hauptmenu zurück.
b)' C'- COPY DISK Dies ist der eigentliche Kopierteil des Programms. Hierbei werden Sie zunächst dazu aufgefordert, eine Quelldiskette einzulegen, was mit einem Druck auf die ' RETURN'- Taste bestätigt wird. Es wird nun das erste Drittel der Diskette in den Speicher geladen, wobei der Bildschirm in grauen Farben flackert. Anschließend sind Sie dazu aufgefordert, eine Zieldiskette einzulegen, was ebenfalls mit ' RETURN' bestätigt wird, und woraufhin das erste Drittel der Quelldiskette geschrieben wird. Dieser Vorgang wiederholt sich nun insgesamt drei Mal, bis die gesamte Diskette kopiert ist. Zum Abschluß gelangen Sie mit der ' RETURN'- Taste wieder ins Hauptmenu zurück.
Sollte der Bildschirm während des Kopierens nicht flackern, so gibt es Probleme mit Erweiterungen am User Port. Sie sollten diese dann vorher entfernen, damit das Programm einwandfrei läuft ( bei einem Drucker mit Centronics-Interface, reicht es in der Regel, den Drucker einzuschalten, damit alles funktioniert) .
c)' R'- RESET Diese Funktion setzt nach einer, mit ' Y' oder ' N' zu beantwortenden, Sicherheitsabfrage, den C64, sowie die Floppy wieder in den Einschaltzustand zurück, womit Sie Ninja-Copy auch verlassen.
d)' F1'- VERIFY Mit dieser Taste schalten Sie die Verify- Funktion ein und aus. Bei eingeschaltetem Verify wird während des Kopierens geprüft, ob die geschriebenen Daten auch wirklich sauber auf die Diskette übertragen wurden. Gerade bei alten oder kaputten Disketten sollte diese Option zur Datensicherheit verwendet werden.
4) NINJA-FORMAT Dies ist ein Programm zum besonders schnellen Formatieren von Disketten.
Nach dem Programmstart wird zunächst nach dem Namen der zu formatierenden Diskette, sowie ihrer zweistelligen ID gefragt. Hiernach kann noch gewählt werden, ob ein Verify während des Formatierens durchgeführt werden soll (' Y' für " Verify an",' N' für " Verify aus") . Nun muß nur noch die Zieldiskette eingelegt werden, was Sie mit einem Druck auf die' SPACE'- Taste bestätigen. Die eingelegte Diskette wird in nur 12( !) Sekunden ( ohne Verify) formatiert. Mit Verify dauert es etwas länger. Nach abgeschlossener Formatierung gibt Ihnen das Programm noch den Diskettenstatus aus und wartet Anschließend auf einen beliebigen Tastendruck, der Sie wieder zum Programmanfang zurückbringt.
5) NINJA-LOREPA Dies ist ein Programm, das besonders für die Programmierer unter Ihnen interessant sein dürfte. Es handelt sich dabei um einen Bytefolgen-Packer, mit dem es möglich ist, eine gepackte Datei WÄHREND des Ladens zu entpacken. Das hat mehrere Vorteile: Zunächst einmal nimmt eine Datei auf Diskette weniger Platz ein.
Zudem wird sie schneller geladen, da ja weniger Daten zu transferieren sind.
Nicht zuletzt sparen Sie auch noch kostbaren Speicherplatz im Hauptspeicher des Computers, da herkömmliche Packer erst nach dem Laden entpacken, wobei Speicherplatz für die gepackten und entpackten benötigt wird. Mit Ninja-LoRePa können Sie nun also z. B. die Leveloder Grafikdaten eines selbstprogrammierten Spiels effizienter nachladen, wobei die Daten während des Ladens automatisch an der richtigen Fileadesse untergebracht werden.
Nach dem Starten des Programms erscheint gleich auch schon das Hauptmenu, aus dem Sie die folgenden vier Menupunkte wählen können:
a)' F1'- START PACKER Hiermit starten Sie den eigentlichen Packer. Bitte beachten Sie, daß Sie vom Packer nicht mehr ins Hauptmenu zurückkehren können ( wohl aber können Sie mehrere Files hintereinander packen) .
Nach dem Starten des Packers sind Sie zunächst dazu aufgefordert, den Namen des Files anzugeben, das gepackt werden soll. Nach Eingabe und Bestätigung mittels ' RETURN'- Taste, wird die Datei nun geladen und gepackt, was durch ein Bildschirmflackern angezeigt wird. Nach dem Packen erscheint eine Information über die erreichte Verkürzung der Daten. Sie sehen hier zunächst die ursprüngliche Länge des Files, sowie die gepackte Länge, jeweils in Disketten-Blocks. Es wird nun nach dem Namen gefragt, unter dem das File wieder auf Diskette gelangen soll. Nach Eingabe desselben werden die gepackten Daten auf Diskette geschrieben. Hiernach haben Sie die Möglichkeit, die Daten beliebig oft unter anderem Namen oder auf andere Disketten noch einmal zu schreiben. Geben Sie hier "<" an, so kehrt der LoRePa wieder zum Anfang zurück, von wo Sie ein neues File packen können.
Bei allen Filenamensabfragen kann als Name übrigens auch das "$"- Zeichen angegeben werden, was das Programm dazu ver- anlasst, das Inhaltsverzeichnis der eingelegten Diskette anzuzeigen ( Bedienung wie ' F7' im Hauptmenu) .
b)' F3'- ENTER MEM OF LOREPA Mit diesem Menupunkt können Sie die Startadresse der Ladeund Entpackroutine verändern. Hierzu erscheint ein Eingabecursor in der untersten Menuzeile (" Adress"), wo Sie die neue Adresse in hexadezimaler Schreibweise eingeben können.
c)' F5'- RELOCATE AND SAVE LOREPA Mit diesem Menupunkt wird die Ladeund Entpackroutine von LoRoPa an die mit ' F3' eingegebene Adresse relokiert und kann anschließend gespeichert werden.
Geben Sie hierzu lediglich den gewünschten Namen an, unter dem die Routine auf Diskette wandern soll, und bestätigen Sie mit ' RETURN' . Nach dem Speichervorgang wird ein Reset ausgelöst, und damit das Programm verlassen. Die Routine kann nun unter dem angegebenen Namen, mit der Endung ",8,1" in den Speicher geladen, und zum Entpacken während des Ladens benutzt werden ( s. u.) .
d)' F7' DIRECTORY Dieser Menupunkt liest das Inhaltsverzeichnis der eingelegten Diskette und gibt es auf dem Bildschirm aus. Hiernach kann mit der ' SPACE'- Taste wieder zum Hauptmenu zurückgekert werden.
6) DIE LOREPA-ENTPACKROUTINE Möchten Sie nun aus einem eignen Programm heraus gepackte Daten nachladen, so haben Sie zwei Möglichkeiten die Lo-RePa- Entpackroutine zu verwenden. In unseren Beispielen gehen wir von einer an Adresse $ C000 relokierten Routine aus. Haben Sie die Routine an eine anderen Adresse untergebracht, so müssen Sie jeweils diese Startadresse als Aufrufadresse der LoRePa-Laderoutine verwenden.
In beiden Anwendungsmethoden muß die Routine zuvor natürlich mit LOAD" NA-ME",8,1 in den Speicher geladen worden sein:
a) DIREKTES LADEN Hier setzen Sie den Namen und die Devicenummer mit Hilfe des BASIC-Befehls < SYS57812" NAME",8> fest. Nun wird die LoRePa-Routine mit " SYS < Startadresse>" aufgerufen, um die gepackten Daten zu laden. Hier ein Beispielprogramm:

10 SYS57812"GEPACKT",8:SYS49152         
20 ...weiter im Programm...             

b) INDIREKTER AUFRUF Bei dieser Methode wird die Startadresse der LoRePa-Routine direkt in die Sprungvektoren der LOAD-Routine des Betriebssystems geschrieben. Dadurch wird bei jedem normalen LOAD-Befehl automatisch die LoRePa-Routine aufgerufen. Um die Routine zu installieren, müssen Sie zunächst Lowund Highbyte der Startadresse der Routine berechnen, und dann in die Adressen 816 und 817 schreiben.
Für die Beispieladresse von $ C000 lauten Lowund Highbyte 0 und 192(192*256+0=49152=$ C000) . Mit den folgenden beiden POKEs wird nun der LOAD-Vektor verbogen:

POKE816,0: POKE817,192                  

Geben Sie nun den Befehl LOAD" NAME",8,1 ein, so wird die bezeichnete Datei automatisch mit der LoRePa-Routine geladen und entpackt. Bitte beachten Sie jedoch, daß die Routine jedes angegebene File zu entpacken versucht. Sie können nun also keine ungepackten Files mehr laden.
Hierzu müssten Sie den LOAD-Vektor mit den folgenden beiden POKEs wieder auf die normale Betriebssystems-Routine zurücksetzen:

POKE816,165: POKE817,244                

c) BENUTZUNG VON ASSEMBLER AUS In Assembler muss lediglich mit Hilfe der SETNAM-Routine des Betriebssystems der Name des zu ladenden Files gesetzt werden. Ein anschließender Sprung auf die LoRePa-Routine lädt das File dann:
LDA #04 ; Länge d. Filenamens LDX #<( NAME) ; Low-Byte Namensadresse LDY #>( NAME) ; High-Byte Namensadresse JSR $ FFBD ; SETNAM aufrufen JSR $ C000 ; LoRePa-Routine aufrufen . . .
Natürlich kann auch von Assembler aus die LOAD-Routine des Betriebssystems verwendet werden. Einfach mittels LDA und STA den Vektor bei $0330/$0331 verändern und dann wie gewohnt die LOAD-Routine bei $ FFD5 verweden.

                                    (ub)

Valid HTML 4.0 Transitional Valid CSS!