Magic Disk 64

home to index to text: MD8712-UTILITIES-5.1.txt
           U T I L I T I E S            

Neben Spielen finden Sie auf der Magic disk 64 auch sinnvolle Anwendungen, mit denen Sie mehr aus Ihrem C64 machen können. Diese Utilities wollen wir Ihnen nun beschreiben, damit Sie sie problemlos bedienen können. Wenn Sie eine bestimmte Beschreibung suchen, so entnehmen Sie die entsprechende Seitenzahl bitte der folgenden Liste:

Interupt Module 1.0..................02 
Protector............................08 
Packer...............................10 
Sprite Editor........................17 
Picture Starter......................18 
          Interupt Module 1.0           

Beim Interupt Module 1 .0 handelt es sich um eine Basicerweitung, die mit LOAD " INTERUPT MODULE",8,1 geladen und mit SYS 64738 oder dem Drücken eines Resettasters gestartet wird.
Wenn das geschehen ist, so meldet sich die Erweiterung mit ihrer Einschaltmeldung und einem hellgrauen Bildschirmhintergrund, der auch durch RUN/ STOP-RESTORE nicht geändert wird.
Das alte Commodore Basic funktioniert auch weiterhin, es sind jedoch einige Befehle hinzugekommen, die sich zur Sicherung von Programmen als sehr nützlich erweisen und oft unerwartete Effekte erzeugen.

Die neuen Befehle sind:

 ON RESET GOTO x   ON RUNSTOP GOTO x    
 ON NMI GOTO x     ON LIST GOTO x       
 ON BRK GOTO x     ON ERR GOTO x        

Ganz neu ist die Form dieser Befehle sicher nicht, denn ON a GOTO x gab es bisher ja auch schon. Neu ist aber, daß die Befehle nur einmal am Anfang des Basicprogramms stehen müssen und trotzdem erst dann ausgeführt werden, wenn das entsprechende Ereignis eintritt. Zum Beispiel. . .

ON RESET GOTO:                          

Nachdem dieser Befehl durchlaufen wurde, ist der Resettaster ' umprogrammiert' .
Wenn von jetzt ab Reset gedrückt wird, um Ihr Programm zu unterbrechen, so wird statt dessen die Zeile angesprungen, die nach dem GOTO festgelegt wurde.
ON NMI GOTO:
Der Effekt ist der gleiche wie bei Reset, nur daß hier die entsprechende Zeile durchlaufen wird, wenn man die Restoretaste drückt. NMI heißt es nur deswegen, weil die Restoretaste an die NMI-Leitung des C64 angeschlossen ist.

ON BRK GOTO:
Wenn Sie schon einmal SYS2048 eingetippt haben, dann wissen sie sicherlich, daß das zu einer Reaktion des Computers führt, die RUN/ STOP-RESTORE gleichkommt.
Gelegentlich wird dieser Effekt, der immer auftritt, wenn ein Maschinenprogramm auf ein Byte mit dem Inhalt 00 stößt, dazu benutzt, um in die Listings von Programmen zu kommen. Mit diesem Befehl können Sie Ihr Progamm davor schützen, indem Sie mit dem GOTO eine Stelle in Ihrem Programm bestimmen, zu der der Computer springt, wenn er normalerweise einen solchen ' Break'(- daher der Name BRK) durchführen würde.

ON RUNSTOP GOTO:                        

Der Sinn ist sicher jedem klar: Wer das Drücken der Run/ Stop-Taste verhindern will, der POKEt 808,225 . Jetzt gibt es aber zusätzlich noch die Möglichkeit, auf den Versuch, Ihr Programm zu unterbrechen, mit einer eingebauten Routine Ihrer Wahl zu reagieren.
ON LIST GOTO:
Sinnvoll können alle Schützereien natürlich nur dann sein, wenn man das Programm nicht mehr auflisten kann. Dafür ist dieser Befehl. Anstatt zu LISTen wird die festgelegte Programmzeile angesprungen.

