Magic Disk 64

home to index to html: MD8904-UTILITIES-5.1.html
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. 
Valid HTML 4.0 Transitional Valid CSS!