APPLICATIONSDIVERS ★ Teil 4 ★

Profi-RSX 4: Text Pack (CPC Amstrad International)Applications Divers
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Nachdem wir uns an dieser Stelle bisher hauptsächlich der Graphik des CPC gwidmet haben, wechseln wir in dieser Folge zur »Gegenseite«, dem Text-Bildschirm.

Dabei ist der Unterschied zwischen diesem Anzeigeverfahren — programmtechnisch gesehen — gering, da auch der Text beim CPC »graphisch« angezeigt wird. Somit werden Sie in den Assembler-Listings bekanntes wiederfinden, sofern Sie die vorausgegangenen verfolgt haben.

Die Ähnlichkeiten beziehen sich in erster Linie auf die Art, wie der Bildschirm beschrieben wird. Dieses geschieht stets Pixel-orientiert. Abweichend voneinander ist nur die Koordinateneingabe.

Die Befehle dieser Folge haben, im Gegensatz zu den bisherigen Folgen, nicht nur eine bestimmte Bedeutung innerhalb von Profi RSX, sondern sie beeinflußen auch die Arbeitsweise des Betriebssytemes. D.h., sie ändern und erweitern die Funktionen Ihres CPC. Dazu zählen in dieser Folge die Einbindung eines deutschen Zeichensatzes sowie neue Schriftarten und -großen.

Ferner vereinfacht sich das Scrollen des Bildschirmes, die Textausgabe-Geschwindigkeit wird verdoppelt und schließlich können Sie Texte in allen Richtungen auf dem Bildschirm darstellen — nicht nur horizontal wie bisher.

In der Befehlsliste sind wieder alle Befehle dieser Folge aufgeführt. Da die Funktionsweise der Befehle recht einfach ist, wird sie nicht jedesmal bei der Beschreibung der Assembler-Routinen aufgeführt.

Deswegen verzichte ich auch auf ein separates Kapitel, damit wir gleich für die Assembler-Interessenten mit der Dokumentation beginnen können. (Anm. für die nicht Assembler-Interessierten: In der nächsten Folge gibt es — nach heutigem Stand — garantiert kein einziges Assembler-Listing!)
Die Assembler-Ecke

Im wesentlichen besteht die Erweiterung aus zwei Blöcken: Erstens der Schriftbehandlung und zweitens dem deutschen Zeichensatz. Dazu kommen dann noch die paar einzelnen Befehle, auf die wir hier nicht näher eingehen können. Da die Routine für die Schriftvergrößerung im Listing an erster Stelle steht, fangen wir mit dieser auch an.

Zeichen-Vergrößerung

Betrachten wir zuerst, wie die Firmware Ihres CPC standardmäßig arbeitet. Wenn ein Zeichen auf dem Bildschirm durch die Firmware dargestellt werden soll, so liegt diesem nur die 8 X 8 Matrix des Zeichens im ROM oder RAM (bei selbstdefinierten Zeichen) vor. Die entsprechenden Routinen wandeln dann, falls erforderlich, die Matrix bildschirmgerecht um und schreiben diese dann in den Bildschirmspeicher. Irgendwo hier zwischen müssen wir nun eingreifen, um das Betriebssystem so beeinflussen zu können, damit es das tut, was wir von ihm verlangen. Damit wir größere Zeichen erhalten, gibt es zwei Möglichkeiten:

a) Vergrößerung der Zeichen-Matrix auf das gewünschte Format (z.B. 16x16 oder 32 X 16 Pixel)

