home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 16 / 016.d81 / presenter (.txt) < prev    next >
Encoding:
Commodore BASIC  |  1985-01-01  |  9.3 KB  |  270 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 2)    [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%=16ork$=" "then5000
  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 legible 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[176]k$[178]" "[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:[151]56325,49
  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
  137. 2902 [139][200](t$(i),4)[178]"\oad"[167][153]"":[137]2904
  138. 2903 [153]""t$(i)
  139. 2904 [130]
  140. 2906 [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. 5050 [161]a$:j%[178][168][194](j)[175]31:[139]j%[178].[175]a$[178]""[167]5050
  153. 5055 [139]a$[178]"on"[176]a$[178]""[176]a$[178]"dim"[176]a$[178]"run"[176]j%[178]1[167]5100
  154. 5060 [139]a$[178]""[176]a$[178]"cmd"[176]a$[178]"read"[176]a$[178]"if"[176]j%[178]2[167]5200
  155. 5065 [139]a$[178]"input"[176]a$[178]"goto"[167]5300
  156. 5070 [139]a$[178]"let"[176]a$[178]"restore"[167]5400
  157. 5075 [139]j%[178]16[176]a$[178]" "[167]5900
  158. 5080 [139]a$[178]"x"[176]a$[178]"(NULL)"[176]a$[178]"exp"[167][151]v[170]21,.:[137]5600
  159. 5090 [137]5050
  160. 5100 [139]mp[178]1[167][141]1450:[137]5050
  161. 5105 [158]51209:[158]51209:mp[178]mp[171]1
  162. 5110 [139]mp[179]5[167][151]1021,2[172](5[171]mp):[158]51200:[151]1021,18:[137]5050
  163. 5115 x%[178]12:y%[178]2:[141]1100:[153]"for"m$(mp[171]4,.);:[137]5050
  164. 5200 [139]mp[178]ml[167][141]1400:[137]5050
  165. 5205 [158]51206:[158]51206:mp[178]mp[170]1
  166. 5210 [139]mp[177]ml[171]4[167][151]1020,2[172](6[170](ml[171]mp)):[158]51200:[151]1020,2:[137]5050
  167. 5215 x%[178]12:y%[178]18:[141]1100:[153]"for"m$(mp[170]4,.);:[137]5050
  168. 5300 mp[178]1:[141]5500:[137]5050
  169. 5400 mp[178]ml:[141]5500:[137]5050
  170. 5500 [158]51200:[153]"for";:[139]mp[179]5[167]5520
  171. 5505 [129]i[178]mp[171]4[164]mp[170]4:[139]i[178]mp[167][153]"sys";
  172. 5510 [153][163]12)m$(i,.)"":[139]i[178]mp[167][153]"for";
  173. 5515 [130]:[142]
  174. 5520 [129]i[178]mp[164]4:[153]"";:[130]:[129]i[178]1[164]mp[170]4:[139]i[178]mp[167][153]"sys";
  175. 5525 [153][163]12)m$(i,.)"":[139]i[178]mp[167][153]"for";
  176. 5530 [130]:[142]
  177. 5600 [153]"loadstr$ocking with (NULL)able of lenontents";
  178. 5605 [141]63002:[141]63000
  179. 5606 [139][194](44)[179][177]8[167]5610
  180. 5607 [153]"loadstopload"[199](34)"hello"[199](34)",8":[153]"run"
  181. 5608 [151]597,0:[151]631,13:[151]632,13:[151]198,2:[151]53265,59:[128]
  182. 5610 [151]198,0 :[151]597,1
  183. 5615 [151]44,8:[138]:[128]
  184. 5620 :
  185. 5630 :
  186. 5900 :
  187. 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
  188. 5910 [151]s[170]4,.:[151]s[170]11,.:[151]s[170]18,.
  189. 5915 [139]mu%[175][194](788)[178]49[167][158]49152:[151]56325,49:mu%[178][171]1:[151]s[170]24,15
  190. 5999 [141]1000:[141]2900:[137]2000
  191. 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
  192. 6002 [151]s[170]5,96:[151]s[170]6,246
  193. 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
  194. 6006 data2,5,6,7
  195. 6010 poke1020,2:poke1021,17:poke1022,1:poke1023,38:poke49665,4:f%=usr(65535)
  196. 6012 print"[147]":pokes+23,.:pokes+4,128
  197. 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]"
  198. 6020 m$="features"+mid$(str$(f%),2,2):open8,8,8,m$:gosub1200:ml=1
  199. 6025 poke781,8:sys65478:sysli,b$:mt$=b$+"":gosub1200
  200. 6027 poke781,8:sys65478:sysli,b$:mo$=b$+"":gosub1200
  201. 6030 fori=.to1:poke781,8:sys65478:sysli,b$:m$(ml,i)=b$+""
  202. 6032 ifstthengosub1200:ifer%=.andst>63then6037
  203. 6033 next
  204. 6035 ml=ml+1:goto6030
  205. 6037 dimc%(5):fori=1to5:readc%(i):next:c%(.)=c(f%/10):data1,2,6,5,
  206. 6040 close8:sys65484:mp=1:pokes+4,.:pokes+23,.:pokes+5,9:pokes+6,.:goto5000
  207. 50000 print"[147][144]          [204][207][193][196][211][212][193][210][160][200]ardcopy             "
  208. 50005 print"[196]o you have:":print:print"  [195]ommodore 1525"
  209. 50010 print"  [195]ommodore 1526":print"  [195]ommodore [205][208][211] 801"
  210. 50015 print"  [212]ymac [195]onnection"
  211. 50020 print"  [195]ard/?[160][193], [194], or +[199]"
  212. 50025 print"  [194]us[195]ard [201][197][197][197]"
  213. 50030 print"or any other 1525-compatible setup?"
  214. 50035 poke198,.:wait198,1:geta$
  215. 50040 ifa$="y"ora$="[217]"ora$=""ora$="[183]"thenpa=4:sa=7:c8%=-1:goto51000
  216. 50045 ifa$<>"n"anda$<>"[206]"anda$<>""anda$<>"[170]"then50035
  217. 50100 print"[147][196]o you have a [195]ommodore 1520?"
  218. 50105 poke198,.:wait198,1:geta$
  219. 50110 ifa$="y"ora$="[217]"ora$=""ora$="[183]"thenpa=6:sa=0:goto51000
  220. 50115 ifa$<>"n"anda$<>"[206]"anda$<>""anda$<>"[170]"then50105
  221. 50200 print"[147][196]o you have an old [195]ommodore 1515?"
  222. 50205 poke198,.:wait198,1:geta$
  223. 50210 ifa$="y"ora$="[217]"ora$=""ora$="[183]"thenpa=4:sa=7:c8%=0:goto55000
  224. 50215 ifa$<>"n"anda$<>"[206]"anda$<>""anda$<>"[170]"then50205
  225. 50950 print"[147][201]n that case you just won't get any"
  226. 50955 print"hardcopy today, thank you!"
  227. 50960 fori=1to5000:next:goto5999
  228. 51000 ifc8%=.then55000
  229. 51005 print"[147][217]ou have a choice between having your"
  230. 51010 print"hardcopy in one column as it appears on"
  231. 51015 print"the screen, or in two columns using the"
  232. 51020 print"full width of your printer.  [196]o you want";
  233. 51025 print"two-column hardcopy?"
  234. 51035 poke198,.:wait198,1:geta$
  235. 51040 ifa$="y"ora$="[217]"ora$=""ora$="[183]"then55000
  236. 51045 ifa$<>"n"anda$<>"[206]"anda$<>""anda$<>"[170]"then51035
  237. 51050 c8%=.:goto55000
  238. 55000 print"[147][201] am now ready to print your comments"
  239. 55005 print"to the printer hooked up as device"pa
  240. 55010 print"secondary address"sa"[157].  [208]lease make sure"
  241. 55015 print"that the printer is on-line and ready to";
  242. 55020 print"go, then press the space bar.":poke198,.:wait198,1:poke198,.
  243. 55022 ifmu%thengosub2705
  244. 55025 open4,pa,sa:lc=.:cl=1:ifc8%then55100
  245. 55030 fori=1toll:lc=lc+1:iflc>60thenforj=1to6:print#4," ":next:lc=1
  246. 55035 print#4,t$(i):next:fori=llto65:print#4," ":next:goto55160
  247. 55100 ifll-cl<120then55150
  248. 55105 fori=cltocl+59:t$=t$(i):print#4,t$spc(42-len(t$))t$(i+60):next
  249. 55110 fori=1to6:print#4," ":next:cl=cl+120:goto55100
  250. 55150 ch%=(ll-cl+2)/2:fori=cltocl+ch%-1:t$=t$(i):print#4,t$spc(42-len(t$))t$(i+ch%)
  251. 55155 next:fori=1to4:print#4," ":next
  252. 55160 close4:ifmu%thengosub2700
  253. 55165 goto5999
  254. 59999 poke56325,59:end
  255. 60000 rem   run a program from inside
  256. 60010 forck=lptolp+15:ifleft$(t$(ck),4)="\oad"then61000
  257. 60020 next ck
  258. 60030 goto2000
  259. 60050 :
  260. 60105 :
  261. 61000 rem   actually run
  262. 61005 mu%=0:gosub2705
  263. 61006 poke597,0:rem  hide flag
  264. 61010 print"[147]l"+mid$(t$(ck),2):print"run"
  265. 61020 poke631,13:poke632,13:poke198,2:poke44,8:poke56325,59:end
  266. 63000 fori=.to24:pokes+i,.:next:pokes+1,100:pokes+2,100:pokes+5,10:pokes+6,2
  267. 63001 pokes+24,15:pokes+4,33:fordl=1to600:next:poke2+4,32:return
  268. 63002 fori=0to24:pokes+i,0:next:pokes+1,40:pokes+2,40:pokes+5,10:pokes+6,2
  269. 63003 pokes+24,15:pokes+4,33:fordl=1to600:next:pokes+4,32:return
  270.