Char-Scanner ‾‾‾‾‾‾‾‾‾‾‾‾
In dieser Ausgabe widmen wir uns voll und ganz den vielfältigen Möglichkeiten, die uns der Zeichensatz bietet. Der Char-Scanner ist ein besonders nützliches Utensil, mit dem Sie professionelle Zeichensätze aus noch professionelleren Programmen, Spielen ... über- nehmen (man könnte auch "klauen" sagen) können. Um diese "Entführung" auszuführen, gilt es, das Pro- gramm unter einem falschen Vorwand in den Computer zu laden, und sobald der Zeichensatz "an's Licht kommt", brutal auf RESET zu drücken. Daraufhin ist der "Vollstrecker", Mr. Char-Scanner, in den Rechner zu befördern und mit SYS 4096 (wichtig!) in Aktion treten zu lassen. Mit dem Zielsucher durchforstet der User (das sind Sie!) nun den gesamten Speicher des C64, und zwar von $0000-$FFFF. Dies geschieht durch Druck auf F1 (=vorwärts) bzw. F3 (=rückwärts). Ist der gesuchte Zeichensatz in seinem Versteck aus- findig gemacht, so entreißt Mr. Char-Scanner dem Pro- gramm den Zeichensatz (geschieht durch Druck auf F7) und entführt ihn auf eine "unbekannte" Diskette (ge- ben Sie einen Filenamen und legen Sie die gewünschte Diskette in Ihr Laufwerk ein). Nach dem Speichervor- gang versetzt das Programm Ihren C 64 in den Ein- schaltzustand zurück. Die abgelegten Zeichensätze liegen von $3000-$3800 im Speicher und können daher mit den meisten Zeichensatz - editoren weiterverarbeitet werden (natürlich befinde tsich auf dieser Diskette ein solcher!). Dieses Programm ist absichtlich möglichst kurz gehal -ten worden, da sonst bereits ein Zeichensatz hätt ezerstört werden können. Auch der Programmstart de sChar-Scanners wurde extra nach $1000 verlegt, da sic hdort durch die Zeichensatzspiegelungen des VIC-Chi pkeine Zeichensätze befinden können.
Pegasus Zeicheneditor V1.6 ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
"Zeichensatz; Klappe, die Zweite ...!". Nachdem Sie mit dem "Char-Scanner" einen Zeichensatz "gekidnappt" haben, bietet sich Ihnen mit dem "Pegasus Zeichenedi- tor V1.6" die Möglichkeit, diesen noch individuell zu verändern. Natürlich können Sie auch Ihren ganz per- sönlichen Zeichensatz erstellen, ohne "auf die schie- fe Bahn" zu geraten ... Der Pegasus Zeicheneditor V1.6 (langweilt auf die Dauer, nicht? Wir verwenden der Einfachheit halber in Zukunft die professionelle Abkürzung "PVC" ...) be- steht aus vier Teilprogrammen, die durch Druck auf >F1<, >F3<, >F5< und >F7< erreicht werden können. Diese Teilprogramme tragen entsprechend ihrer Funk- tion die Namen >Zeicheneditor<, >Buffereditor<, >Satzeditor< und einfach >DOS<. Bis auf das Teil- programm >DOS<, das einen eigenen Bildschirmaufbau besitzt, sind alle Teile auf einer Bildschirmseite zu finden. Ein aktivierter Teil wird durch die Hell- graufärbung des Rahmens in dessen Bereich markiert.
a) DER ZEICHENSATZEDITOR ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Der Zeicheneditor ermöglicht es, ein einzelnes Zei- chen zu verändern. Hier erfolgt auch die Festlegung des Zeichenmodus (Normal- oder Multicolorzeichen) und der Farben:
<CRSR-Tasten> Bewegen des Cursors im Editorfeld. <HOME> Setzen des Cursors auf die "HOME"-Position. (oben links!) <CLR> Löschen des Editorfeldes. <1>, <2>, <3> u. <H> Festlegen der Farbe (1-3) bzw. der Hintergrundfarbe (>H<) als Punktfarbe. Die angewählte Farbe wird nun durch einen blinkenden Rah- men markiert. <X>, <Y> Spiegeln des laufenden Zei- chens an der X- bzw. der Y-Achse. <D>, <SHIFT D> Drehen des laufenden Zei- chens in mathematisch po- sitiver bzw. mathematisch negativer Richtung. Ist der Multi-Color-Modus akti- viert, so ist dieser Befehl unwirksam. <I> Invertieren des laufenden Zeichens. <ü>, <:>, <;> u. </> Diese Tastenbelegung dient zum Anwählen eines Zeichens und bewegt den Satzcursor in die entsprechende Rich- tung. <M> Umschalten zwischen Normal- und Multi-Color-Modus. <,>, <.> Erniedrigen bzw. Erhöhen der laufenden Farbe um eine Stelle. Im Multi-Color- - Modus sind für Farbe 1 nur Werte von 0 bis 7 möglich. <SPACE> Setzen eines Punktes in der laufenden Farbe. <SHIFT/SPACE> Löschen eines Punktes, indem der Punkt die Farbe des Hintergrundes annimmt. <RETURN> Invertieren eines Punktes; ein gesetzter Punkt wird gelöscht und umgekehrt. <CTRL A> (De-)Aktivieren des Auto- Modus (AF); ist dieser an- geschaltet, so bewegt sich der Cursor, nachdem ein Punkt gesetzt, gelöscht od. invertiert wurde, in die Richtung, in die der Cursor zuletzt bewegt wurde. <=> Kopieren eines Zeichens an die laufende Zeichenposi- tion; das zu kopierende Zeichen läßt sich mit den Cursortasten und HOME an- wählen, RETURN kopiert das Zeichen und RUN/STOP bricht diese Funktion ab. <U> Verknüpfen des aktuellen Zeichens mit einem anderen durch Bitweises AND; das Anwählen erfolgt wie bei <=>. Ein gesetzter Punkt bleibt in dem laufenden Zeichen nur dann gesetzt, wenn er auch in dem zweiten Zeichen gesetzt ist. Im Multi-Colour-Modus führt diese Funktion zu Farbver- fälschungen und sollte des- halb nicht (!) benutzt wer- den. <O> "ODERt" das aktuelle Zei- chen mit einem anderen. Ein Punkt wird gesetzt, wenn er in einem der beiden Zeichen gesetzt ist; ansonsten gilt das für <U> gesagte ... <E> Verknüpfen mittels EXKLU- SIV-ODER. Ein Punkt wird gesetzt, wenn er entweder in dem ersten oder in dem zweiten Zeichen gesetzt ist; ansonsten wird dieser gelöscht. Auch hier erfolgt die Steuerung wie bei <=>. <↑>, <SHIFT ↑> Rotieren des laufenden Zei- chens um eine Zeile nach oben bzw. nach unten. << >, <SHIFT < > Rotieren des laufenden Zei- chens um eine Spalte nach links bzw. rechts. <CTRL +/-> Rotieren der laufenden Zei- le im Zeichen nach links bzw. nach rechts. <+/-> Erhöhen bzw. Erniedrigen der Startadresse für das Speichern des Zeichensatzes um $0800.
b) DER BUFFEREDITOR ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Der Buffereditor dient vor allem dazu, den neuen Zei- chensatz zu testen. Er ist auch eine wertvolle Hilfe bei Zeichensätzen, die sich aus mehreren Zeichen zu- sammensetzen. Im Grunde kann man ihn als einen Mini- Bildschirm-Editor bezeichnen. Alle eingegebenen Zei- chen werden im Buffereditorbereich ausgegeben. Sonderfunktionen haben folgende Tasten:
<CRSR> Bewegen des Cursors. <RETURN> Setzen des Cursors in die nächste Zeile. <HOME> Setzen des Buffercursors in die Homeposition (immer noch links-oben!) <CLR> Löschen des Buffers mit einem frei wählbaren Zei- chen; dieses Zeichen läßt sich mit den Cursortasten auswählen. STOP bricht die- se Funktion ab, RETURN be- endet die Eingabe. <INST> Einfügen eines Leerzeichens an der laufenden Position. <DEL> Löschen des unter-dem-Cur- sor-befindlichen Zeichens.
<RVS ON/OFF> Entspricht dem Basic-Editor
<CTRL +> Erniedrigen des Bildschirm- codes (BSC) des Zeichens unter dem Cursor um eins. <CTRL -> Erhöhen des BSC des laufen- den Zeichens um eins.
c) DER SATZEDITOR ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Der Satzeditor ermöglicht es, mehrere Zeichen zu ko- pieren, gegeneinander auszutauschen oder zu löschen.
<CRSR> Bewegen des Satzcursors. <INST/DEL> Einfügen eines Leerzeichens bzw. Löschen des Zeichens unter dem Cursor. <HOME> Setzen des Satzcursors auf Zeichen #0. <CLR> Löschen des Zeichensatzes nach einer Sicherheitsab- frage. <SHIFT 1> Kopieren des Orginalzei- chensatzes Groß/Graphik in den Editor; ein bereits er- stellter Zeichensatz geht verloren. <SHIFT 2> Kopieren des Klein/Groß- Zeichensatzes in den Editor <I> Kopieren der Zeichen 0 bis 127 nach 128 bis 255; die Zeichen werden außerdem gleich invertiert. <K> Kopieren von Zeichen; die Auswahl erfolgt wie bei CRL im Buffereditor. <V> Vertauschen von Zeichen; Steuerung wie bei <K>. <L> Löschen eines Zeichens. <SHIFT/SPACE> An- bzw. Ausschalten des Kopierflag (KF); ist KF an- geschaltet, so wird beim Bewegen des Cursors im Satzeditor das aktuelle Zeichen an die Position des Buffercursors kopiert. <ü>, <:>, <;> u. </> Bewegen des Buffercursors i n die entsprechende Richtung .
d) Das DOS-Menü ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Im Grunde genommen ist dieser Programmteil selbster- klärend, denn es wird auf dem Bildschirm ein über- sichtliches Menü dargestellt. Wie üblich erreicht man die anderen Teilprogramme durch Druck auf die Funk- tionstasten. Hinzu kommt allerdings die Taste <F8>, durch die man den Zeichensatzeditor verlassen kann.
<L> Laden eines Zeichensatzes von Diskette. Die Filenameneingabe kann durch RUN/STOP oder Leerein- gabe (einfach RETURN) abgebrochen werden. <S> Speichern des aktuellen Zeichen- satzes. Die Eingabe des Namens er- folgt wie bei <L>. Der Zeichensatz wird als PRG-File mit der Start- adresse abgespeichert, die im Zei- cheneditor unter "START" steht.
<P> Speichern eines Zeichensatzpro- grammes (siehe Erläuterungen).
<D> Ausgeben der Directory; die Aus- gabe läßt sich mit <SPACE> unter- und mit <RUN/STOP> abbrechen. <B> Senden von DOS-Befehlen an das ak- tuelle Laufwerk; wird bei der Ein- gabe nur <RETURN> gedrückt, so er- folgt die Ausgabe der Fehlerkanal- meldung. << > Diese Taste dient dazu, zwischen eventuell vorhandenen Laufwerken umzuschalten. Dieser Programmteil erkennt selbstständig, ob und unter welcher Gerätenummer ein Diskettenlaufwerk ansprechbar ist. <F8> Beenden des Zeichensatzeditors => Es erfolgt ein Rücksprung in den Basiceditor, aber der Zeichensatz- editor kann durch Eingabe von "RUN" wieder gestartet werden (der bereits erstellte Zeichensatz geht dabei nicht verloren!).
e) Ergänzende Erläuterungen ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Das Speichern eines Zeichensatzprogramms (Punkt <P> im DOS-Menü) ist speziell für den "reinen" Anwender sehr nützlich, der einen Zeichensatz unter Basic be- nutzen möchte. Das erzeugte File wird dazu absolut geladen (LOAD "NAME",8,1) und mit "SYS 49152" ge- startet. Sie haben jetzt aber trotzdem noch die Mög- lichkeit, durch Druck auf <COMMODORE/SHIFT> zwischen dem Neuen und dem Original-Zeichensatz hin- und her- zuschalten. Die Installation des neuen Zeichensatzes hat jedoch zur Folge, daß der Bildschirm in einen an- deren Speicherbereich verschoben wird. Er beginnt nun an der Adresse $CC00 (=52224). Die Zeiger der Sprites liegen bei 53240 bis 53247. Für Sprites uneinge- schränkt benutzbar ist der Speicherbereich von $C900 bis $CBFF (51456-52223); dies sind die Blöcke 36-47. Das Zeichensatzprogramm besitzt außerdem Routinen, die dafür sorgen, daß ein Zeichensatz nach einem NMI (Non Maskable Interupt, durch RUN/STOP + RESTORE) und einem BREAK (durch "POKE 2,0:SYS 2) trotzdem ak- tiviert bleibt. In diesen Routinen werden auch die Bildschirmfarben neu definiert. Falls Ihnen diese nicht gefallen, so ist es keine Schwierigkeit, sie zu ändern:
a) Im Zeichensatzeditor: POKE 11329, Schriftfarbe POKE 11365, Rahmenfarbe POKE 11366, Hintergrundfarbe b) Im Zeichensatzprg. : POKE 49370, Schriftfarbe POKE 49406, Rahmenfarbe POKE 49407, Hintergrundfarbe
Wie Sie oben schon erfahren haben, ist das Benutzen eines Zeichensatzes unter BASIC eine recht einfache Angelegenheit, sofern der Zeichensatz im Normalmodus erstellt wurde. Die ganze Sache sieht allerdings ein wenig anders aus, wenn Sie einen Multicolorzeichen- satz verwenden möchten. Gehen Sie also in diesem Fall folgendermaßen vor: Nachdem Sie den MC-Zeichensatz geladen und mit "SYS 49152" aktiviert haben, wird dem VIC mitgeteilt, daß er die Zeichen im MC-Modus darstellen soll. Dies ge- schieht durch die Befehlsfolge: "POKE 53248+22, PEEK(53248+22) OR 2↑4". Alle Punkte, die in einem MC-Zeichen mit Farbe eins festgelgt wurden, nehmen demnach die aktuelle Schriftfarbe an. Die Farben zwei und drei (für die alle 16 Farben zur Verfügung stehen!), werden über die Register 34 und 35 des VIC kontrolliert. So verändert man z. B. die Farbe zwei durch "POKE 53248+34,14" zu Hellblau.