b) »Zoomen« der normalen Matrix Keine Frage, ist Punkt a) weitaus eleganter, ergibt diese Version doch bei gekonnter Matrix-Gestaltung erstklassige und vor allem feinere Zeichen. Allerdings ist dies bei 64 bzw. 128K-Compu-tem völlig illusionistisch. Deshalb ist die Version bei Profi RSX nicht implementiert (über die ICON-Verwaltung in den Folgen 5 und 6 ist es dennoch möglich, sogar mehrfarbig). Wir beschränken uns deshalb auf Version b). Da die Zeichen in ihrer Größe in der Regel, was auch der Praxis entspricht, nicht mehr als verdoppelt oder verdreifacht werden, ist dies dennoch akzeptabel. Außerdem sparen Sie eine Menge Speicherplatz, von der Arbeit des Abtippens der Matrixen ganz zu schweigen. Im übrigen wird das Verfahren ähnlich auch vom Betriebssytem angewendet, wenn Sie vom 80-Zeichen-Modus in den 20er oder 40er wechseln. Zusätzlich liefern wir Ihnen, sozusagen als Ausgleich für etwas gröbere Konturen der Zeichen, verschiedene Schriftstile und als besonderen Leckerbissen, beliebige Schrift-Richtungen. Folgende Schriftarten können Sie extra wählen:

a) Hellschrift (light)
b) Fettschrift
c) Unterstrichen

Mit |LIGHT wird die Struktur der Zeichen feiner, mit |FETT hingegen erzielen Sie auf Ihrem Drucker (sofern Sie einen besitzen) Fettdruck. Außerdem können Sie alle Zeichen gleich bei ihrer Ausgabe mit unterstreichen lassen. Dabei haben diese Routinen nahezu keinen negativen Einfluß auf die Ausführungsgeschwindigkeit (s. Ass.-Listing).Mit Hilfe des Profi RSX-Befehls |SCHRIFT können Sie die Vergrößerung setzen. Dabei ist die Vergrößerung für die X- und Y-Richtung getrennt festlegbar. Sie sollten jedoch keine zu großen Werte verwenden. Falls Sie dieses dennoch beabsichtigen, so probieren Sie vorsichtshalber die Auswirkungen aus, indem Sie die Vergrößerung nur mit einem Zeichen testen. Mit folgender Befehlsfolge können Sie sich die Ergebnisse ansehen:

|SCHRIFT, X-, Y-Vergrößerung: |S.ON:LOCATE 1,1 :?“Test“: |T.OFF (ENTER)(Größe definieren/Vergrößerung ein/Cursor positionieren/Zeichen ausgeben/Vergrößerung ausschalten) Sie müssen also der Profi RSX-Routine die Vergrößerung mitteilen, bevor Sie die Erweiterung einschalten. Dabei ist zu beachten, daß alle Zeichen vergößert werden, bis Sie diese Routine wieder deaktivieren.

Betrachten wir nun die Funktionsweise der Assembler-Routine. Beim Einschalten der Erweiterung veranlaßt Profi RSX die Abänderung der Firmware-Funktion und zwar durch einen Austausch in der System-Sprungtabelle. Die Firmware-Routine TXTWRITECHAR, die für die Zeichenausgabe »verantwortlich« ist, wird »ausgeklingt« und durch eine PR-Routine ersetzt. Laut dem Firmware-Handbuch der Firma Schneider hat die Routine folgende Einsprung- und Aus-sprung-Bedingungen, die wir, wollen wir eine volle Kompatibilität sicherstellen, auch für unsere Routine übernehmen müssen. Beim Aufruf der Routine durch Programme, der Firmware oder den BASIC-Interpreter enthält der Akkumulator die Nr. des Zeichens, welches zur Ausgabe ansteht. Im H-Register wird die Spalte und im L-Register die Zeile vorgegeben. Hieraus können wir ableiten, welche Aufgaben unsere Routine zu bewältigen hat:

a) die zur Nr. zugehörige Matrix zu holen!

b) diese unter Beachtung der gewählten Vergrößerung zu »zoomen« und dem entsprechenden Mode anzupassen; und schließlich

c) diese Matrix an der gewünschten Position auszugeben (Anm.: Ich empfehle Ihnen, das Assembler-Listing parallel zu der folgenden Beschreibung zu verfolgen.)

