10 REM" 'ZARCH'Imitator 20 REM"Archimedes Version By 30 REM" Mark Holton 40 REM" BBC Conversion By 50 REM" Duncan Lilly 60 REM" Released Into The 70 REM" Public Domain 80 REM"12th Of November 1990 90 MODE 7 100 VDU 23,1,0;0;0;0; 110 PRINT SPC(11);CHR$(131);"ZARCH Imitator" 120 PRINT ';CHR$(133);SPC(10);"By Duncan Lilly" 130 PRINT '"Please Wait (15 Seconds)"; 140 V=13:P=0:M=13:G=64:D=0 150 DIM X(V,M),Y(V,M),S(360) 160 FOR S=0 TO 2*PI STEP PI/180 170 PRINT "."; 180 S(D)=SIN(S):D=D+1 190 NEXT 200 FOR B=1 TO M 210 PRINT "."; 220 FOR A=1 TO V 230 X(A,B)=-109+107*(A-A*B/21+B/3) 240 PRINT "."; 250 NEXT:NEXT 260 REPEAT 270 FA=0.15*RND(100) 280 FB=0.15*RND(100) 290 F=FA/5 300 FOR Y=1 TO M 310 D=1 320 FOR X=1 TO V 330 D=D+F 340 Y(X,Y)=27.7*Y+(S(D*FA MOD 360)+S((P+D*FB)MOD 360))*G+50 350 PRINT "."; 360 NEXT 370 P=P+20 380 NEXT 390 MODE 1 400 VDU 19,1,RND(7),0,0,0,0 410 VDU 19,2,RND(7),0,0,0,0 420 GCOL0,2 430 VDU 23,1,0;0;0;0; 440 FOR Y=1 TO M 450 MOVE X(1,Y),Y(1,Y) 460 FOR X=1 TO V 470 PLOT 5,X(X,Y),Y(X,Y) 480 NEXT:NEXT 490 GCOL0,1 500 FOR X=1 TO V 510 MOVE X(X,1),Y(X,1) 520 FOR Y=1 TO M 530 PLOT 5,X(X,Y),Y(X,Y) 540 NEXT:NEXT 550 PRINT TAB(0,0);"Press any key to continue or P to print" 560 G$=GET$ 570 IF G$="P" OR G$="p" THEN PROCprint 580 CLS 590 UNTIL 0 600 : 610 DEF PROCprint 620 PRINT TAB(0,0);"PRINTING...Please Wait (3 Minutes)";SPC(5) 630 VDU2,1,27,1,51,1,24 640 FOR Y%=700 TO 0 STEP -32 650 VDU2,1,27,1,75,1,64,1,1 660 FOR X%=0 TO 1279 STEP 4 670 P%=0 680 FOR N%=0 TO 31 STEP 4 690 P%=P%*2 700 IF POINT(X%,Y%-N%)>0 P%=P%+1 710 NEXT 720 VDU1,P% 730 NEXT 740 VDU 1,10 750 NEXT 760 VDU 3 770 ENDPROC