Magic Disk 64

home to index to html: MD8712-UTILITIES-5.1.html
           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ön-
nen. Diese Utilities  wollen  wir  Ihnen
nun beschreiben, damit Sie sie  problem-
los bedienen können. Wenn Sie  eine  be-
stimmte Beschreibung suchen, so  entneh-
men  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  Reset-
tasters gestartet wird.                 
Wenn das geschehen ist, so  meldet  sich
die  Erweiterung  mit  ihrer  Einschalt-
meldung und einem hellgrauen Bildschirm-
hintergrund, 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ütz-
lich erweisen und oft unerwartete Effek-
te 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 Ba-
sicprogramms 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   Maschinen-
programm auf ein Byte mit dem Inhalt  00
stößt, dazu benutzt, um in die  Listings
von Programmen zu kommen. Mit diesem Be-
fehl können Sie Ihr Progamm davor schüt-
zen, 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  unter-
brechen, mit einer  eingebauten  Routine
Ihrer Wahl zu reagieren.                
ON LIST GOTO:                           
Sinnvoll können alle Schützereien natür-
lich nur dann sein, wenn  man  das  Pro-
gramm nicht mehr auflisten  kann.  Dafür
ist dieser  Befehl.  Anstatt  zu  LISTen
wird die festgelegte Programmzeile ange-
sprungen.                               
ON ERR GOTO:                            
Einige mögen diesen Befehl schon kennen.
Wenn ein Fehler im Programm auftritt, so
wird das Programm  nicht  mehr  abgebro-
chen, 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  Bei-
spielprogramm,  welches  die   einzelnen
Effekte gut demonstriert. Bitte beachten
Sie aber, daß die Erweiterung nach  ein-
maligem  Starten  des  Beispielprogramms
aktiv wird und ein Auflisten  oder  Ähn-
liches 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  ge-
schü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  be-
liebige 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 Zei-
len 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 anfan-
gen?                                    
Kurz  gesagt:  Man  kann  damit   einige
Programme erheblich verkürzen, was  sich
darin äußert, daß diese "gepackten" Pro-
gramme weniger  kostbaren  Speicherplatz
auf der Diskette benötigen.             
Gepackt werden können  alle  Basic-  und
Maschinenprogramme, die nicht aus mehre-
ren Teilen bestehen, beim  normalen  Ba-
sicanfang (=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  Ar-
beitsspeicher 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/Depacker-
paket ist jetzt installiert.            
Jetzt schieben Sie die Diskette  in  das
Laufwerk, die das Programm enthält,  das
Sie packen möchten, und laden  das  Pro-
gramm 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  er-
wiesen, das gepackte Programm mit  einem
ähnlichen Namen wie das Originalprogramm
zu bezeichnen.  Beispielsweise  mit  dem
Originalnamen, dem die Zeichen "P/" vor-
angestellt werden.                      
Haben Sie den Namen eingegeben,  beginnt
das Programm mit  dem  Packen.  Auf  dem
Bildschirm stehen  drei  Hexadezimalzah-
len. Die linke  ($0801)  bezeichnet  den
Programmstart  (entspricht  2049),   die
rechte  Zahl  dementsprechend  das  Pro-
grammende.  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 ge-
packt und der Computer meldet  sich  mit
READY.                                  
Wenn sie noch weitere  Programme  packen
möchten, so verfahren Sie wie  oben  be-
schrieben. Das  Programm  "PACKER/DEPAK-
KER" müssen Sie nun nicht nochmal laden.
Wenn Sie nun einen  Blick  auf  das  In-
haltsverzeichnis 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 Spri-
tes verändern und aufstöbern.  Natürlich
können Sie auch eigene  Sprites  erstel-
len. Vor allem die  vielen  komfortablen
Funktionen  wie  invertieren,  kopieren,
spiegeln, scrollen, mischen und  überla-
gern machen das Programm zum  unentbehr-
lichen Werkzeug eines jeden  Programmie-
rers. 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  so-
gar noch eine ganze Bildschirmseite aus-
geben. 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  Mo-
nat ist eine Routine für alle,  die  auf
ihrem C128 vorwiegend im C64-Modus  pro-
grammieren. 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 Zehner-
blocks (mit Ausnahme des Dezimalpunktes)
sowie die Cursortasten oben verwenden.  
Ausgeschaltet  wird  die  Zehnertastatur
mit RUNSTOP + RESTORE.                  
Valid HTML 4.0 Transitional Valid CSS!