home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64-128BBS / STR.GRAFITTI (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  10.9 KB  |  319 lines

  1. 100 POKE152,PEEK(251)
  2. 110 GOTO470
  3. 120 :
  4. 130 :REM START OF USER JUMP TABLE.
  5. 140 :
  6. 150 GOTO660 :REM CHECK FOR CARRIER.
  7. 160 GOTO720 :REM SEND P$+CHR$(13) OUT.
  8. 170 GOTO730 :REM SEND P$ OUT.
  9. 180 GOTO770:REM GET L$ FROM MODEM.
  10. 190 GOTO860:REM CALL FOR CHAT.
  11. 200 GOTO900:REM ENGAGE CHAT MODE.
  12. 210 GOTO2150:REM SEND 'P' TO USERFILE.
  13. 220 GOTO1000:REM READ ERROR CHANNEL.
  14. 230 GOTO1020:REM READ SYSTEM CLOCK.
  15. 240 GOTO1080:REM DISPLAY USER STATS.
  16. 250 GOTO1220:REM DISPLAY USER ONLINE.
  17. 260 GOTO1240:REM EDIT USER STATISTICS.
  18. 270 GOTO1610:REM REMOTE SYSOP MENU.
  19. 280 GOTO1830:REM DISPLAY DIR.
  20. 290 GOTO2130:REM BREAK RC INTO LO/HI.
  21. 300 GOTO2180:REM UPDATE (USER LOG).
  22. 310 GOTO2190:REM SAME AS 2330.
  23. 320 GOTO2200:REM GET U$() FROM DISK.
  24. 330 GOTO2210:REM GET N$() FROM DISK.
  25. 340 GOTO2220:REM SEND U$() TO DISK.
  26. 350 GOTO2230:REM SEND N$() TO DISK.
  27. 360 GOTO2250:REM FIND DV,DR$ IN DR%().
  28. 370 GOTO2270:REM FIND DV,DR$
  29. 380 GOTO2280:REM INCREMENT DV,DR$.
  30. 390 GOTO2340:REM HANG UP PHONE.
  31. 400 GOTO2400:REM FIND TIME CONNECTED.
  32. 410 GOTO2560:REM RETURN TO BBS.
  33. 420 GOTO2570:REM LOAD NEXT MODULE.
  34. 430 GOTO2450:REM GET SC() FROM DISK.
  35. 440 GOTO2530:REM SEND SC() TO DISK.
  36. 450 GOTO2430:REM SEND SEQ OUT.
  37. 460 :
  38. 470 B1=56577:B2=56579:Q$=CHR$(34):B3=56590:B4=56588:DV=8:N$=CHR$(0):SI=54272
  39. 480 DIMU$(15),N$(15),DR%(7):DR$="0"
  40. 490 GOSUB500:GOTO550
  41. 500 OPEN1,8,5,"0:(BBS.CONFIG)":FORT=0TO9:INPUT#1,A:IFA=0THEN520
  42. 510 FORI=0TOA-1:INPUT#1,A$,A,A:NEXT
  43. 520 NEXT:INPUT#1,DR:FORI=0TODR-1:INPUT#1,DR%(I):NEXT:DR=DR+7
  44. 530 INPUT#1,RF:AA=-((RFAND128)=128):RF$=MID$(STR$(AA),2)+":(USERFILE)"
  45. 540 INPUT#1,SY$,BD$,MT%,RC,S1$,S2$,RR,P1$,P2$,D5,D6,MF,N5,N3,N4:CLOSE1:RETURN
  46. 550 F$=CHR$(13):P=0:POKE51972,P:SYS51976:BS=255:UL$=""
  47. 560 DC$="[149] --===[129]***[158]===[153]---===[159]***[154]===---[156]===***[158]===--[152]":GOTO2630
  48. 570 IFA$="[133]"THENSY=SY+1:GOSUB1610:SY=SY-1:RETURN
  49. 580 IFA$="[134]"THENGOSUB900:TI$="000000":RETURN
  50. 590 IFA$="[140]"THENCD=1:RETURN
  51. 600 IFL<>65535THENRETURN
  52. 610 OPEN1,8,5,"0:(USER LOG),A":PRINT#1,UL$:PRINT#1,"[212]IME [197]LAPSED![152]":CLOSE1
  53. 620 CD=1:UL$="":RETURN
  54. 630 IFA$=""ORZ$=""THENGOSUB650
  55. 640 RETURN
  56. 650 POKESI+4,21:POKESI+4,20:RETURN
  57. 660 CD=0:IFSYTHENRETURN
  58. 670 IF(PEEK(B1)AND16)<>HLTHENRETURN
  59. 680 TI$="000000"
  60. 690 IF(PEEK(B1)AND16)<>HLTHENRETURN
  61. 700 IFVAL(TI$)>5THENCD=1:RETURN
  62. 710 GOTO690
  63. 720 P$=P$+F$
  64. 730 IFL=55THENPRINT#4,P$;:RETURN
  65. 740 POKE52030,SY:POKE52031,CG:POKE52040,MM:SYS51994,P$
  66. 750 CD=PEEK(52033):A$=CHR$(PEEK(52034)):IFA$=CHR$(0)THENA$=""
  67. 760 RETURN
  68. 770 GOSUB2400:IFVAL(U$(14))<COTHEN810
  69. 780 POKE52030,SY:POKE52031,CG:POKE52038,EC:POKE52039,L:POKE52040,MM
  70. 790 L$="ND ONE OTHER LITTLE THING [206]...FITI!D ":SYS52003,L$:CD=PEEK(52033)
  71. 800 L=PEEK(52034)+256*PEEK(52036):A$=CHR$(PEEK(52034)):GOSUB570:RETURN
  72. 810 P$=F$+F$+"[217]OU [200]AVE [197]XCEEDED [217]OUR [212]IME [204]IMIT!!"+F$+"[199][207][207][196][194][217][197]!"+F$:GOSUB160
  73. 820 GOTO410
  74. 830 P$=F$+"[197]NTER [193]CCESS LEVEL: ":GOSUB170:L=5:GOSUB180:IFCDTHENRETURN
  75. 840 IFVAL(L$)<0ORVAL(L$)>65535ORL$=""THENRETURN
  76. 850 L=VAL(L$):A2=INT(L/256):A1=L-A2*256:A$=CHR$(A1)+CHR$(A2):RETURN
  77. 860 IFSA<>1THENP$=F$+F$+SY$+" IS NOT AVAILABLE RIGHT NOW.":GOSUB160:RETURN
  78. 870 P$="[195]ALLING "+SY$+"....":GOSUB160:FORI=1TO20:GETA$:IFA$="[134]"THEN900
  79. 880 GOSUB650:FORT=1TO600:NEXT:NEXT
  80. 890 P$="[212]RY AGAIN LATER....":GOSUB160:RETURN
  81. 900 P$=F$+F$+SY$+", CHATTING WITH "+U$(1)+F$:GOSUB160
  82. 910 SYS52012:A$=CHR$(PEEK(52034)):CD=PEEK(52033)
  83. 920 IFA$="[134]"ORCDTHENP$=F$+SY$+" HAS RETURNED TO "+BD$+".":GOSUB160:RETURN
  84. 930 IFA$="[133]"THENSY=SY+1:GOSUB1610:SY=SY-1
  85. 940 IFA$="[140]"THENCD=1:RETURN
  86. 950 RETURN
  87. 960 GOSUB2140:AA=RF:GOSUB2250
  88. 970 FORL=1TO2:PRINT#15-B,"P"CHR$(99)CHR$(R1)CHR$(R2)CHR$(1):GOSUB1000:NEXT
  89. 980 GOSUB1000:IFER$<"20"ORER$="50"THENRETURN
  90. 990 PRINT"[197]RROR IN (USERFILE)!":GOSUB2340:STOP
  91. 1000 ES$="":GOSUB1010:ER$=LEFT$(ES$,2):RETURN
  92. 1010 GET#15-B,A$:ES$=ES$+A$:ON-(A$<>CHR$(13))GOTO1010:RETURN
  93. 1020 T1$="02:51:57.6 PM":SYS51982,T1$:TM$=T1$+""
  94. 1030 HO$=LEFT$(TM$,2):MI$=MID$(TM$,4,2):FZ$=RIGHT$(TM$,2)
  95. 1040 IFVAL(LEFT$(TM$,2))<>12ANDFZ$<>"AM"THENC2=1:GOTO1070
  96. 1050 IFC2THENOPEN1,8,5,"@0:(T.CALLERS),S,W":PRINT#1," ":CLOSE1:DT=DT+1
  97. 1060 IFC2THENC2=0:NT=0:IFS9THENOPEN1,8,5,"@0:(USER LOG),S,W":CLOSE1
  98. 1070 DA$=M$+STR$(DT):RETURN
  99. 1080 P$=F$+"[217]OUR [211]TATISTICS...."+F$:GOSUB160
  100. 1090 P$="[206]AME          : "+U$(1):GOSUB160
  101. 1100 P$="[193]CCESS LEVEL  :"+STR$(AC):GOSUB160:GOSUB1020
  102. 1110 P$="[196]ATE/[212]IME     : "+DA$+" "+TM$:GOSUB160:GOSUB2400
  103. 1120 P$="[195]ONNECT [212]IME  :"+STR$(CO)+" MINS.":GOSUB160
  104. 1130 P$="[205]EMBER #      : "+R$:GOSUB160
  105. 1140 P$="[208]ASSWORD      : "+U$(4):GOSUB160
  106. 1150 P$="[193]GE           : "+U$(6):GOSUB160
  107. 1160 P$="[210]EAL [206]AME     : "+U$(7):GOSUB160
  108. 1170 P$="[212]OTAL [213]/[204]'S   : "+U$(9):GOSUB160
  109. 1180 P$="[212]OTAL [196]/[204]'S   : "+U$(10):GOSUB160
  110. 1190 P$="       [[210]ATIO - "+MID$(STR$(RR),2)+":1]":GOSUB160
  111. 1200 P$="[204]AST CALL DATE: "+U$(11):GOSUB160
  112. 1210 P$="[212]OTAL CALLS   : "+U$(12):GOSUB160:RETURN
  113. 1220 PRINT"[156]"F$U$(1)" <*> [204]VL-"+MID$(STR$(AC),2):GOSUB2400
  114. 1230 PRINTTM$" [195]ONNECTED:"STR$(CO)" MINS.[152]":RETURN
  115. 1240 P$=" [147][197]NTER ACCOUNT # OF USER.":GOSUB160
  116. 1250 P$="[193]CCOUNT # OF CURRENT USER: "+R$:GOSUB160
  117. 1260 P$="[214][213]:":GOSUB170:L=3:GOSUB180:IFCDTHENRETURN
  118. 1270 IFL$=""THENRETURN
  119. 1280 E$=L$+"":IFL$=R$THENFORL=1TO15:N$(L)=U$(L):NEXT:AA=AC:GOTO1300
  120. 1290 OPEN3,RF,3,RF$:RC=VAL(L$):GOSUB960:GOSUB2210:CLOSE3
  121. 1300 P$=" [147]1 - [206]AME      : "+N$(1)+F$+"2 - [208]HONE     : "+N$(2):GOSUB160:GOSUB2170
  122. 1310 P$="3 - [193]CCESS [204]VL:"+STR$(AA)+F$+"4 - [208]ASSWORD  : "+N$(4):GOSUB160
  123. 1320 P$="5 - # OF [197]MAIL: "+N$(5)+F$+"6 - [193]GE       : "+N$(6):GOSUB160
  124. 1330 P$="7 - [210]EAL NAME : "+N$(7)+F$+"8 - C/G MODE  : "+N$(8):GOSUB160
  125. 1340 P$="9 - [212]OTAL [213]/[204] : "+N$(9)+F$+"[193] - [212]OTAL [196]/[204] : "+N$(10):GOSUB160
  126. 1350 P$="[194] - [204]AST CALL : "+N$(11):GOSUB160
  127. 1360 P$="[195] - # CALLS   : "+N$(12):GOSUB160
  128. 1370 P$="[196] - [195]ALLS/[196]AY : "+N$(13)+F$+"[197] - [212]IME/[195]ALL : "+N$(14):GOSUB160
  129. 1380 P$="[198] - [195]ALLS[212]ODAY: "+N$(15):GOSUB160
  130. 1390 IFL=55THENL=0:PRINT#4:CLOSE4:GOTO1300
  131. 1400 P$=F$+"[215]HICH TO CHANGE:":GOSUB170:L=1:GOSUB180:IFCDTHENRETURN
  132. 1410 IFL$=""ANDR$=E$THENFORL=1TO15:U$(L)=N$(L):NEXT:AC=AA:GOTO1240
  133. 1420 IFL$=""THEN1240
  134. 1430 IFL$="S"ORL$="[211]"THEN1510
  135. 1440 IFL$="P"ORL$="[208]"THENL=55:OPEN4,4,7:GOTO1300
  136. 1450 S=(ASC(L$)AND127)-64:IFS=>1ANDS<=6THENS=S+9:GOTO1480
  137. 1460 S=VAL(L$):IFS<1ORS>9THEN1300
  138. 1470 IFS=3THENGOSUB830:N$(3)=A$:AA=A:GOTO1300
  139. 1480 P$=F$+"["+N$(S)+"]:[195]HANGE TO->":GOSUB170
  140. 1490 L=20:GOSUB180:IFCDTHENRETURN
  141. 1500 N$(S)=L$+"":GOTO1300
  142. 1510 P$=F$+"[211]AVE STATS WHERE? (DEFAULT="+E$+"):":GOSUB170
  143. 1520 L=3:GOSUB180:IFCDTHENRETURN
  144. 1530 IFL$<>""ANDVAL(L$)>0THENE$=L$+""
  145. 1540 P$=F$+"[211]AVE AT: "+E$:GOSUB160
  146. 1550 P$="[195]ORRECT? (Y/N):":GOSUB170:L=1:GOSUB180:IFCDTHENRETURN
  147. 1560 IFL$<>"Y"ANDL$<>"[217]"THEN1300
  148. 1570 OPEN3,RF,3,RF$:RC=VAL(E$):GOSUB960
  149. 1580 GOSUB2230
  150. 1590 CLOSE3
  151. 1600 RETURN
  152. 1610 AA=DV:GOSUB2250
  153. 1620 P$=" [147]":GOSUB160
  154. 1630 P$=DC$+F$+"   --**]> [210]EMOTE [211]YS-[207]P [205]ENU <[**--"+F$+DC$+F$:GOSUB160
  155. 1640 P$="[214] - [214]ALIDATE USER":GOSUB160
  156. 1650 P$="[193] - [211]CAN ANY SEQ ON DISK":GOSUB160
  157. 1660 P$="$ - [196]IRECTORY":GOSUB160
  158. 1670 P$="@ - [196]OS COMMANDS":GOSUB160
  159. 1680 P$="[213] - [211]CAN USER LOG":GOSUB160
  160. 1690 P$="[212] - [212]ODAY'S CALLERS":GOSUB160
  161. 1700 P$="# - [212]OGGLE DRIVE #"+STR$(DV)+";"+DR$:GOSUB160
  162. 1710 P$=F$+"[210][211][205]"+MID$(STR$(DV),2)+";"+DR$+":":GOSUB170:L=1:GOSUB180:IFCDTHENRETURN
  163. 1720 IFL$=""THENRETURN
  164. 1730 L$=CHR$(ASC(L$)AND127)
  165. 1740 GOSUB2180:UL$=UL$+"[211]YSOP-"+L$+CHR$(13)
  166. 1750 ON-(L$="U")-2*(L$="A")-3*(L$="V")-4*(L$="$")GOSUB1970,2080,1240,1830
  167. 1760 ON-(A$="#")-2*(L$="T")GOSUB2280,2070
  168. 1770 IFL$="?"THEN1620
  169. 1780 IFL$<>"@"THEN1710
  170. 1790 P$=F$+">":GOSUB170:L=39:GOSUB180:IFCDTHENRETURN
  171. 1800 IFL$=""THENGOSUB1000:P$=F$+ES$:GOSUB160:GOTO1710
  172. 1810 IFLEFT$(L$,4)=P2$+":"THENPRINT#15-B,RIGHT$(L$,LEN(L$)-4)
  173. 1820 GOTO1710
  174. 1830 P$=F$:GOSUB160:OPEN1,DV,0,"$"+DR$+":*"
  175. 1840 GOSUB1000:IFER$>"01"THENCLOSE1:P$=F$+ES$:GOSUB160:RETURN
  176. 1850 GET#1,A$:GET#1,A$
  177. 1860 GET#1,A$:GET#1,A$:IF(ST)AND64THENCLOSE1:RETURN
  178. 1870 GET#1,LO$:GET#1,HI$
  179. 1880 LO$=LO$+N$:HI$=HI$+N$
  180. 1890 P$=STR$(ASC(LO$+CHR$(0))+256*ASC(HI$+CHR$(0)))+" "
  181. 1900 GET#1,A$:IFA$=""THEN1940
  182. 1910 GET#5,Z$:IFZ$=""THENGETZ$
  183. 1920 IFZ$=" "THENCLOSE1:RETURN
  184. 1930 P$=P$+A$:GOTO1900
  185. 1940 IFECANDMID$(P$,8,1)="("THEN1860
  186. 1950 GOSUB160:IFA$=" "THENCLOSE1:RETURN
  187. 1960 GOTO1860
  188. 1970 FI$="(USER LOG)"
  189. 1980 OPEN1,DV,5,DR$+":"+FI$:P$="":GOSUB1000:IFER$>"01"THENCLOSE1:RETURN
  190. 1990 GET#1,A$:IF(ST)AND64THEN2040
  191. 2000 GET#5,Z$:IFZ$=""THENGETZ$
  192. 2010 IFZ$=" "ORZ$="/"THEN2040
  193. 2020 IFA$=CHR$(13)ORLEN(P$)=39THENGOSUB160:P$="":GOTO1990
  194. 2030 P$=P$+A$:GOTO1990
  195. 2040 GOSUB160:CLOSE1:P$=F$+"[211]CRATCH? (Y/N):":GOSUB170:L=1:GOSUB180
  196. 2050 IFL$=""OR(L$<>"Y"ANDL$<>"[217]")THENRETURN
  197. 2060 OPEN1,DV,5,"@"+DR$+":"+FI$+",S,W":PRINT#1," ":CLOSE1:RETURN
  198. 2070 FI$="(T.CALLERS)":GOTO1980
  199. 2080 P$=F$+"[211]CAN FILE: ":GOSUB170:L=16:GOSUB180
  200. 2090 FI$=L$+"":GOTO1980
  201. 2100 POKEB3,65:POKEB4,40:POKEB2,231:POKEB1,57:POKEB4,48:RETURN
  202. 2110 GOSUB2100:POKEB2,PEEK(B2)OR32:POKEB1,PEEK(B1)AND223:POKEB1,PEEK(B1)OR32
  203. 2120 POKEB1,PEEK(B1)AND223:POKEB4,40:POKEB4,47:POKEB2,230:GOSUB2100:RETURN
  204. 2130 HI=INT(RC/256):LO=RC-(HI*256):RETURN
  205. 2140 GOSUB2130:R1=LO:R2=HI:RETURN
  206. 2150 GOSUB2140:GOTO970
  207. 2160 AC=VAL(U$(3)):A2=INT(AC/256):A1=AC-A2*256:RETURN
  208. 2170 AA=VAL(N$(3)):RETURN
  209. 2180 IFLEN(UL$)<230THENRETURN
  210. 2190 OPEN1,8,5,"0:(USER LOG),A":PRINT#1,UL$:CLOSE1:UL$="":RETURN
  211. 2200 GOSUB2210:FORI=1TO15:U$(I)=N$(I):NEXT:RETURN
  212. 2210 FORT=1TO15:INPUT#3,N$(T):NEXT:RETURN
  213. 2220 FORI=1TO15:N$(I)=U$(I):NEXT
  214. 2230 N$(0)="":FORT=1TO15:N$(0)=N$(0)+Q$+N$(T)+F$:NEXT
  215. 2240 PRINT#3,N$(0):RC=1:GOSUB960:RETURN
  216. 2250 B=AA-8:IFB<0THENB=0
  217. 2260 AA=-((DR%(B)AND128)=128):DR$=MID$(STR$(AA),2):RETURN
  218. 2270 GOSUB2250:AA=-((DVAND128)=128):DR$=MID$(STR$(AA),2):RETURN
  219. 2280 IFDR$="0"THENAA=DV:GOSUB2250:IFDR$="1"THENRETURN
  220. 2290 DV=DV+1:IFDV>15THENDV=8
  221. 2300 FORL=0TO(DR-8):IFDV<>(DR%(L)AND63)THENNEXT:GOTO2290
  222. 2310 IFA1AND32ORSYTHEN2330
  223. 2320 AA=DV:GOSUB2250:IFDR%(B)AND64THEN2290
  224. 2330 AA=DV:GOSUB2250:DR$="0":RETURN
  225. 2340 ON(MT%-1)GOTO2350,1690,2380,2390,2110,2110
  226. 2350 POKEB2,PEEK(B2)OR32:POKEB1,PEEK(B1)AND223:RETURN
  227. 2360 FORT=1TO2000:NEXT:PRINT#5,"+++";:FORT=1TO2000:NEXT
  228. 2370 PRINT#5,"[193][212][200]0[216]1[197]0[205]0[209]0[214]0":RETURN
  229. 2380 POKEB2,38:POKEB1,38:RETURN
  230. 2390 POKEB1,PEEK(B1)OR32:RETURN
  231. 2400 GOSUB1020:CT=VAL(HO$):MI=VAL(MI$):CO=ABS((LH*60+LM)-(CT*60+MI))
  232. 2410 IFLH=12ANDC2THENCO=ABS(CO-720)
  233. 2420 RETURN
  234. 2430 B=DV-8:OPEN1,DV,5,DR$+":"+FI$:GOSUB220:IFER$>"01"THENCLOSE1:RETURN
  235. 2440 POKE52030,SY:SYS52021:CLOSE1:CD=PEEK(52033):A$=CHR$(PEEK(52034)):RETURN
  236. 2450 OPEN3,8,3,"0:(SCORES)":GOSUB220:IFER$>"01"THENCLOSE3:RETURN
  237. 2460 RC=R:GOSUB2130:B=0:GOSUB970:GET#3,A$:IF(ST)AND64THENSC=0:GOTO2480
  238. 2470 INPUT#3,SC
  239. 2480 IFSC=0THENSC=I:CLOSE3:DIMSC(SC):RETURN
  240. 2490 IFI>SCTHENDIMSC(I):GOTO2510
  241. 2500 DIMSC(SC)
  242. 2510 FORT=1TOSC:INPUT#3,SC(T):NEXT:CLOSE3:IFI>SCTHENSC=I
  243. 2520 RETURN
  244. 2530 OPEN3,8,3,"0:(SCORES)":GOSUB220:IFER$>"01"THENCLOSE3:RETURN
  245. 2540 RC=R:GOSUB2130:B=0:GOSUB970:SC$=STR$(SC)+F$:FORT=1TOSC
  246. 2550 SC$=SC$+STR$(SC(T))+F$:NEXT:PRINT#3,SC$;:RC=1:GOSUB970:CLOSE3:RETURN
  247. 2560 FI$="(ST/R 3.6)":DV=D5
  248. 2570 OPEN1,8,5,"@0:(DATA),S,W":PRINT#1,R$:AA=DV:GOSUB2270:FORT=1TO15
  249. 2580 PRINT#1,Q$U$(T):NEXT:PRINT#1,LH:PRINT#1,LM:PRINT#1,SA:PRINT#1,SY
  250. 2590 PRINT#1,S9:PRINT#1,HL:PRINT#1,M$:PRINT#1,DT:PRINT#1,LEN(F$):PRINT#1,Q$LN$
  251. 2600 PRINT#1,DV:PRINT#1,NW:PRINT#1,L$:PRINT#1,HM$:CLOSE1:POKE252,32
  252. 2610 POKE251,PEEK(152):PRINT"[146][147]LOAD"Q$DR$":"FI$Q$","DVAND127""
  253. 2620 POKE631,131:POKE198,1:NEW
  254. 2630 OPEN1,8,5,"0:(DATA)":INPUT#1,R$:R=VAL(R$):FORT=1TO15
  255. 2640 INPUT#1,U$(T):NEXT:INPUT#1,LH,LM,SA,SY,S9,HL,M$,DT,T,LN$,DV,NW,L$
  256. 2650 HM$="":FORI=1TO200:GET#1,A$:IFA$=""THENA$=CHR$(0)
  257. 2660 HM$=HM$+A$:NEXT
  258. 2670 CLOSE1:GOSUB2160:CG=VAL(U$(8)):IFT=2THENF$=CHR$(13)+CHR$(10)
  259. 2680 C$=CHR$(13):OP=51994:POKE52030,SY:POKE52031,CG:GOTO2700
  260. 2690 GOSUB390:GOTO410
  261. 2700 A$="[147] "+F$+F$+F$+F$:SYSOP,A$:FI$="(ANNOUNCE.CG)"
  262. 2710 A$="[150][211][152][212][155]/[210] [156][208]ROGRAMMING [211]ERVICES!"+F$:SYSOP,A$
  263. 2720 A$="[150][211][212]/[210] [199]RAFFITI [215]ALL 1989"+F$+F$+"[194]Y: [194][150]L[158]A[153]C[159]K [154][198]I[156]R[151]E[150]"+F$:SYSOP,A$
  264. 2730 P$=F$+"[212]HE "+BD$+" [194][194][211] [199]RAFFITI [215]ALL":GOSUB160
  265. 2740 P$=F$+"[[159][215]] [159][215]RITE [199]RAFFITI"+F$+"[[159][210]][159] [210]EAD [199]RAFFITI [215]ALL":GOSUB160
  266. 2750 P$="[[159][209]][159] [209]UIT TO [205]AIN":GOSUB160
  267. 2760 GOSUB250:P$=F$+"[150][195]OMMAND: ":SYSOP,P$:L=1:GOSUB180:IFCDTHEN2690
  268. 2770 IFL$="R"ORL$="[210]"THEN3050
  269. 2780 IFL$="W"ORL$="[215]"THEN2820
  270. 2790 IFL$="Q"ORL$="[209]"THEN410
  271. 2800 IFL$="Z"ANDAC=65535THEN3060
  272. 2810 GOTO2740
  273. 2820 P$=F$+"[197]NTER [217]OUR [199]RAFFITI (2 LINES):"+F$:GOSUB160
  274. 2830 L=40:GOSUB180:IFL$=""THENP$=F$+"[193]BORTED!":SYSOP,P$:GOTO2740
  275. 2840 WL$=""+L$+"":L=40:GOSUB180:WL$=WL$+C$+L$
  276. 2850 REM ------------------------------
  277. 2860 REM - TO CHANGE FILENAME OF THE  -
  278. 2870 REM - GRAFFITI WALL DO IT IN LINE-
  279. 2880 REM - 2700.  YOU CAN MAKE THE    -
  280. 2890 REM - FILENAME BE (ANNOUNCE.CG)  -
  281. 2900 REM - OR ANY OTHER FILENAME THE  -
  282. 2910 REM - THE MAIN BBS WILL SHOW THE -
  283. 2920 REM - USER AUTOMATICALLY.  EVEN  -
  284. 2930 REM - (BBS WELC.CG)!!  I LIKE    -
  285. 2940 REM - THIS OPTION BEST FOR MY    -
  286. 2950 REM - BBS, BUT YOU AS SYSOP CAN  -
  287. 2960 REM - DO WHATEVER.  YOU CAN ALSO -
  288. 2970 REM - MAKE A UNIQUE NAME LIKE    -
  289. 2980 REM - (GRAFFITI  AND PUT THAT    -
  290. 2990 REM - NAME IN THE GENERAL FILES  -
  291. 3000 REM - SECTION AS WELL..........  -
  292. 3010 REM ------------------------------
  293. 3020 OPEN1,8,5,"0:"+FI$+",S,A"
  294. 3030 GOSUB220:IFER$<>"00"THENCLOSE1:OPEN1,8,5,"0:"+FI$+",S,W"
  295. 3040 PRINT#1,WL$:PRINT#1,"[194]Y: "+U$(1);C$:CLOSE1:GOTO2740
  296. 3050 DV=8:DR$="0":SYSOP,F$:GOSUB450:ONCDGOTO2690:GOTO2740
  297. 3060 P$=F$+"[196]ELETE [199]RAFFITI [215]ALL? (Y/N): ":GOSUB170:L=1:GOSUB180
  298. 3070 IFL$<>"Y"ANDL$<>"[217]"THEN2740
  299. 3080 P$=F$+"[211]CRATCHING: "+FI$:GOSUB160
  300. 3090 PRINT#15,"S0:"+FI$:GOTO2740
  301. 3100 REM ------------------------------
  302. 3110 REM - IF YOU WOULD LIKE TO HAVE  -
  303. 3120 REM - GRAFITTI WRITTEN TO BOTH   -
  304. 3130 REM - THE ASCII AND C/G FILES,   -
  305. 3140 REM - SUCH AS BOTH (ANNOUNCE.CG) -
  306. 3150 REM - AND (ANNOUNCE), THEN CHANGE-
  307. 3160 REM - THE GOTO2740 IN LINE 3040  -
  308. 3170 REM - TO GOTO3240.  THEN IT WILL -
  309. 3180 REM - WRITE TO BOTH FILES!!!     -
  310. 3190 REM - YOU CAN ALSO DELETE ALL    -
  311. 3200 REM - THESE REM STATEMENTS FOR A -
  312. 3210 REM - SMALLER PROGRAM AND FASTER -
  313. 3220 REM - LOAD TIME......            -
  314. 3230 REM ------------------------------
  315. 3240 IFRIGHT$(FI$,4)<>".CG)"THEN2740
  316. 3250 OPEN1,8,5,"0:"+LEFT$(FI$,LEN(FI$)-4)+"),S,A":GOSUB220
  317. 3260 IFER$>"01"THENCLOSE1:OPEN1,8,5,"0:"+LEFT$(FI$,LEN(FI$)-4)+"),S,W"
  318. 3270 PRINT#1,WL$:PRINT#1,"[194]Y: "+U$(1);C$:CLOSE1:GOTO2740
  319.