← ATARImagazin 01 / 1988

Extended Plot

Tipps+Tricks

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