home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 12 / 012.d81 / presenter (.txt) < prev    next >
Encoding:
Commodore BASIC  |  1985-01-01  |  9.2 KB  |  266 lines

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