★ APPLICATIONS ★ DIVERS ★ CONDENSED (COMPUTER PARTNER) ★ |
Condensed (Computer Partner) | Applications Divers |
Eine RSX-Befehlserweiterung für alle CPCs Der CPC stellt in Mode 0 die beeindruckende Zahl von 16 Farben zur Verfügung. Das geht allerdings auf Kosten der Bildschirmauflösung. Besonders bei Textausgaben wirkt es sich doch sehr störend aus, daß nur 20 Zeichen in eine Zeile passen. Auch in Mode 1 mit 40 Zeichen pro Zeile stößt man recht schnell an die Grenzen der Kapazität. Um hier Abhilfe zu schaffen, kam mir der Gedanke, einen Schmalschriftmodus auf dem Bildschirm zu realisieren. Herausgekommen ist das Programm "Condensed”, das drei neue RSX-Befehle zur Verfügung stellt. Tippen Sie den Basic-Lader ab, und starten Sie ihn mit RUN. Er erzeugt ein Maschinenprogramm mit einer Länge von 1087 Byte und speichert es unter dem Namen CONDENSE.MC ab. Es enthält übrigens einen Relocator. Sie können es also in jeden beliebigen freien Speicherbereich laden; es paßt sich automatisch an die jeweilige Startadresse an. Gehen Sie dazu folgendermaßen vor: MEMORY start-1 Jetzt läßt sich Text in Schmalschrift auf dem Monitor ausgeben. In Mode 0 sind nun 40 Zeichen pro Zeile möglich, in Mode 1 80 und in Mode 2 160, also jeweils doppelt so viele wie zuvor. In Mode 2 sollte "Condensed” allerdings nur bei absolutem Platzmangel benutzt werden. Hier sind die Schmalschriftzeichen nämlich auf dem Grünmonitor relativ schwer lesbar, und auf einem Farbschirm dürften sie aufgrund der schlechteren Auflösung kaum noch zu entziffern sein. Dagegen ist die "Condensed”-Schrift in Mode 0 sogar wesentlich besser zu lesen als die überbreite CPC-Standard-schrift. In Mode 1 schließlich bietet sich mit 80 Zeichen pro Zeile die ideale Auflösung für Textausgaben. Da man hier zwischen vier Farben wählen kann, stehen bedeutend mehr Hervorhebungsmöglichkeiten zur Verfügung als in Mode 2. Für die Ausgabe eines Textes in Schmalschrift ist der RSX-Befehl |CPRINT zuständig. Zuvor muß der Text in einer String-Variablen abgelegt werden. Dazu ein Beispiel: a$ = "Text” |CPRINT, @a$ Besitzer eines CPC 664/6128 können den Klammeraffen vor dem Variablennamen weglassen oder den Text auch direkt übergeben. Das sieht dann so aus: |CPRINT, "Text” Beachten Sie, daß "Condensed” grundsätzlich im Grafikmodus arbeitet, ähnlich wie beim TAG-Befehl des Schneider-Basic. Das bedeutet, daß Sie den Grafik-Cursor vor der Ausgabe mit MOVE x, y an die gewünschte Position bewegen müssen; er bezeichnet die Stelle, an der die linke obere Ecke des ersten Zeichens des auszugebenden Strings zu sehen ist. Außerdem erscheint der Text in der Farbe von Grafik-Pen und Grafik-Paper. Falls erforderlich, können Sie die entsprechenden Werte auch an den |CPRINT-Befehl anhän-gen: |CPRINT, @a$, Pen-Nr., Paper-Nr. Besitzern eines CPC 464 bietet sich hier die Möglichkeit, die Befehle GRAPHICS PEN und GRAPHICS PAPER des 664/6128-Basic zu simulieren, indem sie erst einen Leer-String definieren und dann mit |CPRINT die Grafikfarbwerte setzen. Das geschieht folgendermaßen: a$ = |CPRINT, @a$,0,1 Das bewirkt dasselbe wie GRAPHICS PEN 0:GRAPHICS PAPER 1. Nun ist es relativ kompliziert, immer mit Grafikkoordinaten umgehen zu müssen. Daher bietet "Condensed” zusätzlich einen Befehl, der die Verwendung von Textkoordinaten zuläßt. Er lautet: |CLOCATE, Spalte, Zeile, Window-Nr. Dieses Kommando setzt den Grafik-Cursor an die mit Spalte und Zeile angesprochene Position im angegebenen Text-Window. Die Parameter entsprechen denen des LOCATE-Befehls im Schneider-Basic. Wenn die Window-Nummer fehlt, werden die Text-koordinaten auf den gesamten Bildschirm bezogen. Hier nun der dritte RSX-Befehl: |CSYMBOL, Nr. ,Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8 Wer irgendwelche Sonderzeichen benötigt oder mit dem vorgegebenen Design des ”Condensed”-Zeichen-satzes nicht zufrieden ist, kann mit diesem Kommando ein neues Zeichen definieren. Die Parameter werden genauso benutzt wie beim Basic-Befehl SYMBOL; allerdings muß die Symbolnummer im Bereich von 0 bis 127 liegen. Die Symbole von 32 bis 126 entsprechen dem ASCII-Code, wie es auch beim normalen CPC-Zeichensatz der Fall ist. Zusätzlich stellt "Condensed” auch die deutschen Sonderzeichen zur Verfügung. CHR$ (0) - Paragraph Die Parameter Z1 bis Z8 bezeichnen die erste bis achte Matrixzeile des zu definierenden Zeichens in Binärkodierung. Da Schmalschriftzeichen nur vier Pixel breit sind, handelt es sich hier natürlich um 4-Bit-Werte (zwischen 0 und 15); Bit 3 steht für das Pixel ganz links, Bit 0 für das ganz rechts. Beachten Sie, daß der ”Condensed”-Zeichensatz völlig unabhängig vom normalen CPC-Zeichensatz ist. Ein |CSYMBOL-Befehl hat also keine Auswirkung auf die Zeichen mit normaler Breite; umgekehrt beeinflußt auch eine SYMBOL-Anweisung die Schmalschrift nicht. Wenn Sie das MC-Programm anschießend mit SAVE”Name”, B, start, 1087 auf Diskette oder Cassette abspeichern, bleiben die umdefinierten Zeichen erhalten. Gerd Cebulla , Computer Partner
|