home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ABBUC Magazin 39B
/
ABBUC_Magazin_39_19xx_ABBUC_Side_B.atr
/
argsrs2.src
< prev
next >
Wrap
Text File
|
2023-02-26
|
7KB
|
603 lines
*** RS 232 HANDLER ***
*** Fuer A.R.G.S. RS232 Interface ***
*** Mit Pokey-Timer-Interrupt ***
*** von Sven Traenkle ***
*** neu ueberarbeitet ***
*** von RoBue ***
*** 24.7.1994 ***
ORG $2000,$A800
ACDATA EQU $D508
ACSTAT EQU $D509
ACCOMM EQU $D50A
ACCONT EQU $D50B
DOSINI EQU $C
DOSVEC EQU $A
COLOR1 EQU 709
COLOR2 EQU 710
COLOR4 EQU 712
MEMLO EQU 743
ICAX1Z EQU $2A
ICAX2Z EQU $2B
ICCOMZ EQU $22
BRKKEY EQU 17
POKMSK EQU 16
DVSTAT EQU 746
PHENTV EQU $E486
IRQEN EQU $D20E
AUDF1 EQU $D200
KBCODE EQU $2FC
VTIMR1 EQU 528
STIMER EQU 53769
*************************
* Jetzt gehts los !!! *
*************************
PROT DFB 2 *+0
STOP DFB 19 *+1
CONT DFB 17 *+2
FULLFL DFB 0 *+3
DATABRK DFB 0 *+4
ERR DFB 0 *+5
STAT DFB 0 *+6
CHECK DFB 0 *+7
OFF DFB 0 *+8
RWFL DFB 0 *+9
NOCHR DFB 1 *+A
TRANS DFB 1 *+B
IIN DFB 0 *+C
IOUT DFB 0 *+D
OIN DFB 0 *+E
OOUT DFB 0 *+F
INIT LDA #END:L
STA MEMLO
LDA #END:H
STA MEMLO+1
*** TREIBER IN TABELLE EINTRAGEN
LDX #'R
LDA #TAB:H
LDY #TAB:L
SEC
JSR PHENTV
BCC OKA
RTS ; EINTRAG NICHT ERFOLGREICH
OKA LDA #5
STA COLOR4
*** VOREINSTELLUNGEN
LDA #9
STA ACCOMM
LDA #23
STA ACCONT
RTS
TAB DFW OPEN-1
DFW CLOSE-1
DFW GET-1
DFW PUT-1
DFW STATUS-1
DFW SPECIAL-1
JMP OKA
*** HANDLERROUTINEN ***
************
*** OPEN ***
************
OPEN LDY #1
LDA ICAX1Z
STA RWFL
LDA #$00
STA IIN
STA IOUT
STA OIN
STA OOUT
*** POKEY-INT. INIT:
LDA POKMSK
ORA #$01
STA POKMSK
STA IRQEN
LDA FREQ
STA AUDF1
LDA #INT:L
STA VTIMR1
LDA #INT:H
STA VTIMR1+1
LDA #1
STA STIMER
JSR AN
RTS
****************
*** CLOSE ***
****************
CLOSE LDA #0
STA OFF
LDA POKMSK
AND #$FE
STA POKMSK
STA IRQEN
JSR AUS
LDY #1
RTS
****************
*** GET ********
****************
GET LDA BRKKEY
BEQ BREAK
LDA #$00
STA NOCHR
LDA IIN
CMP IOUT
BNE BUFCHK
LDA ERR
BNE ERROR
LDA RWFL
CMP #12
BEQ GET
LDA #$1
STA NOCHR
LDA #$00
JMP NEXT
BUFCHK LDA FULLFL
BEQ GETCHR
LDA IOUT
SEC
SBC IIN
CLC
CMP #10
BNE GETCHR
JSR AN
LDA #$0
STA FULLFL
GETCHR LDY IOUT
INC IOUT
LDA IBUF,Y
PHA
LDA TRANS
BNE NOTRL
PLA
AND #127
CMP #13
BNE NOCR
LDA #155
NOCR PHA
NOTRL PLA
NEXT LDY #$1
RTS
ERROR LDA ERR
AND #1
BNE PARITY
LDY #169
JMP ENDERR
LDA ERR
AND #2
BNE STASTO
OVERRUN LDY #137
JMP ENDERR
BREAK LDY #128
INC BRKKEY
RTS
PARITY LDY #143
JMP ENDERR
STASTO LDY #166
ENDERR LDA #$00
STA ERR
RTS
**************
*** PUT *****
**************
PUT PHA
LDA ACCOMM
AND #243
ORA #4
STA ACCOMM
PUT0 LDA BRKKEY
BNE PUT1
PLA
JMP BREAK
PUT1 LDA OIN
CLC
ADC #2
CMP OOUT
BEQ PUT0
LDY OIN
LDA TRANS
BNE NOTRLA
PLA
CMP #155
BNE NOEOL
LDA #13
NOEOL AND #127
PHA
NOTRLA PLA
STA OBUF,Y
INC OIN
LDY #1
RTS
********************
*** SPECIAL ********
********************
SPECIAL LDA ICCOMZ
CMP #36
BEQ X36
CMP #38
BEQ X38
LDY #1
RTS
*** XIO 38 (UEBERSETZUNG, PARITAET)
X38 LDA ICAX1Z
AND #5
CMP #5
BEQ UNGER
LDA ICAX1Z
AND #10
CMP #10
BEQ GERADE
KEINE LDA ACCOMM
AND #$DF
STA ACCOMM
LDY #1
JMP TL
UNGER LDA ACCOMM
AND #$3F
ORA #32
LDY #1
RTS
GERADE LDA ACCOMM
AND #$7F
ORA #32
LDY #1
RTS
TL LDA ICAX1Z
AND #32
BNE NTRANS
LDA #$00
STA TRANS
LDY #1
RTS
NTRANS LDA #$01
STA TRANS
LDY #1
RTS
*** XIO 36 (BAUDRATE,WORTLAENGE...)
X36 LDA ICAX1Z
AND #15
JSR COMP
STA HELPFL
LDA ICAX1Z
AND #48
ASL
ADC HELPFL
ADC #16
STA HELPFL
LDA ICAX1Z
AND #128
ADC HELPFL
STA ACCONT
STY FREQ
STY AUDF1
LDY #1
RTS
*
COMP CMP #9
BEQ B600
CMP #10
BEQ B1200
CMP #11
BEQ B1800
CMP #12
BEQ B2400
CMP #13
BEQ B4800
CMP #14
BEQ B9600
CMP #15
BEQ B19200
LDA #6
LDY #$FF
RTS
B600 LDA #7
LDY #$FF
RTS
B1200 LDA #8
LDY #$FF
RTS
B1800 LDA #9
LDY #$FF
RTS
B2400 LDA #10
LDY #160
RTS
B4800 LDA #12
LDY #80
RTS
B9600 LDA #14
LDY #40
RTS
B19200 LDA #15
LDY #20
RTS
HELPFL DFB 00
FREQ DFB 255
****************
*** STATUS ****
****************
STATUS LDA #$00
STA DVSTAT+2
LDA IIN
SEC
SBC IOUT
STA DVSTAT+1
LDA OIN
SEC
SBC OOUT
STA DVSTAT+3
CLC
LDY #$1
RTS
*************************************
* INTERRUPT *
*************************************
INT LDA ACSTAT
BPL BACK1
STA STAT
TYA
PHA
**
* LDA KBCODE
* CMP #227 * Taste N mit Shift u. Ctrl.
* BNE NON
* LDA #0
* STA PROT
*NON CMP #254 * SHFT.-CTRL. S
* BNE NOS
* LDA #1
* STA PROT
*NOS CMP #249 *SHFT.-CTRL. H
* BNE BACK
* LDA #2
* STA PROT
ACIA LDA CHECK
AND STAT
BEQ OK
JMP BACK
OK LDA STAT
AND #8
BEQ NOTFULL
JSR REC
NOTFULL LDA STAT
AND #16
BEQ BACK
JMP TRANSF
BACK PLA
TAY
BACK1 PLA
RTI
***********************
* Byte in Inputbuffer *
***********************
REC LDA STAT
AND #1
BNE ERRO
LDA PROT
CMP #1
BNE NOSO
LDA ACDATA
CMP STOP
BEQ HALT
CMP CONT
BEQ WEITER
JMP INBUF
NOSO LDA ACDATA
INBUF LDY IIN
STA IBUF,Y
INC IIN
LDA IOUT
SEC
SBC IIN
CMP #8
BEQ VOLL
RTS
VOLL JSR AUS
LDA #1
STA FULLFL
RTS
ERRO LDA STAT
AND #1
STA ERR
RTS
HALT LDA #1
STA DATABRK
RTS
WEITER PHA
LDA DATABRK
BEQ INBU
LDA #0
STA DATABRK
PLA
RTS
INBU PLA
JMP INBUF
******************************
* Byte aus Outputbuffer *
******************************
TRANSF LDA DATABRK
BNE NOTRANS
LDA OOUT
CMP OIN
BNE AUSG
NOTRANS LDA ACCOMM
AND #243
ORA #8
STA ACCOMM
LDA OFF
BNE ZU
JMP BACK
ZU JSR AUS
JMP BACK
AUSG TAY
LDA OBUF,Y
STA ACDATA
INC OOUT
JMP BACK
***************************
* READY AN SENDER MELDEN *
***************************
AN LDA PROT
BNE HAND
RTS
HAND CMP #2
BNE AN1
LDA ACCOMM
AND #243
ORA #8
STA ACCOMM
RTS
AN1 LDA ACCOMM
AND #12
CMP #4
BEQ AN2
LDY #1
LDA ACCOMM
AND #243
ORA #4
STA ACCOMM
AN2 LDA ACSTAT
AND #16
BEQ AN2
LDA CONT
STA ACDATA
CPY #1
BEQ END2
LDA ACCOMM
AND #243
ORA #8
STA ACCOMM
END2 RTS
**************************
* NICHT READY MELDEN *
**************************
AUS LDA PROT
BNE HAND1
RTS
HAND1 CMP #2
BNE AUS1
LDA ACCOMM
AND #243
STA ACCOMM
RTS
AUS1 LDA ACCOMM
AND #12
CMP #4
BEQ AUS2
LDY #1
LDA ACCOMM
AND #243
ORA #4
STA ACCOMM
AUS2 LDA ACSTAT
AND #16
BEQ AUS2
LDA STOP
STA ACDATA
CPY #1
BEQ ENDE
LDA ACCOMM
AND #243
ORA #8
STA ACCOMM
ENDE RTS
*******************
*** BUFFER **
*******************
IBUF ASC '********************************'
ASC ' A.R.G.S. (Atari Regionalgruppe'
ASC ' Stuttgart) is the best !!! '
ASC '********************************'
ASC ' '
ASC 'ARGS-RS 232 Handler (p)1992/93 '
ASC 'Sven Traenkle (mit mehr oder wen'
ASC 'iger grosser Unterstuetzung von '
DFB 255
OBUF ASC 'Roland Buehler, Holger Pfeil, Pe'
ASC 'ter Straif, Star Trek - The next'
ASC ' Generation, Al Bundy und seiner'
ASC ' schrecklich netten Familie, der'
ASC 'Lindenstrasse, 21st Century Digi'
ASC 'tal Boy, Ramones, Coca Cola, Stu'
ASC 'ttgarter Hofbraeu, Bofrost,Wing '
ASC 'Com.II und meinem genialen Hirn.'
END DFB 255
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