0 'ZAPPER, by Henry Glover, 72256,2564. See ZAPPER.DOC before using this program. 1 DATA RUNCDS.BA,RUNPOW.BA,KEY2.BA,PWRMNU.BA,POWR.CO,PWRHI.CO,UR-2.,TELCOM.BA,XMDPW6.CO,ADRS.DO 2 GOSUB37:IFFRE(X)<1300THENR=7:GOTO41 3 PRINT@42,"WAIT...":CLEAR600:CALL16959:MAXFILES=2:GOSUB37:DIMA(19),B(18),C(19),L(19),M(19),V(20):F=CHR$(27)+"p":G=CHR$(27)+"q":FORN=0TO18:T=N*11+63930:IFPEEK(T)=0ORPEEK(T)=136THEN5ELSEL=PEEK(T+1)+PEEK(T+2)*256:K=K+1:IFK>17THEN41 4 IFL=65535THEN5ELSEFORS=3TO8:GOSUB38:NEXT:A=A+".":FORS=9TO10:GOSUB38:NEXT:IFRIGHT$(A,1)="O"THENA(Z)=A:L(Z)=L:Z=Z+1ELSEB(Y)=A:M(Y)=L:Y=Y+1 5 A="":NEXT:FORN=0TOY-1:A(Z)=B(N):L(Z)=M(N):Z=Z+1:NEXT 6 V(0)=PEEK(64434)+PEEK(64435)*256:FORX=1TOZ:FORN=0TOZ-1:IFL(N)>V(X)THENV(X)=L(N):Y=N:NEXTELSENEXT 7 M(Y)=L(Y):L(Y)=0:NEXT:FORN=1TOZ:V=V(N-1)-V(N):GOSUB8:NEXT:GOTO9 8 FORX=0TOZ:IFV(N)=M(X)THENM(X)=V:RETURNELSENEXT 9 CLS 10 FORN=0TOZ-1:B(N)="":C(N)="":NEXT:R=1:X=0:Y=0:U=0:K=0:P=0:Q=1:GOSUB20 11 ONERRORGOTO41:K=1:GOSUB21:K=0:R=R-10:PRINT@280,F" All Zap Kill Reverse Start Quit Menu "G:GOSUB23:GOSUB25:W=FRE(X)+I:GOSUB26 12 E=INKEY$:IFE=" "THEN15ELSEIFE="A"ORE="a"THENP=2:GOTO16ELSEIFE="Z"ORE="z"THENP=1:GOTO16ELSEIFE="K"ORE="k"THEN16ELSEIFE="R"ANDN>0ORE="r"ANDN>0THEN13ELSEIFE="S"ORE="s"THEN10ELSEIFE="Q"ORE="q"THEN30ELSEIFE="M"ORE="m"THEN43ELSE12 13 IFP>0THEN29ELSEN=N-1:IFA(N)="ZAPPER.BA"THEN19ELSEGOSUB23:R=R-10:IFT=1THENY=Y-1:B(Y)=""ELSEIFS=1THENX=X-1:C(X)=""ELSE16 14 U=U-M(N):GOSUB25:H=H-M(N):GOSUB27 15 K=0:S=0:T=0:GOSUB21:GOTO19 16 GOSUB23:K=1:S=1:T=0:IFP=1THEN17ELSE18 17 READD:IFA(N)=DTHENRESTORE:GOTO15ELSE17 18 IFA(N)="ZAPPER.BA"THEN15ELSEGOSUB21:GOSUB24 19 N=N+1:IFN=ZTHEN28ELSEIFP>0THEN16ELSE11 20 FORN=0TOZ-1 21 O=LEN(A(N)):L=R:IFK=1THENPRINT@R,F+A(N)SPACE$(9-O)G:R=R+10:RETURN 22 PRINT@R,A(N)SPACE$(9-O):R=R+10:IFQ=1THENNEXT:FORN=1TO20-Z:PRINT@R,"-.-":R=R+10:NEXT:N=0:Q=0:R=1:RETURNELSERETURN 23 D=STR$(M(N)):PRINT@240,RIGHT$(D,LEN(D)-1)SPACE$(6-LEN(D)):RETURN 24 U=U+M(N):GOSUB25:W=FRE(X)+21:GOSUB26:IFRIGHT$(A(N),1)="O"THENT=1:V(Y)=L:B(Y)=A(N):Y=Y+1:RETURNELSEL(X)=L:C(X)=A(N):X=X+1:RETURN 25 PRINT@246,SPACE$(6-LEN(STR$(U)))U"released":RETURN 26 H=W+U+1208:I=14 27 PRINT@264,"Bytes free"STR$(H)SPACE$(6-LEN(STR$(H))):RETURN 28 PRINT@240,"Hit Q":IFP>0THENPRINT@280,FSPACE$(22)GELSEPRINT@280,FSPACE$(14)G 29 E=INKEY$:IFE="R"ORE="r"THEN13ELSEIFE="S"ORE="s"THEN10ELSEIFE="Q"ORE="q"THEN31ELSEIFE="M"ORE="m"THEN43ELSE29 30 GOSUB40:GOSUB21 31 GOSUB40:PRINT@280,F" selected files now being deleted "G:IFY=0THEN32ELSEFORN=0TOY-1:PRINT@V(N),"-.- ":KILLB(N):NEXT 32 IFX=0THEN43ELSEOPEN"X.DO"FOROUTPUTAS1:FORN=0TOX-1:PRINT#1,L(N):PRINT#1,C(N):NEXT:CLOSE 33 GOSUB40:PRINT@200," ":GOSUB37:ONERRORGOTO41:OPEN"X.DO"FORINPUTAS1:OPEN"Y.DO"FOROUTPUTAS2:IFEOF(1)THENKILL"X.DO":KILL"Y.DO":FORN=65450TO65461:POKEN,0:NEXT:GOTO43ELSEINPUT#1,L:INPUT#1,C 34 FORN=1TO19:IFEOF(1)THENKILL"X.DO":NAME"Y.DO"AS"X.DO":PRINT@L,"-.- ":PRINT@160,"":GOSUB36:KILLC 35 INPUT#1,V:INPUT#1,B:PRINT#2,V:PRINT#2,B:NEXT 36 A="RUN33"+CHR$(13):FORR=1TOLEN(A):P=(R-1)*2+65451:POKEP,ASC(MID$(A,R,1)):POKEP+1,0:NEXT:POKE65450,R-1:RETURN 37 DEFSTRA-G:DEFSNGH-Z:RETURN 38 E=CHR$(PEEK(T+S)):IFE=" "THENE="" 39 A=A+E:RETURN 40 PRINT@240,SPACE$(6):RETURN 41 IFERR=4THENRESTORE:RESUME18ELSEIFERR=5THENRESUME33ELSECLS:IFK>17THENPRINT@130,"NEED 2 EMPTY SLOTS"ELSEIFR=7ORERR=7THENPRINT@133,"OUT OF MEMORY"ELSEPRINT@129,"ERROR"ERR"IN LINE"ERL 42 FORN=1TO700:NEXT 43 MENU