10 REM GRAFIK ROUTINEN =============C64 20 REM WRITTEN BY A. MITTELMEYER 30 REM ================================ 130 VB=3 140 GB=8 150 VR=7 151 REM ------------------------------- 155 VF=1 160 GOSUB180:GOSUB200:GOTO1150 180 VH=64*VB+4*VR:GH=64*VB+4*GB 190 VA=256*VH:GA=256*GH:RETURN 200 FORI=828TO1004 201 READA:POKEI,A:NEXT:RETURN 202 DATA120,072,165,001,041,252,133,001 203 DATA104,096,072,165,001,009,003,133 204 DATA001,088,104,096,032,060,003,160 205 DATA000,145,251,200,208,251,230,252 206 DATA202,208,246,240,229,160,000,032 207 DATA207,255,176,222,032,060,003,145 208 DATA251,032,070,003,200,208,240,230 209 DATA252,202,208,235,240,204,160,000 210 DATA032,060,003,177,251,032,070,003 211 DATA032,210,255,200,208,242,230,252 212 DATA202,208,237,096,032,253,174,032 213 DATA235,183,138,032,060,003,160,000 214 DATA145,020,076,070,003,032,253,174 215 DATA032,138,173,032,247,183,032,060 216 DATA003,160,000,177,020,032,070,003 217 DATA168,032,162,179,032,253,174,032 218 DATA139,176,133,073,132,074,165,014 219 DATA076,194,169,032,253,174,032,235 220 DATA183,169,000,056,106,202,016,252 221 DATA160,000,076,060,003,032,199,003 222 DATA017,020,145,020,076,070,003,032 223 DATA199,003,073,255,049,020,076,222 224 DATA003 420 REM ---- GRAFIK AN ---- 430 POKE56576,PEEK(56576)AND252OR(3-VB) 440 POKE53272,16*VR+GB 450 POKE53265,PEEK(53265)OR32:RETURN 470 REM ---- GRAFIK AUS ---- 480 POKE56576,PEEK(56576)AND252OR3 490 POKE53272,21 500 POKE53265,PEEK(53265)AND223:RETURN 520 REM ---- FARBE KLAEREN ---- 530 POKE780,16*VF+HF:POKE781,4 540 POKE251,0:POKE252,VH:SYS848:RETURN 550 REM ---- BILD LOESCHEN ---- 560 POKE780,0:POKE781,32 570 POKE251,0:POKE252,GH:SYS848:RETURN 580 REM ---- GRAFIK LADEN ---- 590 OPEN8,8,8,FI$+",P,R":POKE781,8 600 SYS65478:GETA$:GETA$:POKE251,0 610 IFFG=0THEN630 620 POKE252,VH:POKE781,4:SYS865 630 POKE252,GH:POKE781,32:SYS865 640 SYS65484:CLOSE8:RETURN 645 REM ---- GRAFIK SAVEN ---- 650 OPEN8,8,8,FI$+",P,W":POKE781,8 660 SYS65481:PRINTCHR$(0);:POKE251,0 670 IFFG=0THENPRINT" ";:GOTO700 680 PRINTCHR$(28);:POKE252,VH:POKE781,4 690 SYS890 700 POKE252,GH:POKE781,32:SYS890:GOTO640 710 REM ---- SPEICHERZUGRIFF ---- 720 REM I=SYS912,A,I:REM POKEA,I 730 REM SYS929,A,I:REM I=PEEK(A) 750 REM ---- PIXEL SETZEN ---- 760 SN=INT(X/8):ZN=INT(Y/8) 770 IFFA=1THENSYS912,40*ZN+SN+VA,16*VF+HF 780 AD=312*ZN+Y+8*SN+GA 790 IFLO=0THENSYS985,AD,XAND7:RETURN 800 SYS995,AD,XAND7:RETURN 810 REM ---- LINIE ---- 820 IFABS(Y2-Y1)>ABS(X2-X1)THEN860 830 M=(Y2-Y1)/(X2-X1) 840 FORX=X1TOX2STEPSGN(X2-X1) 850 Y=INT(Y1+(X-X1)*M+.5):GOSUB760:NEXT:RETURN 860 M=(X2-X1)/(Y2-Y1) 870 FORY=Y1TOY2STEPSGN(Y2-Y1) 871 X=INT(X1+(Y-Y1)*M+.5):GOSUB760:NEXT:RETURN 875 REM ---- RECHTECK ---- 880 A=Y2:Y2=Y1:GOSUB820:Y2=A 890 A=X2:X2=X1:GOSUB820:X2=A 900 A=Y1:Y1=Y2:GOSUB820:Y1=A 910 A=X1:X1=X2:GOSUB820:X1=A:RETURN 920 REM ---- KREIS ---- 930 XE=INT(R/SQR(2)+.5) 940 FORKX=0TOXE:KY=INT(SQR(R*R-KX*KX)+.5) 950 GOSUB970:KX=-KX:GOSUB970:KY=-KY 960 GOSUB970:KX=-KX:GOSUB970:NEXT:RETURN 970 X=XM+KX:Y=YM+KY:GOSUB760 980 X=XM+KY:Y=YM+KX:GOTO760 990 REM ---- CURSOR SETZEN ---- 1000 ZZ=40*(YAND248)+(XAND504)+GA:RETURN 1010 XM=160:YM=100:R=50:GOSUB930 1020 GOSUB1000 1030 POKE56334,PEEK(56334)AND254 1040 POKE1,PEEK(1)AND251 1050 FORJ=1TOLEN(TX$) 1060 IFFA=1THENSYS912,(ZZ-GA)/8+VA,16*VF+HF 1070 PRINTCHR$(19)MID$(TX$,J,1); 1080 AD=PEEK(1024)*8+1024*GZ+53248 1090 FORI=0TO7:SYS912,ZZ+I,PEEK(AD+I) 1100 NEXT:ZZ=ZZ+8:NEXT 1110 POKE1,PEEK(1)OR4 1115 POKE56334,PEEK(56334)OR1:RETURN 1120 REM ==================== 1130 REM HAUPTPROGRAMM 1140 REM ==================== 1150 REM HAUPTPROGRAMM AB ZEILE 1150 ERFASSEN.