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