10 REM MANDELBROT set gernarator 20 REM 30 REM By 40 REM 50 REM Ian T. Roxborough. 60 REM 70 xm=0:ym=0:Mnew=256:C=2.5:A=0:SET%=1:B=0:MODE2:*LOAD S.SCREEN 80 VDU29,512;512;:VDU28,16,31,19,0:PROCAFTER:PROCget_abc:CLG:H=C/640:S%=64:INPUT"Colour set(1/2)"SET%:PRINTSET%:PRINT'" X= ";A," Y= ";B," M= ";C 90 FORY%=-512TO512STEP4:FORX%=-512TO512STEP8:U=A+H*X%:V=B+H*Y%:N%=-1:X=0:Y=0:REPEATY2=Y*Y:X2=X*X:Y=2*X*Y+V:X=X2-Y2+U:N%=N%+1:UNTILN%=S%ORX2+Y2>=4 100 IF INKEY-1 THEN Y%=512:X%=512 110 PRINTTAB(0,0);N%: 120 IF SET%=1 THEN GCOL0,7-(LN(N%)/(LN(2))MOD8)-1 ELSE GCOL0,8-N%/8 130 MOVEX%,Y%:DRAWX%,Y%:NEXT:NEXT 140 GOTO80 150 END 160 PROCsave(S$) 170 DEF PROCAFTER 180 PRINT"Save":PRINT"Zoom":PRINT"Rset":REPEAT 190 REPEAT 200 IF INKEY-82 THEN PROCSAVE 210 IF INKEY-98 THEN ENDPROC 220 IF INKEY-52 THEN RUN 230 UNTIL FALSE 240 ENDPROC 250 DEF PROCsave($&700) 260 LOCAL X%,Y%:Y%=7 270 CALL &FFF7 280 ENDPROC 290 DEF PROCget_abc 300 PROCmag 310 REPEAT 320 IF INKEY-26 AND xm>-512 THEN PROCmag:xm=xm-12:PROCmag 330 IF INKEY-122 AND xm<512 THEN PROCmag:xm=xm+12:PROCmag 340 IF INKEY-42 AND ym>-512 THEN PROCmag:ym=ym-12:PROCmag 350 IF INKEY-58 AND ym<512 THEN PROCmag:ym=ym+12:PROCmag 360 IF INKEY-106 AND Mnew<1024 THEN PROCmag:Mnew=Mnew+12:PROCmag 370 IF INKEY-90 AND Mnew>1 THEN PROCmag:Mnew=Mnew-12:PROCmag 380 UNTIL INKEY-99 390 PROCmag 400 A=((xm/640)*C)+A:B=(ym/512)*C+B 410 C=(Mnew/1024)*C 420 PRINTA B C:REPEATUNTILINKEY-99 430 ENDPROC 440 DEF PROCmag 450 MOVE xm+(Mnew/2),ym-(Mnew/2):PLOT6,xm-(Mnew/2),ym-(Mnew/2):PLOT6,xm-(Mnew/2),ym+(Mnew/2):PLOT6,xm+(Mnew/2),ym+(Mnew/2):PLOT 6,xm+(Mnew/2),ym-(Mnew/2) 460 ENDPROC 470 DEF PROCSAVE 480 REPEAT 490 INPUT"Filename:"n$ 500 ME%=0 510 IF n$="S.SCR" or n$="s.scr" THEN ME%=1 520 UNTIL ME%<>1 530 ME%=0 540 IF n$="" THEN ENDPROC 550 CLS 560 PROCsave(n$) 570 ENDPROC