10 MODE2:VDU5 20 A=0.1 30 VDU23;8202;0;0;0; 40 PROCstartup 50 CLS 60 PROCdraw(6,320,512,6,100) 70 PROCdraw(5,320,512,2,-100) 80 PROCdraw(6,960,512,2,-100) 90 PROCdraw(5,960,512,6,100) 100 PROCdrawsin(6,640,768,3,100) 110 PROCdrawsin(5,640,768,5,-100) 120 PROCdrawsin(6,640,256,5,-100) 130 PROCdrawsin(5,640,256,3,100) 140 PROCdraw(12,640,512,1,20) 150 PROCdraw(11,640,512,4,-20) 160 SOUND1,-10,50,10 170 A=GET 180 MODE7 190 RUN 200 END 210 DEFPROCdraw(t%,x%,y%,c%,w%) 220 GCOL0,c% 230 MOVEx%,y% 240 FOR T=0 TO t%*PI STEP0.1:R=A*T 250 X=R*COS(T):Y=R*SIN(T) 260 DRAW X*w%+x%,Y*w%+y% 270 NEXT T 280 ENDPROC 290 DEFPROCdrawsin(t%,x%,y%,c%,w%) 300 GCOL0,c% 310 MOVEx%,y% 320 FOR T=0 TO t%*PI STEP0.1:R=A*T 330 Y=R*COS(T):X=R*SIN(T) 340 DRAW X*w%+x%,Y*w%+y% 350 NEXT T 360 ENDPROC 370 DEFPROCstartup 374 VDU4 375 PRINT'''''" SPIRAL MAKER" 376 PRINT''" By Theo Gray" 380 COLOUR5:PRINT'''''"EXAMPLE/MAKE UP OWN/ABORT (E/O/A)" 390 REPEAT 400 A$=GET$ 410 UNTIL A$="E" OR A$="e" OR A$="O" OR A$="o" OR A$="A" OR A$="a" 420 IF A$="E" OR A$="e" THEN ENDPROC ELSE IF A$="O" OR A$="O" THEN PROCown ELSE END 430 VDU5 440 ENDPROC 450 DEFPROCown 460 CLS 470 REPEAT 480 VDU28,0,31,19,27 490 CLS 500 INPUTTAB(0,31)"ENTER COLOUR (1-7) :"C%:CLS 510 INPUTTAB(0,31)"ENTER START X VALUE :"X%:CLS 520 INPUTTAB(0,31)"ENTER START Y VALUE :"Y%:CLS 530 INPUTTAB(0,31)"ENTER NO. OF HALF TURNS:"T%:CLS 540 INPUTTAB(0,31)"ENTER WIDTH OF SPIRAL:"W%:CLS 550 INPUTTAB(0,31)"ENTER PROC. TO USE -NORM. OR OTHER (N/O):"B$:CLS 560 IF B$="O" THEN PROCdrawsin(T%,X%,Y%,C%,W%) ELSE PROCdraw(T%,X%,Y%,C%,W%) 570 INPUTTAB(0,31)"ANOTHER OR START AGAIN (A/S)? "A$ 580 IF A$<>"A" AND A$<>"S" THEN GOTO570 590 IF A$="S" THEN RUN 600 UNTIL 0 610 ENDPROC