★ APPLICATIONS ★ DIVERS ★ ZEICHENGENERATOR für den SCHNEIDER CPC 464 ★ |
Zeichengenerator (Computer Team) | Applications Divers |
Das Programm bietet einen Befehlssatz, mit dem man komfortabel und doch einfach, alle 256 Zeichen des CPC neu gestalten kann. Im einzelnen sind folgende Möglichkeiten vorhanden:Programmablauf 10 — 100: Initialisierung. Farb-festlegung in Zeile 40. Ferner Dimensionierung der Felder und Definition der CURSOR Zeichen. 110 — 160: Gestaltung der Überschrift, die während des Programmlaufs erhalten bleibt. Aufruf Routine Hauptscreen ab 4030. 1000 — 1480: Hauptschleife mit-Tastaturabfrage für den gesamten Befehlssatz. 1040 — 1150: sind zuständig für die CURSOR-Pfeiltasten, und zwar ohne SHIFT für das einzelne Zeichen, mit SHIFT für den Zeichensatz. 1320: mit [u] Umschalten auf den jeweils anderen Zeichensatz. 1330: mit [ENTER] das fertige Zeichen sichern (SYMBOL). 1340 - 1350: [L] löscht ohne SHIFT das Einzelzeichen, mit SHIFT den Zeichensatz 128 bis 255. 2000 — 2880: sind für Unterroutinen zuständig: 2270 — 2330: berechnen binär die Werte für Spiegelung und rufen zur Ausgabe die benötigten Routinen auf. 2340 -2410: Dto. für das Drehen um 90 Grad. 2420 — 2520:kopieren mit ,,c" ein gewähltes Zeichen in das kleine Fenster. Eingabe erfolgt hexadezimal = Zeilen- und Spaltennummer des großen Fensters. Abschluß der Eingabe mit ENTER. 2530 — 2600: generieren mit einem Trick eine DÄTA-Zeile im Bereich der Zeilen 10000 — 10255. Die zusammengesetzte DATA-Zeile auf Variablen wird auf die kleine ENTER-Taste gelegt, zusammen mit einem „GOTO 2600 + CHR$(18)". Da der CPC bei Programm-Abbruch keine Variablen löscht, ist dieser Trick möglich. Nach einem WINDOW-Swap nimmt das Programm seine Arbeit wieder auf. 2610 — 2690: schreiben die in DATA-Zeilen abgelegten Werte auf Kassette oder Diskette. 2700 — 2760: lesen die Daten von Kassette/Diskette und verzweigen zum Generieren der Zeichen mit dem SYMBOL-Befehl. 2770 — 2820: lesen die Daten aus generierten DÄTA-Zeilen. 2830 — 2880: Verzweigungen zu Unterroutinen je nach Bedarf. 2840 — 2870: legt Positionen für LOCATE, TEST, PLOT fest und verzweigt zu den benötigten Ausgaberoutinen. 2880: wandelt Dezimalwerte in hexadezimale Form um. 3000 — 3240: enthalten die PRINT- und PLOT-Routinen. 3040 — 3060: drucken Zeichen und Cursor im kleinen Fenster im-Transparentmodus. 3070 — 3120: plottet Zeichenpixel an die entsprechenden Stellen. 3130 — 3190: fragen Zeichen im großen Fenster mit TEST ab, setzen daraus in binärer Form die Werte für die Zeichen zusammen, drucken sie als Pixel und geben sie als Dezimalwert neben dem kleinen Fenster aus. 3200 — 3240: definieren das neue Zeichen mit SYMBOL und geben es als ASCII-Wert aus. 4000 — 4180: besorgen den Bildschirmaufbau. 4030 — 4090: bauen Windows auf und färben sie ein. 4100 — 4180: für Texte, Numerierungen und Anfangswerte der CURSOR-Positionen. 5000 — 5260: enthalten die Befehlsliste zur Bedienung. Sie kann jederzeit mit „b“ abgerufen werden. 9000 — 9070: speichern die generierten DATA-Zeilen als ASCII-Datei „DATAZEIL“ auf Kassette oder Diskette ab. Von dort können sie mit „MERGE“ an eigene Programme angehängt werden. 10000 — 10255: enthalten schließlich die generierten DATA-Zeilen. 11000: dient zum Erkennen des Endes beim Einlesen der Daten. Sämtliche im Programm eingefügten REM-Statements werden vom Programm nicht angesprungen und können weggelassen werden. Sie dienen nur der Verständlichkeit und Übersicht. WINDOWS 0: generelles Fenster ohne die Überschrift 1: kleines Fenster für das gewählte Zeichen 2: großes Fenster zur Ausgabe der gesamten Zeichensätze 3: für Ausgabe der dezimalen SYMBOL-Werte 4: für Kommentare und Anweisungen am unteren Bildschirmrand. Variablenliste char: ist der Anfangswert der zwei Zeichensätze, entweder 0 oder 128. Das Wechseln erfolgt durch „ABS(char-128)„. cl,cla: neue und alte ASCII-Werte des aktuellen Zeichens. cl(n,m): SYMBOL-Werte für das Zeichen. z(n,m): Pixelwerte des Zeichens (0 oder 1) z$(n),zl$(n): für SYMBOL-Werte in binärer Form fw: Dualwert für das PLOTTEN der Pixel gl: Flag für Ausgabe in WINDOW 4 xpl,ypl,xl,yl: Positionswerte für Cursor in WINDOW 1 xg,yg,xga,yga: Positionen für den Grafik-CURSOR xy: Relativwert für DRÄWR- und TESTR-Befehl a,b,c: allgemeine Variablen für Schleifen usw. a$,b$,ke$: für INKEY$-Abfrage und Aufbau der Eingaben
|