home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!portal!cup.portal.com!Rick_Michael_Cortese
- From: Rick_Michael_Cortese@cup.portal.com
- Newsgroups: comp.sys.atari.8bit
- Subject: Re: Connecting an RS232 modem to an Atari?
- Message-ID: <65469@cup.portal.com>
- Date: Tue, 8 Sep 92 11:27:50 PDT
- Organization: The Portal System (TM)
- References: <1992Sep7.231030.7510@constellation.ecn.uoknor.edu>
- <65456@cup.portal.com>
- Lines: 124
-
- 10 ;RS-232 300 BAUD RECIEVE BY
- 20 ;Rick Cortese 2/21/91
- 30 ;ASM ,,#D:RECIEVE.OBJ
- 40 *=$600
- 50 PTR = $CB
- 60 ;SIZE AKA FR0
- 70 SIZE = $D4
- 80 VAR = $CF
- 90 PORTA = $D300
- 0100 NMIEN = $D40E
- 0110 DMACTL = $D400
- 0120 BAUD = 300
- 0130 INIT
- 0140 PLA
- 0150 PLA
- 0160 STA PTR+1
- 0170 PLA
- 0180 STA PTR
- 0190 LDA #00
- 0200 STA NMIEN
- 0210 STA DMACTL
- 0220 STA SIZE
- 0230 STA SIZE+1
- 0240 LDA #255
- 0250 STA 764
- 0260 ;MAIN LOOP THAT CHECKS EVERYTHING
- 0270 L1
- 0280 LDA 764
- 0290 CMP #255
- 0300 BNE BYE
- 0310 JSR CHECKIT
- 0320 JMP L1
- 0330 ;YOU GET HERE WHEN YOU PRESS
- 0340 ; A KEY
- 0350 BYE
- 0360 LDA #$FF
- 0370 STA NMIEN
- 0380 STA 764
- 0390 LDA #34
- 0400 STA DMACTL
- 0410 RTS
- 0420 ;1ST CHECK FOR START BIT
- 0430 CHECKIT
- 0440 LDA #$FF
- 0450 CMP PORTA
- 0460 ;GET BYTE IF IT'S THERE
- 0470 BEQ WEREON
- 0480 ;GO HOME IF IT'S NOT
- 0490 RTS
- 0500 WEREON
- 0510 ;??IF?? CENTER SAMPLING NEEDED
- 0520 ;WAIT 1/2 OF START BIT
- 0530 ;REAL STUFF
- 0540 JSR GET8BITS
- 0550 JSR CONVERT
- 0560 JSR STORE
- 0570 JSR BUMPSIZE
- 0580 RTS
- 0590 GET8BITS
- 0600 LDX #8
- 0610 STX COUNT
- 0620 LDA #0
- 0630 STA BUFF
- 0640 ;SHOULD PASS START BIT
- 0650 ;WITH SOME CHANGE 'CAUSE OF
- 0660 ;THE TIME GETTING HERE
- 0670 JSR WAIT
- 0680 L2
- 0690 LDA PORTA
- 0700 CLC
- 0710 LSR A
- 0720 ROR BUFF
- 0730 DEC COUNT
- 0740 BEQ OUT
- 0750 JSR WAIT
- 0760 JMP L2
- 0770 OUT
- 0780 ;SHOULD PASS ANY STOP BITS
- 0790 JSR WAIT
- 0800 ;NO PARITY CHECKS
- 0810 RTS
- 0820 CONVERT
- 0830 LDA #$FF
- 0840 EOR BUFF
- 0850 STA BUFF
- 0860 RTS
- 0870 STORE
- 0880 LDY #0
- 0890 LDA BUFF
- 0900 STA (PTR),Y
- 0910 CLC
- 0920 INC PTR
- 0930 BNE DONESTORE
- 0940 INC PTR+1
- 0950 DONESTORE
- 0960 RTS
- 0970 BUMPSIZE
- 0980 CLC
- 0990 INC SIZE
- 1000 BNE DONEBUMP
- 1010 INC SIZE+1
- 1020 DONEBUMP
- 1030 RTS
- 1040 BUFF
- 1050 .BYTE 0
- 1060 COUNT
- 1070 .BYTE 0
- 1080 WAIT
- 1090 LDX DELAYX
- 1100 D1
- 1110 LDY DELAYY
- 1120 D2
- 1130 DEY
- 1140 BNE D2
- 1150 DEX
- 1160 BNE D1
- 1170 RTS
- 1180 DELAYX
- 1190 .BYTE 45000/BAUD
- 1200 DELAYY
- 1210 .BYTE $06
- 1220 .END
- ould connect
- just about anything to anything, but why?
-