Tips & Tricks
Trotz der großen Zahl an Programmen, die
derzeit für den C64 auf dem Markt
erhältlich sind, nimmt die Schar derer, die sich für spezielle Probleme ihre
eigenen Programme schreiben, täglich zu.
Das ist gut so, denn schließlich soll es
ja auch in ein paar Jahrzehnten noch
Menschen geben, die programmieren und
nicht nur vorgekaute Programme verarbeiten können.
Die Programmierarbeit wird oftmals durch
kleine Tricks, die nicht unbedingt in
jedem Handbuch zu finden sind erheblich
erleichtert.
Solche Programmierkniffe wird Ihnen das
Magic team in jeder Ausgabe an dieser
Stelle präsentieren. Zusammen mit den
kleinen Hilfsprogrammen, die Sie auf jeder Magic disk unter der Rubrik " UTILI-TIES" finden, können Sie sich so mit der
Zeit eine Bibliothek an Utilities und
Tricks erstellen, durch die das programmieren auf Ihrem C64 noch mehr Freude macht.
In dieser ersten Folge beschäftigen wir
uns mit dem Programmschutz und einer
Deluxe-Cursordarstellung, wie sie sonst
nur bei den PC' s zu finden ist.
Sicher kennen Sie das folgende Problem:
Sie haben ein Programm geschrieben, bei
dem es Ihnen nicht von Vorteil erscheint, daß andere Personen es abbrechen, listen, verändern ( z. B. durch eine
falsche Urhebererklärung) etc.
Ein laufendes Basicprogramm kann man
normalerweise durch die Taste " RUN/ STOP" unterbrechen. Diese Möglichkeit kann
jeodch durch folgenden Befehl unterbunden werden:
POKE 788,52
Er bewirkt, daß das Betriebssystem die
Routine, die die Stoptaste abfragt, nicht mehr anspringt. Probieren Sie es
aus:
FOR I = 1 TO 100 : PRINT I : NEXT I
Diese Zeile, im Direktmodus eingegeben, druckt die Zahlen 1 bis 100 aus. Versuchen Sie nun, die durchlaufende Zahlenreihe mit der STOP-Taste anzuhalten, so
werden sie feststellen, daß ein Druck
auf dieselbe nicht mehr fruchtet. Geben
sie diese Zeile als Programm ein und
starten es mit RUN, so kann auch dieses
nicht mehr unterbrochen werden.
Eine Unterbrechung erreicht man jedoch
immer noch durch die Tastenkombination
RUN/ STOP + RESTORE. Um auch diese Möglichkeit außer Kraft zu setzen, geben
sie nur:
POKE 808,225
ein. Probieren Sie wieder die Wirkung am
Beispiel der FOR . . . NEXT Schleife.
Ein noch raffinierterer Trick besteht im
Ausschalten des LIST-Befehls. Geben Sie
einmal folgenden Befehl ein:
POKE 775,199
Jetzt versuchen Sie bitte, sich ein im
Speicher vorhandenes Basicprogramm durch
LIST anzusehen . . . überrascht?
Durch RUN läßt sich Ihr Programm natürlich noch ganz normal starten, als sei
nichts passiert.
Nun zur versprochenen Cursordarstellung
a la PC. Wenn Sie das Inhaltsverzeichnis
der Magic disk 64 anschauen, so finden
Sie dort das Programm " STRICHCURSOR" .
Das kurze Basicprogramm verändert den
Zeichensatz Ihres C64 . Reverse Zeichen
werden nach dem Durchlaufen dieses Programms nicht mehr als reverse Zeichen, sondern als normale Zeichen mit einem
Unterstrich dargestellt. Da normalerweise das Zeichen an der Cursorposition ständig invertiert wird, erscheint stattdessen nun ein blinkender
Unterstrich.
Das Programm kopiert den Zeichensatz aus
dem Festspeicher ( ROM) Ihres Computers
in den Schreib-Lesespeicher ( RAM) . Dies
erkennen Sie am Aufbau des Zeichensatzes, welcher zum Zweck der besseren
Erkennbarkeit dieses Vorgangs ab der
linken oberen Ecke des Bildschirms komplett dargestellt wird. Man kann so gut
beobachten, wie die Zeichen aufgebaut
werden. Das ganze geschieht zweimal, da
es ja im C64 zwei Zeichensätze gibt: Den
für die Blockgrafikzeichen und den für
die Kleinschrift.
Am Schluß werden die Zeichen, die normalerweise revers dargestellt werden, unterstrichen. Das Programm läuft ca.2 Minuten, bis alle Zeichen kopiert sind.
Danach ist der Anfang des durch Basic
programmierbaren Speichers auf 12288 erhöht, damit der Zeichensatz nicht
durch ein Programm überschrieben werden
kann, und der Speicher ist gelöscht. Für
eigene Programme stehen Ihnen nun noch
ca.28 kByte Speicherplatz zur Verfügung, was wohl in den meisten Fällen
ausreichen dürfte.