home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64Toolkit / SFD-DISK-DOCTOR (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  6.1 KB  |  167 lines

  1. 0 DN=8:REM DEVICE #
  2. 2 POKE53280,11:POKE53281,0:DIMA$,I,S$,T$,CC,B,SS,E$,J,TE,A:GOTO78
  3. 4 GETA$:IFA$>""THENPRINT"                                       ";:CC=293:RETURN
  4. 6 IFA$=""THEN252
  5. 8 RETURN
  6. 10 IFI<0THENI=280+I:IFI>255THENI=I-40
  7. 12 IFI>255THENI=I-INT(I/40)*40
  8. 14 PRINT""SPC(10)PEEK(SS+I)"[157]   ":PRINT""SPC(10)I"[157]   "
  9. 16 PRINT"VALUE:     ":PRINT"POSITION:"
  10. 18 FORJ=1TO2:POKEI+SS,(PEEK(I+SS)+128)AND255:FORD=0TO1:NEXTD,J
  11. 20 GOSUB4:IFA$=""THEN18
  12. 22 IFPFTHEN66
  13. 24 IFA$=""THENI=(I+1)AND255:GOTO10
  14. 26 IFA$="[157]"THENI=(I-1)AND255:GOTO10
  15. 28 IFA$="[145]"THENI=I-40:GOTO10
  16. 30 IFA$=""THENI=I+40:GOTO10
  17. 32 IFA$=""THENI=0:GOTO10
  18. 34 IFA$="N"THENT$=STR$(PEEK(SS)):S$=STR$(PEEK(SS+1)):GOTO128
  19. 36 IFA$="J"THENT$=STR$(PEEK(SS+I)):S$=STR$(PEEK(SS+I+1)):GOTO128
  20. 38 IFA$="Q"THENPRINT#15,"I0":RUN
  21. 40 IFA$="+"THENS$=STR$(VAL(S$)+1):GOTO128
  22. 42 IFA$="-"THENS$=STR$((VAL(S$)-1)*SGN(VAL(S$))):GOTO128
  23. 44 IFA$="R"THEN174
  24. 45 IFA$="C"THENCLOSE2:OPEN2,DN,2,"#2":GOTO178
  25. 46 IFA$="B"THEN116
  26. 48 IFA$="T"THENPRINT"":GOSUB218:PRINT"":GOSUB218:GOTO64
  27. 50 IFA$=CHR$(3)THEN74
  28. 52 IFA$<>"@"THEN10
  29. 54 IFI<0THENI=280+I:IFI>255THENI=I-40
  30. 56 IFI>255THENI=I-INT(I/40)*40
  31. 58 PRINT""SPC(10)PEEK(SS+I)"[157]   ":PRINT""SPC(10)I"[157]   "
  32. 60 POKE198,0:PRINT"NEW VALUE: ";:INPUT#9,B$:PRINT
  33. 62 PRINT"[145]"SPC(20)"               ":B=VAL(B$):GOTO166
  34. 64 PRINT"   [208]RESS [[210][197][212][213][210][206]] TO END TEXT MODE":PF=1:GETA$:GOTO10
  35. 66 IFA$=CHR$(13)THENPF=0:PRINT"":GOSUB202:GOTO10
  36. 68 IFA$=""THEN20
  37. 70 B=ASC(A$):GOTO168
  38. 72 PRINT"":GOSUB202:GOTO10
  39. 74 PRINT#15,"I0":PRINT"":IFPEEK(788)=52THENPOKE788,49
  40. 76 END:RUN
  41. 78 A=828:TEM=A:REM FILEREAD
  42. 80 POKE210,INT(A/256):POKE209,A-256*PEEK(210):POKE211,0
  43. 82 PRINT""CHR$(34)CHR$(34)CHR$(20)"[146]B [198][191] [146]@ [164][191]Y[146][184]D[200][208][183][146][204][204][191]"
  44. 84 IFPEEK(788)=49THENPOKE788,52:REM STOP KEY DISABLE
  45. 86 PRINT"[153]";
  46. 88 SS=1024+120:I=0:B=0:J=0
  47. 90 A$="":E$="":T$="":S$=""
  48. 92 PRINT"[147][153][208]LEASE PUT THE [211][201][195][203] [196][201][211][203] IN DRIVE 0."
  49. 94 PRINT"[217]OU SHOULD USE THE [196][207][211] '[214]' COMMAND TO"
  50. 96 PRINT"UPDATE THE [194][193][205] ON THE DISK WHEN DONE."
  51. 98 PRINT"[206]OTE: [196]ISK DEVICE IS"DN"[157].":GOSUB1600
  52. 100 PRINT"[208]RESS [193][206][217] [203][197][217] TO CONTINUE"
  53. 102 GOSUB4:IFA$=""THEN102
  54. 104 GOSUB10021:IFA$=CHR$(3)THEN74
  55. 106 OPEN1,DN,2,"0:[160][160][160],S,R":INPUT#15,E$:IFE$="62"THENCLOSE1:GOTO114
  56. 108 IFE$>"64"THENINPUT#1,E$:PRINT"[147]"E$"  ON DRIVE 0"
  57. 110 IFE$="21"THENGOSUB184
  58. 112 PRINT#15,"I0"
  59. 114 OPEN2,DN,2,"#2":PRINT"[147]"
  60. 116 GOSUB192
  61. 118 PRINT"      [212][210][193][195][203]   "MID$(STR$(VAL(T$)),2)"[160]"
  62. 120 PRINT"      [211][197][195][212][207][210]  "MID$(STR$(VAL(S$)),2)"[160][145][145]
  63. 122 [153]"RIGHT$NPUT (null)(null)ATNLEN(null):  ";:[132]9,T$:[153]:[139]T$[178][199](160)[167]74
  64. 124 [153]"ON     ":[153]"RIGHT$NPUT (null)VALLEN(null)(null)(null): ";:[132]9,S$:[153]:[139]S$[178][199](160)[167]74
  65. 126 [153]"ON     ":T$[178][202]([196]([197](T$)),2):S$[178][202]([196]([197](S$)),2)
  66. 128 [139][197](T$)[178]0[167]116
  67. 130 [153]"                                       "
  68. 132 [153]"                                       "
  69. 134 [153]"                                       "
  70. 136 [152]15,"U1:2,0,"T$","S$:[143] CH2 DR0
  71. 138 [132]15,E1$,E2$,E3$,E4$:[139]E1$[178]"00"[167]156
  72. 140 [141]192:E2$[178]" STR$RIGHT$(null)(null) VAL(null)(null)(null)(null) #"[170]E1$[170]","[170]E2$
  73. 142 [153]"":[129]I[178]1[164][195](E2$):[153]"AND";:[130]:[153]:[153]""E2$
  74. 144 [129]I[178]1[164][195](E2$):[153]"TAB(";:[130]:[153]
  75. 146 [153]"IN (null)(null)ATNLEN(null)"[197](E3$)"CMD, (null)VALLEN(null)(null)(null)"[197](E4$):[139]E1$[178]"66"[167]118
  76. 148 [153]"TRY AGAIN? (CR/N OR Y)"
  77. 150 [161]A$:[139]A$[178]""[167]150
  78. 152 [139]A$[178]"Y"[167]136
  79. 154 [152]15,"I0":[138]
  80. 156 [141]192:[152]15,"B-P:2,0":[143] CH2 POS1
  81. 158 [158]TEM
  82. 160 I[178]0
  83. 162 [153]:[151]198,0
  84. 164 [137]10
  85. 166 [139]B[177]255[176][198](B$)[178]160[167]174
  86. 168 [151]SS[170]I,B:
  87. 170 [152]15,"B-P:2,"[196](I):[152]2,[199](B);
  88. 172 I[178]I[170]1:[137]164
  89. 174 [153]"ATN(null)VAL (null)(null)(null) (null)(null)(null)VAL (N OR Y)"
  90. 176 [161]A$:J[178][171](A$[178]"Y")[171]2[172](A$[178]"N")[171]3[172](A$[178][199](3)):[145]J[137]178,72,74:[137]176
  91. 178 [152]15,"M-W"Z$[199](19)[199](2)[199]([194](SS))[199]([194](SS[170]1))
  92. 180 [152]15,"U2:2,0,"T$","S$
  93. 182 [152]15,"I0":[138]
  94. 184 [153]"NO DISK IN DRIVE 0
  95. 186 PRINT"PLACE DISK IN DRIVE 0, PRESS ANY KEY
  96. 188 [161]A$:[139]A$[178]""[167]188
  97. 190 [142]
  98. 192 [153]"ONORTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN^ORTANTANTANTANTANTANTANTANTAN^ORTANTANTANTANTANTANTANTANTAN^";
  99. 194 [153]"(null)STR$ISK STR$OCTOR 64.0(null)(null)(null)(null)ATNLEN(null):"[201]("   "[170]T$,3)"(null)(null)(null)VALLEN(null)(null)(null):"[201]("  "[170]S$,2)"(null)";
  100. 196 [153]">TANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN>>TANTANTANTANTANTANTANTANTAN>>TANTANTANTANTANTANTANTANTAN>";
  101. 198 [129]I[178]1[164]8:[153]"                                ";:[130]
  102. 200 [153]"ORTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANEXP"
  103. 202 [153]"PRESS [@] - LENHANGE BYTE UNDER CURSOR  "
  104. 204 [153]"      [(null)] - CHR$O TO (null)WAITEXT BLOCK OF FILE  "
  105. 206 [153]"      [MID$] - MID$WAITUMP TO LINK UNDER CURSOR "
  106. 208 [153]"      [(null)] - (null)WAITUIT                      "
  107. 210 [153]"      [(null)] - (null)WAITEWRITE CURRENT BLOCK     "
  108. 212 [153]"      [PEEK] - (null)EW PEEKWAITLOCK                 "
  109. 214 [153]"      [(null)] - ATNDD (null)WAITEXT STRING           "
  110. 216 [153]"  [+]/[-] - (null)CAN FORWARD/BACKWARD     "
  111. 217 [153]"      [LEN] - LENOPY DISK SECTORS"                           
  112. 218 [129]D[178]1[164]4:[153]"                                        ";:[130]
  113. 220 [129]D[178]217[164]242:[151]D,[194](D)[176]128:[130]:[153]"";
  114. 222 [142]
  115. 224 CV[178]1:CM$[178]"CHR$ET (null)(null)(null)(null)VAL(null), THE ULTIMATE PROGRAM MANIPULATION SYSTEM, AT ":[143]"GOSUBLOAD
  116. 226 CM$=CM$+"YOUR LOCAL DEALER. [201]T ADDS OVER 1100 NEW":REM"[141][147]
  117. 228 CM$[178]CM$[170]" EDITING AND DISK FUNCTIONS. (null)PEND LESS TIME CORRECTING YOUR "
  118. 230 CM$[178]CM$[170]"MISTAKES AND MORE TIME PROGRAMMING.   ":[143]"GOSUBLOAD
  119. 232 CM$=CM$+"[193] [195]OMMODORE 64 WITHOUT [211][217][211][210][197][211] IS ONLY A [195]OMMODORE 63.5!"
  120. 234 RETURN:
  121. 236 CV=2:CM$="**[206][197][215]** FROM [211][207][204][201][196][213][211] [201][206][212][197][210][206][193][212][201][207][206][193][204]...                        "
  122. 238 CM$=CM$+"[211][207][204][201][196][197][216], THE PERSONAL DATA FILER.      ":REM"[141][147]
  123. 240 CM$[178]CM$[170]"(null)TORE NOTES, RECORDS, RECIPES, ETC. ON ELECTRONIC INDEX CARDS. "
  124. 242 CM$[178]CM$[170]"   LEFT$UNDREDS OF USES AROUND THE HOME ":[143]"GOSUBLOAD
  125. 244 CM$=CM$+"AND OFFICE. [211]EE IT AT YOUR LOCAL DEALER."
  126. 246 RETURN:
  127. 248 CV=2:CM$="[212]HIS PROGRAM HAS BEEN RELEASED TO PUBLIC DOMAIN COURTESY OF "
  128. 250 CM$=CM$+"[211]OLIDUS [201]NTERNATIONAL [195]ORPORATION":RETURN:"[141][147]
  129. 252 [139]CC[178]0[167][141]248
  130. 254 [139]CC[177]550[167]CC[178]0:[145]CV[141]236,224
  131. 256 CC[178]CC[170]1:[139]CC[177]292[167][142]:"GOSUBLOAD
  132. 258 PRINT"";
  133. 260 CP=INT(CC)
  134. 262 IFCP<39THENPRINTSPC(39-CP)LEFT$(CM$,CP)"";:RETURN:"[141][147]
  135. 264 [153][200]([200]([202](CM$,CP[171]38),39)[170]"                                      ",39)""
  136. 266 [142]
  137. 1600 [153]"   ORTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN^
  138. 1620 PRINT"   [221]            [211][198][196]-1001           [221]
  139. 1630 [153]"   (null)          STR$ISK STR$OCTOR!         (null)
  140. 1650 PRINT"   [173][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][189]":RETURN
  141. 10000 "[141][147][158]
  142. 10020 "(null)ROGRAM: ""STR$ISK STR$OCTOR 64"
  143. 10021 [137]10123:"
  144. 10025 "
  145. 10030 "ATNUTHOR: STR$ON (null)EKEI
  146. 10035 "
  147. 10036 "
  148. 10040 "[212]HIS PROGRAM IS PROVIDED COURTESY OF:
  149. 10045 "
  150. 10050 "   [211]OLIDUS [201]NTERNATIONAL [195]ORPORATION
  151. 10060 "    (null)UITE #5, 144 (null)EST 15TH (null)TREET
  152. 10070 "         [206]ORTH [214]ANCOUVER, [194].[195].
  153. 10075 "         (null)HONE: (604)984-0477
  154. 10080 "
  155. 10090 "(null)O GET THE (null)ATN(null)RIGHT$(null)(null)(null) USE OUT OF YOUR NEW
  156. 10100 "[195]OMMODORE-64 COMPUTER AND YOUR DISK
  157. 10110 "DRIVE, WE RECOMMEND USING:
  158. 10123 Z$=CHR$(0):REM"[141][145][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][145]
  159. 10124 [159]15,DN,15:[143]"GOSUBONCLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSEON
  160. 10125 OPEN9,0:REM"[141][145][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][145]
  161. 10126 [142]:[143]"GOSUBONCLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSEON
  162. 10130 "[141]             *** [211][217][211][210][197][211] ***
  163. 10135 "
  164. 10140 "  ""[212]HE [213]LTIMATE [208]ROGRAM [205]ANIPULATION
  165. 10150 "  (null)YSTEM FOR LENOMMODORE (null)ICROCOMPUTERS."
  166. 10170 "GOSUBSYS(null)OW AVAILABLE AT YOUR LENOMMODORE DEALER.
  167.