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

  1. 10 ;"OPEN15,8,15,"S0:G.E*":PRINT#15,"I":SAVE"G.EMAIL",8:VERIFY"G.E*",8
  2. 15 ;
  3. 20 ;        E[171]MAIL
  4. 25 ;
  5. 30 ;[172][172][172][172][172][172][172][172][172]
  6. 35 ;
  7. 40 EMAIL JSR CMND
  8. 45 LDX #1:STX RET0:STX PAGE
  9. 50 DEX:STX EXFLAG; [168] A REPLY HERE
  10. 55 ;
  11. 60 G60 JSR [161]1
  12. 65 ;
  13. 70 ;[172][172][172][172][172][172][172] "?" HELP
  14. 75 ;
  15. 80 CMP #"?":BNE G50
  16. 85 EMHL1 LDA #[179]MSGER:LDX #[177]MSGER
  17. 90 JSR STRING:JMP EMAIL
  18. 95 ;
  19. 100 ;[172][172][172][172][172] Q QUITS
  20. 105 ;
  21. 110 G50 CMP #"Q":BNE G51
  22. 115 JMP MAHELP
  23. 120 ;
  24. 125 ;[172][172][172][172] S MSG[173]MAG EDI[164]RS
  25. 130 ;
  26. 135 G51 CMP #"S":BNE G52
  27. 140 G80 JSR RET2:JSR P[143]SG:JMP EMSD
  28. 145 ;
  29. 150 ;[172][172][172][172] W [164]GGLES 40[173]80 COLS
  30. 155 ;
  31. 160 G52 CMP #"W":BNE G53
  32. 165 JSR [164]GL:JMP G59
  33. 170 ;
  34. 175 ;[172][172][172][172] MAILBOX
  35. 180 ;
  36. 185 G53 CMP #"M":BNE G54
  37. 190 JMP RANG
  38. 195 ;
  39. 200 ;[172][172][172][172] HEADERS
  40. 205 ;
  41. 210 G54 CMP #"H":BNE G56
  42. 215 JSR FITHFI:JMP RHEAD
  43. 220 ;
  44. 225 ;[172][172][172][172] TITLES
  45. 230 ;
  46. 235 G56 CMP #"T":BNE G57
  47. 240 JSR FITHFI:JMP RTITS
  48. 245 ;
  49. 250 ;[172][172][172][172] SEARCH USER FILE
  50. 255 ;
  51. 260 G57 CMP #"U":BNE G58
  52. 265 JSR FITHFI:JSR [183]CH:JMP EMAIL
  53. 270 ;
  54. 275 ;[172][172][172][172] DE[136]E MESSAGE
  55. 280 ;
  56. 285 G58 CMP #"D":BNE G59
  57. 290 LDA #0
  58. 295 ;
  59. 300 G61 STA MASK:JMP RDELM
  60. 305 ;
  61. 310 ;[172][172][172][172] UNDE[136]E MESSAGES
  62. 315 ;
  63. 320 G59 CMP #43:BNE G62
  64. 325 ;
  65. 330 LDA #1:BNE G61; SECURITY IN LATER
  66. 335 ;
  67. 340 ;[172][172][172][172] [161] [162] MESSAGES
  68. 345 ;
  69. 350 G62 CMP #"N":BNE G63
  70. 355 JSR [165]OO:JMP RERDR; [135] '[135]ER'
  71. 360 ;
  72. 365 G63 JSR CLIV:JMP G60
  73. 370 ;
  74. 375 ;[172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172]
  75. 380 ;
  76. 385 ; SET '[144]' [145]E ABOVE MAXLINE [129]
  77. 390 ; ALL CHECKING ROUTINES
  78. 395 ;
  79. 400 EMSD LDA #22:LDX #0:BEQ EMAJ
  80. 405 EMAGI LDA #102:LDX #1:STX PAGE
  81. 410 EMAJ STA MAXL:STX LM
  82. 415 MULPAG LDA PAGE:[176]A #48:STA MSGP
  83. 420 ;
  84. 425 LDX #40:STX MLG; SET TABLE PO[181]ER INC[143]ENT
  85. 430 DEX:DEX:STX MXLO
  86. 435 LDX #"8":STX COLUMNS; 80 PROMPT
  87. 440 LDX MAXL:DEX:DEX:TXA:JSR [198]I
  88. 445 ;
  89. 450 LDA HUNS:CMP #48:BEQ NHNS
  90. 455 LDA #32
  91. 460 NHNS STA MSGL
  92. 465 LDA TENS:CMP #49:BCS EM14
  93. 470 LDA HUNS:CMP #48:BEQ EM24
  94. 475 STA MSGL
  95. 480 EM14 LDA TENS:STA MSGL[170]1
  96. 485 EM24 LDA [145]ES:STA MSGL[170]2
  97. 490 ;
  98. 495 BGNA JSR PREBUF:JSR WRAP1:JSR UNWRAP
  99. 500 ;
  100. 505 ;[172][172][172][172][172][172][172][172][172]
  101. 510 ;
  102. 515 TAX:STX RAPE
  103. 520 INX:STX MAIL:STX LIN
  104. 525 ;
  105. 530 LDA #[179]XSTT:LDX #[177]XSTT
  106. 535 JSR STRING; LINES[173]COLS[173]PAGES
  107. 540 ;
  108. 545 LDA #148:STA CRUT;  SETUP [164] ALLOW 1ST SENTENCE [164] BE 80 COLS PROPERLY
  109. 550 ;
  110. 555 LDA #13:STA PKY:JSR LINER; INITIALIZE LASTKEY [164] [179]CR[177]
  111. 560 ;
  112. 565 JMP EMRT; ENTER THRU PO[181]ER SETTER
  113. 570 ;
  114. 575 ;[172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172]
  115. 580 ;
  116. 585 EMAI1 JSR TERM
  117. 590 ;
  118. 595 ;[172][172][172][172][172][172][172]
  119. 600 ;
  120. 605 LDA AREG:CMP #13:BNE EMA4; TRAP [129] NULL [179]CR[177]
  121. 610 LDX L[145]G:BEQ NULINE
  122. 615 CMP PKY:BNE EMA4; IS THIS 2 C[145]SEC. [179]CR[177]'S
  123. 620 NULINE DEC LIN; ELIMINATE THE LAST LINE INCREASE
  124. 625 ;
  125. 630 EHQQ JMP EMAILIN
  126. 635 ;
  127. 640 ;[172][172][172][172][172][172][172][172][172][172]
  128. 645 ;
  129. 650 EMA4 STA PKY:JSR DOWRAP
  130. 655 LDA AREG:CMP #13:BNE EM34
  131. 660 ;
  132. 665 ;[172][172][172][172][172][172][172][172][172][172]
  133. 670 ;
  134. 675 JSR LINER:JSR WRAP1:JSR UNWRAP:STA RAPE
  135. 680 ;
  136. 685 LDA CRUT:PHA:JSR BFM0
  137. 690 PLA:JSR CRETUGGLE
  138. 695 ;
  139. 700 LDX LIN:CPX MAXL:BEQ EHQQ
  140. 705 ;
  141. 710 BNE EMRT
  142. 715 ;
  143. 720 ;[172][172][172][172][172][172][172][172][172][172]
  144. 725 ;
  145. 730 EM34 LDX LIN:CPX MAXL:BEQ EHQQ
  146. 735 ;
  147. 740 JSR BUFM:LDA AREG:CMP #13:BEQ EMRT
  148. 745 LDA RAPE:BEQ EMAI1; DID WRAP OCCUR
  149. 750 EMRT JSR EMDJ:JMP EMAI1; WRAPPED PART [181]O [130] LINE BUFFER
  150. 755 ;
  151. 760 ;[172][172][172][172][172][172][172][172][172][172]
  152. 765 ;
  153. 770 BUFM CMP #20:BNE BFM0; TESTIN AREG
  154. 775 ;
  155. 780 LDA $FE:CMP LOW[170]1:BNE BFM1
  156. 785 LDA $FD:CMP LOW:BNE BFM1
  157. 790 LDA #13:STA PKY:BNE BFM2
  158. 795 ;
  159. 800 BFM1 LDA $FD:BNE BFM2
  160. 805 DEC $FE
  161. 810 BFM2 DEC $FD:LDA #13;  PLA:PLA:JMP EMAI1
  162. 815 ;
  163. 820 BFM0 LDY #0:STA ($FD),Y
  164. 825 CMP #13:BEQ BFM4
  165. 830 CMP #148:BEQ BFM4
  166. 835 ;
  167. 840 BUFM1 LDA #13
  168. 845 INY:STA ($FD),Y; [179]CR[177]
  169. 850 ;
  170. 855 BFM4 LDA #0:INY:STA ($FD),Y
  171. 860 ;
  172. 865 LDA AREG:CMP #20:BEQ BMF3
  173. 870 CMP #32:BNE BMF2
  174. 875 ;
  175. 880 LDA $FD:STA $FB:LDA $FE:STA $FC;   MARK LAST SPACE CHAR [129] WRAP
  176. 885 ;
  177. 890 BMF2 INC $FD:BNE BMF3
  178. 895 INC $FE
  179. 900 BMF3 RTS
  180. 905 ;
  181. 910 ;[172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172]
  182. 915 ;
  183. 920 ; [139] [145] A LINE, SUB 1 FROM LIN         [203] [161] PROPER PO[181]ER
  184. 925 ; [139] WRAPPED, SUB  2 [164] PROCESS           THE ADDED LINE THAT WRAP ADDED
  185. 930 ;
  186. 935 EMDJ LDX LIN:DEX
  187. 940 ;
  188. 945 ; TERMINA[164]R [129] [130] LINE PO[181]ER
  189. 950 ;
  190. 955 LDA HIPO,X:STA $FE
  191. 960 LDA LOPO,X:STA $FD
  192. 965 LDY #0:LDA #255:STA ($FD),Y
  193. 970 ;
  194. 975 ; SET PO[181]ER [129] CURRENT LINE
  195. 980 ;
  196. 985 DEX:LDA HIPO,X:STA $FE:STA LOW[170]1
  197. 990 ;
  198. 995 LDA LOPO,X:STA $FD:STA LOW
  199. 1000 ;
  200. 1005 LDY RAPE:BNE EDA1
  201. 1010 RTS;  [129] [179]CR[177] BUT NO WRAP
  202. 1015 ;
  203. 1020 EDA1 LDA $FD:BNE EDB1
  204. 1025 DEC $FE
  205. 1030 ;
  206. 1035 EDB1 DEC $FD:LDY #0
  207. 1040 ;
  208. 1045 LDA CRUT:STA ($FB),Y
  209. 1050 ;
  210. 1055 JSR CRETUGGLE; [164]GGLE 13[173]148
  211. 1060 ;
  212. 1065 INY;  SKIP THIS BYTE [129] [130] LINE
  213. 1070 ;
  214. 1075 EMD2 LDA ($FB),Y:BEQ EMD3
  215. 1080 STA ($FD),Y
  216. 1085 LDA #0:STA ($FB),Y:INY:BNE EMD2
  217. 1090 ;
  218. 1095 EMD3 DEY:TYA:CLC:ADC $FD:STA $FD
  219. 1100 JMP AFE; INC LOW[170]1 BYTE
  220. 1105 ;
  221. 1110 ;[172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172]
  222. 1115 ;[172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172]
  223. 1120 ;
  224. 1125 EMAILIN JSR SUBCOM:JSR [161]1
  225. 1130 ;
  226. 1135 ;[172][172][172][172] 80 COLUMN [164]GGLE
  227. 1140 ;
  228. 1145 CMP #"W":BNE E1M
  229. 1150 JSR [164]GL:JSR DUN:JMP EMAILIN
  230. 1155 ;
  231. 1160 ;[172][172][172][172] MENU DISPLAY
  232. 1165 ;
  233. 1170 E1M CMP #"?":BNE EM0P
  234. 1175 EHQU LDA #[179]XEDP:LDX #[177]XEDP
  235. 1180 JSR STRING:JMP EMAILIN
  236. 1185 ;
  237. 1190 ;[172][172][172][172]  ADD LINES
  238. 1195 ;
  239. 1200 EM0P CMP #"A":BNE G11
  240. 1205 ;
  241. 1210 LDX LIN:CPX MAXL:BEQ EMAILIN
  242. 1215 ;
  243. 1220 LDA BOH1,X:STA $FE:STA LOW[170]1
  244. 1225 LDA BOL1,X:STA $FD:STA LOW
  245. 1230 JSR RET2:JSR LINER:JMP EMAI1; ADDLINES
  246. 1235 ;
  247. 1240 ;[172][172][172][172][172][172][172]  [155] [SUPPRESS LINE #]
  248. 1245 ;
  249. 1250 G11 CMP #">":BNE G13
  250. 1255 G14 LDX LIN:STX LH; PRESERVE LIN
  251. 1260 JSR BEF3:LDA BYTE:BEQ EMAILIN
  252. 1265 CMP LIN:BCS EMAILIN
  253. 1270 STA LIN:JSR LMID:JMP G12
  254. 1275 ;
  255. 1280 G13 CMP #"<":BNE ESLL
  256. 1285 STA LF:JMP G14
  257. 1290 ;
  258. 1295 ESLL CMP #"S":BNE EMLL
  259. 1300 STA LF:JMP S[155]
  260. 1305 ;
  261. 1310 ;[172][172][172][172][172][172][172]  [155] N[176]MALLY
  262. 1315 ;
  263. 1320 EMLL CMP #"L":BNE EMLS
  264. 1325 S[155] JSR [155]ER
  265. 1330 G12 LDA #0:STA LF:JMP EMAILIN
  266. 1335 ;
  267. 1340 ;[172][172][172][172][172][172][172]  START OVER
  268. 1345 ;
  269. 1350 EMLS CMP #"N":BNE EMNW
  270. 1355 JSR RET2:JMP BGNA;  EMSD
  271. 1360 ;
  272. 1365 ;[172][172][172][172][172][172][172]  REPLACE
  273. 1370 ;
  274. 1375 EMNW CMP #"R":BNE EMDT
  275. 1380 JMP ERPC
  276. 1385 ;
  277. 1390 ;[172][172][172][172][172][172][172]  FILE
  278. 1395 ;
  279. 1400 EMDT CMP #"F":BNE EMFL
  280. 1405 JMP FMSG
  281. 1410 ;
  282. 1415 ;[172][172][172][172][172][172][172]  EDIT LINE
  283. 1420 ;
  284. 1425 EMFL CMP #"E":BNE EMFX
  285. 1430 JMP EDDT
  286. 1435 ;
  287. 1440 ;[172][172][172][172][172][172][172]  DE[136]E LINE
  288. 1445 ;
  289. 1450 EMFX CMP #"D":BNE EMDL
  290. 1455 JMP DL1N;
  291. 1460 ;
  292. 1465 ;[172][172][172][172][172][172][172]  SEARCH [129] USER NAME
  293. 1470 ;
  294. 1475 EMDL CMP #"U":BNE EMST
  295. 1480 JSR [183]CH:JMP EMAILIN
  296. 1485 ;
  297. 1490 ;[172][172][172][172][172][172][172]  INSERT
  298. 1495 ;
  299. 1500 EMST CMP #"I":BNE EMVE
  300. 1505 JMP LERT
  301. 1510 ;
  302. 1515 ;[172][172][172][172][172][172][172]  MOVE
  303. 1520 ;
  304. 1525 EMVE CMP #"M":BNE EMQY
  305. 1530 JMP LMVE
  306. 1535 ;
  307. 1540 ;[172][172][172][172][172][172][172]  EXIT
  308. 1545 ;
  309. 1550 EMQY CMP #"Q":BNE EMLX
  310. 1555 JSR DOVER:BNE EMLX
  311. 1560 JMP MAHELP
  312. 1565 ;
  313. 1570 EMLX JSR CLIV:JMP EMAILIN
  314. 1575 ;
  315. 1580 ;[172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172]
  316. 1585 ;[172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172]
  317. 1590 ;
  318. 1595 FMSG JSR FIX80:LDA LM:BEQ G1
  319. 1600 JMP MWRT
  320. 1605 ;
  321. 1610 G1 JMP INABUF
  322. 1615 ;
  323. 1620 ; LATER MAKE A TEST [129] MAG 1ST
  324. 1625 ; [175] PROCESS THAT D[139]FERENTLY
  325. 1630 ;
  326. 1635 ;[172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172]
  327. 1640 ;
  328. 1645 LERT JSR SETTEE:JSR BEFSET:BEQ LIEX
  329. 1650 CMP LIN:BEQ LINS1
  330. 1655 BCS LIEX;  [177] LIN [167] EXIT
  331. 1660 LINS1 STA [164]; [162] LINE IS '[164]'
  332. 1665 ;
  333. 1670 JSR C[176]LINE
  334. 1675 CMP #"Y":BNE LIEX
  335. 1680 ;
  336. 1685 LDX LIN
  337. 1690 LDA BOL1,X:STA MOVE
  338. 1695 LDA BOH1,X:STA MOVE[170]1
  339. 1700 STX FROM
  340. 1705 ;
  341. 1710 JSR MDN
  342. 1715 ;
  343. 1720 LDA MOVE:STA $62
  344. 1725 LDA MOVE[170]1:STA $63
  345. 1730 JSR DROPDOWN
  346. 1735 ;
  347. 1740 LDA #13:STA ($62),Y:INY
  348. 1745 CIC LDA #0:STA ($62),Y
  349. 1750 INY:CPY #40:BCC CIC
  350. 1755 ;
  351. 1760 INC LIN:LDX LIN
  352. 1765 ;
  353. 1770 LDA BOL1,X:STA $62
  354. 1775 LDA BOH1,X:STA $63:LDY #0:LDA #255
  355. 1780 STA ($62),Y:JMP MUP00
  356. 1785 ;
  357. 1790 JMP MUP00
  358. 1795 ;
  359. 1800 ;[172][172][172][172][172][172][172]
  360. 1805 ;
  361. 1810 LIEX JMP EMAILIN
  362. 1815 ;
  363. 1820 LMVE JSR SETTEE:JSR WHILINE
  364. 1825 BEQ LIEX; S[128] PROMPT [175] [161] 3 BYTE MAX NUMBER
  365. 1830 CMP LIN:BCS LIEX
  366. 1835 STA FROM
  367. 1840 ;
  368. 1845 TAX:LDA BOL1,X:STA MOVE
  369. 1850 LDA BOH1,X:STA MOVE[170]1
  370. 1855 ;
  371. 1860 LDA #[179][164]LINE:LDX #[177][164]LINE
  372. 1865 JSR BEF2
  373. 1870 CMP LIN:BCS LIEX
  374. 1875 CMP FROM:BEQ LIEX
  375. 1880 STA [164]
  376. 1885 ;
  377. 1890 JSR DOVER:BNE LIEX
  378. 1895 ;
  379. 1900 LDA FROM:CMP [164]:BCC MUP0
  380. 1905 JSR MDN;   FROM [179] [164]
  381. 1910 ;
  382. 1915 MUP00 JSR DUN:JSR FIX80:JMP EMAILIN
  383. 1920 ;
  384. 1925 MUP0 JSR MUP1:JMP MUP00
  385. 1930 ;
  386. 1935 ;[172][172][172][172][172][172][172] FROM [179] [164] [167] INX
  387. 1940 ;
  388. 1945 MUP1 LDX FROM:LDY FROM:INY
  389. 1950 MUP2 CPX [164]:BEQ MU02
  390. 1955 JSR MU01:INX:INY:BNE MUP2
  391. 1960 ;
  392. 1965 ;[172][172][172][172][172][172][172] FROM [177] [164] [167] DEX
  393. 1970 ;
  394. 1975 MDN LDX FROM:LDY FROM:DEY
  395. 1980 MDN2 CPX [164]:BEQ MU02
  396. 1985 JSR MU01:DEX:DEY:JMP MDN2
  397. 1990 ;
  398. 1995 ;[172][172][172][172][172][172][172]
  399. 2000 ;
  400. 2005 MU01 LDA BOH2,Y:STA BOH1,X
  401. 2010 LDA BOL2,Y:STA BOL1,X
  402. 2015 RTS
  403. 2020 ;
  404. 2025 MU02 LDA MOVE:STA BOL1,X
  405. 2030 LDA MOVE[170]1:STA BOH1,X
  406. 2035 RTS
  407. 2040 ;
  408. 2045 ;[172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172]
  409. 2050 ;
  410. 2055 DL1N JSR SETTEE:JSR WHILINE
  411. 2060 BEQ DELX
  412. 2065 CMP LIN:BCS DELX
  413. 2070 ;
  414. 2075 STA FROM:TAX
  415. 2080 LDA BOL1,X:STA MOVE:STA $62;  [162]
  416. 2085 LDA BOH1,X:STA MOVE[170]1:STA $63; [162]
  417. 2090 ;
  418. 2095 JSR RET1:JSR DOVER:BNE DELX
  419. 2100 ;
  420. 2105 LDY #0:LDA #255:STA ($62),Y:TYA
  421. 2110 W1P0 INY:CPY #38:BEQ WP01
  422. 2115 STA ($62),Y:BEQ W1P0
  423. 2120 ;
  424. 2125 WP01 DEC LIN:LDA LIN:STA [164]
  425. 2130 JSR MUP1
  426. 2135 ;
  427. 2140 JMP MUP00
  428. 2145 DELX JMP EMAILIN
  429. 2150 ;
  430. 2155 ;[172][172][172][172][172] REPLACE A LINE [172][172][172][172][172][172][172][172][172][172]
  431. 2160 ;
  432. 2165 ERPC JSR SHOLINE
  433. 2170 JSR C[176]LINE:CMP #"Y":BNE ED1X
  434. 2175 ;
  435. 2180 LDX BYTE
  436. 2185 LDA BOL1,X:STA $62
  437. 2190 LDA BOH1,X:STA $63
  438. 2195 JSR DROPDOWN
  439. 2200 ;
  440. 2205 LDA #13:STA ($62),Y:INY
  441. 2210 ED[139] LDA #0:STA ($62),Y:INY:CPY #39:BCC ED[139]; ZERO OUT EOB
  442. 2215 ;
  443. 2220 JSR DUN
  444. 2225 ED1X JMP EMAILIN
  445. 2230 ;
  446. 2235 ;[172][172][172] EDIT MESSAGE LINE [172][172][172][172][172][172][172][172][172][172]
  447. 2240 ;
  448. 2245 EDDT JSR SHOLINE; SELECT & DSPLAY
  449. 2250 ;
  450. 2255 ;WHEN SHOLINE [142]S EL[145]G HOLDS [195]GTH OF EXISTING LINE
  451. 2260 ;
  452. 2265 ;[172][172][172][172][172][172][172][172]
  453. 2270 ;
  454. 2275 LDA #[179]CHANGE:LDX #[177]CHANGE
  455. 2280 JSR STRING
  456. 2285 LDX LNTH:STX PROT:STX MIN[170]1
  457. 2290 JSR [161]BYTE
  458. 2295 LDA LNTH:SEC:SBC L[145]G:STA LNTH[170]1
  459. 2300 ;
  460. 2305 LDA #38:SEC:SBC LNTH[170]1:STA MIN[170]1
  461. 2310 ;
  462. 2315 LDA #[179]RAPR:LDX #[177]RAPR
  463. 2320 JSR SETLO; OLD STRING IN LO BUFFER
  464. 2325 ;
  465. 2330 ;[172][172][172][172][172][172][172]
  466. 2335 ;
  467. 2340 ;  [162] STRING WILL BE IN RAPR
  468. 2345 ;
  469. 2350 LDA #[179][164]STRI:LDX #[177][164]STRI
  470. 2355 JSR STRING:JSR [161]BYTE
  471. 2360 ;
  472. 2365 ;[172][172][172] LOCATE 1ST MATCH CHAR
  473. 2370 ;
  474. 2375 LDY #0
  475. 2380 [165]D1 LDA HITEMP,Y:BEQ FA1L
  476. 2385 CMP LOTEMP:BEQ [203]T1
  477. 2390 [165]D2 INY:BNE [165]D1
  478. 2395 ;
  479. 2400 FA1L JSR L0ST:JMP EMAILIN
  480. 2405 ;
  481. 2410 ;[172][172][172] FIND REST OF STRING
  482. 2415 ;
  483. 2420 [203]T1 STY FROM:LDX #0
  484. 2425 G0 INY:INX:LDA LOTEMP,X:BEQ RPAY
  485. 2430 CMP #42:BNE [203]T0; [162] SENTENCE TERMINATI[145]
  486. 2435 INX:LDA RAPR,X:BEQ RPAY
  487. 2440 DEX:LDA #42
  488. 2445 [203]T0 CMP HITEMP,Y:BEQ G0
  489. 2450 LDY FROM:JMP [165]D2
  490. 2455 ;
  491. 2460 ;[172][172][172][172][172][172][172][172]
  492. 2465 ;
  493. 2470 RPAY STY [164]; [128] PO[181] OF STRING [164] BE RPAYD[173]START OF REST OF STRING
  494. 2475 ;
  495. 2480 ;
  496. 2485 ; REPLACEMENT STRING IS IN RAPR
  497. 2490 ;
  498. 2495 LDY FROM:LDX #0
  499. 2500 RPL1 LDA RAPR,X:BEQ O[128]
  500. 2505 CMP #42:BNE RPL2
  501. 2510 LDA RAPR[170]1,X:BEQ U[128]
  502. 2515 LDA #42
  503. 2520 RPL2 STA ($FB),Y; IN MESSAGE BUFFR
  504. 2525 INX:INY:BNE RPL1
  505. 2530 ;
  506. 2535 ;[172][172][172][172][172][172][172][172]
  507. 2540 ;
  508. 2545 RP1X JMP MUP00
  509. 2550 ;
  510. 2555 ;[172][172][172][172][172][172][172][172]
  511. 2560 ;
  512. 2565 O[128] LDX [164]
  513. 2570 NW1 CPX PROT:BEQ U[128]; [128] OF STRING
  514. 2575 LDA HITEMP,X:BEQ FXND
  515. 2580 CMP #13:BEQ U[128]
  516. 2585 CMP #148:BEQ U[128]
  517. 2590 STA ($FB),Y:INX:INY:CPY #38:BCC NW1
  518. 2595 ;
  519. 2600 U[128] LDA #13:STA ($FB),Y:INY
  520. 2605 ;
  521. 2610 FXND LDA #0:STA ($FB),Y
  522. 2615 INY:CPY #40:BCS RP1X
  523. 2620 BCC FXND
  524. 2625 ;
  525. 2630 .FILE 0:H.[155]ER
  526.