Ein vergröĂerter Grafikschirm unter Turbo-Basic XL
Dieses Hilfsprogramm ermöglicht es, mehr Punkte als bisher auf dem Atari darzustellen. In GRAPHICS 8 stehen dann 320 x 239 Punkte zur VerfĂŒgung. GRAPHICS 15 hat nun eine Auflösung von 160 x 239 Punkten.
Benutzung des Utilitys unter Turbo-Basic XL:
Um GRAPHICS 8+ einzuschalten:
âGRAPHICS 24 : EXEC EXTENDâ.
Um GRAPHICS 15+ einzuschalten:
âGRAPHICS 31 : EXEC EXTENDâ.
Der DRAWTO-Befehl kann nur die Y-Koordinaten 0 bis 191 bearbeiten. Der PLOT-Befehl lautet nun: âX = [XKoord] : Y = [YKoord] : EXEC PLOTâ. FĂŒr die Begriffe in eckigen Klammern sind die entsprechenden Zahlenwerte einzusetzen.
Die Grafikzeilen 192 bis 238 lassen sich nur ĂŒber den neuen PLOT-Befehl bearbeiten. Da je nach Y-Koordinate der Bildschirmanfang verschoben wird, kann es vorkommen, daĂ der DRAWTO-Befehl durcheinandergerĂ€t. Deshalb nach Alternativen suchen. Listing 1 ist die eigentliche Generator-Routine. Hier wird der vergröĂerte Grafikschirm erzeugt. Listing 2 und 3 sind Demo-Programme.
Gehen Sie bei der Eingabe folgendermaĂen vor: Laden Sie Turbo-Basic XL, dann schalten Sie wie gewohnt mit *Lâ die Tabulierung aus. Aktivieren Sie âPSâ ĂŒber BLOAD. Geben Sie Listing 1 ein und speichern Sie es mit »LISTâD:EXTEND.LSTâ« ab. Geben Sie dann Listing 2 ein. Abspeichern mit SAVEâD:BEISP1.TBSâ. Listing 3 bekommt dementsprechend den Namen BEISP2.TBS. Nach Beendigung des Speichervorganges deaktivieren Sie âPSâ. Laden Sie nun Listing 2 von Disk. Geben Sie ENTERâD:EXTEND.LSTâ ein. Dann können Sie mit RUN starten. Listing 3 wird ebenso gestartet. Laden Sie fĂŒrjedes eigene Programm, das den erweiterten Grafikschirm benutzen soll, die Routine âEXTEND.LSTâ mit Hilfe des ENTER-Befehls hinzu.
Listing 1: Grundroutine
11000 PROC EXTEND
11010 POKE 559,%0:DA=$9150:DL=DA+250*40
11020 PW=15-(PEEK(87)=15)
11030 DPOKE 88,DA:CLS #6
11040 DPOKE 560,DL
11050 POKE DL,64+PW:DPOKE DL+%l,DA
11060 FOR I=DL+%3 TO I+95:POKE I,PW:NEXT I
11070 POKE DL+96,64+PW:DPOKE DL+97,DA+ 94*40
11080 FOR I=DL+99 TO DL+195:POKE I,PW: NEXT I
11090 POKE DL+196,64+PW:DPOKE DL+197,D A+197*40
11100 FOR I=DL+199 TO DL+244:POKE I,PW :NEXT I:POKE I,65:POKE 559,34
11110 ENDPROC
11150 --
11200 PROC PLOT
11210 IF Y>191:DPOKE 88,DA+197*40:ELSE :DPOKE 88,DA:ENDIF
11220 PLOT X,Y-192*(Y>191)
11230 ENDPROC
Listing 2: Demo "Sternradâ
10 GRAPHICS 15+16:TRAP 130:EXEC EXTEND
20 DEG :FOR R=59 TO 5 STEP -5
30 FOR W=0 TO 360 STEP 10
40 C=C+1:IF C=4 THEN C=1
50 COLOR C:X=79+C0S(W)*R:Y=119+SIN(W)*R*2:EXEC PLOT:NEXT U
60 NEXT R
70 DO :POKE 710,PEEK(20):POKE 708,255-PEEK(20):POKE 709,PEEK(53770):LOOP
130 ? " EXTEND-UTILITY nicht vorhanden!":? "Bitte mit ENTER âD:EXTEND.LSTâ laden.":END
Listing 3: Demo
10 GRAPHICS 15+16:EXEC EXTEND
11 C=0
20 FOR X=0 TO 159:Q=INT(20*SIN(X/15)):R=SGN(Q):FOR P=1 TO Q STEP R
25 C=C+1:IF C=4 THEN C=0
30 COLOR C:Y=INT(100*SIN(X/15))+P+120
40 EXEC PLOT:NEXT P
50 NEXT X
70 DO :POKE 710,PEEK(20):POKE 708,255-PEEK(20):POKE 709,PEEK(53770):LOOP