home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 1 / 001.d81 / sectorcorrectr.b (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  3KB  |  89 lines

  1. 10 print"[147] [206][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][205]"
  2. 20 print" [180] sector correcter [167]"
  3. 30 print" [205][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][206]"
  4. 40 print"[213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]"
  5. 50 print"[221]insert disk in drive[221]"
  6. 60 print"[202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]"
  7. 70 print"  then press return[146]"
  8. 80 open50,0:rem open keyboard for input
  9. 90 get#50,k$
  10. 100 ifk$<>chr$(13)then90
  11. 110 close50
  12. 115 print"   initializing disk"
  13. 120 open15,8,15,"i0":input#15,e,m$,tr,se
  14. 130 open5,8,5,"#":rem buffer for directory
  15. 140 if e>19thenprint"disk error# "e:end
  16. 150 print#15,"b-r:"5;0;18;0:rem place directory in buffer
  17. 160 print#15,"b-p:"5;144:rem set pointer to disk name
  18. 170 d$="":forx=144to166:get#5,k$:d$=d$+(chr$(0)+k$):nextx:rem assemble disk name
  19. 180 print"disk name:":print""d$"[146]"
  20. 190 input"test disk   y[146][157][157][157]";k$
  21. 200 ifk$<>"y"thenclose5:close15:goto10
  22. 210 close5:close15:rem  close files
  23. 1001 dk=8:rem disk drive number
  24. 1002 :
  25. 1003 rem    screen format
  26. 1004 :
  27. 1008 dimtr(100):dimse(100):rem track and sector arrays
  28. 1009 print"[147][176][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][174]"
  29. 1010 print"[194]sector test program[194]"
  30. 1012 print"[173][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][189]"
  31. 1020 print"[209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209]"
  32. 1030 print"[209]                   [209]"
  33. 1040 print"[209]                   [209]"
  34. 1050 print"[209]                   [209]"
  35. 1060 print"[209]                   [209]"
  36. 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]"
  37. 2000 :
  38. 2010 rem test sectors and store bad
  39. 2020 rem tracks and sectors in matricies
  40. 2050 open15,dk,15
  41. 2060 print#15,"i"0
  42. 2070 a$="":fori=1to255:a$=a$+chr$(i):next
  43. 2080 open2,dk,2,"#"
  44. 2090 print:print#2,a$;
  45. 2100 t=1:s=0
  46. 2110 print#15,"b-a:"0;t;s
  47. 2120 input#15,e,m$,tr,se
  48. 2130 ife=0then2160
  49. 2140 iftr=0then2240:rem disk is complete
  50. 2150 print#15,"b-a:"0;tr;se:t=tr:s=se
  51. 2160 print#15,"u2:2,"0;t;s
  52. 2170 bl=bl+1:print"[209]blocks tested"bl
  53. 2180 print"[209]track    [157][157][157][157]"t"[157]sector    [157][157][157][157]"s"[145][145]"
  54. 2190 input#15,e,m$,tr,se
  55. 2200 if e=0then2110
  56. 2210 tr(j)=t:se(j)=s:j=j+1:ifj>=100thenprint"this disk has too many bad blocks.":end
  57. 2220 print"[209]bad block:[157][157]",t;s"":print"[209]error # "e"[145][145][145][145]"
  58. 2230 goto2110
  59. 2240 close2
  60. 3220 ifj=0thenprint"no bad blocks!":print#15,"v"0:print"  validating disk":end
  61. 3230 print"[147]there are bad sectors ":print"on this disk."
  62. 3232 print"do not 'bad sector' this ":print"disk if there are any":print"programs on it."
  63. 3234 print"data loss may ":print"be the result!"
  64. 3236 input"'bad sector' fix  n[146][157][157][157]";k$
  65. 3237 ifk$<>"y"thenclose2:print#15,"v":close15:run
  66. 3239 print#15,"v"0:print" validating disk"
  67. 3240 open2,dk,2,"#"
  68. 3250 print"[147]   bad blocks":print"track","sector"
  69. 3260 fori=0toj-1
  70. 3270 print#15,"b-a:";0,tr(i);se(i)
  71. 3280 printtr(i),se(i)
  72. 3290 next
  73. 3295 forx=0to1000:next
  74. 3300 print"[147]"j"bad sectors have ":print"been removed from use."
  75. 3310 print"do not validate  ":print"data may be lost!"
  76. 3320 close2:close15
  77. 3330 open50,0:print"press return":input#50,k$
  78. 3340 close50
  79. 4000 :
  80. 4010 rem  save bad block matrix
  81. 4020 rem  for renew disk program
  82. 4030 :
  83. 4040 print"[147]saving matrix for":print"renew disk program"
  84. 4140 fori=1toj:poke(822+i),tr(i-1):next:rem save bad track matrix in buffer
  85. 4150 fori=1toj:poke(822+i+j),se(i-1):next:rem save bad track matrix in buffer
  86. 4160 poke822,j:rem save size of matricies
  87. 4200 print"matrix stored in ":print"cassette buffer.
  88. 4205 [153]"load the renew   ":[153]"program from ":[153]"disk and run it."
  89.