;›PROC DRAW_FRACTAL()› BYTE ATTRACT=77› ATTRACT=0› IF Y>=0 THEN J=JC+ (Y RSH SCREEN_SIZE)› ELSE J=JC- (-Y RSH SCREEN_SIZE)› ENDIF› IF X>=0 THEN XX=Y+((X RSH R1)+CX)› IF J>0 AND J<191 THEN I=IC+(X RSH SCREEN_SIZE)› IF I>0 AND I<319 THEN PLOT(I,J)› ENDIF› ENDIF› ELSE XX=Y+((-X RSH R2)-CX)› IF J>0 AND J<191 THEN I=IC-(-X RSH SCREEN_SIZE) › IF I>0 AND I<319 THEN PLOT(I,J)› ENDIF› ENDIF› ENDIF› Y=(CY-X) Z==+1 X=XX› IF Z=0 THEN Y==-7› ENDIF› IF DEMOMODE=ON THEN COUNT==+1› IF COUNT>15000 THEN KEY=DEMO› ENDIF› ENDIF›RETURN›;›PROC CHANGE_PARAMETERS()› IF KEY=MENUKEY THEN MENU() INITIALIZE_PLOT() › ENDIF› IF KEY=SPACEBAR THEN › IF DISPLAY=OFF THEN DISPLAY=ON› ELSE DISPLAY=OFF› ENDIF› KEY=CLEAR RETURN› ENDIF› IF KEY=SAVE THEN SAVE_FRACTAL() RETURN› ENDIF› IF KEY=LOAD THEN LOAD_FRACTAL() NEW_PARAMETERS() RETURN› ENDIF› IF KEY=DEMO THEN DEMOMODE=ON NEW_PARAMETERS()› ELSE DEMOMODE=OFF› ENDIF› IF KEY=CREATE THEN NEW_PARAMETERS()› ENDIF› IF KEY=LARGER AND SCREEN_SIZE>1 THEN SCREEN_SIZE==-1 › IC=2*IC-162 JC=2*JC-96› ENDIF› IF KEY=SMALLER AND SCREEN_SIZE<8 THEN SCREEN_SIZE==+1› IC=(162+IC)/2 JC=(96+JC)/2› ENDIF› IF KEY=LEFT THEN IC==-10› ENDIF› IF KEY=RIGHT THEN IC==+10› ENDIF› IF KEY=UP THEN JC==-10› ENDIF› IF KEY=DOWN THEN JC==+10› ENDIF› ZERO(SCREEN,7680)› X=0 Y=0 Z=0 COUNT=0› KEY=CLEAR›RETURN›;›PROC HOPDEMO()› SETUP()› MENU()› NEW_PARAMETERS()› BEGIN› WHILE KEY=CLEAR BEGIN› DRAW_FRACTAL()› ENDWHILE› CHANGE_PARAMETERS()› END›RETURN›;›