Die Routine übernimmt die Registerwerte und reicht den Akkumulator-Inhalt gleich an die Routine TXT GET MATRIX weiter, nachdem die Position (in HL) gesichert wurde (PUSH HL). Die angesprungene Routine übergibt nach Abschluß im HL-Doppelregister die Adresse der Matrix des Zeichens.

Als nächstes wird die Matrix, falls vom Benutzer, also Ihnen, voher definiert, durch eine Profi RSX-Routine gedreht. Nachfolgend muß sich die Routine erst einmal selbstständig der Bildschirm-Auflösung anpassen, indem es die geeignete Ausgabe-Routine sowie die benötigte Pixel-Anzahl pro Byte hierfür ermittelt.

Nachdem die richtige Routine installiert ist, wird die Bildschirmposition zurückgeholt und durch eine System-Routine von den Koordinaten in eine RAM-Adresse umgewandelt. Danach erfolgen die nötigen Definitionen (8 Zeilen = Y-Vergrößerung holen) für die eigentliche Vergrößerung. Die Routine besteht aus zwei ineinander geschachtelten Schleifen. Die »äußere« ist für die Y-Achse, die »innere« dagegen für die X-Richtung zuständig. Es wird folglich zuerst immer eine Pixel-Zeile in der »inneren« Schleife bearbeitet, bevor die nächste, bedingt durch die »äußere« Schleife, bearbeitet wird.

Diese Struktur entspricht der Kopier-Routine aus Folge 2, wie Sie sich vieleicht erinnern. Dort wird der Bildschirm auch zeilenweise bearbeitet.

Die Y-Schleife bewirkt, daß jede Zeile der Pixel-Matrix entsprechend oft der Y-Vergrößerung ausgegeben wird, bevor die nächste Pixel-Zeile behandelt wird. Gleiches gilt für die X-Schleife, nur eben entsprechend für die einzelnen Pixel einer Zeile. Bei der Ausgabe gibt es allerdings zu bedenken, daß nach 8 Bits das volle Byte in den Bildschirm geschrieben werden muß. Bei Mode 1 sind es sogar nur 4 Bits, bei Mode 0 dann noch 2. Aus diesem Grund gibt es innerhalb der Schleifen einen Zähler, der nach erreichen der Bit-Zahl eine Ausgabe auslöst.Wie wird eine Pixel-Zeile vergrößert? Dies geschieht praktisch mit ein paar Z 80-Befehlen (ab Label »D2«). Dort wird jeder Pixel der Matrix getestet, ob er gesetzt ist. Ist dies der Fall, dann wird auch das Carry auf wahr (1) gesetzt (durch »SCF«), andernfalls bleibt es rückgesetzt (auf 0, durch »OR A« vor dem »BIT 7,E«-Befehl). Dieser Zustand des Carrys wird anschließend durch den 9-Bit-Rotier-Befehl »RL C« in das C-Re-gister als Bit 0 übernommen. Es wird, noch einmal zusammengefaßt, also der Zustand eines Pixels getestet und danach über die »Zwischenstation« des Carrys in das C-Register übernommen. Dieses geschieht unter Beachtung der Vergrößerung mit allen Pixels, wobei ein Byte nach Erreichen der Pixel-Zahl pro Byte automatisch auf dem Bildschirm ausgegeben wird. Die Ausgabe wird dabei durch eine dem Mode angepaßten Routine vorbereitet. Diese Routine paßt die neue Matrix dem Bildschirm-Format an, welche im Mode 1 besagt, daß jeweils 2 Pixels pro Byte gleich sein müssen (dieses sind die Bits 0-3, die den Bits 4-7 entsprechen sollen). Im Mode 0 müssen sogar 4 Bits pro Byte gleich sein (0,1 mit 2,3 und 4,5 und 6,7). Erwähnenswert ist,
daß die 3 Routinen ineinander übergehen, so daß durch diese Kopplung Speicherplatz gespart wird.Durch verschiedene Routinen wird natürlich die Bildschirm-Adresse fortlaufend weiterberechnet und zum Schluß wird auch die Cursor-Position entsprechend der Vergrößerung automatisch angepaßt.Ich hoffe, daß die der Routine zugrunde liegende Logik Ihnen jetzt verständlich geworden ist. Betrachten wir nun als nächstes die zweite größere Routine.

