home *** CD-ROM | disk | FTP | other *** search
- 100 F=ABS(PEEK(65533)=255):REMF=0IF 64
- 105 IFF=1THENPOKE48,4:POKE47,0:CLR
- 110 SYS10246:R$="TRY"
- 115 POKE53281,0:POKE53280,0
- 120 WD=0:PS=0:BL$=" "
- 125 BL$=BL$+"[157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]":D$=""
- 130 L2$="[155][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]":ZZ=8:PX=57093:POKEPX,0:IF(PEEK(PX)<>0)THEN145
- 135 POKEPX,255:IF(PEEK(PX)<>255)THEN145
- 140 ZZ=2:IF((PEEK(PX-5)AND16)=0)THENZZ=4
- 145 ND=0:U=8:GOSUB415
- 150 U=9:GOSUB415:IFND=2THEN165
- 155 U=10:GOSUB415:IFND=2THEN165
- 160 U=11:GOSUB415
- 165 U=SU:AP$=RIGHT$(STR$(ZZ),2)+" PASSES ":IFND=2THENAP$=" ONE PASS "
- 170 PRINT"[147]"SPC(7)L2$:PRINTSPC(7)"[159] C128 BACKUP 1581 DISK ":PRINTSPC(7)L2$
- 175 PRINT"[159] TO AVOID MISTAKES, SLIDE THE WRITE "
- 180 PRINT" PROTECT TAB ON THE RIGHT SIDE OF "
- 185 PRINT" YOUR ORIGINAL DISK INTO THE OPEN "
- 190 PRINT" POSITION. IT WILL TAKE"AP$
- 195 PRINT" TO BACKUP THE WHOLE DISK. "
- 200 LN$=" "+L2$+"[192][192][192][192][192][192][192][192][192][192][192]":U$="[145][145][145][145][145][145][145][145]"
- 205 PRINT""LN$:PRINTSPC(2)"[159] INSTRUCTIONS:":PRINTLN$""D$
- 210 UU=1:IFU>9THENUU=2
- 215 IFPEEK((null)("280C"))<>0THEN305
- 220 IF ND=0 THEN305
- 225 IFND=2THEN460
- 230 PRINTLN$:PRINT" [159]UNIT:"U SPC(UU)"[159] PASS: 1 [159]R TO RESTART":PRINTLN$"[145][145][145][145]"U$
- 235 GOSUB450:POKE(null)("2811"),U:GOSUB315:SYS(null)("2800")
- 240 GOSUB400:IFA<>0THEN380
- 245 GOSUB315
- 250 SYS(null)("2803")
- 255 GOSUB400:IFA<>0THEN380
- 260 FORPX=0TOZZ-2
- 265 GOSUB315:SYS(null)("2800")
- 270 GOSUB400:IFA<>0THEN380
- 275 GOSUB315:SYS(null)("2803")
- 280 GOSUB400:IFA<>0THEN380
- 285 NEXTPX
- 290 OPEN15,U,15,"I0":CLOSE15
- 295 PRINT""D$D$D$:GOSUB410:PRINTSPC(13)"ALL DONE.":R$="RUN":GOTO385
- 300 POKE48,4:CLR:END
- 305 PRINT""D$D$D$:GOSUB410:PRINTSPC(9)"SORRY, THIS RUNS ON A"
- 310 PRINTSPC(8)"C128 WITH 1581 ONLY.":GOTO385
- 315 IF(PS>1)AND((PSAND1)=0)THENGOSUB405
- 320 AP$="WRIT":DP$="DESTINATION":PS=PS+1
- 325 IF(PSAND1)=1THENDP$="ORIGINAL":AP$="READ"
- 330 AG$=" AGAIN,":IFPS<3THENAG$=","
- 335 IFWD=0THEN AG$=","
- 345 IFPEEK(11226)<>0THEN360
- 350 IF(AP$="WRIT")THEN PRINTSPC(7)"EMPTY BUFFER...":RETURN
- 355 IFPS>1THENPRINTSPC(7)"STILL "AP$"ING THE":PRINTSPC(7)DP$" DISK...":RETURN
- 360 PRINTSPC(7)"INSERT "DP$" DISK"AG$
- 361 PRINTSPC(7)"PRESS ANY KEY WHEN READY."
- 365 GET(null)A$:IFA$="R"THENCLR:GOTO395
- 370 IF(WD=0 AND AP$="WRIT")THENGOSUB435:WD=1
- 375 PRINTSPC(7)AP$"ING...":RETURN
- 380 PRINT""D$D$D$:GOSUB410:PRINTSPC(11)"SORRY, DISK ERROR"
- 385 PRINT:PRINTSPC(7)"PRESS Q TO QUIT; OR PRESS":PRINTSPC(7)"ANY OTHER KEY TO "R$" AGAIN."
- 390 GET(null)A$:IFA$="Q"THENPRINT"[147]":GOTO300
- 395 POKE48,4:POKE50,4:POKE52,4:CLR:RUN
- 400 OPEN15,U,15:INPUT#15,A,B$,C,D:CLOSE15
- 401 IFPEEK((null)("280E"))<>0THENA=78:B$="BACKUP ERROR"
- 402 RETURN
- 405 PRINT""SPC(19)PS/2+1"[145][145][145]"
- 410 PRINTU$;:FORX=1TO8:PRINTBL$"";:NEXTX:PRINT"[145]"U$:RETURN
- 415 B$="":(null)420:OPEN15,U,15:PRINT#15,"M-R"CHR$(198)CHR$(229)CHR$(1):GET#15,B$
- 420 CLOSE15:IFASC(B$)<>255THEN430
- 425 ND=ND+1:DU=U:IFND=1THENSU=U
- 430 RETURN
- 435 OPEN15,U,15,"I0":INPUT#15,A,B$,C,D:CLOSE15:IFA<20THENRETURN
- 440 IFWD=0THENAP$="FORMATT":GOSUB375:PRINT"[145][145]"
- 441 (null)"TEM,"+ID$,U(U):AP$="WRIT":RETURN
- 450 OPEN2,U,0,"$0:":FORX=1TO26:GET#2,A$:NEXT:GET#2,A$,B$:ID$=A$+B$:CLOSE2:RETURN
- 455 REM--------
- 460 PRINTLN$:PRINT" [159]UNIT:"SU"[159]TO"DU"[159] PASS: 1 [159]R TO RESTART":PRINTLN$"[145][145][145][145]"U$
- 465 IF(null)(2)>4 THEN (null)%:(null):(null)&:(null)0
- 470 POKE(null)("281F"),0:WD=1
- 475 POKE(null)("2820"),1
- 480 PRINTSPC(7)"INSERT THE ORIGINAL DISK IN"
- 485 PRINTSPC(7)"UNIT"U"[157]. PUT THE DESTINATION"
- 490 PRINTSPC(7)"DISK IN UNIT"DU"[157]."
- 495 AP$="WORK":PRINT:GOSUB361:PRINT
- 500 GOSUB450:U=DU:GOSUB435
- 505 OPEN 8,SU,15,"I0":GOSUB530:IFA<>0THENCLOSE8:GOTO380
- 506 OPEN9,DU,15:GOSUB535:IFA<>0THENCLOSE9:CLOSE8:GOTO380
- 510 SYS(null)("2809")
- 515 X=PEEK((null)("2810")):Y=PEEK((null)("280E")):Z=PEEK((null)("280F")):Y=Z*256+Y
- 520 IFX>128THENX=X-128:IFY<>0THENCLOSE8:CLOSE9:GOTO380
- 525 CLOSE9:CLOSE8:OPEN9,DU,15,"I0":CLOSE9:GOTO295
- 530 INPUT#8,A,B$,C,D:RETURN
- 535 INPUT#9,A,A$,B$,C$:RETURN
- 540 "##############################"
-