★ APPLICATIONS ★ CREATION GRAPHIQUE ★ Selbstdefinierte Zeichen auf dem NLQ 401|CPC Magazin) ★ |
RSX PSYMBOL (CPC Magazin) | Applications Creation Graphique |
Keines der bisher vorliegenden Textverarbeitungsprogramme eignet sich für eine (europäische) internationale Textverarbeitung. Dabei müßte es doch auch viele kommerzielle Interessenten geben, die für die Korrespondenz mit ihren Geschäftspartnern gern skandinavische, französische, spanische oder auch türkische Sonderzeichen zur Verfügung hätten. Es soll sogar Dolmetscher geben, diefür ihre Arbeit Computer einsetzen möchten. Lehrer und Studenten, die einen Großteil der CPC-Besitzer ausmachen, vermissen häufig einen mathematischen Zeichenvorrat. Nun hat das CPC-Basic ja den SYMBOL-Befehl, so daß man für den Bildschirm einen gerade benötigten Zeichensatz erzeugen kann. Und wenn man über ein Textverarbeitungsprogramm verfügt, das diese Zeichen mitverarbeiten kann, ist schon die erste Hürde geschafft. Die zweite Hürde ist der Drucker. Der von Schneider angebotene NLQ 401 verspricht im Handbuch ”vom Benutzer programmierbare Zeichenvorräte”. Beim näheren Hinsehen ist damit der Bitbildmodus gemeint, bei dem jedes Zeichen als Bitbild übertragen werden muß. Da kommt Freude auf, denn nicht einmal in dem von Schneider angebotenen Texpack wird diese Möglichkeit eingesetzt. Damit das nicht so bleibt, wird hier mit PSYMBOL erstmals ein Programm vorgestellt, das es erlaubt, selbstdefinierte Zeichen auf dem Drucker auszugeben. Es handelt sich dabei um eine Befehlserweiterung, die 5 Befehle zur Verfügung stellt:
Zunächst fällt auf, daß für ein Zeichen 6 Bitbilder nötig sind statt der 8 beim Basic-SYMBOL. Das liegt daran, daß die Druckerzeichen von der Größe her einer 6x8-Matrix entsprechen. Die einzelnen Bitbilder geben auch nicht die Pixels von links nach rechts aus, sondern von oben nach unten. Das niederwertigste Bit liegt dabei unten. Besonders tragisch ist in diesem Fall, daß die CPCs das achte Bit nicht an den Drucker übertragen können, so daß die selbstdefinierten Zeichen in einer 6x7-Matrix liegen müssen, und gerade die für Zeichen wichtige oberste Pixelreihe fehlt. In diesem Zusammenhang zeigt sich auch noch eine Macke des NLQ 401. Rechts von Bitbildzeichen werden die normalen Zeichen eine Pixelreihe tiefer gedruckt. Um in den Genuß von PSYMBOL zu kommen, muß zuerst das Basicladeprogramm abgetippt werden. Dieses kann man probehalber mit RUN starten. Wenn SYNTAX ERROR und TYPE MISMATCH ausbleiben und auch sonst keine Fehler mehr entdeckt werden, kann man den SAVE-Befehl aus Zeile 70 eingeben. Das eigentlich wichtige PSYMBOL.RSX wird dann abgespeichert. Sobald PSYMBOL.RSX gebraucht wird, muß man MEMORY &8FFF:LOAD "PSYMBOL.RSX” eingeben oder, da das Programm an beliebigen Speicherplätzen betrieben werden kann, z B MEMORY &87FF:LOAD ”PSYMBOL.RSX”,&8800. Zusätzlich muß PSYMBOL.RSX mit CALL &9000 oder bei einer anderen Adresse mit CALL ladeadresse initialisiert werden. 1. Ausgabe von Listings PSYMBOL.RSX enthält bereits eine PSYMBOL-Tabelle mit 10 Zeichen, die für die Ausgabe von Programmlistings wichtig sind. Neben dem senkrechten Strich, dem Potenzpfeil u.a. (Siehe LIST#8, CPC MAGAZIN 2/86) sind es die Ziffern 1 und 0 und die normalerweise nicht druckbaren Steuerzeichen CTRL-G, CTRL-X, CTRL-V und CTRL-W. Die Grafikzeichen (ab 128) werden von PSYMBOL.RSX sowieso richtig übertragen, da der Drucker automatisch auf den Umschaltungszeichensatz eingestellt wird, wenn das 8. Bit gesetzt ist. Wenn PSYMBOL.RSX wie beschrieben geladen und initialisiert ist, muß noch mit WIDTH 255: PRINT#8, CHR$(&1B); CHR$(&37) der Drucker vorbereitet werden, sonst wird das Listing mit ä, ö und ü ausgegeben. Jetzt fehlt nur noch der Schlüsselbefehl |PON, um das zu listende Programm laden und mit LIST#8 ausgeben zu können. 2. Anlegen einer PSYMBOL-Tabelle Als erstes sollte man den Befehl |PCLEAR geben, da sonst die in PSYMBOL.RSX für Listings vorbereiteten Zeichen mitverwendet werden. Mit dem PSYMBOL-Befehl lassen sich anschließend eigene Zeichen in die Tabelle eintragen. Der Befehl entspricht dem Basic-SYMBOL-Befehl mit den vorher beschriebenen Unterschieden. Die Tabelle organisiert sich selbst, d.h., für jeden PSYMBOL-Befehl wird die Tabelle um 6 Byte verlängert. Das geschieht auch dann, wenn z.B. ein und derselbe Befehl einfach nur wiederholt wird. Bei null Eintragungen hat die Tabelle bereits eine Länge von 256 Bytes (eines für jedes ASCII-Zeichen). In dieser Grundtabelle bedeutet eine Null, daß das Originalzeichen gesendet wird, ansonsten die Bitbilder aus dem Tabeileneintrag mit der entsprechenden Nummer. Maximal 255 Einträge (also theoretisch für jedes ASCII-Zeichen) sind so möglich. Für eine spätere Anwendung kann man die jeweiligen PSYMBOL-Befehle jedesmal neu eingeben oder eine PSYMBOL-Tabelle für eine dauerhafte Benutzung folgendermaßen separat abspeichern: s%=0:1 %=0: |PINFO, @s%, @l%: SAVE“PTABELLE.BIN“,b,s%,l% Für das spätere Laden der Tabelle muß dieselbe Befehlsfolge eingegeben werden, wobei der SAVE-Befehl dann durch LOAD ”PTABELLE.BIN”,s% ersetzt wird. 3. Ausgabe unmittelbar in einem Textverarbeitungsprogramm Dies ist die unwahrscheinlichste Anwendung von PSYMBOL.RSX, da die leistungsfähigeren Textverarbeitungsprogramme kein zusätzliches Programm im Speicher dulden. Bei einem Basic-Textverarbeitungsprogramm müßte man prüfen, ob und welcher Speicherbereich frei ist und PSYMBOL.RSX dahin laden. Ein weiteres Problem: Sobald auch Druckersteuerzeichen verwendet werden, können Werte auftreten, die einem unserer umdefinierten Zeichen entsprechen. Deshalb muß, bevor ein Druckersteuerzeichen gesendet wird, der Befehl POFF eingegeben werden und danach wieder PON. 4. Ausgabe über ein Textfile mit dem PSYMBOL-Anwendungsprogramm Da alle Textverarbeitungsprogramme die Möglichkeit bieten, den Text abzuspeichern, wird die hier beschriebene Methode immer geeignet sein. Dazu muß das Anwendungsprogramm mit RUN gestartet werden. (Achtung, nur beim ersten Mal! Jeder weitere Durchlauf muß mit GOTO 100 erfolgen.) Automatisch wird dann PSYMBOL.RSX und - falls vorhanden - PTABELLE.BIN geladen. Nach der Eingabe des Textnamens erfolgt sofort der Ausdruck. Dabei wird geprüft, ob eines der NLQ-401-Steuerzeichen vorliegt, und für die jeweilige Anzahl von Zeichen POFF-ge-schaltet. Notfalls wird das Programm abgebrochen. Parallel erfolgt die Ausgabe auf dem Bildschirm. Zu beachten ist in Zeile 220 der Zusatz AND &7F, der für einige Textverarbeitungsprogramme notwendig ist. Falls ein Programm auch Zeichen mit gesetztem 8. Bit verwendet, muß dieser Zusatz entfernt werden. Schwierigkeiten kann es mit Programmen geben, die eigene Steuerzeichen im Text verwenden, die von den Drukkersteuerzeichen abweichen. In diesem Fall müßte man versuchen (ähnlich wie in den Zeilen 300-800), das Anwendungsprogramm so abzuändern, daß diese anderen Steuerzeichen abgefangen werden. Gerhard Knapienski , CPC Magazin
|