10 CLR :GRAPHICS 0:POKE 752,1:POKE 756,209:? " ÍÁÃÈÉÎÅ ÌÁÎÇÕÁÇÅ ÃÏÎÖÅÒÔÅÒ":GOSUB 600:POKE 756,224›20 DIM A$(1),D0$(3),QUOTE(14),RETRN(14)›30 D0$=" ":TRAP 580:GOSUB 740:V=0:OPEN #3,8,0,"D:MLR.LST":LNO=32050:LN=31000:F=0›40 ? :? :? "INPUT STARTING ADDRESS OF CODE":POKE 752,0:GOSUB 590:INPUT S:SO=S:SF=S›50 ? "INPUT FINAL ADDRESS OF CODE":GOSUB 590:INPUT S:FO=S:FF=S:GOSUB 640›60 ? "STORAGE METHOD FOR ROUTINE7":? " ±®ÁÔ ÓÁÍÅ ÁÄÄÒÅÓÓ":? " ²®×ÉÔÈÉΠÁ ÓÔÒÉÎÇ"›70 ? " ³®ÁÔ ÎÅ× ÁÄÄÒÅÓÓ¿"›80 GOSUB 590:? :? "PLEASE TYPE NUMBER PLUS RETURN!":INPUT N›90 IF (N<>1 AND N<>2 AND N<>3) THEN ? "ýWRONG RESPONSE!TRY AGAIN!":GOSUB 600:GOTO 60›100 IF N=3 THEN ? :? "NEW STARTING ADDRESS FOR ROUTINE?":GOSUB 590:INPUT S:SF=S›110 IF N=3 THEN ? "NEW FINAL ADDRESS FOR ROUTINE!":GOSUB 590:INPUT S:FF=S›120 IF N=3 THEN IF FF-SF<>FO-SO THEN ? "ýINCORRECT FINAL ADDRESS! TRY AGAIN!":? :GOTO 110›130 IF N=1 OR N=3 THEN F=1:V=V+1:GOTO 180›140 L=FO-SO+1:GOSUB 680:GOSUB 610›150 ? "DO YOU WISH AN ÁÓÃÉÉ PRINTOUT":? "OF YOUR STRING DATA!":GOSUB 590:INPUT A$›160 IF A$="Y" THEN N=4:? "HIT RETURN WHEN THE PRINTER IS ON!":GOSUB 590:INPUT A$:OPEN #2,8,0,"P:"›170 GOTO 260›180 ? #3;LNO;" DATA ";SF;",";FF:LNO=LNO+10›190 ? #3;LNO;" DATA ";›200 FOR I=0 TO 19›210 IF SO+I=FO+1 THEN POP :IF I THEN ? #3;",";-1:? #3:LNO=LNO+10:GOTO 490›215 IF SO+I=FO+1 THEN IF I=0 THEN ? #3;-1:? #3:LNO=LNO+10:GOTO 490›220 IF I THEN ? #3;",";›230 ? #3;PEEK(SO+I);›240 NEXT I:? #3:LNO=LNO+10:SO=SO+20:GOTO 190›260 IF N=4 THEN ? #2:? #2;"**DATA FOR ";D0$;"**"›270 LS=1:Z=0:W=0:? #3;LN;" DIM ";D0$;"(";L;"):";›280 IF N=4 THEN FOR I=0 TO L-1:? #2;PEEK(SO+I);:IF I0 THEN LF=LS+80-1:L=LR›320 ? #3;D0$;"(";LS;",";LF;")=";:? #3;CHR$(34);:FOR I=LS TO LF›330 IF PEEK(SO+I-1)=34 THEN ? #3;" ";:QUOTE(Z)=I:Z=Z+1:GOTO 360›340 IF PEEK(SO+I-1)=155 THEN ? #3;" ";:RETRN(W)=I:W=W+1:GOTO 360›350 ? #3;CHR$(PEEK(SO+I-1));›360 NEXT I:IF LR>0 THEN LS=LS+80:? #3;CHR$(34):? #3:LN=LN+10:? #3;LN;" ";:GOTO 300›370 ? #3;CHR$(34):? #3:LN=LN+10›380 QT=0:RT=0:FOR X=0 TO 14:IF QUOTE(X) THEN QT=QT+1›390 IF RETRN(X) THEN RT=RT+1›400 NEXT X:IF QT=0 AND RT=0 THEN 490›410 ? #3;LN;"RESTORE ";LN+20:LN=LN+10›420 IF QT THEN ? #3;LN;" FOR X=1 TO ";QT;":READ Z:";D0$;"(Z,Z)=CHR$(34):NEXT X":LN=LN+10›430 IF QT THEN ? #3;LN;" DATA ";:FOR Y=0 TO QT-1:? #3;QUOTE(Y);:IF Y AND Y-1 THEN ?";CHR$(34);"ERROR IN CODE! CHECK DATA STATEMENTS!";CHR$(34);":END"›550 ? #3;"32030 W=W+1:IF W90 OR ASC(D0$(1,1))<65 OR D0$(2,2)="$" OR D0$(3,3)<>"$" THEN GOSUB 750:GOTO 610›630 RETURN ›640 IF SO<1792 THEN RETURN ›645 IF FO>(256*PEEK(106)-1000) THEN ? "ýÉ ÄÏΧԠÈÁÖÅ ÔÈÁÔ ÍÕÃÈ ÍÅÍÏÒÙ¡":POP :GOTO 40›650 BATOP=PEEK(144)+256*PEEK(145):IF BATOP>SO-100 THEN ? "ýÃÁÕÔÉÏΡ THIS PROGRAM MAY HAVE ":GOTO 670›660 RETURN ›670 ? "OVERRUN YOUR CODE! CHECK YOUR RESULTS!":GOSUB 600:RETURN ›680 QT=0:RT=0:FOR I=0 TO L-1:IF PEEK(SO+I)=34 THEN QT=QT+1›690 IF PEEK(SO+I)=155 THEN RT=RT+1›700 NEXT I:IF RT<16 AND QT<16 THEN RETURN ›710 ? "ý×ÁÒÎÉÎÇ¡ ÙÏÕÒ ÃÏÄÅ ÃÏÎÔÁÉÎÓ":? "ÍÏÒÅ ÔÈÁΠ±µ ÁÔÁÓÃÉÉ ÖÁÌÕÅÓ ÆÏÒ":? "ÒÅÔÕÒΠÏÒ ÑÕÏÔÅÓ¡"›720 ? "ÔÈÕÓ É ÃÁÎÎÏÔ ÐÒÏÃÅÓÓ ÉÔ¡":? "ÐÌÅÁÓÅ ÍÁËÅ ÁÎÏÔÈÅÒ ÃÈÏÉÃÅ¡":GOSUB 600:GOSUB 600›730 POP :GOTO 60›740 FOR I=0 TO 14:QUOTE(I)=0:RETRN(I)=0:NEXT I:RETURN ›750 ? "ýWRONG RESPONSE! TRY AGAIN!":RETURN ›