ON ERR GOTO:
Einige mögen diesen Befehl schon kennen.
Wenn ein Fehler im Programm auftritt, so wird das Programm nicht mehr abgebrochen, sondern es wird eine Unterroutine durchlaufen, die im Programm enthalten ist.
Lange und breite Erklärungen sind für diese Befehle wohl nicht nötig. Auf der Diskette befindet sich aber ein Beispielprogramm, welches die einzelnen Effekte gut demonstriert. Bitte beachten Sie aber, daß die Erweiterung nach einmaligem Starten des Beispielprogramms aktiv wird und ein Auflisten oder Ähnliches nicht mehr möglich ist.

               Protector                

Mit dem Interupt Module 1 .0 haben wir ja schon eine gute Möglichkeit vorgestellt, Basicprogramme vor fremdem Zugriff zu schützen. Hier nun eine weitere:
Der Protector wird mit LOAD " PROTEC-TOR",8,1 geladen. Nach NEW sollte das zu schützende Basicprogramm geladen werden.
Dann startet man den Protector mit SYS 49152 . Es erscheint eine Anzeige auf dem Bildschirm, auf der Sie erkennen können, welche Zeile des Programms gerade geschützt wird. Wenn Sie nur einen Teil Ihres Programms schützen wollen, so drücken Sie vor der entsprechenden Zeile RUN/ STOP. Ansonsten halten Sie eine beliebige Taste solange gedrückt, bis das ganze Programm geschützt ist. Ein Auf-

listen ergibt zwar die Darstellung der Zeilennummern, die Zeilen selbst aber sind verschwunden und lassen sich nicht mehr zurückholen. Später eingefügte Zeilen bleiben sichtbar und lassen sich bei Bedarf nochmal mitschützen.
Eine Sicherheitskopie des Basicprogramms sollten Sie sich natürlich vorher schon machen.

            Packer/Depacker             

Ein weiteres Utility ist in diesem Monat ein sog." PACKER" bzw." DEPACKER" . Was kann man aber mit diesem Programm anfangen?
Kurz gesagt: Man kann damit einige Programme erheblich verkürzen, was sich darin äußert, daß diese " gepackten" Programme weniger kostbaren Speicherplatz auf der Diskette benötigen.
Gepackt werden können alle Basicund Maschinenprogramme, die nicht aus mehreren Teilen bestehen, beim normalen Basicanfang (=2049,=$0801) beginnen und nicht mit einem Autostart arbeiten.

Kurz gesagt, alle Programme, die sich nach dem Einschalten des C64 mit LOAD" NAME",8 und RUN starten lassen.
Wie kann man nun ein Programm packen?
Nun, zunächst schalten Sie bitte Ihren C64 aus und wieder an, damit dessen Arbeitsspeicher gelöscht wird. Laden Sie dann das Packer/ Depackerprogramm mit:

LOAD"PACKER/DEPACKER",8,1               

Erscheint die Meldung READY auf dem Bildschirm, so geben sie bitte NEW ein und drücken RETURN. Das Packer/ Depackerpaket ist jetzt installiert.

Jetzt schieben Sie die Diskette in das Laufwerk, die das Programm enthält, das Sie packen möchten, und laden das Programm wie gewohnt:

LOAD"PROGRAMMNAME",8                    

Nach READY geben Sie jedoch nicht RUN ein, denn das Programm soll ja jetzt nicht starten, sondern gepackt werden.
Stattdessen starten Sie den Packer mit:
SYS 50000 . . . worauf sich der Packer melden müßte und von Ihnen den Namen des gepackten Programms verlangt. Das ist der Name,

unter dem das gepackte Programm auf Diskette abgespeichert wird. Schieben Sie also jetzt erst eine Diskette, die noch genügend Speicherplatz enthält und ohne Schreibschutz ist, in Ihr Laufwerk.
Danach geben Sie bitte den gewünschten Namen ein ( maximal 16 Zeichen) und drücken RETURN.
Hinweis: Es hat sich als praktisch erwiesen, das gepackte Programm mit einem ähnlichen Namen wie das Originalprogramm zu bezeichnen. Beispielsweise mit dem Originalnamen, dem die Zeichen " P/" vorangestellt werden.

