Apple ][ HiRes Grafik

Die beiden hochauflösenden Grafikseiten sind ein wenig aufgepfropft. Die Auflösung sind 0-279 in X-Richtung und 0-191 in Y-Richtung. Es gibt zwei Seiten. Sie befinden sich im Speicher an den Adressen $2000 bis $3FFF und $4000 bis $5FFF und liegen damit mitten in dem Bereich, wo das BASIC seinen Programmcode ablegt.

Die beschriebenen BASIC-Befehle sind nur im Applesoft-BASIC verfügbar. Das ist in allen Rechnern seit dem ][plus vorhanden.

HGRschaltet auf den ersten Grafikbildschirm mit 280x160 Punkten. 4 Zeilen Text bleiben darunter stehen
HGR2schaltet auf den zweiten Grafikbildschirm mit 280x192 Punkten.
HCOLOR=xFarbwahl: 0 bis 7
HPLOT x,yzeichnet einen Punkt an der Stelle x, y.
HPLOT x1,y1 TO x2,y2zieht eine Linie

Der Apple II kennt von Haus aus keine Sprites, sondern arbeitet mit Shapes. Shapes sind Vektorgrafiken. Sie sind zwar längst nicht so schnell wie Sprites, aber sie sind skalierbar.

Ein- und Abschalten

Der Befehl HGR schaltet die erste HiRes-Seite ein und löscht sie. Dabei wird nicht der komplette Bereich der Grafik angezeigt, sondern die letzten vier Zeilen bleiben im Textmodus und scrollen unter der Grafik durch. Der Befehl HGR2 schaltet die zweite HiRes-Seite ein und löscht sie. Hier bleibt kein Textrand stehen. Mit dem Befehl TEXT wird wieder in den Textmodus zurückgeschaltet.

Die HGR-Befehle zerstören alle Informationen, die im Bereich ihrer Grafikseite liegen. Das kann auch grosse BASIC-Programme betreffen!

Farbe

Bevor gezeichnet werden kann, muss eine Farbe ausgewählt werden. Ansonsten erscheint scharze Grafik auf schwarzem Grund.
HCOLOR=1
Die Farben reichen von 0 bis 7. Dabei sind

NrFarbeNrFarbe
0 schwarz 4 schwarz
1 grün 5 rot
2 violett 6 blau
3 weiss 7 weiss

Da sich schwarz und weiss wiederholen, gibt es eigentlich also 6 Farben.

10 HGR
15 HCOLOR=3
16 U=0
20 FOR I=0 TO 100
30 HPLOT I*2+U,0 TO I*2+U,100
40 NEXT
Ist in Zeile 16 U=0, entsteht eine violette Fläche. Ist U=1 wird sie gr&uum;n. Wird HCOLOR=7 wird die Fläche blau (U=0) bzw. rot (U=1). HCOLOR=1 und U=0 ergibt schwarz, bei U=1 allerdings violett. Der Grund für diese Erscheinungen ist, dass die Farben dadurch entstehen, welche der beiden Farben weiss an einer geraden oder ungeraden Position steht. Es reduziert sich die X-Auflösung demnach um die Hälfte, wenn man Farbe verwendet.

Punkte und Linien

HPLOT 2,2
HPLOT 2,2 TO 100,100
Mit HPLOT wird ein einzelner Punkt gezeichnet. Mit HPLOT TO kann eine Linie gezeichnet werden. Der Nullpunkt liegt links oben. Kreise, Rechtecke und Vergleichbares waren im BASIC des Apple II nicht vorgesehen.

Vektorgrafik: Shapes

Wer unter BASIC auf dem Apple Figuren zeichnen will, wird mit den Shapes unterstützt. Im Gegensatz zu den C64-Sprites sind Shapes Vektorgrafiken. Sie sind skalierbar und drehbar. Dafür sind Shapes langsamer und nicht so schön bunt.

Die Y-Zeilen der HiRes Grafik

Man findet auf dem Apple II auch Spiele, die so aussehen, als verwendeten sie Sprites. In diesen Fällen wurden die Sprites einfach an die Stelle bewegt, wo sie auf dem Grafikschirm erscheinen sollten. Die Bestimmung der Y-Position ist aber auf dem Apple II nicht ganz trivial.

Wenn man in Assembler (oder durch POKE in BASIC) den Speicherbereich von $2000 bis $3FFF auffüllt, stellt man fest, dass die zweite Zeile nicht bei $2118 beginnt (das wäre die Anfangsadresse um 280 Punkte erhöht). Die Position der Zeilen zu verstehen, ist wenig sinnvoll, da man eigentlich nur die Anfangsadresse einer Zeile Y wissen will. Dazu gibt es die Funktion HPOSN ($F411), die mit dem Y-Wert im Y-Register aufgerufen wird.

Da auch der Aufruf dieser Funktion relativ lange dauerte, verwendet man eine Tabelle mit den Adressen aller Zeilen und kann so recht schnell auf die entsprechenden Zeilen zugreifen.


Computer-Oldies Apple II Bedienung und Programmierung E-Mail