home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64-128BBS / PROG950307.ARC / A / P-ASCII < prev    next >
Encoding:
Text File  |  2019-04-13  |  7.4 KB  |  354 lines

  1.            '┴╙├╔╔ TRANSFER MODULE
  2.            'BY ┴.╥.┬. AS OF 920411
  3.  
  4.            ORG 40961
  5.  
  6.            JMP "RCV"
  7.            JMP "SND"
  8.  
  9.            HDR "A/DICT"
  10.            NAM "P-ASCII"
  11.  
  12. "SND"      JSR "INIT"
  13. "SND00"    LDA ("SPROMPT"),Y
  14.            BEQ "SND01"
  15.            JSR "CHROUT"
  16.            INY
  17.            BNE "SND00"
  18. "SND01"    JSR "GETWAIT"
  19.            CMP 13
  20.            BNE "SND01"
  21.            JSR "CHROUT"
  22.            LDA 10
  23.            JSR "CHROUT"
  24. "SND02"    JSR "CLRCHN"     'FILL BUFF
  25.            LDX 8
  26.            JSR "CHKIN"
  27.            LDA L"DATABUFF"
  28.            STA ("ZTMP2L")
  29.            LDA H"DATABUFF"
  30.            STA ("ZTMP2H")
  31.            LDY 0
  32. "SND03"    JSR "CHRIN"
  33.            CMP $¼
  34.            BNE "SND04"
  35.            STA ("TRANFLAG")
  36.            BEQ "SND03"
  37. "SND04"    JSR "PATRANS"
  38.            LDA ("KSTATUS")
  39.            STA ("STATUS")
  40.            BNE "SND05"
  41.            LDA ("ZTMP2H")
  42.            CMP 176
  43.            BNE "SND03"
  44. "SND05"    TYA
  45.            STA ["ZTMP2L"],Y
  46.            JSR "CHKRS232"   'SEND BUFF
  47.            LDA L"DATABUFF"
  48.            STA ("ZTMP2L")
  49.            LDA H"DATABUFF"
  50.            STA ("ZTMP2H")
  51. "SND06"    JSR "DO-XON"
  52.            LDA ["ZTMP2L"],Y
  53.            BEQ "SND07"
  54.            JSR "CHROUT"
  55.            JSR "DISP"
  56.            INC ("ZTMP2L")
  57.            BNE "SND06"
  58.            INC ("ZTMP2H")
  59.            BNE "SND06"
  60. "SND07"    LDA ("STATUS")
  61.            BNE "SNDEXIT"
  62.            STY ("JIFFY3")
  63.            STY ("JIFFY2")
  64. "SND08"    JSR "RS232IN"
  65.            LDA ("JIFFY3")
  66.            BPL "SND08"
  67.            BMI "SND02"
  68. "SNDEXIT"  JSR "CHKRS232"
  69.            LDA 26
  70.            JSR "CHROUT"
  71.            LDA 0
  72.            JMP "EXIT"
  73.  
  74. "RCV"      LDY 254
  75.            STY ("BYTES")
  76.            JSR "CHKRS232"
  77. "RCV02"    LDA ("RPROMPT"),Y
  78.            BEQ "RCV05"
  79.            JSR "CHROUT"
  80.            INY
  81.            BNE "RCV02"
  82. "RCV05"    JSR "CLRCHN"
  83.            LDX 8
  84.            JSR "CHKOUT"
  85.            LDA $¼
  86.            JSR "CHROUT"
  87.            JSR "INIT"
  88. "RCV00"    LDY 0
  89.            STY ("SAVFLAG")
  90.            LDA L"DATABUFF"  'FILL BUFF
  91.            STA ("ZTMP2L")
  92.            LDA H"DATABUFF"
  93.            STA ("ZTMP2H")
  94. "RCV01"    JSR "RS232IN"
  95.            BCC "RCV03"
  96.            LDA ("JIFFY2")
  97.            CMP 14
  98.            BCS "RCVEXIT"
  99.            LDA ("JIFFY3")
  100.            BPL "RCV01"
  101.            LDA ("SAVFLAG")
  102.            BEQ "RCV01"
  103.            BNE "RCV04"
  104. "RCV03"    CMP 26         '├╘╥╠-┌: EOT
  105.            BEQ "RCVEXIT"
  106.            CMP 3         '├╘╥╠-├: EXIT
  107.            BEQ "RCVEXIT"
  108.            LDY 0
  109.            STA ["ZTMP2L"],Y
  110.            JSR "DISP"
  111.            INC ("ZTMP2L")
  112.            BNE "RCV01"
  113.            INC ("ZTMP2H")
  114.            LDA ("ZTMP2H")
  115.            CMP 175
  116.            BCC "RCV01"
  117.            BNE "RCV04"
  118.            LDA ("ZTMP2L")
  119.            AND 63
  120.            BNE "RCV01"
  121.            LDA 19          '╪╧╬: PAUSE
  122.            STA ("SAVFLAG")
  123.            JSR "CHROUT"
  124.            JMP "RCV01"
  125. "RCV04"    JSR "FLUSH"
  126.            JSR "CHKRS232"
  127.            LDA 17
  128.            JSR "CHROUT"
  129.            JMP "RCV00"
  130. "RCVEXIT"  JSR "FLUSH"
  131.            LDA 0
  132.            JMP "EXIT"
  133.  
  134. "FLUSH"    LDY 0
  135.            TYA
  136.            STA ["ZTMP2L"],Y
  137.            JSR "CLRCHN"
  138.            LDX 8
  139.            JSR "CHKOUT"
  140.            LDA L"DATABUFF"
  141.            STA ("ZTMP2L")
  142.            LDA H"DATABUFF"
  143.            STA ("ZTMP2H")
  144.            LDY 0
  145. "FL00"     LDA ["ZTMP2L"],Y
  146.            BEQ "FL01"
  147.            JSR "CHROUT"
  148.            DEC ("BYTES")
  149.            BNE "FL02"
  150.            LDA 254
  151.            STA ("BYTES")
  152.            LDX ("XUP-MAX2")
  153.            BNE "FL03"
  154.            DEC ("XUP-MAX1")
  155.            BMI "FL-FULL"
  156. "FL03"     DEC ("XUP-MAX2")
  157. "FL02"     INC ("ZTMP2L")
  158.            BNE "FL00"
  159.            INC ("ZTMP2H")
  160.            BNE "FL00"
  161. "FL01"     JMP "CLRCHN"
  162. "FL-FULL"  JSR "CHKRS232"
  163.            LDA 24
  164.            JSR "CHROUT"
  165.            LDA 5
  166.            JMP "EXIT"
  167.  
  168. "RS232IN"  JSR "CD?"
  169.            LDA ("RIDBE")
  170.            CMP ("RIDBS")
  171.            BEQ "R03"
  172.            LDY 0
  173.            STY ("JIFFY3")
  174.            STY ("JIFFY2")
  175.            JSR "GETIN"
  176.            CMP 3         '├╘╥╠-├: EXIT
  177.            BEQ "R06"
  178.            CMP 24        '├╘╥╠-╪: EXIT
  179.            BEQ "R04"
  180.            CMP 17           '╪╧╬: CONT
  181.            BNE "R01"
  182.            LDY 0
  183.            STY ("XON")
  184.            BEQ "RS232IN"
  185. "R01"      CMP 19         '╪╧╞╞: PAUSE
  186.            BNE "R05"
  187.            STA ("XON")
  188.            BEQ "RS232IN"
  189. "R03"      SEC
  190.            RTS
  191. "R05"      CLC
  192.            RTS
  193. "R04"      LDA 2
  194.            BNE "EXIT"
  195. "R06"      LDA 0
  196.            BNE "EXIT"
  197.  
  198. "CD?"      STA ("CD-A")
  199.            LDA ("KEY?")
  200.            BEQ "CD00"
  201.            DEC ("KEY?")
  202.            LDA (631)
  203.            CMP 24
  204.            BNE "CD00"
  205.            LDA 3
  206.            BNE "EXIT"
  207. "CD00"     LDA ("CARRIER")
  208.            AND 16
  209.            BNE "EXIT"
  210.            DF &A9
  211. "CD-A"     DF &00
  212.            RTS
  213.  
  214. "EXIT"     DF &A2
  215. "ST-SAV"   DF &00
  216.            TXS
  217.            PHA
  218.            LDA 8
  219.            JSR "CLOSE"
  220.            JSR "CLRCHN"
  221.            LDX 2
  222.            JSR "CHKOUT"
  223.            DF &A9
  224. "MM-SAV"   DF &00
  225.            STA ("MDM-MODE")
  226.            LDA 13
  227.            JSR "CHROUT"
  228.            LDA 13
  229.            JSR "CHROUT"
  230.            PLA
  231.            RTS
  232.  
  233. "DO-XON"   JSR "RS232IN"
  234.            LDY ("XON")
  235.            BEQ "D00"
  236.            LDA 11
  237.            STA ("SCREEN")
  238.            LDA ("JIFFY2")
  239.            CMP 14
  240.            BCC "DO-XON"
  241.            LDA 1
  242.            BNE "EXIT"
  243. "D00"      STY ("SCREEN")
  244.            STY ("JIFFY3")
  245.            STY ("JIFFY2")
  246.            CLC
  247.            RTS
  248.  
  249. "INIT"     TSX
  250.            INX
  251.            INX
  252.            STX ("ST-SAV")
  253.            LDA ("MDM-MODE")
  254.            STA ("MM-SAV")
  255.            LDA 3
  256.            STA (56256)
  257.            STA (56257)
  258.            LDY 0
  259.            STY ("XON")
  260.            STY ("STATUS")
  261.            STY ("MDM-MODE")
  262.            STY ("TRANFLAG")
  263. "CHKRS232" JSR "CLRCHN"
  264.            LDX 2
  265.            JSR "CHKIN"
  266.            LDX 2
  267.            JSR "CHKOUT"
  268.            LDY 0
  269.            STY ("JIFFY3")
  270.            STY ("JIFFY2")
  271.            RTS
  272.  
  273. "GETWAIT"  JSR "RS232IN"
  274.            BCC "GW00"
  275.            LDA ("JIFFY2")
  276.            CMP 14
  277.            BCC "GETWAIT"
  278.            JMP "EXIT"
  279. "GW00"     RTS
  280.  
  281. "DISP"     LDX 0
  282.            PHA
  283.            LSR
  284.            LSR
  285.            LSR
  286.            LSR
  287.            JSR "DISP0"
  288.            PLA
  289.            AND 15
  290. "DISP0"    TAY
  291.            LDA ("HEX"),Y
  292.            STA (1984),X
  293.            LDY 0
  294.            INX
  295.            RTS
  296.  
  297. "PATRANS"  LDX ("TRANFLAG")
  298.            BNE "PA04"
  299.            CMP 0
  300.            BMI "PA01"
  301.            CMP 32
  302.            BCS "PA02"
  303.            CMP 13
  304.            BNE "PA00"
  305.            JSR "PA04"
  306.            LDA 10
  307.            BNE "PA04"
  308. "PA00"     RTS
  309. "PA01"     AND 127
  310.            CMP 65
  311.            BCC "PA00"
  312.            CMP 91
  313.            BCC "PA03"
  314.            BCS "PA00"
  315. "PA02"     CMP 65
  316.            BCC "PA04"
  317.            CMP 91
  318.            BCS "PA03"
  319.            ORA 32
  320.            BNE "PA04"
  321. "PA03"     CMP 97
  322.            BCC "PA04"
  323.            CMP 123
  324.            BCS "PA04"
  325.            AND 223
  326. "PA04"     LDY 0
  327.            STA ["ZTMP2L"],Y
  328.            INC ("ZTMP2L")
  329.            BNE "PA05"
  330.            INC ("ZTMP2H")
  331. "PA05"     RTS
  332.  
  333. ' ╨ROMPT TEXTS IN ┴╙├╔╔...
  334.  
  335. "SPROMPT"  DF &507265737320
  336.            DF &52455455524E20
  337.            DF &746F20
  338.            DF &73746172742C20
  339.            DF &4354524C2D4320
  340.            DF &746F20
  341.            DF &657869742E0D0A00
  342.  
  343. "RPROMPT"  DF $╨RESS ├╘╥╠-┌ WHEN 
  344.            DF $FINISHED OR ├╘╥╠-╪ TO 
  345.            DF $ABORT.
  346.            DF &0D00
  347.  
  348. "HEX"      DF $0123456789ABCDEF
  349. "SAVFLAG"  DF &00
  350. "TRANFLAG" DF &00
  351. "BYTES"    DF &00
  352.  
  353. "DATABUFF" DF $*
  354.