home *** CD-ROM | disk | FTP | other *** search
/ ABBUC Magazin 39B / ABBUC_Magazin_39_19xx_ABBUC_Side_B.atr / argsrsm.src < prev    next >
Text File  |  2023-02-26  |  5KB  |  381 lines

  1. ***       RS 232 HANDLER          ***
  2. *** Fuer A.R.G.S. RS232 Interface ***
  3. ***   Mit Pokey-Timer-Interrupt   ***
  4. ***      von Sven Traenkle        ***
  5. ***        neue Version           ***
  6. ***          by RoBue             ***
  7. ***         15.07.1994            ***
  8.  
  9.  
  10.     ORG $2000,$A800
  11.  
  12. ACDATA    EQU $D508    ACIA-
  13. ACSTAT    EQU $D509    REGISTER
  14. ACCOMM    EQU $D50A
  15. ACCONT    EQU $D50B
  16.  
  17. DOSINI    EQU $C
  18. DOSVEC    EQU $A
  19. COLOR1    EQU 709
  20. COLOR2    EQU 710
  21. COLOR4    EQU 712
  22. MEMLO    EQU 743
  23. ICAX1Z    EQU $2A
  24. ICAX2Z    EQU $2B
  25. ICCOMZ    EQU $22
  26. BRKKEY    EQU 17
  27. POKMSK    EQU 16
  28. DVSTAT    EQU 746
  29.  
  30. PHENTV    EQU $E486
  31. IRQEN    EQU $D20E
  32. AUDF1    EQU $D200
  33. KBCODE    EQU $2FC
  34. VTIMR1    EQU 528
  35. STIMER    EQU 53769
  36.  
  37.  
  38. *************************
  39. * Jetzt gehts los !!!   *
  40. *************************
  41.  
  42.  
  43. INIT    LDA #END:L    NEUES
  44.     STA MEMLO    MEMLO
  45.     LDA #END:H    FESTLEGEN
  46.     STA MEMLO+1
  47.  
  48.  
  49. *** TREIBER IN TABELLE EINTRAGEN
  50.  
  51.     LDX #'R 
  52.     LDA #TAB:H
  53.     LDY #TAB:L
  54.     SEC
  55.     JSR PHENTV
  56.     BCC OKA
  57.     RTS         EINTRAG NICHT ERFOLGREICH
  58. OKA    LDA #5
  59.     STA COLOR4
  60.  
  61.  
  62. *** VOREINSTELLUNGEN
  63.  
  64.     LDA #9        300/8/N/1
  65.     STA ACCOMM
  66.     LDA #23
  67.     STA ACCONT
  68.     RTS
  69.  
  70. TAB    DFW OPEN-1
  71.     DFW CLOSE-1
  72.     DFW GET-1
  73.     DFW PUT-1
  74.     DFW STATUS-1
  75.     DFW SPECIAL-1
  76.     JMP OKA
  77.  
  78.  
  79. ***  HANDLERROUTINEN ***
  80.  
  81. ************
  82. *** OPEN ***
  83. ************
  84.  
  85. OPEN    LDY #0
  86.     STY IIN        BUFFER
  87.     STY IOUT        ZURUECK-
  88.     STY OIN        SETZEN
  89.     STY OOUT
  90.     INY
  91.  
  92.     LDA POKMSK    POKEY-
  93.     ORA #$01        IRQ
  94.     STA POKMSK    EIN
  95.     STA IRQEN
  96.     LDA FREQ
  97.     STA AUDF1
  98.     LDA #INT:L
  99.     STA VTIMR1
  100.     LDA #INT:H
  101.     STA VTIMR1+1
  102.     LDA #1
  103.     STA STIMER
  104.     JMP AN
  105.  
  106. ****************
  107. *** CLOSE    ***
  108. ****************
  109.  
  110. CLOSE    LDA POKMSK    POKEY-
  111.     AND #$FE        IRQ
  112.     STA POKMSK    AUS
  113.     STA IRQEN
  114.     JSR AUS
  115.     LDY #1
  116.     RTS
  117.  
  118.  
  119. ****************
  120. *** GET ********
  121. ****************
  122.  
  123. GET    LDA BRKKEY    BREAK?
  124.     BEQ BREAK
  125.     LDA IIN
  126.     CMP IOUT
  127.     BEQ GET
  128. BUFCHK    LDA FULLFL
  129.     BEQ GETCHR
  130.     LDA IOUT
  131.     SEC
  132.     SBC IIN
  133.     CLC
  134.     CMP #10
  135.     BNE GETCHR
  136.     JSR AN
  137.     LDA #$0
  138.     STA FULLFL
  139. GETCHR    LDY IOUT
  140.     INC IOUT
  141.     LDA IBUF,Y
  142. NEXT    LDY #$1
  143.     RTS
  144.  
  145. BREAK    LDY #128
  146.     INC BRKKEY
  147.     RTS
  148.  
  149.  
  150. **************
  151. *** PUT  *****
  152. **************
  153.  
  154. PUT    PHA
  155.     LDA ACCOMM
  156.     AND #243
  157.     ORA #4
  158.     STA ACCOMM
  159. PUT0    LDA BRKKEY    BREAK?
  160.     BNE PUT1
  161.     PLA
  162.     JMP BREAK
  163. PUT1    LDA OIN
  164.     CLC
  165.     ADC #2
  166.     CMP OOUT
  167.     BEQ PUT0
  168.     LDY OIN
  169.     PLA
  170.     STA OBUF,Y
  171.     INC OIN
  172.     LDY #1
  173.     RTS
  174.  
  175.  
  176. ********************
  177. *** SPECIAL ********
  178. ********************
  179.  
  180. SPECIAL    LDA ICCOMZ
  181.     CMP #36
  182.     BEQ X36
  183.     LDY #1
  184.     RTS
  185.  
  186.  
  187. *** XIO 36 (BAUDRATE,WORTLAENGE...)
  188.  
  189. X36    LDA ICAX1Z
  190.     AND #15
  191.     JSR COMP        Baudrate u. Pokey-Freq.
  192.     SEI
  193.     PHA
  194.     LDA ACCONT
  195.     AND #%11110000
  196.     STA ACCONT
  197.     PLA
  198.     ORA ACCONT
  199.     STA ACCONT
  200.     CLI
  201.     STY FREQ
  202.     STY AUDF1
  203.     LDY #1
  204.     RTS
  205. *
  206. *    AKKU: Baudrate
  207. *    YREG: IRQ-Frequenz
  208. COMP    CMP #10
  209.     BEQ B1200
  210.     CMP #12
  211.     BEQ B2400
  212.     CMP #13
  213.     BEQ B4800
  214.     CMP #14
  215.     BEQ B9600
  216.     CMP #15
  217.     BEQ B19200
  218.     LDA #6        300/8/N/1 
  219.     LDY #$FF
  220.     RTS
  221. B1200    LDA #8
  222.     LDY #$FF
  223.     RTS
  224. B2400    LDA #10
  225.     LDY #160
  226.     RTS
  227. B4800    LDA #12
  228.     LDY #80
  229.     RTS
  230. B9600    LDA #14
  231.     LDY #40
  232.     RTS
  233. B19200    LDA #15
  234.     LDY #20
  235.     RTS
  236.  
  237.  
  238. ****************
  239. *** STATUS  ****
  240. ****************
  241.  
  242. STATUS    LDA #$00
  243.     STA DVSTAT+2
  244.     LDA IIN
  245.     SEC
  246.     SBC IOUT
  247.     STA DVSTAT+1
  248.     LDA OIN
  249.     SEC
  250.     SBC OOUT
  251.     STA DVSTAT+3
  252.     CLC
  253.     LDY #$1
  254.     RTS
  255.  
  256.  
  257. *************************************
  258. *  INTERRUPT                        *
  259. *************************************
  260.  
  261. INT    LDA ACSTAT
  262.     BPL BACK1
  263.     STA STAT
  264.     TYA
  265.     PHA
  266.  
  267. ACIA    LDA STAT
  268.     AND #8
  269.     BEQ NOTFULL
  270.     JSR REC
  271. NOTFULL    LDA STAT
  272.     AND #16
  273.     BEQ BACK
  274.     JSR TRANSF
  275.  
  276. BACK    PLA
  277.     TAY
  278. BACK1    PLA
  279.     RTI
  280.  
  281. ***********************
  282. * Byte in Inputbuffer *
  283. ***********************
  284.  
  285. REC    LDA STAT
  286.     AND #1
  287.     BNE INBUF1
  288. NOSO    LDA ACDATA
  289. INBUF    LDY IIN
  290.     STA IBUF,Y
  291.     INC IIN
  292.     LDA IOUT
  293.     SEC
  294.     SBC IIN
  295.     CMP #8
  296.     BEQ VOLL
  297. INBUF1    RTS
  298.  
  299. VOLL    JSR AUS
  300.     LDA #1
  301.     STA FULLFL
  302.     RTS
  303.  
  304. ******************************
  305. * Byte aus Outputbuffer      *
  306. ******************************
  307.  
  308.  
  309. TRANSF    LDA DATABRK
  310.     BNE NOTRANS
  311.     LDA OOUT
  312.     CMP OIN
  313.     BNE AUSG
  314. NOTRANS    JMP AUS
  315.  
  316. AUSG    TAY
  317.     LDA OBUF,Y
  318.     STA ACDATA
  319.     INC OOUT
  320.     RTS
  321.  
  322. ***************************
  323. * READY AN SENDER MELDEN  *
  324. ***************************
  325.  
  326. AN    LDA ACCOMM
  327.     AND #243
  328.     ORA #8
  329.     STA ACCOMM
  330.     RTS
  331.  
  332.  
  333. **************************
  334. * NICHT READY MELDEN     *
  335. **************************
  336.  
  337. AUS    LDA ACCOMM
  338.     AND #243
  339.     STA ACCOMM
  340.     RTS
  341.  
  342.  
  343. *************************
  344. * VARIABLE ETC.         *
  345. *************************
  346.  
  347.  
  348. FULLFL    DFB 0
  349. DATABRK    DFB 0
  350. STAT    DFB 0 
  351. FREQ    DFB 255
  352.  
  353. IIN    DFB 0
  354. IOUT    DFB 0
  355. OIN    DFB 0
  356. OOUT    DFB 0
  357.  
  358.  
  359. *******************
  360. *** BUFFER       **
  361. *******************
  362.  
  363. IBUF    ASC '********************************'
  364.     ASC '  A.R.G.S. (Atari Regionalgruppe'
  365.     ASC ' Stuttgart) is the best !!!     '
  366.     ASC '********************************'
  367.     ASC '                                '
  368.     ASC 'ARGS-RS 232 Handler (p)1992/93  '
  369.     ASC 'Sven Traenkle (mit mehr oder wen'
  370.     ASC 'iger grosser Unterstuetzung von '
  371.     DFB 255
  372. OBUF    ASC 'Roland Buehler, Holger Pfeil, Pe'
  373.     ASC 'ter Straif, Star Trek - The next'
  374.     ASC ' Generation, Al Bundy und seiner'
  375.     ASC ' schrecklich netten Familie, der'
  376.     ASC 'Lindenstrasse, 21st Century Digi'
  377.     ASC 'tal Boy, Ramones, Coca Cola, Stu'
  378.     ASC 'ttgarter Hofbraeu, Bofrost,Wing '
  379.     ASC 'Com.II und meinem genialen Hirn.'
  380. END    DFB 255
  381. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