★ APPLICATIONS ★ DIVERS ★ Schnelle Textausgabe für MODE 2 mit PAGE-RSX ★ |
Page RSX / PageEditor (CPC Amstrad International) | Applications Divers |
Echte Fenstertechnik mit CPC-Rechnern schien bisher aufgrund des geringen Speicherplatzes und der Rechengeschwindigkeit unmöglich zu sein. Bislang wurde Fenster-technik dadurch realisiert, daß ganze Bildschirmspeicherbereiche einfach kopiert wurden. Mit dieser Form der Speicherung lassen sich nur wenige Fenster verwalten, da der Speicherbedarf sehr hoch ist. Reine Textfenster könnte man hingegen im ASCII-Format speichern und durch eine entsprechend schnelle Ausgaberoutine ausgeben. Genau diese Methode benutzt die BASIC-Befehlser-weiterung PAGE. Der Textausgabebefehl basiert auf einer neuen Grundkonzeption. In den meisten Anwenderprogrammen werden Hilfsme-nues oder Eingabemasken durch einzelne PRINT-Befehle ausgegeben. Diese Methode ist insbesondere für große Eingabemasken oder Menues sehr umständlich und verbraucht sehr viel Speicherplatz. Außerdem führt die Ausgabe von Grafikzeichen mit Hilfe von ?CHR$ zu unübersichtlichen Programmen. Der PAGE-Befehl benutzt ein anderes Verfahren, Texte für Eingabemasken oder Hilfsfenster werden mit einem speziellen Texteditor geschrieben und dann als Textcode gespeichert. Dieser Code muß vom eigenen BASIC-Programm geladen werden und kann dann mit Hilfe des PAGE-Befehls ausgegeben werden. Die PAGE-Textausgabe ist weitgehend unabhängig von der normalen Textausgabe. Es können weiterhin alle Möglichkeiten des PRINT-Befehls genutzt werden (einschließlich Hardwarescrolling). Die Ausgabegeschwindigkeit des PAGE-Befehls ist mit 0. 42 s/2000 Zeichen mindestens 7 mal schneller als die normale Bildschirmausgabe. Der maximale Speicherbedarf für einen Textbildschirm beträgt 2000 Bytes. Dieser Speicherbedarf kann noch verringert werden, da PAGE spezielle Steuercodes für Linefeed, TAB-Kommando und eine Stringfunktion enthält. Durch konsequente Anwendung dieser Steuercodes kann der Speicherbedarf für übersichtlich geschriebene Fenster erheb- Außer den zur Textkomprimierung dienenden Steuercodes kennt PAGE auch Codes, die die Darstellungsart der Buchstaben verändern, Durch entsprechende Steuercodes sind Normalschrift, Inversdarstellung, Fettschrift, Kursivschrift, Unterstreichen, Blockgrafikzeichen und maskierte Darstellung in einem Fenster möglich. Die Darstellung von verschiedenen Schriftarten ist durch die Verwendung der Zeichematrixtabelle im ROM und einer zweiten im RAM möglich. Der Speicherbereich der Tabelle im RAM beginnt bei &9FFC. Anwendung der BASIC-Erweiterung a) Der Pageeditor
1. Hauptmenue des Editors: Nach dem Laden des Editors erscheint an der linken oberen Seite des Bildschirms das Hauptmenue. In diesem kann durch Auswahl des gewünschten Menuepunktes, mit Hilfe der Cursortasten, das entsprechende Unterprogramm des Editors aufgerufen werden. 2. Fenster bearbeiten: Bevor ein Fenster bearbeitet werden kann, muß zuvor noch die Größe des Fensters mit Fenster dimensionieren festgelegt werden. Nun kann Fenster bearbeiten ausgewählt werden. Sie können nun mit dem Texteditor Ihr Fenster erstellen. In der Kopfzeile sehen Sie ein Menue, in dem Sie zwischen dem Hauptmenue. der Anzeige der Tasten belegung für Blockgrafikzeichen und dem Hinstellmenue für Schriftarten wählen können. Die Auswahl erfolgt durch Druck auf SHIFT und einer der Horizontalen Cursortasten. Bestätigt wird hier mit COPY, da die ENTER-Tasten die normale Funktion in einer Textverarbeitung übernehmen. Wollen Sie die Schriftart wechseln, so wählen Sie im Sehriftmenue die gewünschte Schriftart aus und bestätigen mit ENTER. Von nun an schreiben Sie in der gewünschten Schrift weiter. 3. Fenster laden: Es können generell nur, vom Programm erzeugte, Editorcodes mit der Extension .PAG geladen werden. Die geladenen Fenster können dann weiterbearbeitet werden. Bei der Frage des Programms nach dem Dateinamen ist dieser ohne Namenserweiterung anzugeben! 4. Fenster normal speichern: Hier können Sie das Fenster als Editorcode oder als ausführbaren Pagecode speichern. Der Pagecode wird hier im unkomprimierten Format gespeichert. Dieser Code kann von eigenen Programmen besser manipuliert werden als komprimierter Pagecode. 5. Fenster komprimiert speichern: Hier wird das Fenster als speicherplatzsparender Pagecode gespeichert. Die Codeoptimierung wird vom Programm vorgenommen. 6. Fenster Statistik: In diesem Unterprogramm wird der Speicherbedarf für komprimierten und unkomprimierten Code ermittelt und ausgegeben. Außerdem werden die jeweiligen Ausführungszeiten der Fenster ausgegeben. 7. Icons zeichnen, laden, saven: Hier können Sie vorhandene Miniaturgrafiken laden oder selber bis zu drei Grafiken entwerfen. Diese »Icons« werden im Eingabemodus durch Druck auf SHIFT F1, F2, F3 gezeichnet. Das Laden und Speichern der Icons geschieht durch entsprechende Abfragen menuegesteuert. b) Benutzung der Befehlserweiterung in BASIC-Programmen: Der Programmcode des PAGE-Befehls ist nicht frei verschiebbar und muß an Adresse 39900 geladen werden (39 kB frei für BASIC!). Der Programmcode ist nicht verschiebbar, da sich das Maschinenprogramm während des Programmablaufes aus Speicherplatzgründen selbst verändert. 1. Befehlssyntax: |PAGE,li,re,ob,un,adr,wi# Mit den ersten vier Parametern wird die Größe des Ausgabefensters festgelegt, entsprechend dem BASIC-Befehl Window. Beim Parameter Adresse muß die Adresse stehen, an der Sie den PAGE-Code geladen haben. Der letzte Parameter ist eine Standardwindownummer (0—7). Dieses Window hat nach Ausführung des PAGE-Befehls die gleiche Größe wie das ausgegebene Fenster. Es müssen grundsätzlich alle Parameter vollständig und logisch richtig angegeben werden. Unlogische Fensterkoordinaten führen zu der Fehlermeldung Improper Argument. Fehlende Parameter zu Operand missing. Ein Beispielprogramm 10 MEMORY 37999 |
|
|