mod.PrintTo4Bit

v1.06 23.10.16


PRINT konvertieren
Modul zum Konvertieren von PRINT-Screens

PrintTo4Bit verwandelt die Bildschirmausgabe eines (speziell vorbereiteten) BASIC-Programms in ein Grafikbild oder in die Beschriftung eines im 4Bit-Speicher bereits vorhandenen Bildes.

Diese Funktion soll dazu dienen, Blockgrafikbilder, in BASIC programmierte Bedienungsoberflächen oder Spiele-Bildschirme (die sich allerdings auf PRINT-bare Zeichen beschränken müssen) auf relativ einfache Weise für eine Begutachtung bei der Programmentwicklung oder bei der Veröffentlichung von Informationsmaterial zur Verfügung zu stellen.

Damit GoDot die Screen-Ausgabe eines BASIC-Programms bearbeiten kann, muss das Programm auf die PRINT-Ausgabe reduziert werden. Es darf ausschließlich aus PRINT-Anweisungen mit nachfolgenden Textkonstanten (Text in Anführungszeichen) bestehen. Die Textkonstanten dürfen dabei beliebige Bildschirmsteuerzeichen zur Positionierung der Schrift oder zur Farbgebung enthalten. Beispiel:

100 PRINT "Dies ist ein Beispiel."
110 PRINT ""
120 PRINT "Dies steht zwei Zeilen tiefer."

Der Text wird genauso in die Grafik "geschrieben", wie der BASIC-Interpreter das Programm ausführen würde. Bitte beachten, dass eine leere Zeile hier aus einem PRINT mit nachfolgendem doppeltem Anführungszeichen besteht (wenn nicht entsprechende Steuerzeichen verwendet werden sollen). Ein Semikolon am Ende einer PRINT-Anweisung verhält sich genauso wie in BASIC (der Cursor bleibt in der Zeile).

Für besondere Fälle haben wir die REM-Anweisung mit zusätzlichen Features versehen, z.B. um das Zeichen in der rechten unteren Ecke (das man sonst mit POKE setzen müsste) zu erreichen (s. Beispiel 2). Das geht wie folgt:

Nach einem REM und folgendem Anführungszeichen setzt man zuerst drei Ziffern, die sich so verstehen:

Ziffer 1

Ausrichtung

0 = linksbündig (Vorgabe)
1 = rechtsbündig
2 = zentriert

Ziffer 2

Vordergrundfarbe

0 bis f (Vorgabe: 1 = weiß)

Ziffer 3

Hintergrundfarbe

0 bis f (Vorgabe: transparent)
(transparent: alles außer 0 bis f, z.B. "t")

Darauf folgt ein Doppelpunkt. Er hat den Zweck, die Codes optisch vom Text zu trennen. Damit GoDot weiß, in welche Bildschirmzeile der Text hinter REM geschrieben werden soll, nimmt es dazu die BASIC-Zeilennummer her. Für eine Ausgabe in Zeile 24 (unterste Zeile), ganz rechts (die Stelle, die von PRINT nicht erreicht werden kann, ohne den Bildschirm zu verschieben), schreibt man also:

24 REM"1e6:*"

Dies erzeugt einen hellblauen Stern auf dunkelblauem Hintergrund in der rechten unteren Ecke.


Zur Bedienung des Modul-Requesters:

Zuerst ein BASIC-Programm wie beschrieben vorbereiten und auf einen Datenträger (z.B. Diskette) speichern.

Hinweise: Die Einstellung Multi wirkt nicht auf die Angaben bei REM. PRINT und REM können im Basicprogramm beliebig gemischt auftreten. Der GoDot-Bildschirm wird bei PRINT neu aufgebaut und der Fortschritt der Bearbeitung durch hellblaue Punkte markiert.


Beispiele:

Zuerst ganze Bilder: Replace...

Programm
Beispiel 1: Dieses BASIC-Programm war einmal 2. Sieger in einem Blockgrafikwettbewerb des 64'er
Magazins. Ein paar SPC-Kommandos mussten für PrintTo4Bit in Folgen von Spaces umgewandelt
werden. Vorher sah der Code ähnlich unübersichtlich aus wie das Programm zum zweiten Beispiel.
Anzeige
Und dies kommt mit PrintTo4Bit dabei heraus: exakt wie das Original, nur als Hires-Grafik.

...und Overlay

Programm
Beispiel 2: Der erste Preis sah als Programm so aus.
Anzeige
Und als Bild genau wie hier, in GoDot. Beachten Sie die REM-Zeile, sie füllt das 1000. Byte rechts unten.
Für dieses Bild wurde der 4Bit-Speicher zunächst mit Weiß gelöscht (ClipWorks/ClrClp) und das BASIC-
Programm dann als Overlay geladen.

Dann Beschriftungen: Multi...

Zeichensatz

Programm
Beispiel 3: Dieses Programm schreibt den Text "GODOT" im
2x2-Multicolor-Zeichensatz "Chrome" von Subchrist unten rechts
in die Ecke des Bildes.
Ergebnis
Beschriftet! (Dies ist ein AFLI-Bild aus dem Demo "Recycle" von Focus, hier von GoDot gerendert in Multicolor.)

...und Hires

Zeichensatz

Programm
Beispiel 4: "FRANQUIN" (der Urheber) und "GASTON" (der Name
des Bildes) im 2x2-Hires-Zeichensatz "Broadway" von Subchrist
sollen unten ins Bild geschrieben werden.
Ergebnis
Ebenfalls beschriftet! (Dies ist ein Art-Studio-Bild, gerendert in Hires.)

Tipps:

· Bei 2×2-Zeichensätzen (wie in Beispiel 3 und 4) ist das Leerzeichen meistens anderweitig belegt und sollte (wenn der Buchstabe "H", zu dem es dann meistens gehört, nicht gebraucht wird) vor dem Auslösen von Replace bzw. Overlay im Zeichensatz gelöscht werden. Dazu muss man das PrintTo4Bit verlassen und EditMask aufrufen, dort mit CTRL + irgendeine leere Kachel aufnehmen, mit CTRL t in die rechte obere Ecke wechseln und viermal CTRL CRSR← eingeben. Zum Schluss den aufgenommenen Puffer mit CTRL - in der linken oberen Kachel "ausgießen". Dies ist die achtletzte Kachel der obersten Kachelzeile, dort steht eigentlich das Leerzeichen, das damit jetzt wirklich leer ist.
· Beim Beschriften im Hires-Modus sollte man darauf achten, dass an der Stelle, an der der Text im Bild eingefügt wird, ein einfarbiger Hintergrund vorherrscht, sonst sieht das Ergebnis wegen der Farbbeschränkungen des C64 weniger gut aus.


zurück - zum Menü für nützliche Kleinigkeiten

Arndt Dettke
support@godot64.de