0 'LOGO Demonstration Copyright 1988 1 G$="?8?0?121830367?7?3?;?;?;?;?3672?8703>1?0????????????????>7813<7>????7>00993<7>7>3<1842????7>18<3<3<381002481<3>71?0?8?84<1<0>6>?6?4>1<0870?????????????????" 3 DATA35,78,35,70,197,205,92,118,33,2,4,205,59,117,62,70,225,87,211,254,6,28,126,35,230,207,7,7,7,7,79,126,35,230,207,129,211,255,5,194,22,254,126,254,34,200,122,198,64,195,17,254 4 CLS:FORX%=-512TO-461:READA:POKEX%,A:NEXT:LINE(105,7)-(134,32),1,B 5 CALL-512,0,VARPTR(G$):LINE(103,5)-(136,34),1,B 6 PRINT@208,"LOGO Turtle Graphics Demo":PRINT@248,"by Neil Wick [71056,613]":FORX=1TO1500:IFINKEY$=""THENNEXT 9 CLEAR1000,HIMEM-256:DEFDBLA-Z:PRINTCHR$(27)"V"; 10 CLS:X=120.5:Y=32.5:TH=0:RD=.017453293:PD=1:PE=1:PRESET(X,Y):GOSUB1000 12 GOSUB2000 15 LINEINPUTA$:GOSUB40:GOTO15 40 GOSUB100 50 A=INSTR(A,A$," "):IFATHENA$=MID$(A$,A+1):GOTO40ELSERETURN 100 A=INSTR(A$," "):IFATHENCM$=LEFT$(A$,A-1)ELSECM$=A$:A=LEN(A$)+1 110 IFCM$="FD"THENDS=VAL(MID$(A$,A)):GOSUB200:RETURN 115 IFCM$="BK"THENDS=VAL(MID$(A$,A)):XD=-XD:YD=-YD:GOSUB200:XD=-XD:YD=-YD:RETURN 120 IFCM$="RT"THENTH=TH+VAL(MID$(A$,A)):GOSUB1000:RETURN 125 IFCM$="LT"THENTH=TH-VAL(MID$(A$,A)):GOSUB1000:RETURN 130 IFCM$="CS"THENCLS:X=120.5:Y=32.5:TH=0:GOSUB1005:PRESET(X,Y):RETURN 135 IFCM$="CLEAN"THENCLS:RETURN 140 IFCM$="HOME"THENGOSUB450:X=120.5:Y=32.5:TH=0:GOSUB1005:LINE-(X,Y),PE:RETURN 150 IFCM$="REPEAT"THENRN=VAL(MID$(A$,A+1)):RA$=MID$(A$,INSTR(A$,"[")+1,INSTR(A$,"]")-1-INSTR(A$,"[")):TA$=MID$(A$,INSTR(A$,"]")+1):GOTO300 160 IFCM$="PU"THENPD=0:RETURNELSEIFCM$="PD"THENPD=1:PE=1:RETURN 165 IFCM$="PE"THENPD=1:PE=0:RETURN 170 IFCM$="SETH"THENTH=VAL(MID$(A$,A)):GOSUB1000:RETURN 175 IFCM$="SETX"THENGOSUB450:X=120.5+VAL(MID$(A$,A)):GOSUB400:IFPDTHENLINE-(X,Y),PE:RETURNELSERETURN 180 IFCM$="SETY"THENGOSUB450:Y=32.5+VAL(MID$(A$,A)):GOSUB400:IFPDTHENLINE-(X,Y),PE:RETURNELSERETURN 195 IFA$="Menu"ORA$="MENU"THENCLEAR256,HIMEM+256:MENU 196 IFPPTHENFORPN=1TOPP:IFCM$=PR$(PN)THENGOSUB500:RETURNELSENEXT 198 IFA$=""THENRETURNELSEPRINT"I DON'T KNOW HOW TO "CM$:A$="":TA$="":A=1:RN=0 199 RETURN 200 GOSUB400 203 IFDS=0THENRETURN 205 IFPDTHENIFPETHENPSET(X,Y)ELSEPRESET(X,Y) 210 DS=DS-1:X=X+XD:Y=Y+YD 220 IFX<0THENX=X+239ELSEIFX>239THENX=X-239 230 IFY<0THENY=Y+63ELSEIFY>63THENY=Y-63 240 GOTO203 300 IFRN=0THENA$=TA$:A=1:RETURN 310 A$=RA$:RN=RN-1:GOSUB40:GOTO300 400 A=INSTR(A+1,A$," "):IFA=0THENA=LEN(A$) 410 RETURN 450 POKE63054,Y:POKE63055,X 460 RETURN 500 TB$=MID$(A$,A):OPEN"PROCS"FORINPUTAS1 510 INPUT#1,A$:IFA$<>""THENGOTO510 515 INPUT#1,PR$:IFMID$(PR$,4)<>CM$THEN510 530 INPUT#1,A$:IFA$<>"END"THENGOSUB40:GOTO530ELSEA$=TB$:A=1:CLOSE:RETURN 1000 GOSUB400 1005 TH=THMOD360:XD=CSNG(SIN(TH*RD)):YD=CSNG(-COS(TH*RD)):RETURN 2000 OPEN"PROCS"FORAPPENDAS1:CLOSE:OPEN"PROCS"FORINPUTAS1:PN=1 2010 IFEOF(1)THENPP=PN-1:CLOSE:RETURN 2020 INPUT#1,A$:IFA$<>""THEN2010 2030 INPUT#1,PR$(PN):IFLEFT$(PR$(PN),3)<>"TO "THENPRINT"FILE STRUCTURE ERROR":STOP 2040 PR$(PN)=MID$(PR$(PN),4):PN=PN+1:GOTO2010