Haben Sie den Namen eingegeben, beginnt das Programm mit dem Packen. Auf dem Bildschirm stehen drei Hexadezimalzahlen. Die linke ($0801) bezeichnet den Programmstart ( entspricht 2049), die rechte Zahl dementsprechend das Programmende. Die Mittlere schließlich zeigt dem Programmierer, an welcher Stelle im Speicher der Packer gerade packt. Hat diese Zahl die rechte Grenze erreicht, so ist Ihr Programm fertig gepackt und der Computer meldet sich mit READY.

Wenn sie noch weitere Programme packen möchten, so verfahren Sie wie oben beschrieben. Das Programm " PACKER/ DEPAK-KER" müssen Sie nun nicht nochmal laden.
Wenn Sie nun einen Blick auf das Inhaltsverzeichnis der Diskette werfen, so können Sie feststellen, ob das gepackte Programm kürzer ist als das Original.
Ist das der Fall, so hat sich das Packen gelohnt.
Das " Entpacken" funktioniert ähnlich.
Geben Sie dazu ' SYS 51000' ein, worauf sich der Depacker meldet und den Namen des gepackten Programms verlangt. Dieses wird dann von der Diskette gelesen, ent-

packt und im Speicher des C64 abgelegt.
Sie können es nach READY ganz normal mit RUN starten.
Zum Packen eignen sich am besten Spiele, die auf einem relativ großen Spielfeld aufbauen. Das legendäre Spiel " FORT APOCALYPSE" ist so ein Programm. Es braucht in der Originalversion 157 Blocks auf der Diskette. In gepackter Version sind es nur noch 90 !

           Sprite Generator             

Mit diesem wohl einmaligen Programm können Sie im Speicher befindliche Sprites verändern und aufstöbern. Natürlich können Sie auch eigene Sprites erstellen. Vor allem die vielen komfortablen Funktionen wie invertieren, kopieren, spiegeln, scrollen, mischen und überlagern machen das Programm zum unentbehrlichen Werkzeug eines jeden Programmierers. Weitere Beschreibungen zu Sprite Generator sind nicht nötig, da sich das Programm selbst erklärt.

            Picture-Starter             

Fast alle Spiele, die es zu kaufen gibt, sind mit einem Autostarter ausgestattet, d. h. Sie müssen nicht das lästige RUN eingeben, um das Programm zu starten.
Das übernimmt der Computer für Sie.
Mit dem Picture-Starter können Sie nun endlich auch Ihre Basicprogramme mit einem derartigen Startsystem versehen.
Und was noch besser ist: Sie können sogar noch eine ganze Bildschirmseite ausgeben. Auf dieser Bildschirmseite können dann Aufforderungen wie ' PLEASE WAIT' oder ' BITTE WARTEN' stehen.

           U T I L I T I E S            

Ein weiteres kleines Utility diesen Monat ist eine Routine für alle, die auf ihrem C128 vorwiegend im C64- Modus programmieren. Dabei ist es nämlich lästig, daß der extra Zahlenblock rechts von der normalen Tastatur im C64- Modus nicht zu verwenden ist. Das Utility " ZEHNERBLOCK" schafft da Abhilfe. Es wird mit:
LOAD" ZEHNERBLOCK",8,1 geladen. Danach geben Sie bitte NEW ein und aktivieren die Zehnertastatur mit:
SYS 53100 .
Sie können jetzt alle Tasten des Zehnerblocks ( mit Ausnahme des Dezimalpunktes) sowie die Cursortasten oben verwenden.
Ausgeschaltet wird die Zehnertastatur mit RUNSTOP + RESTORE.

Valid HTML 4.0 Transitional Valid CSS!