home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / enterprs / c128 / util / diskmgr.c64 (.txt) < prev    next >
Commodore BASIC  |  1991-01-05  |  6KB  |  384 lines

  1. 8103 CLR
  2. 8105 CLOSE15
  3. 8107 CLOSE5
  4. 8109 CLOSE1
  5. 8111 FR=FRE(0)
  6. 8114 IF(FR<0)THEN:FR=(FR+65536)
  7. 8128 S=((FR-400)/2)
  8. 8136 AK$=(" [160] [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] "+CHR$(13))
  9. 8181 DIMTE%(S)
  10. 8188 POKE53280,0
  11. 8196 POKE53281,0
  12. 8204 DN$="[158]"
  13. 8228 PRINT"[147]";
  14. 8231 PRINTCHR$(14);
  15. 8234 PRINTCHR$(158);
  16. 8238 PRINT
  17. 8239 PRINT
  18. 8240 PRINT
  19. 8241 PRINTTAB(9)
  20. 8243 PRINT"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
  21. 8269 PRINTTAB(9)
  22. 8271 PRINT"[221]  [212][200][197] [196][201][211][203] [205][193][206][193][199][197][210] [158] [221]"
  23. 8299 PRINTTAB(9)
  24. 8301 PRINT"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
  25. 8327 PRINT
  26. 8328 PRINT
  27. 8329 PRINTAK$
  28. 8331 PRINT" 1 [196]IRECTORY        2 [206]EW [196]ISK"
  29. 8364 PRINT" 3 [201]NITIALIZE       4 [195]OPY [198]ILE ON [196]ISK"
  30. 8406 PRINT" 5 [195]OPY TO [206]EW [196]ISK 6 [210]ENAME [198]ILE"
  31. 8442 PRINT" 7 [196]ELETE A [198]ILE    8 [195]OLLECT [194][193][205]"
  32. 8478 PRINT" 9 [209]UIT TO [194]ASIC    [193] [193][211][195][201][201]-[195][194][205] [195]ONVERT"
  33. 8520 PRINT" [195] [195]OMBINE [198]ILES    [208] [208]RINT [196]ISK [198]ILE"
  34. 8560 PRINT" [211] [211]PLIT [196]ISK [198]ILE  [214] [214]IEW [196]ISK [198]ILE"
  35. 8599 PRINT
  36. 8600 PRINTAK$
  37. 8602 PRINTTAB(12)
  38. 8604 PRINT"-=[  [211]ELECT  ]=-[146]"
  39. 8625 GOSUB9484
  40. 8628 DI$=""
  41. 8630 IF(W$="A")THEN:PRINTW$:GOSUB10468:GOTO8741
  42. 8644 IF(W$="C")THEN:PRINTW$:GOSUB10780:GOTO8741
  43. 8658 IF(W$="P")THEN:PRINTW$:GOSUB10064:GOTO8741
  44. 8672 IF(W$="S")THEN:PRINTW$:GOSUB10169:GOTO8741
  45. 8686 IF(W$="V")THEN:PRINTW$:GOSUB10365:GOTO8741
  46. 8700 IF((W$<"1")OR(W$>"9"))THEN8625
  47. 8712 PRINTW$
  48. 8714 CH=(ASC(W$)-48)
  49. 8720 ONCHGOSUB8744,8945,9036,9119,9509,9193,9264,9302,9495
  50. 8741 GOTO8204
  51. 8744 PRINT"[147][155]"
  52. 8748 PRINTTAB(11)
  53. 8750 PRINT"[196] [201] [210] [197] [195] [212] [207] [210] [217]"
  54. 8770 PRINTCHR$(13);
  55. 8773 PRINTAK$
  56. 8775 OPEN1,8,0,"$"
  57. 8782 GET#1,A$
  58. 8786 GET#1,B$
  59. 8790 PRINT"";
  60. 8793 GET#1,A$
  61. 8797 GET#1,B$
  62. 8801 GET#1,A$
  63. 8805 GET#1,B$
  64. 8809 C=(ASC((A$+CHR$(0)))+(ASC((B$+CHR$(0)))*256))
  65. 8825 IF(ST<>0)THEN8932
  66. 8831 PRINTTAB(7)
  67. 8833 PRINTMID$(STR$(C),2,255);
  68. 8840 PRINTTAB(11)
  69. 8842 GET#1,B$
  70. 8846 IFSTTHEN8908
  71. 8850 IF(B$<>CHR$(34))THEN8842
  72. 8858 GET#1,B$
  73. 8862 IF(B$<>CHR$(34))THEN:PRINTB$;:GOTO8858
  74. 8874 GET#1,B$
  75. 8878 IF(B$=CHR$(32))THEN8874
  76. 8886 PRINTTAB(29)
  77. 8888 C$=""
  78. 8890 C$=(C$+B$)
  79. 8894 GET#1,B$
  80. 8898 IF(B$<>"")THEN8890
  81. 8904 PRINTLEFT$(C$,3)
  82. 8908 IF(ST=0)THEN8793
  83. 8914 PRINTTAB(21)
  84. 8916 PRINT"[194]LOCKS [198]REE"
  85. 8930 PRINTAK$
  86. 8932 CLOSE1
  87. 8934 GOSUB9390
  88. 8937 IF(VAL(A$)<>0)THENRETURN
  89. 8942 GOTO9454
  90. 8945 PRINTDN$;
  91. 8947 PRINTTAB(7)
  92. 8949 PRINT"[201]NSERT DISK TO BE FORMATTED"
  93. 8979 INPUT"[196]ISK NAME";DI$
  94. 8994 IF(LEN(DI$)=0)THENRETURN
  95. 8999 INPUT"[196]ISK [201][196]";EX$
  96. 9011 IF(LEN(EX$)=0)THENRETURN
  97. 9016 CLOSE15
  98. 9018 OPEN15,8,15,((("N:"+DI$)+",")+EX$)
  99. 9033 GOTO9397
  100. 9036 PRINTDN$;
  101. 9038 PRINTTAB(5)
  102. 9040 PRINT"[201]NSERT DISK TO BE INITIALIZED"
  103. 9072 PRINTTAB(7)
  104. 9074 PRINT"[208]RESS [210][197][212][213][210][206] TO INITIALIZE"
  105. 9103 PRINT
  106. 9104 GOSUB9484
  107. 9107 CLOSE15
  108. 9109 OPEN15,8,15,"I"
  109. 9116 GOTO9397
  110. 9119 PRINTDN$
  111. 9121 PRINT
  112. 9122 INPUT"[211]OURCE FILE NAME";DI$
  113. 9144 IF(LEN(DI$)=0)THENRETURN
  114. 9149 INPUT"[206]EW FILE NAME";NW$
  115. 9168 IF(LEN(NW$)=0)THENRETURN
  116. 9173 CLOSE15
  117. 9175 OPEN15,8,15,((("C:"+NW$)+"=")+DI$)
  118. 9190 GOTO9397
  119. 9193 PRINTDN$
  120. 9195 PRINT
  121. 9196 INPUT"[207]LD FILE NAME";DI$
  122. 9215 IF(LEN(DI$)=0)THENRETURN
  123. 9220 INPUT"[206]EW FILE NAME";NW$
  124. 9239 IF(LEN(NW$)=0)THENRETURN
  125. 9244 CLOSE15
  126. 9246 OPEN15,8,15,((("R:"+NW$)+"=")+DI$)
  127. 9261 GOTO9397
  128. 9264 PRINTDN$
  129. 9266 INPUT"[198]ILE NAME";DI$
  130. 9282 IF(LEN(DI$)=0)THENRETURN
  131. 9287 CLOSE15
  132. 9289 OPEN15,8,15,("S:"+DI$)
  133. 9299 GOTO9397
  134. 9302 PRINTDN$;
  135. 9304 PRINT"  [215][193][210][206][201][206][199]:  [207]PEN FILES WILL BE DELETED"
  136. 9345 PRINT
  137. 9346 PRINTTAB(8)
  138. 9348 PRINT"[208]RESS [210][197][212][213][210][206] TO VALIDATE"
  139. 9375 GOSUB9484
  140. 9378 OPEN1,8,15,"V"
  141. 9385 CLOSE1
  142. 9387 GOTO9390
  143. 9390 CLOSE15
  144. 9392 OPEN15,8,15
  145. 9397 INPUT#15,A$,B$,C$,D$
  146. 9407 IF(VAL(A$)=0)THENRETURN
  147. 9412 ER$=((((((B$+" #")+A$)+" ON TRK ")+C$)+" SEC ")+D$)
  148. 9442 PRINTTAB(((40-LEN(ER$))/2))
  149. 9450 PRINTER$
  150. 9452 CLOSE15
  151. 9454 PRINTTAB(7)
  152. 9456 PRINT"[208]RESS ANY KEY TO CONTINUE"
  153. 9484 W$=""
  154. 9486 GETW$
  155. 9488 IF(W$="")THEN9484
  156. 9494 RETURN
  157. 9495 PRINT"[147]"
  158. 9498 CLOSE1
  159. 9500 CLOSE5
  160. 9502 CLOSE4
  161. 9504 CLOSE15
  162. 9506 CLOSE6
  163. 9508 END
  164. 9509 PRINT"[147]"
  165. 9512 CLOSE15
  166. 9514 MA=INT((S/256))
  167. 9521 PRINT"[205]AXIMUM SIZE OF FILE WHICH CAN"
  168. 9554 PRINT"  BE COPIED IS ";
  169. 9572 PRINTMA;
  170. 9574 PRINT" BLOCKS."
  171. 9585 PRINT
  172. 9586 PRINT"[197]NTER NAME OF FILE TO BE COPIED"
  173. 9620 INPUTFI$
  174. 9623 IF(LEN(FI$)=0)THENRETURN
  175. 9628 PRINT
  176. 9629 PRINT"   [197]NTER FILE TYPE:"
  177. 9651 PRINT"     [208] PROGRAM"
  178. 9668 PRINT"     [211] SEQUENTIAL"
  179. 9688 PRINT"     [213] USER"
  180. 9702 PRINT"     [210] RELATIVE"
  181. 9720 INPUTTY$
  182. 9723 PRINT
  183. 9724 PRINT"[201]NSERT SOURCE DISK AND PRESS [210][197][212][213][210][206]"
  184. 9762 GOSUB9484
  185. 9765 GOSUB9859
  186. 9768 IF(VAL(A$)<>0)THENRETURN
  187. 9773 PRINT
  188. 9774 PRINT"[201]NSERT DESTINATION DISK AND PRESS RETURN"
  189. 9817 GOSUB9484
  190. 9820 GOSUB9972
  191. 9823 PRINT
  192. 9824 INPUT"[205]AKE ANOTHER COPY?[160]";W$
  193. 9849 IF(LEFT$(W$,1)="Y")THEN9773
  194. 9858 RETURN
  195. 9859 I=1
  196. 9861 CLOSE15
  197. 9863 OPEN15,8,15
  198. 9868 CLOSE5
  199. 9870 OPEN5,8,5,(((("0:"+FI$)+",")+TY$)+",R")
  200. 9889 GOSUB9397
  201. 9892 IF(VAL(A$)<>0)THENRETURN
  202. 9897 PRINT"[210]EADING ";
  203. 9908 PRINTFI$
  204. 9910 GET#5,A$
  205. 9914 TE%(I)=ASC((A$+CHR$(0)))
  206. 9922 I=(I+1)
  207. 9926 IF(ST=0)THEN9910
  208. 9932 PRINT
  209. 9933 PRINT"[198]ILE LENGTH IS";
  210. 9950 PRINTI;
  211. 9952 PRINT"[211]TATUS IS";
  212. 9964 PRINTST
  213. 9966 CLOSE5
  214. 9968 GOTO9390
  215. 9971 RETURN
  216. 9972 CLOSE15
  217. 9974 OPEN15,8,15
  218. 9979 OPEN5,8,5,(((("0:"+FI$)+",")+TY$)+",W")
  219. 9998 GOSUB9397
  220. 10001 IF(VAL(A$)<>0)THENRETURN
  221. 10006 PRINT"[215]RITING ";
  222. 10017 PRINTFI$
  223. 10019 J=1
  224. 10021 CMD5,;
  225. 10023 PRINTCHR$(TE%(J));
  226. 10028 PRINT#5,;
  227. 10029 J=(J+1)
  228. 10033 IF(J<I)THEN10021
  229. 10039 PRINT
  230. 10040 PRINT"[198]ILE LENGTH IS";
  231. 10057 PRINTJ
  232. 10059 CLOSE5
  233. 10061 GOTO9390
  234. 10064 PRINT
  235. 10065 PRINT
  236. 10066 INPUT"[206]AME OF FILE TO BE PRINTED";DI$
  237. 10098 IF(LEN(DI$)=0)THENRETURN
  238. 10103 CLOSE15
  239. 10105 OPEN15,8,15
  240. 10110 CLOSE5
  241. 10112 OPEN5,8,5,(("0:"+DI$)+",S,R")
  242. 10128 GOSUB9397
  243. 10131 IF(VAL(A$)<>0)THENRETURN
  244. 10136 OPEN4,4,7
  245. 10141 GET#5,A$
  246. 10145 CK=ST
  247. 10147 CMD4,;
  248. 10149 PRINTA$;
  249. 10151 PRINT#4,;
  250. 10152 PRINTA$;
  251. 10154 IF(CK=0)THEN10141
  252. 10160 PRINT#4
  253. 10162 CLOSE5
  254. 10164 CLOSE15
  255. 10166 CLOSE4
  256. 10168 RETURN
  257. 10169 PRINTDN$
  258. 10171 INPUT"[211]OURCE FILE NAME";DI$
  259. 10194 IF(LEN(DI$)=0)THENRETURN
  260. 10199 CLOSE15
  261. 10201 OPEN15,8,15
  262. 10206 CLOSE5
  263. 10208 OPEN5,8,5,("0:"+DI$)
  264. 10218 GOSUB9397
  265. 10221 IF(VAL(A$)<>0)THENRETURN
  266. 10226 SL=0
  267. 10228 INPUT"[194]LOCK LENGTH OF EACH SEGMENT";SL
  268. 10263 IF(SL=0)THEN10358
  269. 10269 SL=(SL*254)
  270. 10274 A=64
  271. 10277 PRINT"[147]"
  272. 10280 A=(A+1)
  273. 10284 DO$=((DI$+".")+CHR$(A))
  274. 10292 CLOSE6
  275. 10294 OPEN6,8,6,(("0:"+DO$)+",S,W")
  276. 10310 CT=1
  277. 10312 GOSUB9397
  278. 10315 IF(VAL(A$)<>0)THENRETURN
  279. 10320 PRINT"[211]AVING ";
  280. 10329 PRINTDO$
  281. 10331 GET#5,A$
  282. 10335 CK=ST
  283. 10337 CMD6,;
  284. 10339 PRINTA$;
  285. 10341 PRINT#6,;
  286. 10342 CT=(CT+1)
  287. 10346 IF(CT=SL)THEN10280
  288. 10352 IF(CK=0)THEN10331
  289. 10358 CLOSE5
  290. 10360 CLOSE6
  291. 10362 CLOSE15
  292. 10364 RETURN
  293. 10365 PRINT
  294. 10366 PRINT
  295. 10367 INPUT"[206]AME OF FILE TO BE VIEWED";DI$
  296. 10398 IF(LEN(DI$)=0)THENRETURN
  297. 10403 CLOSE15
  298. 10405 OPEN15,8,15
  299. 10410 CLOSE5
  300. 10412 OPEN5,8,5,(("0:"+DI$)+",S,R")
  301. 10428 GOSUB9397
  302. 10431 IF(VAL(A$)<>0)THENRETURN
  303. 10436 PRINT"[147]"
  304. 10439 GET#5,A$
  305. 10443 PRINTA$;
  306. 10445 GETW$
  307. 10447 IF(W$<>"")THEN10463
  308. 10453 IF(ST=0)THEN10439
  309. 10459 PRINT
  310. 10460 GOSUB9454
  311. 10463 CLOSE5
  312. 10465 CLOSE15
  313. 10467 RETURN
  314. 10468 PRINTDN$
  315. 10470 INPUT"[211]OURCE FILE NAME";DI$
  316. 10493 IF(LEN(DI$)=0)THENRETURN
  317. 10498 CLOSE15
  318. 10500 OPEN15,8,15
  319. 10505 CLOSE5
  320. 10507 OPEN5,8,5,("0:"+DI$)
  321. 10517 GOSUB9397
  322. 10520 IF(VAL(A$)<>0)THENRETURN
  323. 10525 INPUT"[196]ESTINATION FILE NAME";DI$
  324. 10552 IF(LEN(DI$)=0)THENRETURN
  325. 10557 DO$=(DI$+".CONV")
  326. 10566 CLOSE6
  327. 10568 OPEN6,8,6,(("0:"+DO$)+",S,W")
  328. 10584 GOSUB9397
  329. 10587 IF(VAL(A$)<>0)THENRETURN
  330. 10592 CO=0
  331. 10594 INPUT"0 FOR [195][194][205] > [193][211][195][201][201]. 1 FOR [193][211][195][201][201] > [195][194][205]";CO
  332. 10637 GET#5,A$
  333. 10641 CK=ST
  334. 10643 IF(CO=1)THEN:GOSUB10677:GOTO10657
  335. 10654 GOSUB10719
  336. 10657 PRINTA$;
  337. 10659 CMD6,;
  338. 10661 PRINTA$;
  339. 10663 PRINT#6,;
  340. 10664 IF(CK=0)THEN10637
  341. 10670 CLOSE5
  342. 10672 CLOSE6
  343. 10674 CLOSE15
  344. 10676 RETURN
  345. 10677 A=ASC((A$+CHR$(0)))
  346. 10683 IF(A<65)THENRETURN
  347. 10688 IF(A>90)THEN10702
  348. 10695 A$=CHR$((A+128))
  349. 10701 RETURN
  350. 10702 IF(A<97)THENRETURN
  351. 10707 IF(A>122)THENRETURN
  352. 10712 A$=CHR$((A-32))
  353. 10718 RETURN
  354. 10719 A=ASC((A$+CHR$(0)))
  355. 10725 IF(A<65)THENRETURN
  356. 10730 IF(A>90)THEN10744
  357. 10737 A$=CHR$((A+32))
  358. 10743 RETURN
  359. 10744 IF(A<97)THENRETURN
  360. 10749 IF(A>122)THEN10763
  361. 10756 A$=CHR$((A-32))
  362. 10762 RETURN
  363. 10763 IF(A<193)THENRETURN
  364. 10768 IF(A>218)THENRETURN
  365. 10773 A$=CHR$((A-128))
  366. 10779 RETURN
  367. 10780 PRINT"[147]"
  368. 10783 INPUT"[211]OURCE FILE NAME #1";D1$
  369. 10808 IF(LEN(D1$)=0)THENRETURN
  370. 10813 INPUT"[211]OURCE FILE NAME #2";D2$
  371. 10838 IF(LEN(D2$)=0)THENRETURN
  372. 10843 DC$=((D1$+",")+D2$)
  373. 10850 INPUT"[211]OURCE FILE NAME #3";D3$
  374. 10875 IF(LEN(D3$)=0)THEN10928
  375. 10882 DC$=((DC$+",")+D3$)
  376. 10889 INPUT"[211]OURCE FILE NAME #4";D4$
  377. 10914 IF(LEN(D4$)=0)THEN10928
  378. 10921 DC$=((DC$+",")+D4$)
  379. 10928 INPUT"[196]ESTINATION FILE NAME";DO$
  380. 10955 CLOSE15
  381. 10957 OPEN15,8,15,((("C:"+DO$)+"=")+DC$)
  382. 10972 GOTO9397
  383. 10975 END
  384.