home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 48
/
048side1.d81
/
utilizer
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-26
|
6KB
|
258 lines
10 poke53280,.:poke53281,.:print"[147]":sys65511:poke650,128
20 open2,8,15:print"[147]":goto430
30 rem
40 rem ----- directory -----
50 rem
60 print"[147]":open1,8,0,"$0"
70 print"[208]ress [158][211][208][193][195][197] [194][193][210][146] to abort listing."
80 print""
90 pp=1
100 get#1,a$,b$
110 get#1,a$,b$
120 get#1,a$,b$
130 c=0
140 ifa$<>""then c=asc(a$)
150 ifb$<>""then c=c+asc(b$)*256
160 ifc<10thenprint"0";
170 printmid$(str$(c),2);tab(3);
180 get#1,b$:ifst<>0then280
190 ifb$<>chr$(34)then180
200 get#1,b$:ifb$<>chr$(34)thenprintb$;:goto200
210 get#1,b$:ifb$=chr$(32)then210
220 printtab(18):c$=""
230 c$=c$+b$:get#1,b$:ifb$<>""then230
240 print:print"[145]"left$(c$,3)
250 ifpp=1thenprint:pp=0
260 gett$:ift$<>""thengoto290
270 ifst=0then110
280 print" blocks free"
290 close1:print"[208]ress [158][210][197][212][213][210][206][146]":pp=0
300 getr$:ifr$<>chr$(13)then300
310 goto650
320 rem
330 rem ----- drive status -----
340 rem
350 print""
360 get#2,a$:printtab(5);a$;:ifa$<>chr$(13)goto360
370 print"[146]"
380 fordl=1to500:next
390 goto650
400 rem
410 rem ----- title screen -----
420 rem
430 poke53280,.:poke53281,.
440 m$="[158] [204][207][193][196][211][212][193][210] [208]resents: ":pl$="":gosub560
450 m$=" [202]ason [205]assey ":pl$="":gosub560
460 m$="[154] [195]harles [194]arney ":pl$=pl$+"":gosub560
470 forx=1to500:next
480 m$="[151] [213][212][201][204][201][218][197][210]! ":pl$=pl$+"":gosub560
490 m$="[151] ([195]) 1988 by [193]uthors ":pl$=pl$+"":gosub560
500 m$=" [208]ress any key to continue ":pl$=pl$+"":gosub560
510 geta$:ifa$=""then510
520 print"[147]":goto650
530 rem
540 rem ----- screen effect -----
550 rem
560 l=len(m$):mi=38-l/2:fori=1tolen(m$)-19
570 printpl$spc(mi)left$(m$,i)right$(m$,l-(l-i)):mi=mi-1:next:return
580 ld$="[158][204][207][193][196][211][212][193][210] [208]resents:"
590 forx=1to200:next
600 forx=1tolen(ld$):print""left$(ld$,x):fory=1to100:nexty:nextx:goto450
610 goto650
620 rem
630 rem ----- menu screen -----
640 rem
650 close15:close1:print"[147]"chr$(14)
660 print"[145][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][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
670 print" [159] [178] [178] [146]"
680 print" [221] [221] [212] [201] [204] [201] [218] [197] [210] [146]"
685 print" [173][192][192][192][189] [146]"
690 print"[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][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
700 printtab(10);"[1] [158][196]irectory"
710 printtab(10);"[2] [158][198]ormat a disk"
720 printtab(10);"[3] [158][195]lear a disk"
730 printtab(10);"[4] [158][201]nitialize drive"
740 printtab(10);"[5] [158][214]alidate a disk"
750 printtab(10);"[6] [158][211]cratch a file"
760 printtab(10);"[7] [158][210]ename a file"
770 printtab(10);"[8] [158][195]hange disk name"
780 printtab(10);"[9] [158][196]isk status"
790 printtab(10);"[[193]] [158][195]hange border color"
800 printtab(10);"[[194]] [158][195]hange screen color"
810 printtab(10);"[[195]] [158][207]riginal border color"
820 printtab(10);"[[196]] [158][207]riginal screen color"
830 printtab(10);"[[197]] [158][196]isplay title screen"
840 printtab(10);"[[209]] [158][209]uit program"
850 getc$:ifc$=""then850
860 ifc$="1"then60
870 ifc$="2"then1050
880 ifc$="3"then1620
890 ifc$="4"then1200
900 ifc$="5"then1260
910 ifc$="6"then1480
920 ifc$="7"then1350
930 ifc$="8"then1770
940 ifc$="9"then350
950 ifc$="a"thenq=q+1:poke53280,q:ifq=255thenq=0
960 ifc$="q"then2290
970 ifc$="b"theny=y+1:poke53281,y:ify=255theny=0
980 ifc$="c"thenpoke53280,.
990 ifc$="d"thenpoke53281,.
1000 ifc$="e"thenprint"[147]":goto430
1010 goto850
1020 rem
1030 rem ----- format a disk -----
1040 rem
1050 print"[147]"
1060 printtab(5);"[208]lease [201]nsert [196]isk [212]o [198]ormat"
1070 printtab(5);"[163][163][163][163][163][163] [163][163][163][163][163][163] [163][163][163][163][160][163][163] [163][163][163][163][163][163]"
1080 print"[206]ame of disk: ";:gosub2470:n$=a$
1090 ifn$=""then650
1100 print"[197]nter id of disk: ";:gosub2470:v$=a$
1110 print"[193]re you sure: ";:gosub2470:ifa$="n"then650
1120 print"[196]isk being formatted...."
1130 print"[196]isk name: ";n$:print"[196]isk id: ";v$
1140 print"[198]ormat time: 1 minute and 20 seconds..."
1150 open15,8,15:print#15,"n0:";n$;",";v$;",8,1":close15
1160 gosub2420:n$="":goto650
1170 rem
1180 rem ----- initialize drive -----
1190 rem
1200 print"[147]"
1210 printtab(10):print"[201]nitializing [196]rive!"
1220 open15,8,15,"i":close15:gosub2430:goto650
1230 rem
1240 rem ----- validate a disk -----
1250 rem
1260 print"[147]":printtab(4);"[208]lease [201]nsert [196]isk [212]o [214]alidate"
1270 printtab(4);"[163][163][163][163][163][163][160][163][163][163][163][163][163] [163][163][163][163] [163][163] [163][163][163][163][163][163][163][163]"
1280 printtab(5);" [208]ress [158][210][197][212][213][210][206][146] when ready"
1290 getr$:ifr$<>chr$(13)then1290
1300 print" [214]alidating disk."
1310 open15,8,15,"v":close15:gosub2430:goto650
1320 rem
1330 rem ----- rename a file -----
1340 rem
1350 print"[147]"
1360 printtab(11);"[210]ename [198]ile"
1370 printtab(11);"<<<<<->>>>>"
1380 printtab(3);"[207]ld name: ";:gosub2470:s$=a$
1390 ifs$=""then650
1400 printtab(3);"[206]ew name: ";:gosub2470:d$=a$
1410 printtab(3);"[193]re you sure:";:gosub2470:ifa$="n"then650
1420 printtab(3);"[210]enaming:";s$;" to ";d$
1430 open15,8,15:print#15,"r0:";d$;"=";s$:close15
1440 goto650
1450 rem
1460 rem ----- scratch a file -----
1470 rem
1480 print"[147]"
1490 printtab(11);"[211]cratch [198]ile"
1500 printtab(11);"[171][179][171][179][171][179][171][179][171][179][171][179]":print
1510 printtab(3);"[198]ile to scratch: ";:gosub2470:w$=a$
1520 ifw$=""then650
1530 printtab(3);"[193]re you sure? (y/n)"
1540 getq$:ifq$<>"y"andq$<>"n"then1540
1550 ifq$="n"then650
1560 print:printtab(3);"[211]cratching: ";w$
1570 open15,8,15:print#15,"s:";w$;",8,1":close15,8,15
1580 w$="":goto650
1590 rem
1600 rem ----- clear a disk -----
1610 rem
1620 print"[147]"
1630 printtab(15);"[195]lear [196]isk"
1640 printtab(15);"*--------*"
1650 printtab(5);"[208]lease [201]nsert [196]isk [212]o [194]e [195]leared!"
1660 print"[196]isk name: ";:gosub2470
1670 n$=a$:ifn$=""then650
1680 print"[193]re you sure? (y/n)"
1690 getq$:ifq$<>"y"andq$<>"n"then1690
1700 ifq$="n"then650
1710 print"[195]learing disk...."
1720 open15,8,15:print#15,"n0:";n$:close15
1730 n$="":goto650
1740 rem
1750 rem ----- change disk name -----
1760 rem
1770 k=0
1780 print"[147]":printtab(10);"[195]hange [196]isk [206]ame"
1790 printtab(10);"[163][183][163][183][163][183][163][183][163][183][163][183][163][183][163][183]"
1800 printtab(6);"[201]nsert [196]isk [212]o [194]e [195]hanged"
1810 printtab(7);"press [158][210][197][212][213][210][206][146] when ready"
1820 get a$:ifa$<>chr$(13) then 1820
1830 printtab(9);"[145][157][157] [200]old [207]n...... "
1840 open15,8,15,"i0"
1850 gosub2190
1860 open1,8,5,"#"
1870 print#15,"u1:5 0 18 0"
1880 print#15,"b-p:5 144"
1890 dn$=""
1900 fork=1to16
1910 get#1,a$:ifa$=""thena$=chr$(0)
1920 dl$=dl$+a$
1930 next
1940 print"[147]"tab(5);"[207]ld [206]ame:"dl$
1950 printtab(5);"[206]ew [206]ame:";:gosub2470:nn$=a$
1960 iflen(nn$)><17goto2030
1970 ifright$(nn$,1)=chr$(160)thennn$=left$(nn$,len(nn$)-1)
1980 printtab(10);"** name too long **"
1990 fordl=1to1000:next
2000 printtab(12);"press [158]return[146]"
2010 geta$:ifa$<>chr$(13)then2010
2020 goto650
2030 print"[195]hange on disk? (y/n):"
2040 getq$:ifq$<>"y"andq$<>"n"then2040
2050 ifq$="n"thenclose1:close15:dl$="":goto650
2060 iflen(nn$)<16thennn$=nn$+chr$(160):goto2060
2070 print#15,"b-p:5 144"
2080 print#1,nn$;
2090 print#15,"u2:5 0 18 0"
2100 gosub2190
2110 print#15,"i0"
2120