home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64-128Toolkit / EGBBBS.ARC / N.ROUTINES (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  4.4 KB  |  248 lines

  1. 10 ;OPEN15,8,15,"S0:N.ROU*":PRINT#15,"I":SAVE"N.ROUTINES",8:VERIFY"N.ROU*",8
  2. 15 ;
  3. 20 ;********
  4. 25 ;
  5. 30 UPZP INC $64:BNE N1
  6. 35 INC $65
  7. 40 N1 RTS
  8. 45 ;
  9. 50 FEED .BYTE 0;  FLAG FOR LINEFEEDS
  10. 55 ;
  11. 60 ;********
  12. 65 ;
  13. 70 PAUSPPT LDA #<PAWS:LDX #>PAWS; DROPS THRU STRING
  14. 75 ;
  15. 80 ;********
  16. 85 ;
  17. 90 STRING STA $64:STX $65:JSR IBUF
  18. 95 LDY #0:STY IDEX
  19. 100 ;
  20. 105 SP1 LDY IDEX:LDA ($64),Y:BEQ N2
  21. 110 CMP #148:BNE N7; 80 COL TOGGLE
  22. 115 LDX COLUMNS:CPX #"8":BEQ N3
  23. 120 ;
  24. 125 LDA #32;  40/80 TOGGLE
  25. 130 .BYTE 44
  26. 135 N3 LDA #13
  27. 140 BNE N4
  28. 145 ;
  29. 150 N7 CMP #1:BEQ N5; FILLER TO ALLOW PROMPT MODIFICATION
  30. 155 CMP #10:BNE N12; TRAP LINEFEEDS
  31. 160 LDX FEED:BEQ N5; IF FEED = 0
  32. 165 BNE N4
  33. 170 ;
  34. 175 N12 CMP #37:BNE N4;  TRAP FOR COLOR
  35. 180 ;
  36. 185 LDX AGRE:BNE N4; WEDGE FOR NON
  37. 190 SPSC JSR NQ:BNE N5; AGREMENT USRS
  38. 195 ;
  39. 200 N4 JSR CHAR;      JSR HOLD
  40. 205 ;
  41. 210 N5 JSR BRAK:JSR NQ:BNE SP1
  42. 215 ;
  43. 220 N2 JMP ABSENT
  44. 225 ;
  45. 230 NQ INC IDEX:BNE N8
  46. 235 INC $65
  47. 240 N8 RTS
  48. 245 ;
  49. 250 ;*********
  50. 255 ;
  51. 260 VERIFY LDA #<VERI:LDX #>VERI
  52. 265 JSR STRING
  53. 270 GET1 JSR ABSENT
  54. 275 LDX #1:STX MIN+1:JSR GETBYTE
  55. 280 LDA RAPR:AND #127:RTS
  56. 285 ;
  57. 290 ;******* DELETE INVALID KEYPRESSES
  58. 295 ;
  59. 300 CLIV JSR (null)OFCHECK:BEQ N10
  60. 305 N11 LDA #20:JMP CHAR
  61. 310 N10 RTS
  62. 315 ;
  63. 320 ;*********
  64. 325 ;
  65. 330 HESI STA TEMP:JSR T0
  66. 335 N9 LDA $A2:CMP TEMP:BCC N9
  67. 340 RTS
  68. 345 ;
  69. 350 ;*********
  70. 355 ;
  71. 360 WAIT TAX; 1 SECOND COUNTER
  72. 365 W0 JSR T0
  73. 370 NB LDA 145:BPL NA
  74. 375 CPX $A1:BCC NB
  75. 380 W2 RTS
  76. 385 NA CLC:RTS
  77. 390 ;
  78. 395 ;*********
  79. 400 ;
  80. 405 OFLI JSR OLI; WAIT >1 SECOND
  81. 410 LDX #128:JSR CHKOUT
  82. 415 LDA #"+":JSR CHROUT
  83. 420 JSR CHROUT:JSR CHROUT
  84. 435 OLI LDA #73:JSR HESI:JMP CLRCHN
  85. 440 ;
  86. 445 LOGOFF JSR OFLI
  87. 450 LDA #0:STA IMNS:STA SYS0
  88. 455 LDX BSIC:TXS
  89. 460 LDA #>STAR:PHA:LDA #<STAR:PHA:RTS
  90. 465 ;
  91. 470 ; * ON LINE - SEND ATA COMMAND
  92. 475 ;
  93. 480 SSTT .BYTE "ATA":.BYTE 13 0
  94. 485 ;
  95. 490 ;ANSWER ROUTINE
  96. 495 ;MAKE SURE PHONE IS ON HOOK
  97. 500 ;
  98. 505 ;********
  99. 510 ;
  100. 515 ANSR JSR SMRT
  101. 520 ND LDA 56577:AND #16:BEQ NE; CHECK CARRIER BIT
  102. 525 LDA 145:BMI ND
  103. 530 CLC:RTS; ABORT W/CARRY CLEAR
  104. 535 ;
  105. 540 NE SEC:RTS; CARRIER DETECTED
  106. 545 ;
  107. 550 ASTT .BYTE "AT S0=1":.BYTE 13 0
  108. 555 ;
  109. 560 ; * SEND SMART COMMAND
  110. 565 ;
  111. 570 SMRT LDA 56577:AND #16:BNE NF
  112. 575 ; MAKE SURE NO CARRIER
  113. 580 JSR OFLI:JMP SMRT; HANG UP
  114. 585 ;                     AND (null) BACK
  115. 590 ;
  116. 595 NF LDX #5:JSR CHKOUT
  117. 600 ;
  118. 605 LDA #40:JSR HESI; WAIT .5 SEC
  119. 610 ;
  120. 615 LDY #0
  121. 620 NH JSR HOLD:LDA SSTT,Y:BEQ NI;  NS
  122. 625 JSR CHROUT:INY:BNE NH
  123. 630 ;
  124. 635 NS TAY
  125. 640 NT JSR HOLD:LDA ASTT,Y:BEQ NI
  126. 645 JSR CHROUT:BNE NT
  127. 650 ;
  128. 655 NI JSR CLRCHN
  129. 660 LDA #40:JMP HESI
  130. 665 ;
  131. 670 ; * IDLE RS-232 TRANSMIT BUFFER
  132. 675 ;
  133. 680 ;********
  134. 685 ;
  135. 690 HOLD LDA $2A1:LSR:BCS HOLD
  136. 695 RTS
  137. 700 ;
  138. 705 ;********
  139. 710 ;
  140. 715 RET3 LDA #13:JSR CHAR
  141. 720 RET2 LDA #13:JSR CHAR
  142. 725 RET1 LDA #13:JSR CHAR
  143. 730 JMP CLRCHN
  144. 735 ;
  145. 740 ;********
  146. 745 ;
  147. 750 VALU LDA RAPR,X
  148. 755 CMP #48:BCC NJ
  149. 760 CMP #58:BCS NJ
  150. 765 CLC:RTS
  151. 770 NJ SEC:RTS
  152. 775 ;
  153. 780 ;********
  154. 785 ;
  155. 790 ; TIMER TO FORCE LOGOFF AFTER REASONABLE WAIT FOR USER INPUT.
  156. 795 ;
  157. 800 TIMERSET LDA #8:STA TI1
  158. 805 JMP T0
  159. 810 ;
  160. 815 ;********
  161. 820 ;
  162. 825 TIMECHEK LDA $A1:CMP TI1
  163. 830 BCS FORCEOFF
  164. 835 RTS
  165. 840 ;
  166. 845 FORCEOFF LDA #<TOT:LDX #>TOT
  167. 850 JMP CAG
  168. 855 ;
  169. 860 ;********
  170. 865 ;
  171. 870 RATS = 1023; ERROR FLAG
  172. 875 TI1 .BYTE 0 0 0 0 0 0 0 0
  173. 880 TOT .BYTE 13 37 83 13 7 7
  174. 885 .BYTE "[212]IMED [207]UT
  175. 890 CLG .BYTE 13 13 7 7
  176. 895 .BYTE ">>>  LENALL ATNGAIN  <<<"
  177. 900 XBYE .BYTE 13 13:.BYTE "** PEEKYE **":.BYTE 13 13 13 7 7 0
  178. 905 ;
  179. 910 ;[172][172][172][172][172][172][172][172]
  180. 915 ;
  181. 920 ; PUT MISC [181]O BUFFER PO[181]ED
  182. 925 ; [164] BY $62[173]3
  183. 930 ;
  184. 935 DROPDOWN LDY #0
  185. 940 NK LDA MISC,Y:STA ($62),Y:BEQ NL
  186. 945 INY:BNE NK
  187. 950 NL RTS
  188. 955 ;
  189. 960 ;[172][172][172][172][172][172][172][172]
  190. 965 ;
  191. 970 T0 LDA #0
  192. 975 STA $A0:STA $A1:STA $A2:RTS
  193. 980 ;
  194. 985 ;[172][172][172][172][172][172][172][172]
  195. 990 ;
  196. 995 BROK LDA #1; NO STACK PULLS [139] AB[176]T
  197. 1000 .BYTE 44
  198. 1005 ;
  199. 1010 BRAK LDA #0; CLEAN STACK [145] AB[176]T
  200. 1015 ;
  201. 1020 STA NP[170]1:LDA RATS:BNE N6
  202. 1025 ;
  203. 1030 JSR INCH:[175] #127:BEQ NM
  204. 1035 ;
  205. 1040 STA RET0:CMP #"P":BEQ NN
  206. 1045 CMP #32:BEQ NP
  207. 1050 BNE NM
  208. 1055 ;
  209. 1060 NN JSR [161]1:CMP #"C":BEQ NO
  210. 1065 LDX #7:JSR [161]T:CMP #"C":BNE NN
  211. 1070 NO INC RATS:JSR N11
  212. 1075 JSR RATF:BEQ N6
  213. 1080 ;
  214. 1085 NM LDX #7:JSR [161]T:BEQ N6
  215. 1090 CMP #"P":BNE NP
  216. 1095 NHM LDA #0:STA $C6:BEQ NN
  217. 1100 ;
  218. 1105 N6 RTS
  219. 1110 ;
  220. 1115 ;[172][172][172][172][172][172][172][172]
  221. 1120 ;
  222. 1125 NP LDX #0:BNE CRST
  223. 1130 ;
  224. 1135 LDA #[179]XHLT:LDX #[177]XHLT
  225. 1140 JSR STRING
  226. 1145 ;
  227. 1150 PLA:PLA
  228. 1155 ;
  229. 1156 CRST LDX #1:STX RATS
  230. 1160 DEX:STX $C6:STX M7[170]1:RTS
  231. 1165 ;
  232. 1170 XHLT .BYTE 7 7 37 83
  233. 1175 .BYTE "  -=><=-":.BYTE 13 13 0
  234. 1180 ;
  235. 1185 SECURITY LDA PTEK
  236. 1190 [175] ACSS:BEQ NW
  237. 1195 SECURE LDA PTEK[170]1:[175] ACSS[170]1
  238. 1200 BEQ NW
  239. 1205 CLC:RTS
  240. 1210 ;
  241. 1215 NW LDA #[179]DENY:LDX #[177]DENY
  242. 1220 JSR STRING:SEC:RTS
  243. 1225 ;
  244. 1230 CALG LDA #[179]CLG:LDX #[177]CLG
  245. 1235 CAG JSR STRING:JMP [188]OFF
  246. 1240 ;
  247. 1245 .FILE 0:O.ROUTINES
  248.