Variable Schriftrichtung

Die besondere Funktion, die Möglichkeit des Beschriftens des Text- und Graphik-Bildschirmes in allen 4 Richtungen, wird durch die Routine CHAR_ROT ermöglicht.Das Bildschirmfoto zeigt Ihnen deutlich alle 4 möglichen Schriftrichtungen. Die vorgenannte Routine wird von allen PR-Routinen, die mit der Zeichenausgabe zu tun haben, direkt nach dem Berechnen der Matrix-Adresse angesprungen (siehe auch die Schriftver-größerungs-Routine). Somit funktioniert sie auch nur in Zusammenhang mit einer der Ausgabe-Routinen von PR, sei es nun die Zeichen-Vergrößerung, die schnelle Schrift-Ausgabe oder dem deutschen Zeichensatz. Wie aber wird ein Zeichen »gedreht« ausgegeben? Dabei ist diese Abschnitt-Überschrift nicht ganz richtig, denn das Zeichen wird nicht gedreht ausgegeben, es wird genau wie bisher in den Bildschirm geschrieben. Sicher wäre es möglich, direkt die Bildschirmausgabe abzuändem, doch dieses wäre aus Speicherplatz- und Zeitgründen (Programmieraufwand;) nicht zu verantworten. Deswegen habe ich die, meiner Meinung nach, weitaus elegantere Möglichkeit gewählt, und zwar wird die Matrix des Zeichens »gedreht«, bevor diese weiterverarbeitet wird. Das hat den Vorteil, daß keine nachfolgenden Routinen geändert werden müssen. Diese funktionieren alle wie bisher, da für die Routinen das Aussehen der Matrix vollkommen uninteressant ist. Das Drehen der Matrix erfolgt in zwei Schritten (siehe Abbildung 4). Eigentlich zeigt die Abbildung in Kombination mit dem Listing die Wirkungsweise sehr deudich, wie ich meine. Wichtig ist nur, daß die Matrix mit Hilfe der beiden Z 80-Befehle zuerst gedreht wird und das Ergebnis (1. Schritt) auf dem Prozessor-Stack abgelegt wird. Dort befindet es sich dann allerdings spiegelbildlich, so daß es mit Hilfe von 8 »POP AF«-Befehlen noch von diesem heruntergeholt werden muß. Da dabei die letzte Matrix-Zeile (auf dem Stack) zuerst in den Speicher zurück geholt wird, findet eine Spiegelung um die X-Achse statt.Die Abbildung 3 zeigt die Wirkungsweise einiger Rotier-Befehle. Dabei entspricht die Wirkungsweise des Befehls »RRA« dem Befehl »RL C«, nur daß hier statt links rechts herum rotiert wird. »RLA« entspricht »RL C« nur mit Ausnahme des benutzten Registers. Der Befehl »RLC (HL)« ist idenitsch mit dem Befehl »RLC E«, nur wird hier anstelle des Inhaltes eines Registers die durch HL adressierte Speicherstelle rotiert. Der Befehl »SRL (HL)« bewirkt ein Schieben des Inhaltes der Speicherstelle von links nach rechts um ein Bit, wobei das rechts herausfallende Bit 0 ins Carry übernommen wird.

