100 REM SAVE"0:UN-SCRATCH",8: REM ** RTE/85 110 Z$=CHR$(0): CR$=CHR$(13): SC=1: DR=0: REM DIRSEC + DRVNUM 120 PRINT "** DISK FILE UN-SCRATCHER **"CR$"ENTER DRIVE TYPE" 130 PRINT " A) 1541/2031"CR$" B) 2040/4040"CR$" C) 8050/8250" 140 INPUT "YOUR CHOICE ";DT$: IF DT$<"A" OR DT$>"C" THEN 140 150 DT=18: BH=3: IF DT$=>"B" THEN BH=17: IF DT$="C" THEN DT=39 160 OPEN 15,8,15: OPEN 8,8,8,"#0" 170 PRINT#15,"U1:"8;DR;DT;SC: REM READ DIR SECTOR 180 PRINT#15,"M-R"CHR$(0)CHR$(BH)CHR$(2): GET#15,NT$,NS$: REM NEXT TRK/SEC 190 FLAG=1: FOR LK=0 TO 7: PS=LK*32: PRINT#15,"M-R"CHR$(2+PS)CHR$(BH)CHR$(19) 200 GET#15,SB$,FT$,FS$: IF LEN(SB$) OR LEN(FT$)=0 THEN 310 210 PRINT "1ST DATA TRACK"ASC(FT$)"SECTOR"ASC(FS$+Z$) 220 PRINT "FILENAME ";: FOR NAME=1 TO 16: GET#15,N$: PRINT N$;: NEXT 230 PRINT#15,"M-R"CHR$(30+PS)CHR$(BH)CHR$(2): GET#15,L$,H$: REM FILE SIZE 240 PRINT: PRINT "SIZE"ASC(L$+Z$)+256*ASC(H$+Z$)"BLOCK(S)" 250 INPUT "UN-SCRATCH (Y/N) ";US$: IF US$<>"Y" THEN 310: REM * NOPE 260 INPUT "FILE TYPE: S, P, U, R ";FT$: US=0 270 FOR CHK=1 TO 4: IF FT$=MID$("SPUR",CHK,1) THEN US=CHK+128 280 NEXT CHK: IF US=0 THEN 260: REM INCORRECT REPLY 290 PRINT#15,"M-W"CHR$(2+PS)CHR$(BH)CHR$(1)CHR$(US) 300 PRINT "DONE !!": PRINT: FLAG=0 310 NEXT LK 320 IF FLAG THEN 350: REM NO CHANGE IN SECTOR 330 INPUT "WRITE BLOCK TO DISK (Y/N) ";YN$: IF YN$<>"Y" THEN 350 340 PRINT#15,"U2:"8;DR;DT;SC 350 DT=ASC(NT$+Z$): SC=ASC(NS$+Z$): IF DT THEN 170: REM MORE TO GO 360 IF US=0 THEN 390: REM NOTHING TO UN-SCRATCH 370 INPUT "VALIDATE THE DISKETTE (Y/N) ";YN$: IF YN$<>"Y" THEN 390 380 PRINT#15,"V"+STR$(DR): PRINT ">> VALIDATING DISK <<" 390 CLOSE8: CLOSE15: END