col
FIXED(15),
zeichen_adr FIXED(31)
) GLOBAL;
BOX: PROC(
(x, y)
FIXED(15),
(Xend, Yend ) FIXED(15),
col
FIXED(15)
) GLOBAL;
BOX_FILLED: PROC(
(x, y)
FIXED(15),
(Xend, Yend ) FIXED(15),
col
FIXED(15)
) GLOBAL;
BOX_MOVE: PROC(
(Xstart, Ystart) FIXED(15),
(Breite, Hoehe ) FIXED(15),
(Xziel,
Yziel ) FIXED(15),
mode
) GLOBAL;
BOX_READ: PROC(
(Xstart, Ystart) FIXED(15),
(Breite, Hoehe ) FIXED(15),
feld STRUCT[ REF CHAR(1) ]
) GLOBAL;
BOX_WRITE: PROC(
(Xstart, Ystart) FIXED(15),
(Breite, Hoehe ) FIXED(15),
mode
feld STRUCT[ REF CHAR(1) ]
) GLOBAL;
y). Die Adresse im ROM wird mit zeichen_adr ange-
geben. Sie hängt von der Größe des auszugebenden
Zeichens ab:
zeichen
Zeichnet einen rechteckigen Rahmen in der Farbe col
mit den diagonalen Punkten (x, y) (linke obere Ecke)
und (Xend, Yend) (rechte, untere Ecke).
Zeichnet ein in der Farbe col gefülltes Rechteck mit
den diagonalen Punkten (x, y) und (Xend, Yend)
Kopiert einen rechteckigen Bildausschnitt von Breite
und Höhe beginnend bei dem Startpunkt (Xstart, Y-
start) auf einen Bildbereich gleicher Größe mit dem
Startpunkt (Xziel, Yziel).
FIXED(15)
Der Zielbereich kann außerhalb des sichtbaren Bild-
schirmbereichs liegen, d.h. Ywidth wird überschritten.
mode legt die Zeichenart fest, im unteren Nibble sind
folgende Werte zulässig:
Dez. hex Art
12
3
8
14
6
Das nächste Nibble legt die Schreibfarbe fest, d.h. für
ein Pixel werden die 4 Bit aus dem Video-RAM entspre-
chend dem unteren Nibble gelesen, mit der Schreibfarbe
„verundet"' und wieder im Video-RAM abgelegt. Wird der
Parameter mode auf absolut (=12) gesetzt, so wird der
original Bildausschnitt an der Zielstelle abgelegt.
Kopiert einen rechteckigen Bildausschnitt mit Breite
und Hoehe beginnend bei dem Startpunkt (Xstart,
Ystart) in den Speicherbereich, der mit feld ange-
geben wird. Dabei findet keine Überprüfung der Größe
des Speicherbereiches statt.
Ist das angegebene feld zu klein, ist der Absturz des
Rechners so gut wie sicher!
Kopiert den Speicherbereich, der mit feld angegeben
wird, auf einen rechteckigen Bildausschnitt von Breite
und Höhe, beginnend bei dem Startpunkt (Xstart, Y-
FIXED(15),
start).
Dabei findet keine Überprüfung der Größe des Spei-
cherbereiches statt. Ist das angegebene feld zu klein,
30/37
xhöhe
*
ybreite
_
adr
8
$0C absolut
$03 not
$08 and
$0E or
$06 exor
7