Alles weitere entnehmen Sie bitte der Assembler-Listing. Wenn Sie dieses einige Zeit »studieren«, so wird Ihnen die Funktionsweise sicherlich klarer als durch jede weitere Beschreibung von mir an dieser Stelle. Trotzdem wollen wir hier noch mehr oder weniger ausführlich auf die zweite Befehlsgruppe eingehen. Diese steht im Zusammenhang mit dem deutschen Zeichensatz.

Der CPC spricht »deutsch« — der deutsche Zeichensatz

Normalerweise wird ein deutscher Zeichensatz verwirklicht, indem einfach einige Matrixen von den betreffenden Zeichen geändert werden. Durch den (zwangsweise) vorausgehenden Befehl SYMBOL AFTER 64 gehen aber 1528 ((255-64) X 8) Bytes »verloren«. In Wirklichkeit werden für die neuen Matrixen aber nur 8x8 Bytes benötigt. Es bleiben also 1464 Bytes ungenutzt! Bei Profi RSX wurde deswegen ein anderer Weg beschritten. Das gewählte Verfahren benötigt nur ein paar Bytes zusätzlich und hat die gleiche Wirkung. Prinzipiell funktioniert es, indem der Routine zum Berechnen der Matrix-Adresse, wenn es sich um ein »deutsches« Zeichen handelt, einfach die neue Zeichen-Adresse »untergeschoben« wird. Programmtechnisch läuft es so ab, daß durch einer Abänderung der Routine TXT GET MATRIX vor dieser bereits abgefragt wird, ob die Zeichen-Nr. dem eines »deutschen« Zeichens entspricht, und wenn ja die neue Adresse zurückgegeben wird, ohne daß TXT GET MATRIX überhaupt angesprungen wird. Das hat übrigens noch den Vorteil, daß die ursprüngliche Matrix nicht durch die neue gelöscht, sondern diese nur überblendet wird. Nach dem deaktivieren des deutschen Zeichensatzes steht Ihnen also die »alte« Matrix wieder zur Verfügung. Da aber einige ROM-Routinen die Routine TXT GET MATRIX nicht über die Sprungtabelle, sondern direkt anspringen, waren noch einige Patches notwendig. Sehen Sie hierzu das dokumentierte Assembler-Listing. Die Matrixen der neuen Zeichen finden Sie in Abbildung 1. Selbstverständlich paßt Profi RSX auch die Tastaturbelegung entsprechend an. Die neue Belegung finden Sie in Abbildung 2, die kurze Routine, die dieses verwirklicht, im Listing. Zum Abschluß finden Sie in Listing 2 noch ein DEMO-Programm, welches das Bildschirmäquivalent zur Hardcopy hervorbringt. Beachten Sie, daß dort Steuerzeichen eingegeben werden müssen. Wenn Sie nicht nur den BA-SIC-Loader ab tippen, sondern auch die Funktionsweise der Routinen nachvollziehen wollen, dann haben Sie wahrscheinlich genug für diesen Monat zu tun. Und schließlich kommt nächsten Monat ja auch schon die nächste Folge (mit der ICON & Sprite-Verwaltung von Profi RSX). Sie dürfen gespannt sein. Damit Sie jetzt aber loslegen können, sollten Sie das Ladeprogramm abtippen. Die Besitzer der Typen 664 & 6128 dürfen allerdings wieder die Inkompatibilität der ROM's »ausbaden«, indem Sie wieder einige Zeilen gegenüber dem 464-Listing ändern »dürfen«. (Leider habe ich mir den CPC bei der Markteinführung 1984 gekauft — da gab es nur den CPC 464. Allerdings dürfte die Anpassung von Profi RSX an die beiden anderen Typen weitaus zeitaufwendiger gewesen sein, als das Austauschen einiger DATA-Zeilen.)

