5 CLS:KEY OFF:SCREEN 0,0,0:WIDTH 80:CLEAR:FOR I=1 TO 10:KEY I,"":NEXT:KEY 2,"GOTO 60"+CHR$(13):KEY 10,"RUN"+CHR$(34)+"BLUEMENU"+CHR$(34)+CHR$(13):LIST 10-57
13 '*****************  DISK HEAD CLEANING PROGRAM *****************************
17 '??????????????????????????????????????????????????????????????????????????
19 '?              DISK HEAD CLEAN PROGRAM WITH DRIVE SELECTION               ?
21 '?                                                                         ?
23 '?     This simple program is a modification of a long-standing public     ?
25 '? domain program. The modification allows selection of different disk     ?
27 '? drives.  When you finish cleaning the second drive, you will receive    ?
29 '? an error message.  The work will already be done at that time.          ?
31 '?                                                                         ?
33 '?     There is some concern that "over cleaning" of the double-sided      ?
35 '? drives can cause premature failure of the upper head. This head is      ?
37 '? a "floater", unlike the lower head which is usually pedestal-mounted.   ?
39 '? Undue friction loads & flexing of the upper head might cause premature  ?
41 '? failure of the small ribbon cable connecting the upper head. Repair     ?
43 '? involves a difficult and precise soldering job. Clean the heads when    ?
45 '? necessary, and not just because you have a cleaning disk available.     ?
47 '? Some individuals prefer careful use of a Q-tip cleaner.  USE CARE!      ?
49 '?                  (c)  G I N A C O    --  1983         Ver 5.2/160/320   ?
51 '??????????????????????????????????????????????????????????????????????????
54 '************ PROGRAM ALLOWS USER TO SELECT DRIVE FOR CLEANING *************
55 '        *****  < F2 > to RUN  *******  < F10 > For BLUEMENU  *****
57 ' ====== To avoid DOCUMENTATION BOX each time, REM or DELETE  line 5 ======
60 FOR I=1 TO 10:KEY I,"":NEXT
100 CLS:SCREEN 0,0,0:WIDTH 80:CLEAR:LOCATE 10,10:PRINT"INSERT HEAD CLEANING DISK IN DESIRED DRIVE":PRINT TAB(10)" A FOR DRIVE A":PRINT TAB(10)" B FOR DRIVE B":PRINT:PRINT TAB(10)"";:INPUT A$:IF ASC(A$)=65 OR ASC(A$)=97 THEN X=1
210 IF ASC(A$)=66 OR ASC(A$)=98 THEN X=2
220 ON X GOTO 230,270
230 FOR Z=1 TO 80:FILES:ON ERROR GOTO 330
260 NEXT Z
270 RESTORE:FOR Z=1 TO 80:FILES"B:*.*":ON ERROR GOTO 330
310 NEXT Z:RESTORE
330 GOTO 100
65000 REM ********************** SAVE ROUTINE *********************************
65100 SAVE"B:HEADCLN.BAS"