home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64-128BBS / STR3.5SRC.ARC / ST / R.TRIV (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  11.9 KB  |  360 lines

  1. 100 POKE152,PEEK(251)
  2. 110 GOTO450
  3. 120 :
  4. 130 :REM START OF USER JUMP TABLE.
  5. 140 :
  6. 150 GOTO760 :REM CHECK FOR CARRIER.
  7. 160 GOTO820 :REM SEND P$+CHR$(13) OUT.
  8. 170 GOTO830 :REM SEND P$ OUT.
  9. 180 GOTO970 :REM GET L$ FROM MODEM.
  10. 190 GOTO1220:REM CALL FOR CHAT.
  11. 200 GOTO1260:REM ENGAGE CHAT MODE.
  12. 210 GOTO1370:REM SEND 'P' TO USERFILE.
  13. 220 GOTO1410:REM READ ERROR CHANNEL.
  14. 230 GOTO1430:REM READ SYSTEM CLOCK.
  15. 240 GOTO1530:REM DISPLAY USER STATS.
  16. 250 GOTO1680:REM DISPLAY USER ONLINE.
  17. 260 GOTO1700:REM EDIT USER STATISTICS.
  18. 270 GOTO2080:REM REMOTE SYSOP MENU.
  19. 280 GOTO2300:REM DISPLAY DIR.
  20. 290 GOTO2600:REM BREAK RC INTO LO/HI.
  21. 300 GOTO2640:REM UPDATE (USER LOG).
  22. 310 GOTO2650:REM SAME AS 2330.
  23. 320 GOTO2660:REM GET U$() FROM DISK.
  24. 330 GOTO2670:REM GET N$() FROM DISK.
  25. 340 GOTO2710:REM SEND U$() TO DISK.
  26. 350 GOTO2720:REM SEND N$() TO DISK.
  27. 360 GOTO2770:REM FIND DV,DR$.
  28. 370 GOTO2790:REM INCREMENT DV,DR$.
  29. 380 GOTO2850:REM HANG UP PHONE.
  30. 390 GOTO2920:REM FIND TIME CONNECTED.
  31. 400 GOTO2950:REM RETURN TO BBS.
  32. 410 GOTO2960:REM LOAD NEXT MODULE.
  33. 420 :
  34. 430 :REM END OF USER JUMP TABLE.
  35. 440 :
  36. 450 B1=56577:B2=56579:Q$=CHR$(34):B3=56590:B4=56588:DV=8:N$=CHR$(0):SI=54272
  37. 460 DIMIN%(255),OT%(255),U$(12),N$(12),DR%(7):DR$="0"
  38. 480 GOSUB550:GOSUB490:GOTO530
  39. 490 OPEN1,8,5,"0:(BBS.CONFIG)":FORT=0TO9:INPUT#1,A:IFA=0THEN500
  40. 495 FORI=0TOA-1:INPUT#1,A$,A,A:NEXT
  41. 500 NEXT:INPUT#1,DR:FORI=0TODR-1:INPUT#1,DR%(I):NEXT:DR=DR+7
  42. 510 INPUT#1,RF:AA=-((RFAND128)=128):RF$=MID$(STR$(AA),2)+":(USERFILE)"
  43. 520 INPUT#1,SY$,BD$,MT%,RC,S1$,S2$,RR,P1$,P2$,D5,D6:CLOSE1:RETURN
  44. 530 F$=CHR$(13):P=0:POKE51972,P:SYS51976:BS=255:UL$=""
  45. 540 DC$="[149] --===[129]***[158]===[153]---===[159]***[154]===---[156]===***[158]===--[152]":GOTO3010
  46. 550 FORI=1TO64:OT%(I)=I:NEXT:OT%(20)=8:OT%(160)=32
  47. 560 OT%(12)=12:FORI=65TO90:OT%(I)=I+32:NEXT:OT%(34)=ASC("'")
  48. 570 FORI=91TO95:OT%(I)=I:NEXT:FORI=193TO218:OT%(I)=I-128:NEXT
  49. 580 OT%(5)=0:OT%(8)=0:OT%(9)=0:OT%(14)=0:OT%(17)=0:OT%(18)=0:OT%(28)=0
  50. 590 OT%(29)=0:OT%(30)=0:OT%(31)=0
  51. 600 FORI=0TO255:T=OT%(I):IFT<>0THENIN%(T)=I:IN%(T+128)=I
  52. 610 NEXT:IN%(160)=32:IN%(32)=32:RETURN
  53. 620 TI$="000000":A$=""
  54. 630 GOSUB760:IFCDTHENRETURN
  55. 640 GOSUB2920:IFSY=0ANDCO>240THENCD=1:RETURN
  56. 650 GETZ$:IFSY=0THENGET#5,A$
  57. 660 IFZ$="[133]"THENSY=SY+1:GOSUB2080:SY=SY-1:RETURN
  58. 670 IFZ$="[134]"THENGOSUB1260:TI$="000000":RETURN
  59. 680 IFZ$="[140]"THENCD=1:RETURN
  60. 690 IFZ$<>""ORA$<>""THEN730
  61. 700 IFVAL(TI$)<400THEN630
  62. 710 OPEN1,8,5,"0:(USER LOG),A":PRINT#1,UL$:PRINT#1,"[212]IME [197]LAPSED![152]":CLOSE1
  63. 720 CD=1:UL$="":RETURN
  64. 730 IFA$=""ORZ$=""THENGOSUB750
  65. 740 RETURN
  66. 750 POKESI+4,21:POKESI+4,20:RETURN
  67. 760 CD=0:IFSYTHENRETURN
  68. 770 IF(PEEK(B1)AND16)<>HLTHENRETURN
  69. 780 TI$="000000"
  70. 790 IF(PEEK(B1)AND16)<>HLTHENRETURN
  71. 800 IFVAL(TI$)>5THENCD=1:RETURN
  72. 810 GOTO790
  73. 820 P$=P$+F$
  74. 830 IFL=55THENPRINT#4,P$;:RETURN
  75. 840 IFSYTHENPRINTP$;:GOTO880
  76. 850 IFCGTHENPRINTP$;:PRINT#5,P$;:GOTO880
  77. 860 FORI=1TOLEN(P$):A$=MID$(P$,I,1):IFA$=""THENGOSUB750
  78. 870 PRINTA$;:PRINT#5,CHR$(OT%(ASC(A$)));:NEXT
  79. 880 I=PEEK(673)AND1:GET#5,A$:IFA$=""THENGETA$
  80. 890 IFA$=CHR$(160)THENA$=" "
  81. 900 IF(A$>""ANDMM)ORA$=" "ORA$="/"ORCDTHEN960
  82. 910 IFA$=""THEN940
  83. 920 IFITHEN880
  84. 930 RETURN
  85. 940 GET#5,A$:IFA$=""THENGETA$
  86. 950 IFA$=""THEN940
  87. 960 ONPEEK(673)AND1GOTO960:RETURN
  88. 970 L$="":FORI=1TOL:PRINT"[164][157]";
  89. 980 GOSUB620:IFCDTHENRETURN
  90. 990 IFZ$<>""THENT=ASC(Z$):A$=Z$:GOTO1030
  91. 1000 IFCGTHENT=ASC(A$+N$):GOTO1020
  92. 1010 T=IN%(ASC(A$+N$)):A$=CHR$(T)
  93. 1020 IFT=0THEN980
  94. 1030 IFT=34THENT=39:A$="'"
  95. 1040 IFT=20ANDL$<>""THENL$=LEFT$(L$,LEN(L$)-1):I=I-1:GOTO1100
  96. 1050 IFT=20ANDL$=""THEN980
  97. 1060 IFT=13ANDSYTHENPRINT" ":RETURN
  98. 1070 IFT=13THENPRINT" ":PRINT#5,F$;:RETURN
  99. 1080 IFT=10THEN980
  100. 1090 IFLEN(L$)=38THENP$="":GOSUB830:GOTO980
  101. 1100 IFI=>30AND(ASC(A$+N$)AND127)=32ANDMMTHENT=13:GOTO1060
  102. 1110 IFSYTHENPRINTA$;:GOTO1170
  103. 1120 IF(T=20)ANDCGANDECTHENPRINTA$;:PRINT#5,A$;:GOTO1170
  104. 1130 IFT=20ANDECTHENPRINTA$;:PRINT#5,CHR$(OT%(ASC(A$)));:GOTO1170
  105. 1140 IFECTHENPRINTA$;:PRINT#5,"-";:GOTO1170
  106. 1150 IFCGTHENPRINTA$;:PRINT#5,A$;:GOTO1170
  107. 1160 PRINTA$;:PRINT#5,CHR$(OT%(ASC(A$)));
  108. 1170 IFT=20THEN980
  109. 1180 L$=L$+A$:NEXT:T=13:EC=0:GOTO1060
  110. 1190 P$=F$+"[197]NTER [193]CCESS LEVEL: ":GOSUB830:L=5:GOSUB970:IFCDTHENRETURN
  111. 1200 IFVAL(L$)<0ORVAL(L$)>65535ORL$=""THENRETURN
  112. 1210 L=VAL(L$):A2=INT(L/256):A1=L-A2*256:A$=L$:RETURN
  113. 1220 IFSA<>1THENP$=F$+F$+SY$+" IS NOT AVAILABLE RIGHT NOW.":GOSUB820:RETURN
  114. 1230 P$="[195]ALLING "+SY$+"....":GOSUB820:FORI=1TO20:GETA$:IFA$="[134]"THEN1260
  115. 1240 GOSUB750:FORT=1TO600:NEXT:NEXT
  116. 1250 P$="[212]RY AGAIN LATER....":GOSUB820:RETURN
  117. 1260 P$=F$+F$+SY$+", CHATTING WITH "+U$(1)+F$:GOSUB820
  118. 1270 PRINT"[164][157]";:GETZ$:GET#5,A$:GOSUB760
  119. 1280 IFCG=0THENA$=CHR$(IN%(ASC(A$+N$)))
  120. 1290 IFZ$="[134]"ORCDTHENP$=F$+SY$+" HAS RETURNED TO "+BD$+".":GOSUB820:RETURN
  121. 1300 IFZ$="[133]"THENSY=SY+1:GOSUB2080:SY=SY-1
  122. 1310 IFA$=CHR$(0)ORA$=""THENA$=Z$
  123. 1320 IFA$=""THEN1270
  124. 1330 IFA$=""THENGOSUB750
  125. 1340 IFA$=CHR$(13)THENPRINT" ";:PRINT#5,CHR$(10);
  126. 1350 PRINT" [157]";:IFCGTHENPRINTA$;:PRINT#5,A$;:GOTO1270
  127. 1360 PRINTA$;:PRINT#5,CHR$(OT%(ASC(A$)));:GOTO1270
  128. 1370 GOSUB2610:AA=RF:GOSUB2770
  129. 1380 FORL=1TO2:PRINT#15-B,"P"CHR$(99)CHR$(R1)CHR$(R2)CHR$(1):GOSUB1410:NEXT
  130. 1390 GOSUB1410:IFER$<"20"ORER$="50"THENRETURN
  131. 1400 PRINT"[197]RROR IN (USERFILE)!":GOSUB2850:STOP
  132. 1410 ES$="":GOSUB1420:ER$=LEFT$(ES$,2):RETURN
  133. 1420 GET#15-B,A$:ES$=ES$+A$:ON-(A$<>CHR$(13))GOTO1420:RETURN
  134. 1430 T1$="00:00:00.0 XX":SYS51982,T1$:TM$=T1$+""
  135. 1440 HO$=LEFT$(TM$,2):MI$=MID$(TM$,4,2):FZ$=RIGHT$(TM$,2)
  136. 1490 IFVAL(LEFT$(TM$,2))<>12ANDFZ$<>"AM"THENC2=1:GOTO1520
  137. 1500 IFC2THENOPEN1,8,5,"@0:(T.CALLERS),S,W":PRINT#1," ":CLOSE1:DT=DT+1
  138. 1510 IFC2THENC2=0:NT=0:IFSFTHENOPEN1,8,5,"@0:(USER LOG),S,W":CLOSE1
  139. 1520 DA$=M$+STR$(DT):RETURN
  140. 1530 P$=F$+"[217]OUR [211]TATISTICS...."+F$:GOSUB820
  141. 1540 P$="[206]AME          : "+U$(1):GOSUB820
  142. 1550 P$="[193]CCESS LEVEL  :"+STR$(AC):GOSUB820:GOSUB1430
  143. 1560 P$="[196]ATE/[212]IME     : "+DA$+" "+TM$:GOSUB820:GOSUB2920
  144. 1570 P$="[195]ONNECT [212]IME  :"+STR$(CO)+" MINS.":GOSUB820
  145. 1580 P$="[205]EMBER #      : "+R$:GOSUB820
  146. 1590 P$="[208]ASSWORD      : "+U$(4):GOSUB820
  147. 1600 P$="[193]GE           : "+U$(6):GOSUB820
  148. 1610 P$="[210]EAL [206]AME     : "+U$(7):GOSUB820
  149. 1620 P$="[212]OTAL [213]/[204]'S   : "+U$(9):GOSUB820
  150. 1630 P$="[212]OTAL [196]/[204]'S   : "+U$(10):GOSUB820
  151. 1640 P$="       [[210]ATIO - "+MID$(STR$(RR),2)+":1]":GOSUB820
  152. 1650 P$="[204]AST CALL DATE: "+U$(11):GOSUB820
  153. 1660 P$="[212]OTAL CALLS   : "+U$(12):GOSUB820:RETURN
  154. 1680 PRINT"[156]"F$U$(1)" <*> [204]VL-"+MID$(STR$(AC),2):GOSUB2920
  155. 1690 PRINTTM$" [195]ONNECTED:"STR$(CO)" MINS.[152]":RETURN
  156. 1700 P$=" [147][197]NTER ACCOUNT # OF USER.":GOSUB820
  157. 1710 P$="[193]CCOUNT # OF CURRENT USER: "+R$:GOSUB820
  158. 1720 P$="[214][213]:":GOSUB830:L=3:GOSUB970:IFCDTHENRETURN
  159. 1730 IFL$=""THENRETURN
  160. 1740 E$=L$:IFL$=R$THENFORL=1TO12:N$(L)=U$(L):NEXT:AA=AC:GOTO1760
  161. 1750 OPEN3,RF,3,RF$:RC=VAL(L$):GOSUB1370:GOSUB2670:CLOSE3
  162. 1760 P$=" [147]1 - [206]AME      : "+N$(1)+F$+"2 - [208]HONE     : "+N$(2):GOSUB820:GOSUB2630
  163. 1770 P$="3 - [193]CCESS [204]VL:"+STR$(AA)+F$+"4 - [208]ASSWORD  : "+N$(4):GOSUB820
  164. 1780 P$="5 - # OF [197]MAIL: "+N$(5)+F$+"6 - [193]GE       : "+N$(6):GOSUB820
  165. 1790 P$="7 - [210]EAL NAME : "+N$(7)+F$+"8 - C/G MODE  : "+N$(8):GOSUB820
  166. 1800 P$="9 - [212]OTAL [213]/[204] : "+N$(9)+F$+"[193] - [212]OTAL [196]/[204] : "+N$(10):GOSUB820
  167. 1820 P$="[195] - [204]AST CALL : "+N$(11):GOSUB820
  168. 1830 P$="[196] - # CALLS   : "+N$(12):GOSUB820
  169. 1850 IFL=55THENL=0:PRINT#4:CLOSE4:GOTO1760
  170. 1860 P$=F$+"[215]HICH TO CHANGE:":GOSUB830:L=1:GOSUB970:IFCDTHENRETURN
  171. 1870 IFL$=""ANDR$=E$THENFORL=1TO12:U$(L)=N$(L):NEXT:AC=AA:GOTO1700
  172. 1880 IFL$=""THEN1700
  173. 1890 IFL$="S"ORL$="[211]"THEN1980
  174. 1900 IFL$="P"ORL$="[208]"THENL=55:OPEN4,4,7:GOTO1760
  175. 1910 S=(ASC(L$)AND127)-64:IFS=>1ANDS<=6THENS=S+9:GOTO1940
  176. 1920 S=VAL(L$):IFS<1ORS>14THEN1760
  177. 1930 IFS=3THENGOSUB1190:N$(3)=A$:AA=A:GOTO1760
  178. 1940 IFS=11THENGOSUB2760:GOTO1760
  179. 1950 P$=F$+"["+N$(S)+"]:[195]HANGE TO->":GOSUB830
  180. 1960 L=20:GOSUB970:IFCDTHENRETURN
  181. 1970 N$(S)=L$:GOTO1760
  182. 1980 P$=F$+"[211]AVE STATS WHERE? (DEFAULT="+E$+"):":GOSUB830
  183. 1990 L=3:GOSUB970:IFCDTHENRETURN
  184. 2000 IFL$<>""ANDVAL(L$)>0THENE$=L$
  185. 2010 P$=F$+"[211]AVE AT: "+E$:GOSUB820
  186. 2020 P$="[195]ORRECT? (Y/N):":GOSUB830:L=1:GOSUB970:IFCDTHENRETURN
  187. 2030 IFL$<>"Y"ANDL$<>"[217]"THEN1760
  188. 2040 OPEN3,RF,3,RF$:RC=VAL(E$):GOSUB1370
  189. 2050 GOSUB2720
  190. 2060 CLOSE3
  191. 2070 RETURN
  192. 2080 AA=DV:GOSUB2770
  193. 2090 P$=" [147]":GOSUB820
  194. 2100 P$=DC$+F$+"   --**]> [210]EMOTE [211]YS-[207]P [205]ENU <[**--"+F$+DC$+F$:GOSUB820
  195. 2110 P$="[214] - [214]ALIDATE USER":GOSUB820
  196. 2120 P$="[193] - [211]CAN ANY SEQ ON DISK":GOSUB820
  197. 2130 P$="$ - [196]IRECTORY":GOSUB820
  198. 2140 P$="@ - [196]OS COMMANDS":GOSUB820
  199. 2150 P$="[213] - [211]CAN USER LOG":GOSUB820
  200. 2160 P$="[212] - [212]ODAY'S CALLERS":GOSUB820
  201. 2170 P$="# - [212]OGGLE DRIVE #"+STR$(DV)+";"+DR$:GOSUB820
  202. 2180 P$=F$+"[210][211][205]"+MID$(STR$(DV),2)+";"+DR$+":":GOSUB830:L=1:GOSUB970:IFCDTHENRETURN
  203. 2190 IFL$=""THENRETURN
  204. 2200 L$=CHR$(ASC(L$)AND127)
  205. 2210 GOSUB2640:UL$=UL$+"[211]YSOP-"+L$+CHR$(13)
  206. 2220 ON-(L$="U")-2*(L$="A")-3*(L$="V")-4*(L$="$")GOSUB2440,2550,1700,2300
  207. 2230 ON-(A$="#")-2*(L$="T")GOSUB2790,2540
  208. 2240 IFL$="?"THEN2090
  209. 2250 IFL$<>"@"THEN2180
  210. 2260 P$=F$+">":GOSUB830:L=39:GOSUB970:IFCDTHENRETURN
  211. 2270 IFL$=""THENGOSUB1410:P$=F$+ES$:GOSUB820:GOTO2180
  212. 2280 IFLEFT$(L$,4)=P2$+":"THENPRINT#15-B,RIGHT$(L$,LEN(L$)-4)
  213. 2290 GOTO2180
  214. 2300 P$=F$:GOSUB820:OPEN1,DV,0,"$"+DR$+":*"
  215. 2310 GOSUB1410:IFER$>"01"THENCLOSE1:P$=F$+ES$:GOSUB820:RETURN
  216. 2320 GET#1,A$:GET#1,A$
  217. 2330 GET#1,A$:GET#1,A$:IF(ST)AND64THENCLOSE1:RETURN
  218. 2340 GET#1,LO$:GET#1,HI$
  219. 2350 LO$=LO$+N$:HI$=HI$+N$
  220. 2360 P$=STR$(ASC(LO$+CHR$(0))+256*ASC(HI$+CHR$(0)))+" "
  221. 2370 GET#1,A$:IFA$=""THEN2410
  222. 2380 GET#5,Z$:IFZ$=""THENGETZ$
  223. 2390 IFZ$=" "THENCLOSE1:RETURN
  224. 2400 P$=P$+A$:GOTO2370
  225. 2410 IFECANDMID$(P$,8,1)="("THEN2330
  226. 2420 GOSUB820:IFA$=" "THENCLOSE1:RETURN
  227. 2430 GOTO2330
  228. 2440 FI$="(USER LOG)"
  229. 2450 OPEN1,DV,5,DR$+":"+FI$:P$="":GOSUB1410:IFER$>"01"THENCLOSE1:RETURN
  230. 2460 GET#1,A$:IF(ST)AND64THEN2510
  231. 2470 GET#5,Z$:IFZ$=""THENGETZ$
  232. 2480 IFZ$=" "ORZ$="/"THEN2510
  233. 2490 IFA$=CHR$(13)ORLEN(P$)=39THENGOSUB820:P$="":GOTO2460
  234. 2500 P$=P$+A$:GOTO2460
  235. 2510 GOSUB820:CLOSE1:P$=F$+"[211]CRATCH? (Y/N):":GOSUB830:L=1:GOSUB970
  236. 2520 IFL$=""OR(L$<>"Y"ANDL$<>"[217]")THENRETURN
  237. 2530 OPEN1,DV,5,"@"+DR$+":"+FI$+",S,W":PRINT#1," ":CLOSE1:RETURN
  238. 2540 FI$="(T.CALLERS)":GOTO2450
  239. 2550 P$=F$+"[211]CAN FILE: ":GOSUB830:L=16:GOSUB970
  240. 2560 FI$=L$:GOTO2450
  241. 2570 POKEB3,65:POKEB4,40:POKEB2,231:POKEB1,57:POKEB4,48:RETURN
  242. 2580 GOSUB2570:POKEB2,PEEK(B2)OR32:POKEB1,PEEK(B1)AND223:POKEB1,PEEK(B1)OR32
  243. 2590 POKEB1,PEEK(B1)AND223:POKEB4,40:POKEB4,47:POKEB2,230:GOSUB2570:RETURN
  244. 2600 HI=INT(RC/256):LO=RC-(HI*256):RETURN
  245. 2610 GOSUB2600:R1=LO:R2=HI:RETURN
  246. 2620 AC=VAL(U$(3)):A2=INT(AC/256):A1=AC-A2*256:RETURN
  247. 2630 AA=VAL(N$(3)):RETURN
  248. 2640 IFLEN(UL$)<230THENRETURN
  249. 2650 OPEN1,8,5,"0:(USER LOG),A":PRINT#1,UL$:CLOSE1:UL$="":RETURN
  250. 2660 GOSUB2670:FORI=1TO12:U$(I)=N$(I):NEXT:RETURN
  251. 2670 FORI=1TO12:INPUT#3,N$(I):NEXT:RETURN
  252. 2710 N$(0)="":FORI=1TO12:N$(0)=N$(0)+Q$+N$(I)+CHR$(13):NEXT
  253. 2720 PRINT#3,N$(0):RC=1:GOSUB1370:RETURN
  254. 2730 N$(0)="":A$="                    ":A$=A$+A$+A$:FORI=1TO12
  255. 2740 N$(0)=N$(0)+LEFT$(N$(I)+A$,L%(I)):NEXT:PRINT#3,CHR$(34)N$(0)
  256. 2750 RC=1:GOSUB1370:RETURN
  257. 2760 RETURN
  258. 2770 B=-(AA=9)-2*(AA=10)-3*(AA=11)-4*(AA=12)-5*(AA=13)-6*(AA=14)
  259. 2780 B=B-7*(AA=15):AA=-((DR%(B)AND128)=128):DR$=MID$(STR$(AA),2):RETURN
  260. 2790 IFDR$="0"THENAA=DV:GOSUB2770:IFDR$="1"THENRETURN
  261. 2800 DV=DV+1:IFDV>15THENDV=8
  262. 2810 FORL=0TO(DR-8):IFDV<>(DR%(L)AND63)THENNEXT:GOTO2800
  263. 2820 IFA1AND32ORSYTHEN2840
  264. 2830 AA=DV:GOSUB2770:IFDR%(B)AND64THEN2800
  265. 2840 AA=DV:GOSUB2770:DR$="0":RETURN
  266. 2850 ON(MT%-1)GOTO2860,2870,2900,2910,2580,2580
  267. 2860 POKEB2,PEEK(B2)OR32:POKEB1,PEEK(B1)AND223:RETURN
  268. 2870 FORT=1TO2000:NEXT:PRINT#5,"+++";:FORT=1TO2000:NEXT:PRINT#5,"[193][212][200]"+CHR$(13)
  269. 2880 FORT=1TO2000:NEXT:PRINT#5,"[193][212][218]"+CHR$(13):FORT=1TO2000:NEXT
  270. 2890 PRINT#5,"[193][212][205]0"+CHR$(13)::FORT=1TO2000:NEXT:PRINT#5,"[193][212][214]0"+CHR$(13):RETURN
  271. 2900 POKEB2,38:POKEB1,38:RETURN
  272. 2910 POKEB1,PEEK(B1)OR32:RETURN
  273. 2920 GOSUB1430:CT=VAL(HO$):MI=VAL(MI$):CO=ABS((LH*60+LM)-(CT*60+MI))
  274. 2930 IFLH=12ANDC2THENCO=ABS(CO-720)
  275. 2940 RETURN
  276. 2950 FI$="(ST/R 3.5)":DV=D5
  277. 2960 OPEN1,8,5,"@0:(DATA),S,W":PRINT#1,R$:FORT=1TO12
  278. 2970 PRINT#1,Q$U$(T):NEXT:PRINT#1,LH:PRINT#1,LM:PRINT#1,SA:PRINT#1,SY
  279. 2980 PRINT#1,SF:PRINT#1,HL:PRINT#1,M$:PRINT#1,DT:PRINT#1,LEN(F$):PRINT#1,Q$LN$
  280. 2990 PRINT#1,DV:PRINT#1,NW:PRINT#1,HM$:CLOSE1
  281. 2995 POKE252,32:POKE251,PEEK(152):AA=DV:GOSUB360:GOSUB2650
  282. 3000 PRINT"[146][147]LOAD"Q$DR$":"FI$Q$","DVAND127"":POKE631,131:POKE198,1:NEW
  283. 3010 OPEN1,8,5,"0:(DATA)":INPUT#1,R$:R=VAL(R$):FORT=1TO12
  284. 3020 INPUT#1,U$(T):NEXT:INPUT#1,LH,LM,SA,SY,SF,HL,M$,DT,T,LN$,DV,NW
  285. 3022 HM$="":FORI=1TO200:GET#1,A$:IFA$=""THENA$=CHR$(0)
  286. 3024 HM$=HM$+A$:NEXT
  287. 3030 CLOSE1:GOSUB2620:CG=VAL(U$(8)):IFT=2THENF$=CHR$(13)+CHR$(10)
  288. 3040 REM -----------------------------
  289. 3050 REM -    YOUR PROGRAM SHOULD    -
  290. 3060 REM -    START AT LINE 3080!    -
  291. 3070 REM -----------------------------
  292. 3080 DIMTQ$(16,16),TA$(16,16),TU$(16,16),TR(16),CA$(16,1):I=17:GOSUB3420
  293. 3085 IFVAL(RIGHT$(U$(12),2))<>DTTHENFORT=1TO16:SC(T)=0:NEXT
  294. 3090 OPEN1,8,5,"0:(TRIVIA)":CB=1
  295. 3110 INPUT#1,CA:FORT=1TOCA:INPUT#1,CA$(T,0),CA$(T,1),TR(T):FORI=1TOTR(T)
  296. 3115 INPUT#1,TQ$(T,I),TA$(T,I),TU$(T,I):NEXT:NEXT:CLOSE1:GOTO3180
  297. 3120 GOSUB250:P$=F$+"[150][212]:":GOSUB170:L=1:GOSUB180:IFCDTHENGOSUB380:GOTO400
  298. 3130 IFL$=""THEN3120
  299. 3135 GOSUB300:UL$=UL$+"[212]RIVIA - "+L$+F$
  300. 3140 IFL$="A"ORL$="[193]"THEN3210
  301. 3150 IFL$="Q"ORL$="[209]"THENGOSUB3450:GOTO400
  302. 3155 IFL$="S"ORL$="[211]"THENGOSUB3530
  303. 3160 IFL$="L"ORL$="[204]"THEN3370
  304. 3162 IFL$="C"ORL$="[195]"THEN3480
  305. 3164 IFL$="Y"ORL$="[217]"THENGOSUB190
  306. 3166 IFL$="+"ORL$="-"THEN3510
  307. 3170 IFL$<>"?"THEN3120
  308. 3180 P$=" [147]"+DC$+F$+"         --**]> [212]RIVIA <[**--"+F$+DC$:GOSUB160
  309. 3185 P$=F$+"[151][193] - [193]NSWER A QUESTION":GOSUB160
  310. 3190 P$="[152][204] - [204]IST QUESTIONS":GOSUB160
  311. 3192 P$="[154][195] - [195]HANGE CATAGORY: "+CA$(CB,0):GOSUB160
  312. 3194 P$="[155][217] - [217]ELL FOR [211]YSOP":GOSUB160
  313. 3196 P$="[150]+ - [211]TEP UP A CATAGORY":GOSUB160
  314. 3198 P$="[129]- - [211]TEP DOWN A CATAGORY":GOSUB160
  315. 3199 P$="[159][211] - [217]OUR [211]CORE":GOSUB160
  316. 3200 P$="[155][209] - [209]UIT":GOSUB160:GOTO3120
  317. 3210 P$=F$+"[193]NSWER QUESTION #(1-"+MID$(STR$(TR(CB)),2)+"):":GOSUB170:L=2:GOSUB180
  318. 3220 IFL$=""THEN3120
  319. 3230 RT=VAL(L$):IFRT<1ORRT>TR(CB)THEN3120
  320. 3240 IFTU$(CB,RT)>""THENP$=F$+TU$(CB,RT)+" HAS ALREADY ANSWERED IT!":GOSUB160:GOTO3120
  321. 3250 RC=SC(CB):GOSUB290:T=LO:IFRT>7THENT=HI
  322. 3260 IF((T)AND(2^(RT-1+8*(RT>8))))=0THEN3280
  323. 3270 P$=F$+"[159][217]OU HAVE ALREADY TRIED.":GOSUB160:GOTO3120
  324. 3280 P$=F$+TQ$(CB,RT)+F$+F$+"[217]OUR ANSWER: ":GOSUB170:L=38:GOSUB180
  325. 3290 IFCDTHENGOSUB380:GOTO400
  326. 3300 SC(CB)=SC(CB)+2^(RT-1)
  327. 3310 IFL$<>TA$(CB,RT)THENP$="[201]NCORRECT.[152]":GOSUB300:UL$=UL$+P$+F$:GOSUB160:GOTO3120
  328. 3320 P$="[150][193]BSOLUTELY [195]ORRECT! [195]ONGRATULATIONS!":GOSUB160
  329. 3330 SC(17)=SC(17)+5:P$="[217]OUR SCORE IS NOW:"+STR$(SC(17))
  330. 3335 GOSUB300:UL$=UL$+"[195]ORRECT. [211]CORE ="+STR$(SC(17))+F$
  331. 3340 GOSUB160:TU$(CB,RT)=U$(1)
  332. 3350 OPEN1,8,5,"@0:(TRIVIA),S,W":PRINT#1,CA:FORT=1TOCA:PRINT#1,Q$CA$(T,0)
  333. 3355 PRINT#1,Q$CA$(T,1):PRINT#1,TR(T):FORI=1TOTR(T)
  334. 3360 PRINT#1,Q$TQ$(T,I):PRINT#1,Q$TA$(T,I):PRINT#1,Q$TU$(T,I):NEXT:NEXT:CLOSE1
  335. 3365 GOTO3120
  336. 3370 P$=F$+"[195]ATAGORY : "+CA$(CB,0):GOSUB160
  337. 3375 P$="[208]OSTED ON: "+CA$(CB,1)+F$:GOSUB160:FORRT=1TOTR(CB):A$=TU$(CB,RT)
  338. 3380 IFA$=""THENA$="[206]O ONE!"
  339. 3390 P$=MID$(STR$(RT),1-(RT>9))+". [150]"+TQ$(CB,RT)+F$+"[158][193]NSWERED BY: "+A$:GOSUB160
  340. 3400 IFTU$(CB,RT)>""THENP$="[129]  [193]NSWER IS: "+TA$(CB,RT):GOSUB160
  341. 3410 NEXT:GOTO3120
  342. 3420 OPEN3,8,3,"0:(SCORES)":GOSUB220:IFER$>"01"THENCLOSE3:RETURN
  343. 3430 RC=R:GOSUB2610:GOSUB1380:GET#3,A$:IF(ST)AND64THENSC=0:GOTO3432
  344. 3431 INPUT#3,SC
  345. 3432 IFSC=0THENSC=I:CLOSE3:DIMSC(SC):RETURN
  346. 3435 IFI>SCTHENDIMSC(I):GOTO3440
  347. 3437 DIMSC(SC)
  348. 3440 FORT=1TOSC:INPUT#3,SC(T):NEXT:CLOSE3:IFI>SCTHENSC=I
  349. 3445 RETURN
  350. 3450 OPEN3,8,3,"0:(SCORES)":GOSUB220:IFER$>"01"THENCLOSE3:RETURN
  351. 3460 RC=R:GOSUB2610:GOSUB1380:SC$=STR$(SC)+CHR$(13):FORT=1TOSC
  352. 3470 SC$=SC$+STR$(SC(T))+CHR$(13):NEXT:PRINT#3,SC$;:RC=1:GOSUB2610:CLOSE3:RETURN
  353. 3480 P$=F$:GOSUB160:FORT=1TOCA:P$=STR$(T)+" - "+CA$(T,0):GOSUB160:NEXT
  354. 3489 P$=F$+"[197]NTER CATAGORY #:":GOSUB170:L=2:GOSUB180:IFCDTHENGOSUB380:GOTO400
  355. 3490 T=VAL(L$):IFT<1ORT>CATHEN3120
  356. 3500 CB=T:P$=F$+"[217]OU ARE NOW IN THE "+CA$(CB,0)+" CATAGORY.":GOSUB160:GOTO3120
  357. 3510 IFL$="+"THENL$=STR$(CB+1):GOTO3490
  358. 3520 L$=STR$(CB-1):GOTO3490
  359. 3530 P$=F$+"[217]OUR [211]CORE IS:"+STR$(SC(17)):GOSUB160:RETURN
  360.