Anm.: Daß das Anpassen nicht immer auf Anhieb klappt, werden einige von unseren ganz aufmerksamen Lesern sicherlich gemerkt haben. Bei dem Titelbild in Folge 1 ist noch die alte Version dieses Teiles verwandt worden, die entgegen meinen theoretischen Überlegungen auf dem 6128er nicht laufen wollte. Deswegen erscheint in der letzten Zeile des Bildes anstelle eines »ü« eine geschweifte Klammer. Nun, diese Folge müßte aber auf allen 3 Rechnern ordnungsgemäß laufen. Wichtig ist nur, daß Sie, bevor Sie den Data-Loader starten, den Speicherbereich absichem und zwar durch

11 MEMORY 34784-12.

Anschließend sichern Sie den M-Code (& den BASIC-Loader) dann sofort auf Kassette/Diskette (vor der Initalisie-rung;). Den M-Code sollten Sie auf jeden Fall unter dem folgenden Namen speichern:

1 SAVE«T-464«, b, & 87E0,19692.

Besitzer eines 664 bzw. 6128 ändern die Zeichenfolge >464< wie üblich wieder in >664< bzw. >6128übrigens freiwillig, was ja in den letzten Folgen leider nicht der Fall war. Und in der ersten Folge hatte ich sogar den ME-MORY-Befehl vergessen. Peinlich, peinlich...

Das kommt in der Zukunft aber (hoffentlich) nicht mehr vor.

Falls Sie jetzt noch mit Profi RSX2 arbeiten möchten, so befolgen Sie beim Laden bitte folgende Reihenfolge:

MEMORY 34784-1 LOAD »G1-464.BIN«
LOAD »G2-464.BIN«
LOAD »S-464.BIN«
LOAD »T-464.BIN«
CALL &87E0
CALL &9FA0
CALL &96B0
CALL &8F902

Selbstverständlich können Sie das auch als Programm verfassen. Es muß kein Direktmodus sein: Zeilennummern davor — und fertig. (Wichtig ist nur die Reihenfolge der CALL & Ladebefehle;)

Ach ja, beinahe hätte ich vergessen, Sie darauf hinzu weisen, daß Profi RSX ab dieser Folge endlich ein Titelbild hat! Es erscheint automatisch nach Aufruf dieses Teiles und weist Sie daraufhin, daß Sie jetzt zusätzlich zum Schneider BASIC einige Befehle mehr haben.

Jetzt ist aber (endlich?) Schluß, aber nicht lange, denn:

Fortsetzung folgt! — in einem Monat.

CPCAI

APPLICATIONSDIVERS ★ Befehlsliste Teil 4: Text-Befehle ★

56. INVERS

  • Hiermit wird wechselweise zwischen inverser und normaler Text-Darstellung umgeschaltet.

57. SCROLL.U, Fensternummer, Anzahl der zu scrollenden Reihen (,Farbe für die neuen Zeilen)

  • Der Befehl bewirkt ein Aufwärts- Rollen des angegebenen Fensters um die gewünschte Zeüenzahl bei gleichzeitigem Ausfällen der neuen Zeilen mit der aktuellen Hintergrundfarbe oder der event. angegebenen Farbe.

58. SCROLL.D > wie bei Pos. 57 <

  • Der Inhalt des Fensters wird heruntergerollt, ansonsten ist die Funktion identisch mit Pos. 57.

59. SCROLL, Offset

  • Erlaubt sowohl vertikales als auch horizontales und diagonales Scrollen des gesamten Bildschirmes. Der Parameter gibt die Differenz zur Bildschirmbasis an.

60. CAPS, EIN (1)/AUS (0)

  • Dadurch wird es möglich, den “Caps Lock State“ zu setzen.
  • Wenn ab sofort nur noch Großbuchstaben eingegeben werden sollen, so müssen Sie hier eine “ 1 “ angeben, ansonsten eine “0“.

61. SHIFT > wie bei Pos. 60 <

  • Wie “CAPS“, jedoch für SHIFT.

62. TRANSP., Schalter für EIN bzw. AUS

  • Hiermit kann die transparente Text-Darstellung ein (1) bzw. aus (0) geschaltet werden.

