home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 74 / 074.d81 / ut (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  4KB  |  120 lines

  1. 5 open15,8,15:print#15,"i":close15:poke53281,0
  2. 7 open8,8,8,"disk,s,r":input#8,xi,ox:close8:poke832,xi:poke833,ox
  3. 10 clr:poke53280,5:dimd$(50),q$(50):xi=peek(832):ox=peek(833)
  4. 15 a$="                                        ":print"[147]";a$;
  5. 20 print"           dungeon utilities            ";:printa$;
  6. 30 print"[154]1[146] [158]copy dungeon":print" [154]2[146] [158]scratch dungeon"
  7. 35 print" [154]3[146] [158]validate disk":print" [154]4[146] [158]erase treasure"
  8. 36 d=xi+1:ifd=10thend=8
  9. 37 a$=str$(d):a$=right$(a$,len(a$)-1)
  10. 40 print" [154]5[146] [158]erase traps":print" [154]6[146] [158]change data disk to  ";a$;" [146]"
  11. 45 print" [154]7[146] [158]renumber drive":print" [154]8[146] [158]finished":poke53265,27
  12. 50 geta$:ifval(a$)=0orval(a$)>8then50
  13. 55 onval(a$)goto100,350,400,450,550,800,825,700
  14. 60 print"[159]return[146]";
  15. 65 geta$:ifa$<>"_"anda$<>chr$(13)andpeek(56320)<>111then65
  16. 70 ifa$="_"then10
  17. 75 print"[157][157][157][157][157][157]return":return
  18. 100 print"insert source disk.";:gosub60:goto160
  19. 110 x=0:open8,xi,8,"list,s,r":input#8,x:ifx=0thenclose8:goto10
  20. 115 forg=1tox:input#8,d$(g),q$(g):next:close8
  21. 120 print"[147][158]\ select dungeon \":a=1
  22. 130 print"                  "
  23. 135 print"[145]";d$(a)
  24. 140 geta$:ifa$=""thenj=peek(56320):ifj=127then140
  25. 145 ifa$=chr$(13)orj=111thendu$=d$(a):cr$=q$(a):print"[147][158]";du$:return
  26. 147 ifa$="_"then10
  27. 149 ifa$="[145]"orj=126thenk=-1:goto155
  28. 150 ifa$=""orj=125thenk=1:goto155
  29. 152 goto140
  30. 155 ifa+k<1ora+k>xthen140
  31. 157 a=a+k:goto130
  32. 160 gosub110:print"[154]reading..."
  33. 165 open8,xi,8,du$+",s,r"
  34. 170 dim c$(20),d(678),e$(800),f(64),m$(500)
  35. 175 forg=1to3:input#8,a$(g):next
  36. 180 forg=1to5:input#8,b(g):next
  37. 185 forg=1tob(5):input#8,c$(g):next
  38. 190 forg=1to678:input#8,d(g):next:ifb(4)=0then200
  39. 195 forg=1to678+b(4):input#8,e$(g):next
  40. 200 forg=1to64:input#8,f(g):next
  41. 205 close8
  42. 210 open3,xi,3,"m."+du$:open15,xi,15:r=0
  43. 220 r=r+1:h=int(r/256):l=r-(h*256)
  44. 225 print#15,"p"chr$(3)chr$(l)chr$(h)chr$(1):goto230
  45. 227 input#3,m$(r):goto220
  46. 230 input#15,a:ifa=0then227
  47. 233 ifa<>50thenprint"[147] disk error. [146]":forg=1to1000:goto10
  48. 235 close3:close15:r=r-1
  49. 250 print"insert target disk.";:gosub60:print"[154]writing..."
  50. 255 open8,xi,8,du$+",s,w"
  51. 260 forg=1to3:print#8,a$(g):next
  52. 262 forg=1to5:print#8,b(g):next
  53. 264 forg=1tob(5):print#8,c$(g):next
  54. 266 forg=1to678:print#8,d(g):next
  55. 268 forg=1to678+b(4):print#8,e$(g):next
  56. 270 forg=1to64:print#8,f(g):next
  57. 275 close8
  58. 280 a$="m."+left$(du$,14)+",l,":open3,xi,3,a$+chr$(38):open15,xi,15
  59. 285 forg=1tor:h=int(g/256):l=g-(h*256)
  60. 287 print#15,"p"chr$(3)chr$(l)chr$(h)chr$(1):print#3,m$(g):nextg:close3
  61. 290 input#15,a:ifa<>0anda<>50then233
  62. 293 close15:gosub294:goto300
  63. 294 x=0:open8,xi,8,"@0:list,s,r":input#8,x:ifx=0thenclose8:goto300
  64. 295 forg=1tox:input#8,d$(g),q$(g):next:close8:return
  65. 300 x=x+1:d$(x)=du$:q$(x)=cr$:gosub310:goto320
  66. 310 open8,xi,8,"@0:list,s,w":print#8,x:forg=1tox:print#8,d$(g):print#8,q$(g)
  67. 315 nextg:close8:open15,xi,15:input#15,a:close15:ifa<>0then233
  68. 317 return
  69. 320 goto575
  70. 350 print"insert data disk.";:gosub60:gosub110:print"[154]scratching..."
  71. 355 open15,xi,15:print#15,"s0:"+du$:print#15,"s0:"+"m."+left$(du$,14):close15
  72. 360 gosub294:forg=atox:d$(g)=d$(g+1):q$(g)=q$(g+1):nextg:x=x-1:gosub310
  73. 370 goto575
  74. 400 print"insert disk to validate.";:gosub60
  75. 410 print"[154]validating...":open15,xi,15:print#15,"v":close15:goto575
  76. 450 print"[159]1[146] [155]weapons":print"[159]2[146] [155]magic items"
  77. 455 print"[159]3[146] [155]armor"
  78. 460 geta$:ifa$<>"_"andval(a$)=0orval(a$)>3then460
  79. 465 ifa$="_"then10
  80. 470 onval(a$)goto475,500,525
  81. 475 print"erase weapons. insert disk.";:gosub60
  82. 477 print"[154]erasing weapons..."
  83. 480 open15,xi,15:print#15,"s0:weapons":close15
  84. 485 open3,xi,3,"weapons,l,"+chr$(25):close3:gosub600:tw=0:gosub610:goto575
  85. 500 print"erase magic. insert disk.";:gosub60
  86. 505 print"[154]erasing magic..."
  87. 510 open15,xi,15:print#15,"s0:magic":close15
  88. 515 open3,xi,3,"magic,l,"+chr$(49):close3:gosub600:tm=0:gosub610:goto575
  89. 525 print"erase armor. insert disk.";:gosub60
  90. 530 print"[154]erasing armor..."
  91. 535 open15,xi,15:print#15,"s0:armor":close15
  92. 540 open3,xi,3,"armor,l,"+chr$(25):close3:gosub600:ta=0:gosub610:goto575
  93. 550 print"erase traps. insert disk.";:gosub60
  94. 555 print"[154]erasing traps..."
  95. 560 open15,xi,15:print#15,"s0:traps":close15
  96. 565 open3,xi,3,"traps,l,"+chr$(17):close3:gosub600:tr=0:gosub610
  97. 575 print"complete.";:gosub60:goto10
  98. 600 open8,xi,8,"treasure,s,r":input#8,tw,tm,ta,tr:close8:return
  99. 610 open8,xi,8,"@0:treasure,s,w":print#8,tw:print#8,tm:print#8,ta:print#8,tr
  100. 615 close8:return
  101. 700 poke53280,0:ifde=0andxi=9thende=1:goto720
  102. 702 print"[147]insert 'dungeon' disk. [return]":gosub850
  103. 705 geta$:ifa$<>"_"anda$<>chr$(13)andpeek(56320)<>111then705
  104. 710 ifa$="_"then10
  105. 720 print"[147]":a=0:open8,8,8,"master disk,s,r":input#8,a:close8:ifa<>7then700
  106. 730 poke53265,11:print"load";chr$(34);"me";chr$(34);",8"
  107. 735 forg=631to633:pokeg,13:next:poke198,3:print"run":clr:end
  108. 800 print"[147][158]just a moment...":xi=xi+1:ifxi=10thenxi=8
  109. 805 poke832,xi:open15,8,15:print#15,"s0:disk":close15
  110. 807 open8,8,8,"disk,s,w":print#8,xi:print#8,ox:close8:ifxi=8then10
  111. 810 print"renumber a drive? [154] y/n [146]"
  112. 815 geta$:ifa$=""then815
  113. 817 ifa$="n"ora$="_"then10
  114. 820 ifa$<>"y"then815
  115. 825 print"[155]turn off 'dungeon' drive.";:gosub60
  116. 830 print"[155]turn on 'data' drive.";:gosub60
  117. 835 open15,8,15:print#15,"m-w"chr$(119)chr$(0)chr$(2)chr$(41)chr$(73):close15
  118. 840 print"[155]turn on 'dungeon' drive.";:gosub60:print:goto575
  119. 850 print"press [_] to escape.":return
  120.