1 :IFMAXRAM>60900THENCLS:PRINT@124,"Powr-Disk needs to be installed":END 3 D$="DIR1 ":F4=1:F5=3:ONERRORGOTO56 5 CLS:C1=1:C2$=" 0 ":C2=VAL(C2$):IFC2>0THENCO=1:EN$="CO":OPEND$FORAPPENDAS1:GOSUB16:GOTO48 6 BANK=PEEK(-1618):BANK$=CHR$(BANK):PRINT@242,"PRESS TO BACK UP ALL FILES";:PRINT@286,"TYPE 'S' TO ELECT FILES"; 7 PRINT@85,"DIRECTORY FILE NAME .DO"::PRINT@104,;:D1$="":INPUTD1$:IFD1$="S"ORD1$="s"THENGOSUB58:YN$="N":GOTO41 8 IFD1$=""THEND1$="DIR"+BANK$:GOSUB54:CL$=BANK$ELSEGOSUB54:YN$="N":GOTO41 9 CLS:PRINT@82,"Just Back-up .DO Files or N?":PRINT@115,;:DO$=INPUT$(1):IFDO$="N"ORDO$="n"THEN10ELSEYN$="N":F4=2:F5=2:GOTO12 10 CLS:PRINT@85,"Do you want to back up .CO files ":PRINT@133," - N ? ";:YN$=INPUT$(1):GOTO12 11 CLS:PRINT@83,"KILL DIRECTORY IN RAM? - or N";:K$=INPUT$(1):RETURN 12 OPEND$FOROUTPUTAS1:PRINT#1,"BANK #"+CL$:PRINT#1,DATE$:PRINT#1,"* BASIC FILES *" 13 CLS:PRINT@130,"Working...":EN$(1)="BA":EN$(2)="DO":EN$(3)="CA":FORI=F4TOF5:EN$=EN$(I):IFI=2THENPRINT#1,"* DO FILES *" 15 GOSUB16:NEXTI:CLOSE1:GOTO41 16 FORM=-1408TO-1639STEP-11:F$="":IFPEEK(M)THENFORN=0TO7:F$=F$+CHR$(PEEK(M+3+N)):NEXTN 17 GOSUB20:IFMID$(F$,7,2)=EN$ANDCO=0THENGOSUB19:ELSEIFPE=160ANDC1>C2ANDCO=1THENC1=C1+1:GOSUB21ELSEIFPE=160THENC1=C1+1 18 NEXTM:RETURN 19 PRINT#1,MID$(F$,1,6)+"."+EN$:RETURN 20 PE=(PEEK(M)AND247):RETURN 21 IFMID$(F$,7,2)<>"CO"THENRETURNELSEGOSUB19:Z=PEEK(M+1)+256*PEEK(M+2):FORJ=0TO2:Z(J)=PEEK(Z+2*J)+256*PEEK(Z+2*J+1):NEXT 22 GOSUB33:IFZ(1)<5THENPRINT@270,Z(1):GOTO24:ELSEPRINT@125,"SAVING "+F$+".CO":PRINT@270,Z(1):KILL":"+F$+".CO" 23 SAVEM":"+F$+"CO":GOTO27 24 GOSUB28:IFF2$="NOTFND"THENF$(J1)=LEFT$(F$,6)+".CO":J1=J1+1:GOTO27 25 F$=":"+F$:PRINT@125,"SAVING "+F$+".CO":KILLF$+".CO" 26 GOSUB39:GOSUB51:CLOSE1:SAVEMF$,TP,ED,EX 27 RETURN 28 FORI=1TO9:READF2$,TP,ED,EX:IFF2$=LEFT$(F$,6)THENI=9 29 NEXT:RETURN 30 DATA"PD-LAP",57564,59527,57564:DATA"PD-MGR",58590,60553,58590:DATA"PWRDSK",60850,62960,60850:DATA"LAPWRD",59675,62960,60561 31 DATA"PD-ERR",60065,62028,60065:DATA"ERROR ",62182,62959,32755:DATA"PD-LUC",59345,61308,59345:DATA"DSKMGR",60700,62959,60700 32 DATA"NOTFND",0,0,0 33 F$=LEFT$(F$,6):TP=Z(0):ED=Z(0)+Z(1):EX=Z(2):RETURN 39 POKE-86,0:B$="RUN"+CHR$(13):FORI=1TOLEN(B$):POKE65449!+2*I,ASC(MID$(B$,I)):POKE65450!+2*I,0:NEXT:POKE65450!,I:RETURN 41 OPEND$FORINPUTAS1:FORI=1TO3:LINEINPUT#1,AF$:NEXTI 42 INPUT#1,AF$:IFAF$="* DO FILES *"THEN45 43 KILL":"+AF$ 44 CLS:PRINT@125,"SAVING "+AF$:SAVEM":"+AF$ 45 IFNOTEOF(1)THEN42 46 IFYN$="N"ORYN$="n"THENGOTO48 47 CLOSE1:OPEND$FORAPPENDAS1:EN$="CO":CO=1:C1=1:GOSUB16:CLOSE1 48 KILL":"+D$+".DO":SAVEM":"+D$+".DO":POKE65450,0:GOSUB11:IFK$="n"ORK$="N"THEN49:ELSEKILLD$+".DO" 49 C1=1:GOSUB51:IFJ1>0THENCLS:PRINT@2,"Failed to Back-up .CO files listed:":FORI=0TOJ1:PRINT@44+40*I,F$(I):NEXT:ELSECLS 50 BEEP:BEEP:BEEP::PRINT@208,"ALL DONE";:END 51 P1=VARPTR(C2$):HB=PEEK(P1+1)+PEEK(P1+2)*256:C3$=STR$(C1-1):FORI=1TO3:POKEHB+I-1,ASC(MID$(C3$+SPACE$(3),I,1)):NEXTI:RETURN 54 P1=VARPTR(D$):HB=PEEK(P1+1)+PEEK(P1+2)*256:FORI=1TO6:POKEHB+I-1,ASC(MID$(D1$+SPACE$(6),I,1)):NEXTI:RETURN 56 IFERR=52ANDERL=43THENRESUME44ELSEIFERR=52ANDERL=44THENPRINT"Can't find file":RESUME45 57 IFERR=52ANDERL=22THENRESUME23ELSEIFERR=52ANDERL=25THENRESUME26ELSEPRINTERL,ERR:END 58 CLS:PRINT@85,"DIRECTORY FILE NAME .DO" 59 PRINT@104,;:INPUTD1$:GOSUB54:OPEND$FOROUTPUTAS1:PRINT#1,D$:PRINT#1,DATE$:PRINT#1,"* BASIC FILES *" 60 IFE1$=".CO"THENCLOSE1:RETURN:ELSEIFE1$=".BA"THENE1$=".DO":PRINT#1,"* DO FILES *":GOTO64 62 IFE1$=".DO"THENE1$=".CA"ELSEIFE1$=".CA"THENE1$=".CO"ELSEE1$=".BA" 64 CLS:FILES:PRINT@242,"FILES TO BACK UP "+E1$:PRINT@258,;:F1$="":INPUTF1$:IFF1$=""THEN60ELSEPRINT#1,F1$+E1$:GOTO64