home *** CD-ROM | disk | FTP | other *** search
/ C64 Fever 92 #2 / C64_Fever_92-02_1992_-_de.d64 / diskeditor (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  6KB  |  231 lines

  1. 10 rem      ** super disk editor **
  2. 20 rem      **  by joerg kranz   **
  3. 30 rem    ** royal games  (c) 1987 **
  4. 31 rem     **     c=64 + 1541     **
  5. 33 rem
  6. 35 close1:d=8
  7. 40 print"[147]":poke53280,0:poke53281,6
  8. 50 print"super disk editor"
  9. 60 print"[153]0   = reset"
  10. 70 print"1   = scratch"
  11. 80 print"2   = new "
  12. 90 print"3   = disk status "
  13. 100 print"4   = directory "
  14. 110 print"5   = copy  "
  15. 120 print"6   = rename "
  16. 130 print"7   = validate "
  17. 140 print"8   = initialize "
  18. 150 print"9   = newheader "
  19. 160 print"@   = d. ladeschutz
  20. 170 [153]"*   = d. listschutz
  21. 180 print"e   = programm ende
  22. 190 [153]"l   = programm laden";
  23. 195 [153]"a   = ',8:'anhaengen";
  24. 196 [153]"d   = drucken dir. "
  25. 197 [153]"v   = view bam"
  26. 200 [153]"sysby 'royal games'"
  27. 210 [153]"joerg kranz and"
  28. 220 [153]"andre krugenberg"
  29. 230 [153]"(c) 1987stop"
  30. 300 [161]a$:[139]a$[178]""[167]300
  31. 310 [139]a$[178]"0"[167]1000
  32. 320 [139]a$[178]"1"[167]1100
  33. 330 [139]a$[178]"2"[167]1200
  34. 340 [139]a$[178]"3"[167]1300
  35. 350 [139]a$[178]"4"[167]1400
  36. 360 [139]a$[178]"5"[167]1500
  37. 370 [139]a$[178]"6"[167]1600
  38. 380 [139]a$[178]"7"[167]1700
  39. 390 [139]a$[178]"8"[167]1800
  40. 400 [139]a$[178]"9"[167]1900
  41. 410 [139]a$[178]"@"[167]2100
  42. 420 [139]a$[178]"*"[167]2300
  43. 430 [139]a$[178]"e"[167]2500
  44. 440 [139]a$[178]"l"[167]3700
  45. 450 [139]a$[178]"a"[167]2800
  46. 460 [139]a$[178]"d"[167]aa[178]2:[137]1400
  47. 470 [139]a$[178]"v"[167]3300
  48. 500 [139][198](a$)[179]256[167][138]
  49. 1000 [153]"load":[153]"reset jwaita/nwaitein"
  50. 1010 [161]a$:[139]a$[178]""[167]1010
  51. 1020 [139]a$[178]"j"[167][158]64738
  52. 1030 [139]a$[178]"n"[167][138]
  53. 1100 [153]"loadname des zu loeschenden files:
  54. 1110 inputa$
  55. 1120 open1,8,15,"s:"+a$
  56. 1130 close1,8,15:goto1300
  57. 1200 print"[147]"
  58. 1210 input"disk name";a$
  59. 1220 input"id";b$
  60. 1230 iflen(a$)>15thenprint"disk name zu lang":fort=1to1000:next:goto1200
  61. 1240 open1,8,15,"n:"+a$+","+b$
  62. 1250 close1,8,15
  63. 1260 goto1300
  64. 1300 print"[147]":open15,8,15
  65. 1301 :get#15,aa$:printaa$;:ifst<>64then1301
  66. 1310 close15:poke198,0:wait198,1
  67. 1320 run
  68. 1400 open1,8,0,"$":get#1,a$,b$:get#1,a$,b$:get#1,a$,b$:ifaa=0then1405
  69. 1401 input"[147]drucker geraet nr. 4-5";ii
  70. 1402 input"sekundaeradresse";ui
  71. 1403 openii,ui
  72. 1405 print"[147]";
  73. 1410 ifa$=""thena$=chr$(0)
  74. 1420 print"[155]":ifb$=""thenb$=chr$(0)
  75. 1421 ifaa=2thenprint#4," ";
  76. 1430 bl=asc(a$)+256*asc(b$):printbltab(3);:fort=1to25:get#1,a$:printa$;
  77. 1431 ifaa=2thenprint#4,a$;
  78. 1432 next
  79. 1433 ifaa=2thenprint#4,""
  80. 1435 print""
  81. 1440 get#1,a$,a$,a$:get#1,a$:ifa$=""thena$=chr$(0)
  82. 1450 get#1,b$:ifb$=""thenb$=chr$(0)
  83. 1460 ifst<>0then1492
  84. 1470 bl=asc(a$)+256*asc(b$):printbltab(3);:ifaa=2thenprint#4,bl;
  85. 1480 fort=1to27:get#1,a$
  86. 1481 printa$;
  87. 1482 ifaa=2thenprint#4,a$;
  88. 1485 next:x=x+1:print:
  89. 1486 ifaa=2thenprint#4,""
  90. 1487 gosub1493
  91. 1490 goto1440
  92. 1492 close1:goto1495
  93. 1493 ifpeek(198)=0thenreturn
  94. 1494 ifz=999thenreturn
  95. 1495 ifaa=2thenprint#4,"[158]"x-1 "[196][201][211][203] [197][201][206][212][210][193][199][213][206][199][197][206]!":
  96. 1496 print"[158]"x-1 "disk eintragungen!":poke198,0:wait198,1:aa=0:goto1300
  97. 1500 rem
  98. 1510 print"[147]copy name":inputa$
  99. 1520 print"programm name":inputb$
  100. 1530 open15,8,15,"c:"+a$+"="+b$
  101. 1540 close15:goto1300
  102. 1600 print"[147]"
  103. 1610 print"neuer name":inputa$
  104. 1620 print"alter name":inputb$
  105. 1630 open15,8,15,"r:"+a$+"="+b$:close15:goto1300
  106. 1700 open15,8,15,"v":close15:goto1300
  107. 1800 open15,8,15,"i":close15:goto1300
  108. 1900 print"[147]disk einlegen und 'taste' drueken"
  109. 1910 poke198,0:wait198,1
  110. 1920 open1,8,15,"i":open2,8,2,"#"
  111. 1925 print#1,"u1 2 0 18 0 ":print#1,"b-p 2 144":aa$=""
  112. 1930 fort=0to15:get#2,a$:aa$=aa$+a$:next
  113. 1935 print"disk name=[158] ";aa$
  114. 1940 print#1,"b-p 2 162":aa$="":fort=1to5:get#2,a$:aa$=aa$+a$:next
  115. 1945 print"id       =[158] ";aa$
  116. 1950 print"n[146]ame,i[146]d aendern oder z[146]urueck ?":poke198,0
  117. 1955 :geta$:ifa$=""then1955
  118. 1960 ifa$="n"then2000
  119. 1970 ifa$="i"then1975
  120. 1971 ifa$="z"then1300
  121. 1975 print#1,"u2 2 0 18 0":input" neue id ";a$
  122. 1985 print#1,"b-p 2 162":fort=1tolen(a$):print#2,mid$(a$,t,1);:next
  123. 1986 fort=len(a$)to5:print#2,chr$(160);:next
  124. 1990 print#1,"u2 2 0 18 0":print#1,"i":close2:close1:goto1300
  125. 2000 print#1,"u1 2 0 18 0":input"neuer name ";a$
  126. 2010 iflen(a$)>16thenprint"name zu lang":fort=1to1000:next
  127. 2020 print#1,"b-p 2 144":fori=1tolen(a$):print#2,mid$(a$,i,1);:next
  128. 2030 iflen(a$)=5then2060
  129. 2040 fori=1tolen(a$):print#2,chr$(160);:next
  130. 2060 print#1,"u2 2 0 18 0"
  131. 2070 print#1,"i":close2:close1:goto1300
  132. 2100 print"[147]bitte waehlen sie !"
  133. 2110 print"s[146]chuetzen"
  134. 2115 print"f[146]reigeben"
  135. 2120 geta$:ifa$=""then2120
  136. 2130 ifa$="s"then2150
  137. 2140 ifa$="f"then2200
  138. 2150 rem
  139. 2151 open1,8,15,"i":open2,8,2,"#":x=1:
  140. 2155 print#1,"u1 2 0 18"x
  141. 2160 print#1,"b-p 2 0":get#2,a$:ifa$=""thena$=chr$(0)
  142. 2170 get#2,b$:ifb$=""thenb$=chr$(0)
  143. 2175 a=asc(a$):b=asc(b$):ifa=0andb=255then2186
  144. 2180 ifa=18andb=1then2198
  145. 2185 x=b:goto2155
  146. 2186 print#1,"b-p 2 0":print#2,chr$(18);chr$(1);
  147. 2190 print#1,"u2 2 0 18"x:print#1,"i":close2:close1:goto1300
  148. 2198 print"[144]directory ist schon geschuetzt":fort=1to1000:next:close1:close2:
  149. 2199 goto1300
  150. 2200 open1,8,15,"i":open2,8,2,"#":x=1:
  151. 2201 print#1,"u1 2 0 18"x:print#1,"b-p 2 0"
  152. 2210 get#2,a$:ifa$=""thena$=chr$(0)
  153. 2220 get#2,b$:ifb$=""thenb$=chr$(0)
  154. 2230 a=asc(a$):b=asc(b$)
  155. 2240 ifa=18andb=1then2260
  156. 2250 ifa=0andb=255then2280
  157. 2255 x=b:goto 2201
  158. 2260 print#1,"b-p 2 0":print#2,chr$(0);chr$(255);:print#1,"u2 2 0 18"x
  159. 2270 print#1,"i":close1:close2
  160. 2280 print"[147]directory ist frei":fort=1to1500:next:goto1300
  161. 2300 print"[147]directory listschutz"
  162. 2310 print"sind sie sicher ?"
  163. 2320 geta$:ifa$=""then2320
  164. 2330 ifa$="j"thengoto2350
  165. 2340 ifa$="n"thenprint"[147]o.k. dann nicht !":fort=1to1500:next:goto1300
  166. 2345 goto2320
  167. 2350 print"[147] o.k...  lets go !"
  168. 2351 z=999:open1,8,15,"i":open2,8,2,"#":print#1,"u1 2 0 18 0"
  169. 2355 print#1,"b-p 2 144"
  170. 2356 print#2,chr$(20)chr$(20)chr$(20)chr$(34)chr$(100)chr$(20)chr$(31)chr$(204);
  171. 2360 fort=1to20:print#2,chr$(0);:next
  172. 2370 print#1,"u2 2 0 18 0":print#1,"i":close2:close1
  173. 2380 poke53270,8:goto1300
  174. 2500 print"[147]":new
  175. 2800 print"[147]":a=18:b=1
  176. 2810 print"an welches programm soll ',8:'          angehaengt werden"
  177. 2820 print"[158]j[146]a/n[146]ein"
  178. 2830 open15,8,15:open2,8,2,"#":fori=1to8:t$(i)="":next
  179. 2835 ifa=0orb=0thenrun
  180. 2840 print#15,"u1 2 0";a;b:print#15,"b-p 2 0":get#2,a$,b$:a1=asc(a$+chr$(0))
  181. 2850 b1=asc (b$+chr$(0)):w=4:fort=1to8:print#15,"b-p 2";w-2
  182. 2860 get#2,p$:p=asc(p$+chr$(0)):ifp<>130andp<>194then2890
  183. 2870 fory=1to16:print#15,"b-p 2";y+w:get#2,c$:t$(t)=t$(t)+c$:next:
  184. 2880 w=w+32
  185. 2890 nextt
  186. 2900 w=17:fort=1to8:ift$(t)=""then2950
  187. 2910 print"[147]"t$(t)
  188. 2920 gets$:ifs$=""then2920
  189. 2930 ifs$="j"then3000
  190. 2931 ifs$="n"then2950
  191. 2940 goto2920
  192. 2950 w=w+32:nextt:iff=1thenprint#15,"u2 2 0";a;b
  193. 2960 a=a1:b=b1:close2:close15
  194. 2970 goto2830
  195. 3000 f=1:print#15,"b-p 2";w:print#2,chr$(160);",8:":goto2950
  196. 3300 x$="":open15,8,15,"i0"
  197. 3310 print"[147]   12345678901234567890123456789012345"
  198. 3320 print"[153]    track  1-35     + = belegt - = frei [144]"
  199. 3330 deffna(z)=2^(s-int(s/8)*8)and(sb(int(s/8)))
  200. 3340 open2,8,2,"#"
  201. 3341 print#15,"b-p:2,144":fort=1to18:get#2,a$:n$=n$+a$:next:print#15,"b-p:2,1"
  202. 3342 print"[158]disk name:";n$;"[144]":print#15,"u1:2,0,18,0
  203. 3350 [129]i[178]20[164]0[169][171]1:[153]i:[130]
  204. 3360 [129]t[178]1[164]35:x[178]t[170]4:[141]3400:[130]:[137]3520
  205. 3400 [161]#2,sc$,a$,b$,c$
  206. 3410 ts[178]ts[170][198](sc$[170][199](0))
  207. 3420 sb(0)[178][198](a$[170][199](0))
  208. 3430 sb(1)[178][198](b$[170][199](0))
  209. 3440 sb(2)[178][198](c$[170][199](0))
  210. 3450 [153]""[170][200](x$,x[171]1)[170]"cmd";
  211. 3460 [139]t[177]24[175]s[178]18[167][153]" ";:[137]3500
  212. 3470 o1$[178]"list+":o2$[178]"list-":[139]t[178]18[167]o1$[178]"+wait":o2$[178]"-wait"
  213. 3475 [129]s[178]0[164]20
  214. 3480 [139]t[179]18[167]3495
  215. 3485 [139]t[177]30[175]s[178]17[167][153]" ";:[137]3500
  216. 3487 [139]t[177]24[175]s[178]18[167][153]" ";:[137]3500
  217. 3489 [139]t[177]17[175]s[178]19[167][153]" ";:[137]3500
  218. 3491 [139]t[177]17[175]s[178]20[167][153]" ";:[137]3500
  219. 3495 [139][165]a(s)[178]0[167][153]o1$;:[137]3500
  220. 3498 [153]o2$;
  221. 3500 [153]"oncmd";
  222. 3510 [130] :[142]
  223. 3520 [153]"sysblocks free:";ts[171]18;"            "
  224. 3521 [161]a$:[139]a$[178]""[167]3521
  225. 3530 [160]2:[160]15:[137]1300
  226. 3700 [153]"load"
  227. 3710 [153]"programm name":[133]a$
  228. 3720 [153]"loadload"[170][199](34)[170]a$[170][199](34)",8"
  229. 3725 [153]"run"
  230. 3730 [151]198,4:[151]631,19:[151]632,13:[151]633,13:[151]634,13
  231.