home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 13 / 013.d81 / presenter (.txt) < prev    next >
Encoding:
Commodore BASIC  |  1985-01-01  |  9.3 KB  |  272 lines

  1. 0 rem sidirq presenter 12/28/84
  2. 1 ifx=0thenx=1:load"romusic",8,1
  3. 2 ifpeek(49153)=11thenifpeek(49154)=192then5
  4. 3 load"sidirq v3",8,1
  5. 5 ifpeek(51201)<>12orpeek(51202)<>200orpeek(52222)<>5then7
  6. 6 goto8
  7. 7 load"routines v4",8,1
  8. 8 ifpeek(927)=248then10
  9. 9 load"menu.sp1",8,1
  10. 10 poke49161,0:poke49162,160:old$="":goto6000
  11. 1000 poke646,c%(2):print"[147]"tl$:pokev+33,c%(1):poke1021,17:lp=1:poke646,c%(4)
  12. 1010 printwt$;:fori=2to17:print"[221]"spc(38)"[221]";:next:printwb$;:poke646,c%(3)
  13. 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]";
  14. 1025 print"[221]f1[146][208]age [194]ack  [221][208][146]rinter[221][202]oystick[146] scrolls[221]";
  15. 1030 print"[221]f3[146][211]croll [194]ack[221][195][146]olors [221]    ([208]ort 2)    [221]";
  16. 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]";
  17. 1040 print"[221]f7[146][208]age [198]wd.  [221][216][146]=[197]xit [221]"spc((16-len(mo$))/2)mo$tab(39)"[221]";
  18. 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]";
  19. 1050 fori=217to242:pokei,peek(i)or128:next:poke646,c%(5):sys51203
  20. 1055 poke2023,125:poke56295,c%(3):return
  21. 1100 poke783,peek(783)and254:poke781,y%:poke782,x%:sys65520:return
  22. 1200 input#15,er%,er$,et%,es%
  23. 1205 if(er%>19ander%<30)orer%=66orer%=67orer%=71orer%=73then1250
  24. 1210 return
  25. 1250 print"[147][212]here has been a disk error."
  26. 1251 print
  27. 1252 print"[208]ress <space> to continue."
  28. 1253 getk$:if k$=""then 1253
  29. 1261 run
  30. 1300 ifpeek(788)<>49thenreturn
  31. 1305 pokes+4,20:pokes,rnd(.)*256:pokes+1,rnd(.)*256:pokes+14,rnd(.)*256
  32. 1310 pokes+15,rnd(.)*256:pokes+4,21:return
  33. 1400 gosub1300:fori=27to24step-1:waitr,c:poker,i:next
  34. 1405 fori=24to29:waitr,c:waitr,c:poker,i:next
  35. 1410 fori=29to27step-1:waitr,c:waitr,c:waitr,c:waitr,c:poker,i:next:return
  36. 1450 gosub1300:fori=27to31:waitr,c:poker,i:next
  37. 1455 fori=31to25step-1:waitr,c:waitr,c:poker,i:next
  38. 1460 fori=25to27:waitr,c:waitr,c:waitr,c:waitr,c:poker,i:next:return
  39. 1500 iff$=old$thenreturn
  40. 1501 old$=f$
  41. 1502 open8,8,8,f$:gosub1200:ifer%=62thenreturn
  42. 1505 x%=3:y%=10:gosub1100:print"[158][204]oading:":
  43. 1510 ll=1:poke781,8:sys65478
  44. 1515 sysli,b$:t$(ll)=left$(b$,38):ifst=.thenll=ll+1:goto1515
  45. 1520 sys65484:close8:gosub1200:fori=ll+1toll+20:t$(i)="":next:return
  46. 2000 poke198,0
  47. 2001 :
  48. 2005 getk$:j%=notpeek(j)and31:ifk$=""andj%=.then2005
  49. 2006 ifj%<>0thenk$=""
  50. 2007 ifk$="\"then60000
  51. 2010 ifk$="[145]"ork$=""ork$="[134]"orj%=1thengosub2100:goto2005
  52. 2015 ifk$=""ork$="[157]"ork$="[135]"orj%=2thengosub2200:goto2005
  53. 2020 ifk$="[133]"then2300
  54. 2025 ifk$="[136]"then2400
  55. 2030 ifk$="p"ork$="[208]"ork$="[175]"ork$=""then50000
  56. 2035 ifk$="c"ork$="[195]"ork$="[188]"ork$=""then2500
  57. 2040 ifk$="m"ork$="[205]"ork$="[167]"thenmu%=-1:gosub2700:mu$="[209][146]uiet":goto2800
  58. 2045 ifk$="q"ork$="[209]"ork$="[171]"thenmu%=0:gosub2705:mu$="[205][146]usic":goto2800
  59. 2050 ifk$=" "ork$="x"ork$="[216]"ork$="[189]"ork$=""orj%=16then5000
  60. 2055 goto2005
  61. 2100 iflp=1then1450
  62. 2105 lp=lp-1:sys51209:x%=1:y%=2:gosub1100
  63. 2106 ifleft$(t$(lp),4)="\oad"thenprint"":goto2110
  64. 2107 printt$(lp)
  65. 2110 return
  66. 2200 iflp+16>llthen1400
  67. 2205 lp=lp+1:sys51206:x%=1:y%=17:gosub1100
  68. 2206 ifleft$(t$(lp+15),4)="\oad"thenprint"":goto2210
  69. 2207 printt$(lp+15)
  70. 2210 return
  71. 2300 fori=1to15:gosub2100:next:goto2005
  72. 2400 fori=1to15:gosub2200:next:goto2005
  73. 2500 poke646,c%(2):print"            [195]olor [211]election            ":r%=.
  74. 2505 poke646,c%(5):sys51200:print"[198]rom here, you can select the colors
  75. 2510 [153]"that you find most ledible for read-
  76. 2515 print"ing text.  [212]hese colors are only ac-
  77. 2520 [153]"tive when you are actually reading an
  78. 2525 print"article.  [217]ou may change the colors of
  79. 2530 [153]"any of the following:
  80. 2535 print"      [212]he [194]order: ";:poke646,c%(.):print"  [146]";:poke646,c%(5):print"_"
  81. 2540 print"  [212]he [194]ackground:
  82. 2545 [153]"  (NULL)he (NULL)itle (NULL)ine: ";:[151]646,c%(2):[153]"  ":[151]646,c%(5)
  83. 2550 [153]"(NULL)he lenommand (NULL)enu: ";:[151]646,c%(3):[153]"  ":[151]646,c%(5)
  84. 2555 [153]"    (NULL)he (NULL)ext peekox: ";:[151]646,c%(4):[153]"  ":[151]646,c%(5)
  85. 2560 [153]" (NULL)he (NULL)ext right$tself:   ":[151]646,c%(3):[153]wt$;
  86. 2565 [153]"(NULL) (NULL)se len(NULL)(NULL)(NULL) keys/mid$oystick to move the   (NULL)";
  87. 2570 [153]"(NULL) arrows, and (NULL)pacebar/peekutton to exit. (NULL)";
  88. 2575 [129]i[178]1[164]2:[153]"(NULL)                                      (NULL)";:[130]
  89. 2580 [153][200](wb$,39);:[129]i[178]217[164]242:[151]i,[194](i)[176]128:[130]:[141]1055
  90. 2585 x%[178]3:y%[178]22:[141]1100:[153]"";:[129]i[178].[164]15:[151]646,i:[153]"  ";:[130]:[153]
  91. 2590 x%[178]4[170]c%(r%)[172]2:y%[178]23:[141]1100:[151]646,c%(3):[153]"^";
  92. 2600 [161]k$:j%[178][168][194](j)[175]31:[139]k$[178]""[175]j%[178].[167]2600
  93. 2601 [139]k$[178]"on"[176]j%[178]1[167]2650
  94. 2602 [139]k$[178]""[176]j%[178]2[167]2670
  95. 2603 [139]k$[178]"cmd"[176]j%[178]4[167]2610
  96. 2604 [139]k$[178]""[176]j%[178]8[167]2630
  97. 2605 [139]j%[178]16[176]k$[178]" "[167]5999
  98. 2606 [137]2600
  99. 2610 x%[178]4[170]c%(r%)[172]2:y%[178]23:[141]1100:[153]" "
  100. 2612 c%(r%)[178]c%(r%)[171]1:[139]c%(r%)[179].[167]c%(r%)[178]15
  101. 2615 [139]r%[177]1[167][139]c%(r%)[178]c%(1)[167]2612
  102. 2617 [139]r%[178]1[167][139]c%(1)[178]c%(2)[176]c%(1)[178]c%(3)[176]c%(1)[178]c%(4)[176]c%(1)[178]c%(5)[167]2612
  103. 2618 x%[178]4[170]c%(r%)[172]2:y%[178]23:[141]1100:[153]"^"
  104. 2620 [145]r%[170]1[141]2810,2820,2830,2840,2850,2860
  105. 2622 [139]r%[179][177]1[167]x%[178]19:y%[178]10[170]r%:[141]1100:[151]646,c%(r%):[153]"  ":[151]646,c%(5)
  106. 2625 [137]2600
  107. 2630 x%[178]4[170]c%(r%)[172]2:y%[178]23:[141]1100::[153]" "
  108. 2632 c%(r%)[178]c%(r%)[170]1:[139]c%(r%)[177]15[167]c%(r%)[178].
  109. 2635 [139]r%[177]1[167][139]c%(r%)[178]c%(1)[167]2632
  110. 2637 [139]r%[178]1[167][139]c%(1)[178]c%(2)[176]c%(1)[178]c%(3)[176]c%(1)[178]c%(4)[176]c%(1)[178]c%(5)[167]2632
  111. 2640 [137]2618
  112. 2650 x%[178]21:y%[178]10[170]r%:[141]1100:[153]" ":x%[178]4[170]c%(r%)[172]2:y%[178]23:[141]1100:[153]" "
  113. 2652 r%[178]r%[171]1:[139]r%[179].[167]r%[178]5
  114. 2655 x%[178]21:y%[178]10[170]r%:[141]1100:[151]646,c%(5):[153]"_":x%[178]4[170]c%(r%)[172]2:y%[178]23:[141]1100
  115. 2656 [151]646,c%(3):[153]"^":[137]2600
  116. 2670 x%[178]21:y%[178]10[170]r%:[141]1100:[153]" ":x%[178]4[170]c%(r%)[172]2:y%[178]23:[141]1100:[153]" "
  117. 2672 r%[178]r%[170]1:[139]r%[177]5[167]r%[178].
  118. 2675 [137]2655
  119. 2700 [139][194](788)[178]49[167][151]s[170]24,15:[158]49158:[151]56325,55
  120. 2702 [142]
  121. 2705 [139][194](788)[178]49[167]2715
  122. 2710 [158]49155:[151]s[170]24,00
  123. 2715 [142]
  124. 2800 x%[178]15:y%[178]22:[141]1100:[151]646,c%(3):[153]mu$:[151]646,c%(5):[137]2000
  125. 2810 [151]v[170]32,c%(.):[142]
  126. 2820 [151]v[170]33,c%(1):[142]
  127. 2830 [151]1020,.:[151]1021,.:[151]1022,.:[151]1023,39:[151]646,c%(2):[158]51203
  128. 2831 [151]1020,2:[151]1021,17:[151]1022,1:[151]1023,38:[151]646,c%(5):[142]
  129. 2840 [151]1020,19:[151]1021,21:[151]1022,.:[151]1023,39:[151]646,c%(3):[158]51203
  130. 2841 [151]1020,24:[151]1021,24:[158]51203:[151]1020,2:[151]1021,17:[151]1022,1
  131. 2842 [151]1023,38:[151]56176,c%(3):[151]56215,c%(3):[151]56216,c%(3):[151]56255,c%(3)
  132. 2843 [151]646,c%(5):[142]
  133. 2850 [151]646,c%(4):[151]1020,1:[151]1021,1:[151]1022,.:[151]1023,39:[158]51203
  134. 2851 [151]1020,18:[151]1021,18:[158]51203:cm[178]55296:tn[178]39:ft[178]40:f[178]c%(4):[129]i[178]2[164]17
  135. 2852 [151]cm[170]i[172]ft,f:[151]cm[170]i[172]ft[170]tn,f:[130]:[151]1020,2:[151]1021,17:[151]1022,1
  136. 2853 [151]1023,38:[151]646,c%(5):[142]
  137. 2860 [151]646,c%(5):[158]51203:[129]i[178].[164]4:x%[178]19:y%[178]i[170]10:[141]1100:[151]646,c%(i)
  138. 2865 [139]i[179][177]1[167][153]"";
  139. 2870 [153]"  ":[130]:[151]646,c%(5):[142]
  140. 2900 x%[178]0:y%[178]2:[141]1100:[158]51200:[129]i[178]lp[164]lp[170]15:[153]""t$(i):[130]:[142]
  141. 5000 [141]2705:[153]"load";:[151]v[170]33,.:[153]"print "mt$[163]39[171][195](mo$))mo$
  142. 5005 [153]wt$;:[129]i[178]2[164]18:[153]"(NULL)"[166]38)"(NULL)";:[130]:[153]wb$;
  143. 5010 [153]"open"wt$"(NULL) len(NULL)(NULL)(NULL)wait keys or mid$oystickwait to scroll menu (NULL)";
  144. 5015 [153]"(NULL) (NULL)(NULL)atnlenvalwait bar or peekuttonwait to read article  (NULL)";
  145. 5020 [153]"(NULL) (NULL)wait key to exit to table of contents   (NULL)";
  146. 5022 [153][200](wb$,39);:[151]2023,125:[151]56295,3
  147. 5025 [129]i[178]217[164]242:[151]i,[194](i)[176]128:[130]
  148. 5030 [151]1020,2:[151]1021,18:[151]1022,1:[151]1023,38:[158]51200:[153]"for";:[158]51203
  149. 5035 x%[178]1:y%[178]10:[141]1100:[153]"sys                                      stop";
  150. 5040 [151]2040,14:[151]v,60:[151]v[170]1,128:[151]v[170]29,1:[151]v[170]39,7:[151]v[170]21,1
  151. 5045 [141]5500
  152. 5047 [151]198,0
  153. 5050 [161]a$:j%[178][168][194](j)[175]31:[139]j%[178].[175]a$[178]""[167]5050
  154. 5051 [139]j%[179][177]0[167]a$[178]""
  155. 5055 [139]a$[178]"on"[176]a$[178]""[176]a$[178]"dim"[176]a$[178]"run"[176]j%[178]1[167]5100
  156. 5060 [139]a$[178]""[176]a$[178]"cmd"[176]a$[178]"read"[176]a$[178]"if"[176]j%[178]2[167]5200
  157. 5065 [139]a$[178]"input"[176]a$[178]"goto"[167]5300
  158. 5070 [139]a$[178]"let"[176]a$[178]"restore"[167]5400
  159. 5075 [139]j%[178]16[176]a$[178]" "[167]5900
  160. 5080 [139]a$[178]"x"[176]a$[178]"(NULL)"[176]a$[178]"exp"[167][151]v[170]21,.:[137]5600
  161. 5090 [137]5050
  162. 5100 [139]mp[178]1[167][141]1450:[137]5050
  163. 5105 [158]51209:[158]51209:mp[178]mp[171]1
  164. 5110 [139]mp[179]5[167][151]1021,2[172](5[171]mp):[158]51200:[151]1021,18:[137]5050
  165. 5115 x%[178]12:y%[178]2:[141]1100:[153]"for"m$(mp[171]4,.);:[137]5050
  166. 5200 [139]mp[178]ml[167][141]1400:[137]5050
  167. 5205 [158]51206:[158]51206:mp[178]mp[170]1
  168. 5210 [139]mp[177]ml[171]4[167][151]1020,2[172](6[170](ml[171]mp)):[158]51200:[151]1020,2:[137]5050
  169. 5215 x%[178]12:y%[178]18:[141]1100:[153]"for"m$(mp[170]4,.);:[137]5050
  170. 5300 mp[178]1:[141]5500:[137]5050
  171. 5400 mp[178]ml:[141]5500:[137]5050
  172. 5500 [158]51200:[153]"for";:[139]mp[179]5[167]5520
  173. 5505 [129]i[178]mp[171]4[164]mp[170]4:[139]i[178]mp[167][153]"sys";
  174. 5510 [153][163]12)m$(i,.)"":[139]i[178]mp[167][153]"for";
  175. 5515 [130]:[142]
  176. 5520 [129]i[178]mp[164]4:[153]"";:[130]:[129]i[178]1[164]mp[170]4:[139]i[178]mp[167][153]"sys";
  177. 5525 [153][163]12)m$(i,.)"":[139]i[178]mp[167][153]"for";
  178. 5530 [130]:[142]
  179. 5600 [153]"loadstr$ocking with (NULL)able of lenontents";
  180. 5605 [141]63002:[141]63000
  181. 5606 [139][194](44)[179][177]8[167]5610
  182. 5607 [153]"loadstopload"[199](34)"hello"[199](34)",8":[153]"run"
  183. 5608 [151]597,0:[151]631,13:[151]632,13:[151]198,2:[128]
  184. 5610 [151]198,0 :[151]597,1
  185. 5615 [151]44,8:[138]:[128]
  186. 5620 :
  187. 5630 :
  188. 5900 :
  189. 5902 f$[178]m$(mp,1):tl$[178]m$(mp,.):[151]v[170]21,.:[141]1500:[139]er%[178]62[167][160]8:[137]5000
  190. 5910 [151]s[170]4,.:[151]s[170]11,.:[151]s[170]18,.
  191. 5915 [139]mu%[175][194](788)[178]49[167][158]49152:[151]56325,55:mu%[178][171]1:[151]s[170]24,15
  192. 5999 [141]1000:[141]2900:[137]2000
  193. 6000 v[178]53248:r[178]v[170]17:c[178]128:s[178]v[170]1024:j[178]56320:lp[178]1:li[178]52016:mu%[178][171]1:[158]52176
  194. 6002 [151]s[170]5,96:[151]s[170]6,246
  195. 6005 [159]15,8,15:[134]t$(600),m$(32,1),c(4):[129]i[178]1[164]4:[135]c(i):[130]:mu$[178]"(NULL)waituiet
  196. 6006 data2,5,6,7
  197. 6010 poke1020,2:poke1021,17:poke1022,1:poke1023,38:poke49665,4:f%=usr(65535)
  198. 6012 print"[147]":pokes+23,.:pokes+4,128
  199. 6015 wl$="[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][192][192][192][192]":wt$="[176]"+wl$+"[174]":wb$="[173]"+wl$+"[189]"
  200. 6020 m$="features"+mid$(str$(f%),2,2):open8,8,8,m$:gosub1200:ml=1
  201. 6025 poke781,8:sys65478:sysli,b$:mt$=b$+"":gosub1200
  202. 6027 poke781,8:sys65478:sysli,b$:mo$=b$+"":gosub1200
  203. 6030 fori=.to1:poke781,8:sys65478:sysli,b$:m$(ml,i)=b$+""
  204. 6032 ifstthengosub1200:ifer%=.andst>63then6037
  205. 6033 next
  206. 6035 ml=ml+1:goto6030
  207. 6037 dimc%(5):fori=1to5:readc%(i):next:c%(.)=c(f%/10):data1,2,6,5,
  208. 6040 close8:sys65484:mp=1:pokes+4,.:pokes+23,.:pokes+5,9:pokes+6,.:goto5000
  209. 50000 print"[147][144]          [204][207][193][196][211][212][193][210][160][200]ardcopy             "
  210. 50005 print"[196]o you have:":print:print"  [195]ommodore 1525"
  211. 50010 print"  [195]ommodore 1526":print"  [195]ommodore [205][208][211] 801"
  212. 50015 print"  [212]ymac [195]onnection"
  213. 50020 print"  [195]ard/?[160][193], [194], or +[199]"
  214. 50025 print"  [194]us[195]ard [201][197][197][197]"
  215. 50030 print"or any other 1525-compatible setup?"
  216. 50035 poke198,.:wait198,1:geta$
  217. 50040 ifa$="y"ora$="[217]"ora$=""ora$="[183]"thenpa=4:sa=7:c8%=-1:goto51000
  218. 50045 ifa$<>"n"anda$<>"[206]"anda$<>""anda$<>"[170]"then50035
  219. 50100 print"[147][196]o you have a [195]ommodore 1520?"
  220. 50105 poke198,.:wait198,1:geta$
  221. 50110 ifa$="y"ora$="[217]"ora$=""ora$="[183]"thenpa=6:sa=0:goto51000
  222. 50115 ifa$<>"n"anda$<>"[206]"anda$<>""anda$<>"[170]"then50105
  223. 50200 print"[147][196]o you have an old [195]ommodore 1515?"
  224. 50205 poke198,.:wait198,1:geta$
  225. 50210 ifa$="y"ora$="[217]"ora$=""ora$="[183]"thenpa=4:sa=7:c8%=0:goto55000
  226. 50215 ifa$<>"n"anda$<>"[206]"anda$<>""anda$<>"[170]"then50205
  227. 50950 print"[147][201]n that case you just won't get any"
  228. 50955 print"hardcopy today, thank you!"
  229. 50960 fori=1to5000:next:goto5999
  230. 51000 ifc8%=.then55000
  231. 51005 print"[147][217]ou have a choice between having your"
  232. 51010 print"hardcopy in one column as it appears on"
  233. 51015 print"the screen, or in two columns using the"
  234. 51020 print"full width of your printer.  [196]o you want";
  235. 51025 print"two-column hardcopy?"
  236. 51035 poke198,.:wait198,1:geta$
  237. 51040 ifa$="y"ora$="[217]"ora$=""ora$="[183]"then55000
  238. 51045 ifa$<>"n"anda$<>"[206]"anda$<>""anda$<>"[170]"then51035
  239. 51050 c8%=.:goto55000
  240. 55000 print"[147][201] am now ready to print your comments"
  241. 55005 print"to the printer hooked up as device"pa
  242. 55010 print"secondary address"sa"[157].  [208]lease make sure"
  243. 55015 print"that the printer is on-line and ready to";
  244. 55020 print"go, then press the space bar.":poke198,.:wait198,1:poke198,.
  245. 55022 ifmu%thengosub2705
  246. 55025 open4,pa,sa:lc=.:cl=1:ifc8%then55100
  247. 55030 fori=1toll:lc=lc+1:iflc>60thenforj=1to6:print#4," ":next:lc=1
  248. 55035 print#4,t$(i):next:fori=llto65:print#4," ":next:goto55160
  249. 55100 ifll-cl<120then55150
  250. 55105 fori=cltocl+59:t$=t$(i):print#4,t$spc(42-len(t$))t$(i+60):next
  251. 55110 fori=1to6:print#4," ":next:cl=cl+120:goto55100
  252. 55150 ch%=(ll-cl+2)/2:fori=cltocl+ch%-1:t$=t$(i):print#4,t$spc(42-len(t$))t$(i+ch%)
  253. 55155 next:fori=1to4:print#4," ":next
  254. 55160 close4:ifmu%thengosub2700
  255. 55165 goto5999
  256. 59999 end
  257. 60000 rem   run a program from inside
  258. 60010 forck=lptolp+15:ifleft$(t$(ck),4)="\oad"then61000
  259. 60020 next ck
  260. 60030 goto2000
  261. 60050 :
  262. 60105 :
  263. 61000 rem   actually run
  264. 61005 mu%=0:gosub2705
  265. 61006 poke597,0:rem  hide flag
  266. 61010 print"[147]l"+mid$(t$(ck),2):print"run"
  267. 61020 poke631,13:poke632,13:poke198,2:poke44,8:end
  268. 63000 fori=.to24:pokes+i,.:next:pokes+1,100:pokes+2,100:pokes+5,10:pokes+6,2
  269. 63001 pokes+24,15:pokes+4,33:fordl=1to600:next:poke2+4,32:return
  270. 63002 fori=0to24:pokes+i,0:next:pokes+1,40:pokes+2,40:pokes+5,10:pokes+6,2
  271. 63003 pokes+24,15:pokes+4,33:fordl=1to600:next:pokes+4,32:return
  272.