home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 21 / 021.d81 / presenter (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  10KB  |  323 lines

  1. 0 rem sidirq presenter 12/28/84
  2. 1 iflf=0thenprint"[147][210]eading the [212]able of [195]ontents..."
  3. 2 iflf=0thenlf=1:load"romusic",8,1
  4. 3 ifpeek(49153)=11thenifpeek(49154)=192then5
  5. 4 load"sidirq v3",8,1
  6. 5 ifpeek(51201)<>12orpeek(51202)<>200orpeek(52222)<>5then7
  7. 6 goto8
  8. 7 load"routines v4",8,1
  9. 8 ifpeek(928)=128then10
  10. 9 load"menu.sprites",8,1
  11. 10 poke49161,0:poke49162,160:old$="":goto6000
  12. 1000 poke646,c%(2):print"[147]"tl$:pokev+33,c%(1):poke1021,17:lp=1:poke646,c%(4)
  13. 1002 poke53280,c%(0)
  14. 1010 printwt$;:fori=2to17:print"[221]"spc(38)"[221]";:next:printwb$;:poke646,c%(3)
  15. 1020 print"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][178][192][192][192][192][192][192][192][178][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]";
  16. 1025 print"[221]f1[146][208]age [194]ack  [221]       [221][202]oystick[146] scrolls[221]";
  17. 1030 print"[221]f3[146][211]croll [194]ack[221][208][146]rinter[221]    ([208]ort 2)    [221]";
  18. 1035 print"[221]f5[146][211]croll [198]wd.[221]"mu$"  [171][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][179]";
  19. 1040 print"[221]f7[146][208]age [198]wd.  [221][216][146]=[197]xit [221]"spc((16-len(mo$))/2)mo$tab(39)"[221]";
  20. 1045 print"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][177][192][192][192][192][192][192][192][177][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]";
  21. 1050 fori=217to242:pokei,peek(i)or128:next:poke646,c%(5):sys51203
  22. 1055 poke2023,125:poke56295,c%(3):return
  23. 1100 poke783,peek(783)and254:poke781,y%:poke782,x%:sys65520:return
  24. 1200 input#15,er%,er$,et%,es%
  25. 1205 if(er%>19ander%<30)orer%=66orer%=67orer%=71orer%=73then1250
  26. 1210 return
  27. 1250 print"[147][212]here has been a disk error."
  28. 1251 print
  29. 1252 print"[208]ress <space> to continue.":pokeb,0
  30. 1253 getk$:if k$=""then 1253
  31. 1261 run
  32. 1270 :
  33. 1280 remwiggle & bonk
  34. 1282 fori=27to31step+1:waitr,128:poker,i:next
  35. 1284 fori=31to24step-1:waitr,128:poker,i:next
  36. 1286 fori=24to27step+1:waitr,128:poker,i:next
  37. 1288 :
  38. 1290 ifpeek(788)<>49then1296
  39. 1291 pokes+4,0:pokes+11,0:pokes+18,0:pokes+5,8:pokes+6,0:pokes+24,15
  40. 1292 pokes+4,20:pokes,rnd(0)*256:pokes+1,rnd(0)*256:pokes+14,rnd(0)*256
  41. 1294 pokes+15,30:pokes+4,21
  42. 1295 :
  43. 1296 return
  44. 1300 remold bonk
  45. 1400 remnow goto
  46. 1450 rem1280
  47. 1455 :
  48. 1500 iff$=old$thenreturn
  49. 1501 old$=f$
  50. 1502 open8,8,8,f$:gosub1200:ifer%=62thenreturn
  51. 1505 print"[158]  [210]eading: "m$(mp,0)
  52. 1510 ll=1:poke781,8:sys65478
  53. 1515 sysli,b$:t$(ll)=left$(b$,38):ifst=.thenll=ll+1:goto1515
  54. 1520 sys65484:close8:gosub1200:fori=ll+1toll+20:t$(i)="":next:return
  55. 2000 getk$:j%=notpeek(j)and31:ifk$=""andj%=.then2000
  56. 2001 pokeb,0
  57. 2005 ifk$="\"then60000:rem run a program
  58. 2010 ifk$="[145]"ork$=""ork$="[134]"orj%=1thengosub2100:goto2000
  59. 2015 ifk$=""ork$="[157]"ork$="[135]"orj%=2thengosub2200:goto2000
  60. 2020 ifk$="[133]"then2300
  61. 2025 ifk$="[136]"then2400
  62. 2030 ifk$="p"ork$="[208]"ork$="[175]"ork$=""then50000
  63. 2040 ifk$="m"ork$="[205]"ork$="[167]"thenmu%=-1:gosub2705:sys49152:mu$="[209][146]uiet":goto2800
  64. 2045 ifk$="q"ork$="[209]"ork$="[171]"thenmu%=0:gosub2705:mu$="[205][146]usic":goto2800
  65. 2050 if(k$="x"ork$="[216]"ork$="[189]"ork$=""orj%=16ork$=" ")andm$(mp,2)="rq"then5000
  66. 2051 :
  67. 2052 ifk$="x"ork$="[216]"ork$="[189]"ork$=""orj%=16ork$=" "thengosub9000:gosub5500
  68. 2053 ifk$="x"ork$="[216]"ork$="[189]"ork$=""orj%=16ork$=" "thengoto5900
  69. 2054 :
  70. 2055 goto2000
  71. 2100 iflp=1then1280
  72. 2105 lp=lp-1:sys51209:x%=1:y%=2:gosub1100
  73. 2106 ifleft$(t$(lp),4)="\oad"thenprint"":goto2110
  74. 2107 printt$(lp)
  75. 2110 return
  76. 2200 iflp+16>llthen1280
  77. 2205 lp=lp+1:sys51206:x%=1:y%=17:gosub1100
  78. 2206 ifleft$(t$(lp+15),4)="\oad"thenprint"":goto2210
  79. 2207 printt$(lp+15)
  80. 2210 return
  81. 2300 fori=1to15:gosub2100:next:goto2000
  82. 2400 fori=1to15:gosub2200:next:goto2000
  83. 2500 :
  84. 2700 ifpeek(788)=49thenpokes+24,15:sys49158:poke56325,59
  85. 2702 return
  86. 2705 ifpeek(788)=49then2715
  87. 2710 sys49155:pokes+4,0:pokes+11,0:pokes+18,0:pokes+5,8:pokes+6,0:pokes+24,15
  88. 2715 return
  89. 2800 x%=15:y%=22:gosub1100:poke646,c%(3):printmu$:poke646,c%(5):goto2000
  90. 2900 x%=0:y%=2:gosub1100:sys51200:fori=lptolp+15
  91. 2902 ifleft$(t$(i),4)="\oad"thenprint"":goto2904
  92. 2903 print""t$(i)
  93. 2904 next:pokeb,0
  94. 2906 return
  95. 5000 gosub9000:remscreen
  96. 5047 gosub5500:rem menu
  97. 5048 :
  98. 5049 :
  99. 5050 ifmp=1thenifm$(1,1)="*"thena$="":goto5053
  100. 5051 formy=55708to55708+25:pokemy,7:next
  101. 5052 pokev+21,val(m$(mp,3)):geta$:j%=notpeek(j)and31:ifj%=.anda$=""then5051
  102. 5053 pokeb,0
  103. 5055 ifa$="[145]"ora$=""ora$="[134]"ora$="[138]"orj%=1thengosub5100
  104. 5060 kf=0:ifa$=""ora$="[157]"ora$="[135]"ora$="[139]"orj%=2thengosub5200
  105. 5065 ifa$="[133]"ora$="[137]"thenmp=1:gosub5520
  106. 5070 ifa$="[136]"ora$="[140]"thenmp=ml:gosub5500
  107. 5075 ifj%=16ora$=" "ora$=chr$(13)thengosub63300:goto5900
  108. 5080 ifa$="x"ora$="[216]"ora$="[189]"thenpokev+21,.:goto5600
  109. 5090 goto5050
  110. 5100 ifmp=1thengosub1280:goto5160
  111. 5105 sys51209:sys51209:mp=mp-1
  112. 5110 ifmp<5then5150
  113. 5114 x%=12:y%=2:gosub1100:po$=m$(mp-4,.)
  114. 5115 ifleft$(po$,1)="*"thenprintmid$(po$,2);:goto5150
  115. 5116 print"[129]"m$(mp-4,.);
  116. 5150 ifleft$(m$(mp,1),1)="*"then5100
  117. 5160 return
  118. 5175 :
  119. 5200 ifmp=mlthengosub1280:goto5260
  120. 5205 sys51206:sys51206:mp=mp+1
  121. 5210 ifmp>ml-4then5250
  122. 5214 x%=12:y%=18:gosub1100:po$=m$(mp+4,.)
  123. 5215 ifleft$(po$,1)="*"thenprintmid$(po$,2);:goto5250
  124. 5216 print"[129]"m$(mp+4,.);
  125. 5250 ifleft$(m$(mp,1),1)="*"then5200
  126. 5260 return
  127. 5275 :
  128. 5300 :
  129. 5400 :
  130. 5500 sys51200:print"[129]";:ifmp<5then5520
  131. 5505 fori=mp-4tomp+4
  132. 5507 ifleft$(m$(i,.),1)="*"thenprinttab(12)mid$(m$(i,0),2)"":goto5515
  133. 5510 printtab(12)"[129]"m$(i,.)"":
  134. 5515 next:return
  135. 5517 :
  136. 5520 sys51200:print"[129]";:fori=mpto4:print"";:next:fori=1tomp+4
  137. 5522 ifleft$(m$(i,.),1)="*"thenprinttab(12)mid$(m$(i,0),2)"":goto5530
  138. 5525 printtab(12)m$(i,.)"":
  139. 5530 next:return
  140. 5600 rem exit
  141. 5605 gosub63002:gosub63000
  142. 5607 goto63400
  143. 5608 end
  144. 5620 :
  145. 5630 :
  146. 5900 pop=0:gosub7000:ifpop=1then5000
  147. 5902 f$="t."+m$(mp,1):tl$=m$(mp,.)
  148. 5903 pop=0:gosub63100:ifpop=1then5000
  149. 5904 gosub1500:ifer%=62thenclose8:goto5000
  150. 5905 :
  151. 5906 pokev+21,0
  152. 5907 poke1020,2:poke1021,18:poke1022,1:poke1023,38:sys51200:print"[129]";:sys51203
  153. 5910 pokes+4,.:pokes+11,.:pokes+18,.
  154. 5915 ifmu%andpeek(788)=49thensys49152:poke56325,80:mu%=-1:pokes+24,15
  155. 5999 gosub1000:gosub2900:goto2000
  156. 6000 v=53248:r=v+17:c=128:s=v+1024:j=56320:lp=1:li=52016:mu%=-1:sys52176:b=198
  157. 6002 pokes+5,96:pokes+6,246
  158. 6005 open15,8,15:dimt$(600),m$(60,3),c(4):fori=1to4:readc(i):next:mu$="[209][146]uiet
  159. 6006 [131]2,5,6,7
  160. 6010 [151]1020,2:[151]1021,17:[151]1022,1:[151]1023,38:[151]49665,4
  161. 6012 [153]:[151]s[170]23,.:[151]s[170]4,128
  162. 6014 wl$[178]"tantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantan":wt$[178]"or"[170]wl$[170]"^":wb$[178]"/"[170]wl$[170]"exp
  163. 6015 d1$=left$(wt$,27)+right$(wt$,1):d2$=left$(wb$,27)+right$(wb$,1)
  164. 6016 bo$="[158][221]                          [221][146]"
  165. 6017 q1$="[158]                          "
  166. 6018 q2$="[158]                          "
  167. 6020 m$="features11":open8,8,8,m$:gosub1200:ml=1:
  168. 6022 :
  169. 6025 input#8,mt$,mo$,mn$
  170. 6030 fori=.to3:poke781,8:sys65478:sysli,b$:m$(ml,i)=b$+""
  171. 6032 ifstthengosub1200:ifer%=.andst>63then6037
  172. 6033 next
  173. 6035 ml=ml+1:goto6030
  174. 6037 close8:p$="p"+chr$(8)+chr$(1)+chr$(0)+chr$(1):print#15,"i0":dimc%(5)
  175. 6038 open8,8,8,"color.file":get#8,a$,b$:fori=0to5:input#8,c%(i):next:close8
  176. 6039 open8,8,8,"print.file":print#15,p$:input#8,pa:input#8,sa:close8
  177. 6040 sys65484:pokes+4,.:pokes+23,.:pokes+5,9:pokes+6,.
  178. 6042 mp=peek(597):ifmp>mlormp<1thenmp=1
  179. 6044 goto5000
  180. 6050 :
  181. 6060 :
  182. 7000 remsub menus 111885
  183. 7002 rem120485
  184. 7005 poke53281,0:poke53280,6:sys51200:pokev+21,val(m$(mp,3)):gosub2705
  185. 7006 poke1020,6:poke1021,14:poke1022,12:poke1023,37
  186. 7007 sys51200:print"";:sys51203
  187. 7010 bl=len(m$(mp,2)):sq$=m$(mp,2)
  188. 7020 c=0
  189. 7030 print"                                        ";
  190. 7031 print"[159]"wt$"[221] [195][210][211][210][146] keys or [202]oystick[146] to scroll menu [221]";
  191. 7032 print"[221] [211][208][193][195][197]-[194][193][210][146], [210]eturn[146], or [194]utton[146] [211]elects [221]";
  192. 7033 printleft$(wb$,39);:pok