63. HOME (, Fenter-Nr.)

  • Setzt den Cursor in die obere linke Ecke des aktuellen (bzw. des gewünschten) Ausgabekanals.

64. CURSOR (, Systemschalter), Anwenderschalter

  • Oentspricht “aus“; 1 entspricht “ein“.-Hiermit kann der Cursor während eines Programmablaufes ein- oder ausgeblendet werden.
  • Der Systemschalter ist dem Anwenderschalter übergeordnet.

65. BELL (keine Parameter)

  • Er läßt ein Klingelzeichen ertönen.

66. WAITKEY (keine Parameter)

  • Stopt den Programmablauf bis zum nächsten Tastendruck.

67. DIN (keine Parameter)

  • Erstellen einer deutschen Tastaturbelegung und eines deutschen Zeichensatzes .
  • Zerstört keine vorhandene Zeichen, diese werden nur “überblendet“.
  • Nach speziellem Verfahren, belegt nur ca. 200-300 Bytes (anstatt der üblichen 1500 Bytes)!
  • Funktionsweise siehe Beitrag.

68. ASCII (keine Parameter)

  • Schaltet wieder zurück auf die vor dem DIN-Befehl gültige Tastenbelegung und den vorherigen Zeichensatz.

69. TSPEED (keine Parameter)

  • Verdoppelt die Textausgabe- Geschwindigkeit in Mode 2.

70.SCHRIFT, X-,Y- Vergößerungs-faktor

  • Durch diesen Befehl ist es möglich, die Schriftgröße frei zu wählen.
  • Es werden immer korrekt lesbare Zeichen erzeugt, die Routine paßt sich selbstständig dem aktuellen Mode an.
  • Die Vergrößerung kann sich in X- und Y-Richtung unterscheiden, ein Faktor von 0 bedeutet 256fache Vergrößerung.
  • Die Auswirkungen auf die Textausgabe treten erst ein, wenn der nachfolgende Befehl eingegeben worden ist.
  • Der Copy-Cursor ist so angepaßt worden, daß er bei allen 3 Standard-Schriftgrößen korrekt arbeitet. Sie können mit diesem folgerichtig auch in Mode 1 die Schrift von Mode 0 kopieren, im Mode 2 sogar die beiden den Modes 0 & 1 entsprechenden Größen.

71. S.ON (keine Parameter)

  • Schaltet die Schriftvergrößerung ein.

72. T.OFF (keine Parameter)

  • Schaltet sowohl Schrift- als auch den Fast-Modus und den deutschen Zeichensatz aus (führt automatisch den Befehl IASCII durch).

73. Z.EDIT, Zeichen-Nr. (, Adresse Text-Variable) *

  • Erlaubt das Editieren von Zeichen, wenn diese vorher durch “SYMBOL AFTER XY“ als veränderbar deklariert worden sind.
  • Die Anzeige erfolgt wie bei dem Befehl zum Editieren von Sprites.
  • Wahlweise können mit der Text-Varia-blen (Länge mindestens 36 Zeichen) gleichzeitig die zugehörigen DATA's abgefragt werden.
  • * Der Befehl ist nicht beigefügt, er folgt aus programm-technischen Gründen erst in Teil 6 zusammen mit dem Befehl zum Editiem von Sprites und ICON's.

74. PRINT, Adresse Text-String

  • Der Inhalt des adressierten Text- String wird auf dem Bildschirm ab der momentanen Cursor-Position ausgegeben. Dabei werden weder Fenster-Grenzen noch andere Faktoren beachtet.
  • Der Vorteil liegt in seiner Geschwindigkeit sowie imUmgehen der Fenster- und BASIC- Beschränkungen.
  • Den String (z.B. text$) muß ein “Klammeraffe“ zur Adressierung vorangestellt werden!

