10 REM HIRES-DRUCK =================C64 20 REM WRITTEN BY A. MITTELMEYER 30 REM ================================ 100 POKE56,153:CLR 130 VB=3 140 GB=8 150 VR=7 151 REM ------------------------------- 155 VF=1 160 GOSUB180:GOSUB200:GOSUB230: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 230 FORI=49244TO49293 231 READA:POKEI,A:NEXT:RETURN 232 DATA 120,072,165,001,041,252,133 233 DATA 001,104,096,072,165,001,009 234 DATA 007,133,001,104,088,096,169 235 DATA 224,133,252,160,000,132,251 236 DATA 162,032,032,092,192,177,251 237 DATA 073,255,145,251,200,208,247 238 DATA 230,252,202,208,242,076,102 239 DATA 192 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 GOSUB565:SYS848:RETURN 565 POKE780,0:POKE781,32 570 POKE251,0:POKE252,GH:RETURN 571 REM ---- GRAFIK INVERTIEREN ---- 572 GOSUB565:SYSXXX:RETURN 580 REM ---- GRAFIK LADEN ---- 590 OPEN8,8,8,FI$: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 POKE53281,0:PRINTCHR$(147)CHR$(14)CHR$(5) 1151 PRINTSPC(11)"[195][207][205][205][207][196][207][210][197] [196][201][211][195]" 1155 PRINTSPC(12)"[200]I[210]ES-[196]RUCK" 1160 PRINTSPC(12)"-----------" 1165 PRINTSPC(5)"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]" 1170 PRINTSPC(5)"[221] [199]RAFIK LADEN [221]" 1171 PRINTSPC(5)"[221] [199]RAFIK LADEN ([198]ARBE) [221]" 1172 PRINTSPC(5)"[221] [199]RAFIK SEHEN [221]" 1173 PRINTSPC(5)"[221] [199]RAFIK INVERTIEREN [221]" 1174 PRINTSPC(5)"[221] [212]REIBER LADEN [221]" 1175 PRINTSPC(5)"[221] [196]RUCKEN ("LEFT$(TR$+") ",7)" [221]" 1176 PRINTSPC(5)"[221] [196]IRECTORY [221]" 1177 PRINTSPC(5)"[221] [196]IRECTORY [215]ILDCARD [221]" 1178 PRINTSPC(5)"[221] [212]REIBER AENDERN [221]" 1179 PRINTSPC(5)"[221] [212]REIBER SPEICHERN [221]" 1180 PRINTSPC(5)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]" 1200 POKE1391+MP*40,62 1201 GETA$:IFA$=""THEN1200 1202 POKE1391+MP*40,32 1203 IFA$=""ANDMP<9THENMP=MP+1:GOTO1200 1204 IFA$="[145]"ANDMP>0THENMP=MP-1:GOTO1200 1205 IFA$<>CHR$(13)THEN1200 1210 ONMP+1GOTO1300,1350,1900,1890,1410,1950,1600,1800,2000,2010 1220 END 1300 FG=0 1305 VF=0:HF=1 1306 PRINT:PRINT"? "CHR$(34)GR$CHR$(34); 1307 WAIT198,1:IFPEEK(631)=13THEN1310 1308 POKE211,2:PRINT" "; 1310 POKE211,0:INPUTGR$:FI$=GR$ 1312 GOSUB530:GOSUB560:GOSUB430 1315 GOSUB590:GOSUB530 1320 GETA$:IFA$=""THEN1320 1330 GOSUB480:GOTO1150 1350 FG=1:GOTO1305 1400 GOSUB430:GOSUB571:GOTO1320 1410 PRINTCHR$(147)SPC(13)"[212]REIBER LADEN" 1419 PRINT" [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][178][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]" 1420 PRINT" [221] C1.1","[221] IE0.1 [221]" 1421 PRINT" [221] C1.2","[221] IE0.1R [221]" 1422 PRINT" [221] C1.3","[221] IE0.2 [221]" 1423 PRINT" [221] C2.2","[221] IE0.2R [221]" 1424 PRINT" [221] C2.3","[221] IE2.1 [221]" 1425 PRINT" [221] C3.1","[221] IE2.1R [221]" 1426 PRINT" [221] C3.2","[221] IE2.2 [221]" 1427 PRINT" [221] C3.2R","[221] IE2.2R [221]" 1428 PRINT" [221] E1.1R","[221] IE2.3 [221]" 1429 PRINT" [221] E2.1","[221] IE2.3R [221]" 1430 PRINT" [221] E2.1R","[221] IE2.4 [221]" 1431 PRINT" [221] E2.2","[221] IE2.4R [221]" 1432 PRINT" [221] E2.2R","[221] IE3.1 [221]" 1433 PRINT" [221] E3.1R","[221] IE3.2 [221]" 1434 PRINT" [221] IE1.1","[221] IE3.2R [221]" 1435 PRINT" [221] IE1.2","[221] IE3.3R [221]" 1436 PRINT" [221] IE1.3","[221] IE3.4R [221]" 1437 PRINT" [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][177][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]" 1440 X=0:Y=0 1441 POKE1191+40*Y+17*X,62 1450 GETA$:IFA$=""THEN1450 1451 POKE1191+40*Y+17*X,32 1460 IFA$=""ANDY<16THENY=Y+1:GOTO1441 1461 IFA$="[145]"ANDY>0THENY=Y-1:GOTO1441 1462 IFA$=""ORA$="[157]"THENX=(X+1)AND1:GOTO1441 1463 IFA$=" "THEN1150 1470 IFA$<>CHR$(13)THEN1441 1480 A=1193+40*Y+17*X:FORI=0TO5:POKE1913+I,PEEK(A+I):NEXT 1490 POKE198,1:POKE631,13:INPUTTR$ 1491 OPEN8,8,8,TR$:POKE781,8 1492 SYS65478:GETA$:GETA$:POKE251,0 1493 POKE252,153:POKE781,1:SYS865 1494 SYS65484:CLOSE8:GOTO1150 1600 PRINTCHR$(147); 1601 OPEN8,8,0,"$":GOSUB1610 1605 IFNOTFFTHENGOSUB1820 1606 GOTO1150 1610 FF=0:I=0:GET#8,A$:GET#8,A$:GOTO1650 1620 GET#8,A$ 1630 IFA$=""THENA$=CHR$(0) 1640 RETURN 1650 GET#8,A$ 1660 IFA$=""THEN1730 1670 GET#8,A$ 1680 GOSUB1620:AL=ASC(A$):GOSUB1620 1690 PRINT256*ASC(A$)+AL; 1700 GET#8,A$ 1710 IFA$<>""THENPRINTA$;:GOTO1700 1720 PRINT:I=I+1:IFI<>25THEN1650 1721 GOSUB1820:IFFFTHEN1730 1722 I=1:GOTO1650 1730 CLOSE8:RETURN 1800 PRINT:INPUT"[211]UCHBEGRIFF";FI$:PRINTCHR$(147); 1810 OPEN8,8,0,"$"+FI$:GOSUB1610:GOTO1605 1820 X=0 1822 A=PEEK(1028+40*X):POKE1028+40*X,62 1825 GETA$:IFA$=""THEN1825 1826 POKE1028+40*X,A 1830 IFA$=""ANDX<>23THENX=X+1:GOTO1822 1840 IFA$="[145]"ANDX<>0THENX=X-1:GOTO1822 1850 IFA$=" "THENRETURN 1860 IFA$<>CHR$(13)THEN1822 1861 AD=1029+40*X 1870 FORI=1TO18:POKE1989+I,PEEK(AD+I):NEXT 1871 POKE211,0:POKE214,24:SYS58732 1880 POKE198,1:POKE631,13:INPUTGR$:FF=-1:RETURN 1890 SYS49264 1900 GOSUB430 1910 GETA$:IFA$=""THEN1910 1920 GOSUB480:PRINTCHR$(14);:GOTO1200 1950 GOSUB430:SYS39168:GOTO1920 2000 O=0:A=0:PRINT:INPUT"[207]FFSET,[194]YTE";O,A 2001 IFO OR ATHENPOKE39168+(OAND255),A 2002 GOTO1150 2010 PRINT:INPUT"[212]REIBERNAME";FI$ 2011 OPEN8,8,8,FI$+",P,W":POKE781,8:SYS65481:PRINTCHR$(0);:POKE251,0 2012 PRINTCHR$(153);:POKE252,153:POKE781,1:SYS890:GOSUB640:GOTO1150 2020 REM =ENDE==HIRES-DRUCK========