0REM BASIC SYSTEM
1REM UTILITY PROGRAMME
2REM BY ANDREW YORK AGE:14
3REM FOR MODEL B ONLY
5 :*KE
Y10 |L O.|M |L RU.|M
6 MODE7:VDU7
7REM" *** PROGRAMME STARTS HERE ***
9 ONERROR IF ERR=17 THEN SOUND40,19,
9,3: GOTO11 ELSE GOTO 1610
11 VDU26:VDU15:CLS:VDU23,1,0;0;0;0;:*
FX200,0
20PRINTTAB(10,1);CHR$(141);CHR$(131);
"BASIC SYSTEM":PRINTTAB(10,2);CHR$(141);
CHR$(131);"BASIC SYSTEM":PRINTTAB(7,3);C
HR$(134);" By Andrew York 1995" : PRINTT
AB(2,6);CHR$(134);"1) Lock/Unlock a file
or files"
60PRINTTAB(2,7);CHR$(134);"2) Delete/
Rename a file":PRINTTAB(2,8);CHR$(134);"
3) Dump a file" :PRINTTAB(2,9);CHR$(134)
;"4) List all files on a drive":PRINTTAB
(2,10);CHR$(134);"5) Build a !Boot file
in option 4,3"
100PRINTTAB(2,11);CHR$(134);"6) Read a
!BOOT file or make a title":PRINTTAB(2,
12);CHR$(134);"7) Verify Disk":PRINTTAB(
2,13);CHR$(134);"8) Compact Disk":PRINTT
AB(2,14);CHR$(134);"9) Format Disk" :PRI
NTTAB(2,16);CHR$(134);"ESC to return her
e" : PRINTTAB(1,18);" Please enter choic
e"
220 choice$=GET$ : IF choice$="1" THE
N PROCflash(1,6):PROCdrive:GOTO 511
230IF choice$="2" THEN PROCflash(1,7):
PROCsure:PROCdrive:GOTO 682
231IF choice$="3" THEN PROCflash(1,8):
PROCdrive:GOTO 880
232 IF choice$="4" THEN PROCflash(1,9)
:PROCdrive:GOTO 930
233 IF choice$="5" THEN PROCflash(1,10
):PROCsure:PROCdrive:GOTO 1080
235 IF choice$="6" THEN PROCflash(1,11
):PROCdrive:GOTO 1700
236 IF choice$="7" THEN PROCflash(1,12
):PROCsure:PROCdrive:GOTO 1270
237 IF choice$="8" THEN PROCflash(1,13
):PROCsure:PROCdrive:GOTO 1370
238 IF choice$="9" THEN PROCflash(1,14
):PROCsure:PROCdrive:GOTO 1460
239 IF choice$="*" THEN GOTO 1570
299 GOTO 220
300DEFPROCflash(X,Y):PRINTTAB(X,Y);CHR
$(136);CHR$(135): ENDPROC
330DEFPROCdrive: INPUTTAB(1,18);"Enter
your choice of drive: "drive$ : OSCLI"
DR."+drive$ : ENDPROC
361 END
362 DEFPROCsure
364 PRINTTAB(1,18);"
":PRINTTAB(1,18);" Are you sur
e ?":sur$=GET$:IF sur$="Y" OR sur$="y" T
HEN ENDPROC
365 IF sur$="N" OR sur$="n" THEN GOTO7
366 GOTO364: ENDPROC
511 PRINTTAB(1,18);"
":PRINTTAB(1,18);"Do you
wish to lock or unlock?"
540B$=GET$:IF B$="L" OR B$="l" THEN C$
="lock":POOH$="L" : GOTO 580
560IF B$="u" OR B$="U" THEN C$="unlock
":POOH$=" " : GOTO 580
570GOTO 540:END
580PRINTTAB(1,18);"Do you wish to ";C$
;" all files on ":PRINTTAB(1,19);"curren
t drive?" :
590D$=GET$: IF D$="Y" OR D$="y" THEN G
OTO 630
601IF D$="N" OR D$="n" THEN GOTO 651
611GOTO 590:END
630OSCLI"ACCESS :"+drive$+".*.* "+POOH
$
640GOTO7:END
651 PRINTTAB(1,18);"
" : PRINTTAB(1,19);"
"
660INPUTTAB(1,18);" Please enter file:
"file$ : IF file$="" THEN GOTO 66
0
667 OSCLI"ACCESS :"+drive$+"."+file$+"
"+POOH$:GOTO7:END
682PRINTTAB(1,18);"Do you wish to dele
te or rename a file?":rd$=GET$:IF rd$="D
" OR rd$="d" THEN GOTO 686
684IF rd$="R" OR rd$="r" THEN GOTO 104
0
685 GOTO682
686 PRINTTAB(1,18);"Do you wish to del
ete more than one file?"
700e$=GET$:IF e$="Y" OR e$="y" THEN GO
TO 800
720IF e$="n" OR e$="N" THEN 750
730GOTO 700:END
750PRINTTAB(1,18);"
"
760INPUTTAB(1,18);" Please enter file:
"wee$ :IF wee$="" THEN GOTO 760
780OSCLI"DELETE :"+drive$+"."+wee$ : G
OTO7:END
800CLS:VDU132,157,135:PRINT"":VDU132,1
57,135:PRINT" Take note only files that
are":VDU132,157,135:PRINT" unlocke
d are listed":VDU132,157,135:PRINT"":VDU
132,157,135:PRINT" Press 'Y' to delete a
file"
827VDU132,157,135:PRINT" Press 'N' not
to delete a file":PRINT:VDU28,0,24,39,6
:OSCLI"WIPE :"+drive$+".*.*"
830VDU15:PRINT:PRINT" Press <SPACE>
"
850VE$=GET$:IF VE$=" " THEN GOTO7 ELSE
GOTO 850
870END
880 INPUTTAB(1,18);"
"
891INPUTTAB(1,18);" Please enter file:
"pee$ :IF pee$="" THEN GOTO 891
901CLS :VDU132,157,135:PRINT"" :VDU132
,157,135:PRINT" Dumping file '";pee$;"'
on drive '";drive$;"'":VDU132,157,135:PR
INT"":VDU132,157,135:PRINT" <SHIFT>
SCROLLS SCREEN ":VDU132,157,135:PRINT"
":VDU28,0,24,39,6:PRINT:VDU14 : PRINT:
OSCLI"DUMP :"+drive$+"."+pee$: GOTO 830:
END
930CLS:VDU132,157,135:PRINT"":VDU132,1
57,135:PRINT" Listing all files on drive
'";drive$;"'":VDU132,157,135:PRINT"":VD
U132,157,135:PRINT" <SHIFT> SCROLLS
SCREEN ":VDU132,157,135:PRINT" " :VDU13
2,157,135:PRINT" " :VDU28,0,24,39,6:PRIN
T:VDU14:PRINT:OSCLI"INFO :"+drive$+".*.*
"
1020GOTO 830:END
1040REM
1050PRINTTAB(1,18);"
":PRINTTAB(1,18)
;" Enter the file you want":INPUTTAB(1,1
9);" to rename: "ff$ : IF ff$="" TH
EN GOTO 1050
1060 PRINTTAB(1,21);" Enter the new nam
e for":INPUTTAB(1,22);" the file: "gg$
: IF gg$="" THEN GOTO 1060
1062 PRINTCHR$(129); :OSCLI"RENAME "+f
f$+" "+gg$ : GOTO7:END
1080CLS:VDU132,157,135:PRINT"":VDU132,1
57,135:PRINT" Building a !BOOT file in o
ption 4,3":VDU132,157,135:PRINT" on driv
e '";drive$;"'":VDU132,157,135:PRINT"":V
DU132,157,135:PRINT" PRESS ESCAPE TO FIN
ISH":PRINT:VDU28,0,24,39,6:OSCLI"OPT4,3"
:OSCLI"BUILD :"+drive$+".!BOOT" : END
1200
1210CLS:VDU132,157,135:PRINT"":VDU132,1
57,135:PRINT" Listing a !BOOT file on dr
ive '";drive$;"'":VDU132,157,135:PRINT""
:VDU132,157,135:PRINT" PRESS ESCAPE TO L
EAVE.SHIFT SCROLLS":VDU132,157,135:PRINT
"":PRINT:VDU28,0,24,39,6: OSCLI"TYPE !BO
OT": GOTO 830:END
1270CLS: VDU132,157,135:PRINT"":VDU132,
157,135:PRINT" Verifying..." :VDU132,
157,135:PRINT"" :VDU132,157,135:PRIN
T" PRESS ESCAPE TO LEAVE.":VDU132,157,13
5:PRINT"":PRINT:VDU28,0,24,39,6:PRINT CH
R$(129); :OSCLI"VERIFY "+drive$:GOTO 83
0:END
1370CLS:VDU132,157,135:PRINT"" :VDU132,
157,135:PRINT" Compacting please wait...
":VDU132,157,135:PRINT"" :PRINT:VDU28,0
,24,39,6:PRINT CHR$(129); : OSCLI"COM
PACT "+drive$ :GOTO 830 :END
1440END
1450
1460*ENABLE
1470CLS:VDU132,157,135:PRINT"" :VDU132
,157,135:PRINT" Formatting a drive..":VD
U132,157,135:PRINT"" :PRINT:VDU28,0,24,3
9,6:PRINT CHR$(129); :OSCLI"ENABLE":OS
CLI"FORM80 "+drive$:GOTO 830:END
1560
1570INPUTTAB(2,20);"*"cammand$
1571 IF cammand$="" THEN GOTO 7
1573 REM *FX18
1574 REM
1580OSCLIcammand$: IF cammand$="ENABLE"
THEN PRINTTAB(2,20);"
":GOTO
1570
1583 *FX200,0
1590 GOTO 830 : END
1610REM ERROR
1620ONERROROFF
1621 VDU7: *FX200,1
1640 PRINTTAB(1,19);"
":PRINTTAB(1,20);"
":
PRINTTAB(1,19); : REPORT
1661 PRINTTAB(1,21);"
":PRINTTAB(0,21);"Press <SPACE>"
1670 K$=GET$: IF K$=" " THEN GOTO 7 ELS
E GOTO 1670
1690END
1700PRINTTAB(1,18);"
":P
RINTTAB(1,18);"Press 'R' to read a !BOOT
file":PRINTTAB(1,19);"or press 'T' to c
reate a title"
1730b$=GET$:IF b$="R" OR b$="r" THEN GO
TO 1210
1750IF b$="T" OR b$="t" THEN GOTO 1800
1760 GOTO 1730:END
1800PRINTTAB(1,18);"
":PRINTTAB(1,19);"
" :PRINT
TAB(1,18);"Enter title for drive '";driv
e$;"'"
1830INPUTTAB(1,19);""title$: IF title$=
"" THEN GOTO 1830 ELSE OSCLI"TITLE "+tit
le$
1850 GOTO7:END