home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 1
/
001.d81
/
sectorcorrectr.b
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-26
|
3KB
|
89 lines
10 print"[147] [206][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][205]"
20 print" [180] sector correcter [167]"
30 print" [205][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][206]"
40 print"[213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]"
50 print"[221]insert disk in drive[221]"
60 print"[202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]"
70 print" then press return[146]"
80 open50,0:rem open keyboard for input
90 get#50,k$
100 ifk$<>chr$(13)then90
110 close50
115 print" initializing disk"
120 open15,8,15,"i0":input#15,e,m$,tr,se
130 open5,8,5,"#":rem buffer for directory
140 if e>19thenprint"disk error# "e:end
150 print#15,"b-r:"5;0;18;0:rem place directory in buffer
160 print#15,"b-p:"5;144:rem set pointer to disk name
170 d$="":forx=144to166:get#5,k$:d$=d$+(chr$(0)+k$):nextx:rem assemble disk name
180 print"disk name:":print""d$"[146]"
190 input"test disk y[146][157][157][157]";k$
200 ifk$<>"y"thenclose5:close15:goto10
210 close5:close15:rem close files
1001 dk=8:rem disk drive number
1002 :
1003 rem screen format
1004 :
1008 dimtr(100):dimse(100):rem track and sector arrays
1009 print"[147][176][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][174]"
1010 print"[194]sector test program[194]"
1012 print"[173][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][189]"
1020 print"[209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209]"
1030 print"[209] [209]"
1040 print"[209] [209]"
1050 print"[209] [209]"
1060 print"[209] [209]"
1070 print"[209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][145][145][145][145][145][145]"
2000 :
2010 rem test sectors and store bad
2020 rem tracks and sectors in matricies
2050 open15,dk,15
2060 print#15,"i"0
2070 a$="":fori=1to255:a$=a$+chr$(i):next
2080 open2,dk,2,"#"
2090 print:print#2,a$;
2100 t=1:s=0
2110 print#15,"b-a:"0;t;s
2120 input#15,e,m$,tr,se
2130 ife=0then2160
2140 iftr=0then2240:rem disk is complete
2150 print#15,"b-a:"0;tr;se:t=tr:s=se
2160 print#15,"u2:2,"0;t;s
2170 bl=bl+1:print"[209]blocks tested"bl
2180 print"[209]track [157][157][157][157]"t"[157]sector [157][157][157][157]"s"[145][145]"
2190 input#15,e,m$,tr,se
2200 if e=0then2110
2210 tr(j)=t:se(j)=s:j=j+1:ifj>=100thenprint"this disk has too many bad blocks.":end
2220 print"[209]bad block:[157][157]",t;s"":print"[209]error # "e"[145][145][145][145]"
2230 goto2110
2240 close2
3220 ifj=0thenprint"no bad blocks!":print#15,"v"0:print" validating disk":end
3230 print"[147]there are bad sectors ":print"on this disk."
3232 print"do not 'bad sector' this ":print"disk if there are any":print"programs on it."
3234 print"data loss may ":print"be the result!"
3236 input"'bad sector' fix n[146][157][157][157]";k$
3237 ifk$<>"y"thenclose2:print#15,"v":close15:run
3239 print#15,"v"0:print" validating disk"
3240 open2,dk,2,"#"
3250 print"[147] bad blocks":print"track","sector"
3260 fori=0toj-1
3270 print#15,"b-a:";0,tr(i);se(i)
3280 printtr(i),se(i)
3290 next
3295 forx=0to1000:next
3300 print"[147]"j"bad sectors have ":print"been removed from use."
3310 print"do not validate ":print"data may be lost!"
3320 close2:close15
3330 open50,0:print"press return":input#50,k$
3340 close50
4000 :
4010 rem save bad block matrix
4020 rem for renew disk program
4030 :
4040 print"[147]saving matrix for":print"renew disk program"
4140 fori=1toj:poke(822+i),tr(i-1):next:rem save bad track matrix in buffer
4150 fori=1toj:poke(822+i+j),se(i-1):next:rem save bad track matrix in buffer
4160 poke822,j:rem save size of matricies
4200 print"matrix stored in ":print"cassette buffer.
4205 [153]"load the renew ":[153]"program from ":[153]"disk and run it."