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

  1. 5 ifpeek(49152)<>120orpeek(51200)<>76orpeek(52016)<>32orpeek(52080)<>173then7
  2. 6 ifpeek(52176)=169then10
  3. 7 load"0:routines",8,1
  4. 10 ifpeek(832)<>24orpeek(960)<>63orpeek(1019)>.thenload"0:menu.sp1",8,1
  5. 20 ifpeek(704)<>3orpeek(732)<>252orpeek(760)thenload"0:menu.sp2",8,1
  6. 25 open15,8,15:sys52176
  7. 30 w=53265:u=128:v=53248:s=v+1024:li=52016:wi=51200:cl=51203:su=51206:sd=51209
  8. 40 poke1020,5:poke1021,19:poke1022,1:poke1023,38:rem set window boundaries
  9. 200 pp=1
  10. 210 sp$="                             "
  11. 212 sl$="                                      "
  12. 220 af=1
  13. 222 poke53280,5
  14. 225 d$=chr$(96):forx=1to6:d$=d$+d$:next
  15. 226 forx=stos+24:pokex,0:next
  16. 227 readnu$:poke54277,8:poke54278,8:poke54291,8:poke54292,8
  17. 230 poke v+33,.
  18. 260 poke v+21,11:rem 0,1,3 on
  19. 270 poke v+29,2:pokev+27,12:pokev+23,.
  20. 280 dim pn$(50),rc$(50),ca$(50),sa(50),sy(50),t$(300)
  21. 285 rem menu name,prog name,category,secondary addr,sys addr,about text storage
  22. 290 forco=.to2:poke2040+co,13+co:poke2043,11:next:remsprite pointers
  23. 300 pokev+39,15:pokev+40,7:pokev+41,7:pokev+42,7:pokev+27,255
  24. 305 pokev+16,.
  25. 310 pokev,49:pokev+1,218:rem crsrs
  26. 320 pokev+2,45:pokev+3,143:rem selector
  27. 330 pokev+4,56:pokev+5,54:rem rt hand
  28. 340 pokev+6,44:pokev+7,54:rem lt hand
  29. 350 pokev+16,4
  30. 360 pokes+24,15:rem loud sound
  31. 1000 gosub 50000:remheader
  32. 2000 gosub 52000:remread menu data
  33. 3000 gosub 51000:remhome
  34. 4000 gosub 53000:remprint menu
  35. 4100 gosub49000
  36. 5000 gosub 54000:pokev+21,0:remkeywait
  37. 5005 print"[147][196]ocking with [212]able of [195]ontents"
  38. 5006 gosub63002:gosub63000
  39. 5007 forx=stos+23:pokex,0:next
  40. 5010 print"[144]load"chr$(34)"0:hello"chr$(34)",8":print"run";:poke631,13
  41. 5015 poke632,13:poke198,2:end
  42. 39000 syswi:rem  clear window
  43. 39010 x%=9:y%=8:gosub56000:print"[212]urn your printer on"
  44. 39015 x%=18:y%=10:gosub56000:print"&"
  45. 39016 x%=12:y%=12:gosub56000:print"[208]ress [[210][197][212][213][210][206]]."
  46. 39017 x%=15:y%=14:gosub56000:print"[216][146] to exit"
  47. 39020 getk$:if k$=""then39020
  48. 39025 ifk$<>chr$(13)andk$<>"x"andk$<>"[203]"then39020
  49. 39030 if k$="x"ork$="[216]"then syswi:return
  50. 39040 open4,4,7:cmd4
  51. 39045 printspc(40-len(mo$));mo$:print:printspc(40-len(pn$(pp+1)));pn$(pp)
  52. 39046 print
  53. 39050 for c8=1to lc
  54. 39060 print#4,t$(c8)
  55. 39070 next
  56. 39080 print#4:close4
  57. 39085 syswi
  58. 39090 return
  59. 40000 rem boing!
  60. 40003 gosub41000
  61. 40005 fori=27to31:waitw,u:pokew,i:next
  62. 40010 fori=31to25step-1:waitw,u:waitw,u:pokew,i:next
  63. 40015 fori=25to27:waitw,u:waitw,u:waitw,u:waitw,u:pokew,i:next
  64. 40020 return
  65. 40100 r=v+17:c=128:rem other boing!
  66. 40103 gosub41000
  67. 40105 fori=27to24step-1:waitw,u:pokew,i:next
  68. 40110 fori=24to29:waitw,u:waitw,u:pokew,i:next
  69. 40115 fori=29to27step-1:waitw,u:waitw,u:waitw,u:waitw,u:pokew,i:next
  70. 40120 return
  71. 41000 pokes+4,20:pokes,rnd(.)*256:pokes+1,rnd(.)*256:pokes+14,rnd(.)*256
  72. 41005 pokes+15,rnd(.)*256:pokes+4,31:return
  73. 41010 rem :already returned ^
  74. 43000 pl=15:x%=.:y%=24:gosub56000:print"          [159][[155][200][159]] for [200]ardcopy";:af=0
  75. 43001 x%=1:y%=12:gosub56000:print"[158][210]eading[146]":pokev+21,.
  76. 43002 x%=22:y%=21:gosub 56000:print"[159][205][197][206][213]/[210][213][206] ";
  77. 43003 x%=14:y%=22:gosub 56000:print"[159][211]crolls [212]ext";
  78. 43004 open8,8,8,"t."+rc$(pp):gosub46000:ifer%=62thenrf=.:af=1:restore:goto290
  79. 43010 forc1=1to300:poke781,8:sys65478
  80. 43020 sysli,b$:t$(c1)=b$+""
  81. 43025 ifstthengosub46000:ifer%=0andst=64thenlc=c1:c1=300:goto43030
  82. 43030 next:sys65484
  83. 43035 close8:syswi:syscl
  84. 43040 forc8=lc+1to300:t$(c8)="":next
  85. 43050 x%=.:y%=5:lp=1:gosub56000:forc1=1to15
  86. 43060 print"";t$(c1)
  87. 43070 next
  88. 43075 mf=1:x%=.:y%=3:gosub 56000:gosub48000:rem"'[193]bout' header"
  89. 43080 getk$:j=notpeek(56321)and31:ifk$=""andj=0then43080
  90. 43090 k1=asc(k$+chr$(.))
  91. 43100 ifk$="[157]"orj=4thenmf=1:rf=0:gosub48000:goto43080:remcrsr left
  92. 43110 ifk$=""orj=8thenmf=0:rf=1:gosub48000:goto43080:remcrsr right
  93. 43120 ifk$=""ork$="[135]"ork$="[139]"orj=2thengosub45000:goto43080:rem scroll forward
  94. 43130 ifk$="[145]"ork$="[134]"ork$="[138]"orj=1thengosub44000:goto43080:rem scroll backward
  95. 43140 ifj=16thenifrfthen63900
  96. 43150 ifj=16thenmf=0:af=1:restore:k$="":j=.:goto290
  97. 43160 ifk1=72thengosub39000:goto43050:rem hardcopy
  98. 43170 goto43080
  99. 43230 stop
  100. 44000 if lp<2thengosub40000:return:rem scroll backward
  101. 44010 lp=lp-1:sys51209:poke648,216:sys51209:poke648,4
  102. 44020 x%=1:y%=5:gosub56000:printt$(lp)
  103. 44090 return
  104. 45000 if lp>lc-14thengosub40100:return:rem scroll forward
  105. 45010 lp=lp+1:sys51206:poke648,216:sys51206:poke648,4
  106. 45020 x%=1:y%=19:gosub56000:print""t$(lp+14)
  107. 45090 return
  108. 46000 input#15,er%,er$,et%,eb%
  109. 46005 if(er%>19ander%<30)orer%=66orer%=67then46015
  110. 46010 return
  111. 46015 print"[147][152][217]ou just had a disk [201]/[207] error."
  112. 46020 print:print"[208]ress space to continue."
  113. 46025 getk$:ifk$=""then46025
  114. 46030 run
  115. 48000 ifrfthengosub59300:rem rewrite pgm name
  116. 48010 ifmfthengosub59200:rem rewrite pgm name
  117. 48020 y%=3:x%=20-len(pn$(pp))/2:gosub56000:print"";pn$(pp);"[153]";
  118. 48030 return
  119. 49000 ifrfthengosub58000:rem rewrite category
  120. 49010 ifafthengosub57000
  121. 49020 y%=3:x%=20-len(ca$(pp))/2:gosub56000
  122. 49025 print"[158]";ca$(pp);"[153]";
  123. 49030 return
  124. 50000 print"[147]"tab(6)"[176]";:printleft$(d$,27);"[174]":rem "header stuff"
  125. 50010 printtab(5)" [221][153] [204]oadstar [208]ayload [206]umber "nu$;"";chr$(221)
  126. 50012 printtab(6)"[173]";:printleft$(d$,27);:print"[189][153]"
  127. 50013 gosub59000
  128. 50014 ifafthengosub57000
  129. 50015 ifrfthengosub58000
  130. 50019 print"[176]";left$(d$,38);"[174]";
  131. 50020 fori=1to15:print"[221]                                      [221]";:next         
  132. 50021 print"[173]";left$(d$,38);"[189]";
  133. 50030 print" [159][ [155]    [195][210][211][210][159] ] [211]elects [193][194][207][213][212]/[210][213][206]"
  134. 50040 print" [159][ [155]    [195][210][211][210][159] ] [211]crolls [205]enu"
  135. 50050 print" [159][    [155][211][208][193][195][197][159] ] [211]elects [158][200]ighlighted[159] [201]tems"
  136. 50060 print"          [159][[155][216][159]] [197]xits";
  137. 50070 print"[129]";:sys51200:sys51203:x%=1:y%=12:gosub56000
  138. 50080 print"[158]                                    ";
  139. 50090 fori=217to242:pokei,peek(i)or128:next:return
  140. 51000 print"[153]":rem home
  141. 51010 print"";
  142. 51020 return
  143. 52000 restore:readnu$:fori=1to100:rem read in menu data
  144. 52010 readpn$(i),rc$(i),ca$(i),sa(i),sy(i)
  145. 52020 if pn$(i)<>"!"then next
  146. 52025 pc=i-1:i=100:next:
  147. 52030 pn$(pc+1)=""
  148. 52040 return
  149. 53000 sys51200:print"[129]";:ifpp<4then53020
  150. 53005 fori=pp-3topp+3:ifi=ppthenprint"[158]";
  151. 53007 ifc0>pp+2then53030
  152. 53010 printtab(10)pn$(i)"[129]":next:return
  153. 53020 fori=ppto3:print"";:next:fori=1topp+3:ifi=ppthenprint"[158]";
  154. 53025 printtab(10)pn$(i)"[129]":next:return
  155. 54000 rem main menu keypress selection
  156. 54010 getk$:ifk$=""thenj=notpeek(56321)and31:ifk$=""andj=.then54010
  157. 54020 k=asc(k$+chr$(.))
  158. 54025 ifk$="[157]"orj=4thenaf=1:rf=.:gosub49000:goto54000:remleft
  159. 54026 ifk$=""orj=8thenaf=.:rf=1:gosub49000:goto54000:remright
  160. 54040 ifk$=""ork$="[135]"ork$="[139]"orj=2thengosub54100:gosub49000:goto 54000:remdown
  161. 54045 ifk$="[136]"thenforop=pptopc:gosub54100:next:gosub49000:goto54000:rembig down
  162. 54050 ifk$="[145]"ork$="[134]"ork$="[138]"orj=1thengosub54200:gosub49000:goto54000:rem up
  163. 54055 ifk$="[133]"thenforop=ppto1step-1:gosub54200:next:gosub49000:goto54000:remb/up
  164. 54060 ifk$="x"ork$="[216]"then return
  165. 54070 ifj=16thenifrfthenprint:gosub51000:goto63800
  166. 54075 ifj=16thenifafthen 43000
  167. 54080 j=.:goto 54000
  168. 54100 ifpp>pc-1thengosub40100:return
  169. 54110 pp=pp+1:sys51206:sys51206:x%=10:y%=18:gosub56000
  170. 54120 ifpp<pc-2thenprint"[129]"pn$(pp+3):return
  171. 54130 print"[129]                        ":return
  172. 54200 ifpp<2thengosub40000:return
  173. 54210 pp=pp-1:sys51209:sys51209:x%=10:y%=6:gosub56000
  174. 54220 ifpp>2thenprint"[129]"pn$(pp-3):return
  175. 54230 print"[129]                        ":return
  176. 56000 poke783,peek(783)and254:poke781,y%:poke782,x%:sys65520:return
  177. 56010 poke783,peek(783)or1:sys65520:y%=peek(781):x%=peek(782):return
  178. 57000 x%=0:y%=3:gosub56000:gosub59000
  179. 57005 x%=1:y%=3:gosub56000:print"[158][193][194][207][213][212][146]"
  180. 57010 poke v+21,11
  181. 57020 return
  182. 58000 x%=0:y%=3:gosub56000:gosub59000
  183. 58005 x%=36:y%=3:gosub56000:print"[158][210][213][206][146]"
  184. 58010 poke v+21,7
  185. 58020 return
  186. 59000 print" [153][193][194][207][213][2