75.READ, Adresse Integer- Variable2

  • Der Befehl gibt in der Variablen die Nr. des Zeichens zurück, welches an der momentanen Cursor-Position auf dem Bildschirm steht.
  • Wenn kein Zeichen gefunden wurde, so ist der Inhalt der Variablen nach Abschluß der Routine gleich 0.
  • Wichtig: Es muß die Adresse (durch den “Klammeraffen“) der Variablen übergeben werden. Die Variable muß unbedingt vom Typ Integer sein.

76. READTXT, Adresse Text-String

  • Im Unterschied zum Befehl Nr.75 wird hier ein Text anstelle eines einzigen Zeichens vom Bildschirm eingelesen.
  • Die Länge des Textes ist abhängig von der String-Länge.
  • Die Cursor-Position wird entsprechend weiterbewegt.
  • Beachten Sie auf jeden Fall die Parameter-Angabe.

77.CHGSTR, Adresse 1.String, Adresse 2.String

  • Dieser Befehl vertauscht den Inhalt der beiden Text-Variablen.
  • Er ist auf Grund seiner Zeiteinsparung gegenüber BASIC besonders für schnelle Sortier-Algorithmen geeignet.

78. CHAR.ROT, Parameter

  • Mit diesem Befehl können Sie die Schrift-Richtung wählen. Dabei stehen Ihnen 4 Richtungen zur Auswahl:
    0 = normal
    1 = senkrecht, von links lesbar
    2 = um 180 Grad gedreht
    3 = senkrecht, von rechts lesbar
  • Diese Anweisung wird nur beachtet, wenn der deutsche Zeichensatz, die Schriftvergrößerung oder die schnelle Text-Ausgabe eingeschaltet ist.
  • Bei der Text-Ausgabe im Graphik-Modus (durch TAG) funktioniert er nur bei eingeschaltetem deutschen Zeichensatz.
  • Achtung: Der Cursor wird wie bisher weiterbewegt. Sie müssen selber für eine richtige Positionierung sorgen, bevor Sie das nächste Zeichen ausgeben.

79. LIGHT (keine Parameter)

  • Ergibt eine dünnere Schrift.
  • Nur für 80 Zeichen/Zeile und ohne Schrift-Vergrößerung.

80. FETT (keine Parameter)

  • Schaltet die Fett-Schrift ein.- Funktioniert bei allen Auflösungen und Vergrößerungen.

81. UNT. (keine Parameter)

  • Nach diesem Befehl werden alle Zeichen automatisch unterstrichen.
  • Praktisch ohne Geschwindigkeitsverlust.
    Befehle 79 bis 81:
  • Der Befehl 81 läßt sich auch mit den Befehlen 79 und 80 kombinieren, dabei kann jedoch nur entweder Befehl Nr. 79 oder 80 aktiviert sein.

82. NORMAL (keine Parameter)

  • Schaltet auf den normalen Schrift-Stil zurück (hebt die Befehle 79 bis 81 auf).

K. Kremer, CPCAI

★ PUBLISHER: CPC Amstrad International
★ YEARE: 1985 , 1987
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ COLLECTION: CPC AMSTRAD INTERNATIONAL 1987
★ AUTHOR: Klaus Kremer
 

Page précédente : Profi-RSX 3
★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Profi-RSX  4  Text  Pack    (CPC  Amstrad  International)    GERMANDATE: 2022-08-04
DL: 98
TYPE: ZIP
SiZE: 8Ko
NOTE: 40 Cyls
.HFE: Χ

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » RSX Basic-Erweiterung v3.0 (CPC Amstrad International)
» Applications » BeebugSoft - Toolkit Basic Programmer' s Aid
» Applications » Turbo Basic
» Applications » RSX - Helpbasic/Helpbase (Amstar&CPC)
» Applications » RSX-Voz
» Applications » Rsx - Rolling Characters (Popular Computing Weekly)
Je participe au site:
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 568 millisecondes et consultée 445 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.