TIPS & TRICKS ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Dieses Mal wollen wir einen Trick vorstellen, der früher sehr beliebt war, als es noch keinen C64 gab, sondern nur die 30xx und 40xx Serie von COMMODORE. Ja, und den PET 2001 natürlich. Heute ist der Trick leider in Vergessen- heit geraten. Es handelt sich dabei um eine weitere Möglichkeit, ein Basic- programm vor dem Auflisten zu schützen. Das Prinzip ist jedoch gar nicht so schwer. Wer Ihr Programm auflistet, bekommt einen von Ihnen erstellten Text zu Gesicht, das eigentliche Programm ist jedoch nicht da. RUN funktioniert natür- lich immer noch.
Der Trick ist ein CHR$(13) innerhalb von Anführungsstrichen. Erreichen läßt sich dieser durch einfaches Drücken von zweimal Anführungsstrichen, dann einmal zurück, also DEL, dann Reverse On, SHIFT+M, Reverse wieder Off. Es er- scheint ein invertierter Schrägstrich von links oben im Zeichen nach rechts unten oder in Kleinschrift entsprechend ein großes M. Sie sollten vorher jedoch erst einmal Ihre erste Zeilennummer und dann REM schreiben. Alles, was Sie nun danach schreiben, wird nun bei LIST in der nächsten Zeile ausgegeben, auch Farben, Reverse etc. Um in den Gänsefüßchenmodus zurück-
zukommen, können Sie entweder vor jedem Steuerzeichen, das Sie schreiben wollen, also Farbcodes zum Beispiel, einmal SHIFT+DEL drücken, oder Anfüh- rungsstriche setzen und wieder mit DEL löschen. Bitte beachten Sie, daß Sie die Zeile, die Sie nun schreiben, nie mehr so sehen werden, wie Sie sie schreiben. Das reverse M wird nämlich nicht mit aufgelistet und Sie müssen so die Zeile immer nochmal ganz neu eingeben, wenn Sie ihnen nach einem Probelisten nicht gefällt. Also lieber erst überlegen, was man schreibt. Wenn Sie sich nun für einen intelligenten Text entschieden haben,
schreiben Sie diesen und machen LIST. Siehe da, Ihr Text steht nicht mehr nach dem REM, sondern in der nächsten Zeile. Wenn Sie nun nach nochmaliger Eingabe von Zeilennummer, REM, Gänsefüßchen und dem reverse SHIFT+M eine Cursorbewegung nach oben eingeben, also reverse SHIFT+Q oder einfach SHIFT+CRSR hoch, dann snd Sie dort, wo schon die Zeilennummer steht. Dort können Sie jetzt Ihren Text platzieren. Wenn Ihnen gar nichts anderes einfällt, dann können Sie dort ja auch ein Loblied auf Magic Disk 64 hinschreiben, aber ich vermute, daß Ihnen auch andere Dinge einfallen werden, z.B. wie toll Sie selbst sind,
oder daß das Programm von Ihnen ist oder oder oder... Aber bis jetzt ist immer noch das Basic- programm zu sehen. Das werden wir als nächstes ändern. Voraussetzung hierzu ist allerdings, daß Sie einen Maschinen- sprachemonitor bedienen können. Dieser sollte jetzt irgendwo im Speicher auf Ihre Befehle warten. Zunächst schreiben Sie mal vor der Zeile mit dem offiziellen Text eine Zeile, die so aussehen könnte:
0 POKE43,xxx:POKE44,xxx:RUN
Es ist darauf zu achten, daß der Text aus der zweiten Programmzeile die erste Zeile mit verschwinden läßt. Sie müssen also mindestens zweimal Cursor nach oben eingeben. Hinter die Zeile mit dem Text schreiben Sie dann noch eine wie diese:
20 AAAAAAAAAAAA
Zugegeben eine etwas schwachsinnige Zeile, aber wir ändern das noch. Ihr restliches, zu schützendes Programm steht erst ab Zeile 21! Nun werfen Sie bitte Ihren Maschinensprachemonitor an. Es darf auch MAGIC MON verwendet werden!
Listen Sie mit dem Befehl M 0800,08A0 den Anfang Ihres Programms auf. Je nach dem, wie lang Ihr Anfangstext ist, müssen Sie unter Umständen etwas weiter listen, also vielleicht bis 0900 statt bis 08A0. Irgendwann werden Sie Ihre Zeile an den vielen AAAAAAAAAs wiedererkennen. Dann drücken Sie RUN/STOP. Nun sehen Sie bitte nach, wo die nächste Zeile, also die erste Ihres Programms, losgeht. Das ist bekanntlich nach dem nächsten Byte mit dem Wert 00 der Fall, das nach den AAAAAAAAAAs kommt. Diese Adresse schreiben Sie entweder auf oder merken sie sich. Auch vor der Zeile mit den AAAAAAAAs muß
ein Byte mit dem Wert 00 existieren. In die zwei Bytes nach dieser Null schreiben Sie bitte auch 00. Nun verlassen Sie den Monitor wieder mit X. Die Zahl, die Sie herausbekommen ha- ben, also die Adresse, an der die insge- sammt vierte Zeile Ihres Programms los- geht, teilen Sie nun in ihre linke und rechte Hälfte. Dann rechnen Sie beide Hälften seperat in das Dezimalsystem um. Jetzt listen Sie wieder die erste Zeile des Programms. An die Stelle, wo XXX steht, schreiben Sie erst die umgerechnete rechte und dann die linke Hälfte der Adresse von vorhin, also etwa so:
POKE43,rechte Zahl:POKE44,linke Zahl
Bitte beachten Sie, daß Sie die Programmlänge um kein Byte mehr ändern dürfen. Geben Sie also, wenn die linke Zahl 8 war, hinter POKE44, nicht einfach 8 sondern 008 ein. Alles klar? Nein, dann lesen Sie es sich noch einmal durch! Wenn Sie jetzt LIST eingeben, so sollte der Text Ihrer Wahl auf dem Bildschirm erscheinen und dabei die erste Zeile mit den POKEs überdecken, so daß sie nicht mehr zu sehen sind. Von dem eigentlichen Programm dürfte auch nichts mehr zu sehen sein. SAVEn Sie das Programm aber auf jeden
Fall noch einmal ab, bevor Sie RUN eingeben. Im eigentlichen Programm sollte dann natürlich noch POKE808,225 stehen, um es vor RUN/STOP zu schützen. Sollten Sie jetzt wider Erwarten immer noch keine Ahnung haben, wie es aussehen soll, dann sehen Sie sich bitte das Programm 'LISTSCHUTZ' auf der Rückseite der Diskette an. Es wurde so erstellt, wie wir es hier beschrieben haben.