home *** CD-ROM | disk | FTP | other *** search
- '─╘╩ ╨UNTER
- 'MODIFIED FROM ╚╔╙ LISTING
- 'AS OF ╩ULY 4, 1991
-
- ORG 40961
-
- NAM "P-PUNTER"
-
- JMP "MAINRCV"
- JMP "MAINSND"
-
- "CODES" DF $GOOBADACKS/BSYN
-
- HDR "A/P-PUNTER.HDR"
-
- '┴CCEPT CHARACTER & CHECK FOR CODES
- "ACCEPT" STA ("BITPAT")
- LDA 0
- STA ("CODEBUF0")
- STA ("CODEBUF1")
- STA ("CODEBUF2")
- "ACC00" LDA 0
- STA ("TIMERL")
- STA ("TIMERH")
- "ACC01" JSR "CARCHECK"
- JSR "GETNUM"
- LDA (251)
- BNE "ACC06"
- LDA ("CODEBUF1")
- STA (1987)
- STA ("CODEBUF0")
- LDA ("CODEBUF2")
- STA (1988)
- STA ("CODEBUF1")
- LDA (512)
- STA (1989)
- STA ("CODEBUF2")
- LDA 0
- STA ("BITCNT")
- LDA 1
- STA ("BITPNT")
- "ACC02" LDA ("BITPAT")
- BIT ("BITPNT")
- BEQ "ACC04"
- LDY ("BITCNT")
- LDX 0
- "ACC03" LDA ("CODEBUF0"),X
- CMP ("CODES"),Y
- BNE "ACC04"
- INY
- INX
- CPX 3
- BNE "ACC03"
- JMP "ACC05"
- "ACC04" ASL ("BITPNT")
- LDA ("BITCNT")
- CLC
- ADC 3
- STA ("BITCNT")
- CMP 15
- BNE "ACC02"
- JMP "ACC00"
- "ACC05" LDA 255
- STA ("TIMERL")
- STA ("TIMERH")
- JMP "ACC01"
- "ACC06" INC ("TIMERL")
- BNE "ACC07"
- INC ("TIMERH")
- "ACC07" LDA ("TIMERH")
- ORA ("TIMERL")
- BEQ "ACC08"
- LDA ("TIMERL")
- CMP 7
- LDA ("TIMERH")
- CMP 20
- BCC "ACC010"
- LDA 1
- STA (251)
- JMP "DOD00"
- "ACC010" JMP "ACC01"
- "ACC08" LDA 0
- STA (251)
- RTS
-
- '╟ET A BYTE FROM MODEM
- "GETNUM" TYA
- PHA
- LDA 2
- LDY (668)
- CPY (667)
- BEQ "GET01"
- LDA [247],Y
- STA (512)
- JSR "DISPDATA"
- INC (668)
- LDA 0
- STA (162)
- STA (161)
- "GET01" STA (251)
- LDA (161)
- CMP 14
- BCS "GET02"
- PLA
- TAY
- RTS
- "GET02" LDA 1
- JMP "EXIT"
-
- "EXITFLG" DF &00
-
- '╧UTPUT CODE TO MODEM
- "SENDCODE" LDX 0
- "OUT00" LDA ("CODES"),Y
- JSR "CHROUT"
- STA (1987),X
- JSR "DISPDATA"
- INY
- INX
- CPX 3
- BNE "OUT00"
- RTS
-
- '─O HANDSHAKE
- "RECHAND" STA ("GBSAVE")
- LDA 0
- STA ("DELAY")
- "RCH00" LDA 2
- STA (98)
- LDY ("GBSAVE")
- JSR "SENDCODE"
- "RCH01" LDA 4
- JSR "ACCEPT"
- LDA (251)
- BEQ "RCH02"
- DEC (98)
- BNE "RCH01"
- JMP "RCH00"
- "RCH02" LDY 9
- JSR "SENDCODE"
- LDA ("ENDFLAG")
- BEQ "RCH03"
- LDA ("GBSAVE")
- BEQ "RCH05"
- "RCH03" LDA ("BUFFER4")
- STA ("BUFCOUNT")
- STA ("RECSIZE")
- JSR "RECMODEM"
- LDA (251)
- CMP 2
- BEQ "RCH02"
- CMP 8
- BEQ "RCH02"
- RTS
- "RCH05" LDA 16
- JSR "ACCEPT"
- LDA (251)
- BNE "RCH02"
- LDA 10
- STA ("BUFCOUNT")
- "RCH06" LDY 12
- JSR "SENDCODE"
- LDA 8
- JSR "ACCEPT"
- LDA (251)
- BEQ "RCH07"
- DEC ("BUFCOUNT")
- BNE "RCH06"
- "RCH07" RTS
-
- '╚ANDSHAKE FOR XMIT END
- "TRANHAND" LDA 1
- STA ("DELAY")
- "HAN00" LDA ("SPECMODE")
- BEQ "HAN01"
- LDY 0
- JSR "SENDCODE"
- "HAN01" LDA 11
- JSR "ACCEPT"
- LDA (251)
- BNE "HAN00"
- LDA 0
- STA ("SPECMODE")
- LDA ("BITCNT")
- BNE "HAN05"
- LDA ("ENDFLAG")
- BNE "HAN07"
- JSR "INCR"
- INC ("BLOCKNM0")
- BNE "HAN02"
- INC ("BLOCKNM1")
- "HAN02" JSR "THISBUF"
- LDY 5
- INY
- LDA [100],Y
- CMP 255
- BNE "HAN03"
- LDA 1
- STA ("ENDFLAG")
- LDA ("BUFPNT")
- EOR 1
- STA ("BUFPNT")
- JSR "THISBUF"
- JSR "DUM02"
- JMP "HAN05"
- "HAN03" JSR "DUMMYBLK"
- "HAN05" LDY 6
- JSR "SENDCODE"
- LDA 8
- JSR "ACCEPT"
- LDA (251)
- BNE "HAN05"
- JSR "THISBUF"
- LDY 4
- LDA [100],Y
- STA ("BUFCOUNT")
- JSR "ALTBUF"
- LDY 0
- "HAN06" LDA [100],Y
- JSR "CHROUT"
- JSR "DISPDATA"
- INY
- CPY ("BUFCOUNT")
- BNE "HAN06"
- LDA 0
- RTS
- "HAN07" LDY 6
- JSR "SENDCODE"
- LDA 8
- JSR "ACCEPT"
- LDA (251)
- BNE "HAN07"
- LDA 10
- STA ("BUFCOUNT")
- "HAN08" LDY 12
- JSR "SENDCODE"
- LDA 16
- JSR "ACCEPT"
- LDA (251)
- BEQ "HAN09"
- DEC ("BUFCOUNT")
- BNE "HAN08"
- "HAN09" LDA 3
- STA ("BUFCOUNT")
- "HAN10" LDY 9
- JSR "SENDCODE"
- LDA 0
- JSR "ACCEPT"
- DEC ("BUFCOUNT")
- BNE "HAN10"
- LDA 1
- RTS
-
- '╥CV A BLOCK
- "RECMODEM" LDY 0
- "REC00" LDA 0
- STA ("TIMERL")
- STA ("TIMERH")
- "REC01" JSR "CARCHECK"
- JSR "GETNUM"
- LDA (251)
- BNE "REC04"
- LDA (512)
- STA ("BUFFER0"),Y
- CPY 3
- BCS "REC02"
- STA ("CODEBUF0"),Y
- CPY 2
- BNE "REC02"
- LDA ("CODEBUF0")
- CMP $A
- BNE "REC02"
- LDA ("CODEBUF1")
- CMP $C
- BNE "REC02"
- LDA ("CODEBUF2")
- CMP $K
- BEQ "REC03"
- "REC02" INY
- CPY ("BUFCOUNT")
- BNE "REC00"
- LDA 1
- STA (251)
- JMP "CARCHECK"
- "REC03" LDA 255
- STA ("TIMERL")
- STA ("TIMERH")
- JMP "REC01"
- "REC04" INC ("TIMERL")
- BNE "REC05"
- INC ("TIMERH")
- "REC05" LDA ("TIMERL")
- ORA ("TIMERH")
- BEQ "REC07"
- LDA ("TIMERL")
- CMP 6
- LDA ("TIMERH")
- CMP 16
- BNE "REC01"
- LDA 2
- STA (251)
- CPY 0
- BEQ "REC06"
- LDA 4
- STA (251)
- "REC06" JMP "DOD00"
- "REC07" LDA 8
- STA (251)
- JMP "CARCHECK"
-
- '├REATE A DUMMY BLOCK
- "DUMMYBLK" LDA ("BUFPNT")
- EOR 1
- STA ("BUFPNT")
- JSR "THISBUF"
- LDY 5
- LDA ("BLOCKNM0")
- CLC
- ADC 1
- STA [100],Y
- INY
- LDA ("BLOCKNM1")
- ADC 0
- STA [100],Y
- JSR "CLRCHN"
- LDX 8
- JSR "CHKIN"
- LDY 7
- "DUM00" JSR "CHRIN"
- STA [100],Y
- INY
- JSR "READST"
- BNE "DUM01"
- CPY ("MAXSIZE")
- BNE "DUM00"
- TYA
- PHA
- JMP "DUM03"
- "DUM01" TYA
- PHA
- LDY 5
- INY
- LDA 255
- STA [100],Y
- BNE "DUM03"
- "DUM02" PHA
- "DUM03" JSR "DOD02"
- JSR "RESET"
- LDY 4
- LDA [100],Y
- STA ("BUFCOUNT")
- JSR "ALTBUF"
- PLA
- LDY 4
- STA [100],Y
- JSR "CHECKSUM"
- JMP "CARCHECK"
-
- '╙ET UP BUFFER PRT
- "THISBUF" LDA L"BUFFER0"
- STA (100)
- LDA ("BUFPNT")
- CLC
- ADC H"BUFFER0"
- STA (101)
- RTS
-
- '╙ET UP BUFFER PRT (ALT)
- "ALTBUF" LDA L"BUFFER0"
- STA (100)
- LDA ("BUFPNT")
- EOR 1
- CLC
- ADC H"BUFFER0"
- STA (101)
- RTS
-
- '─O CHECKSUM
- "CHECKSUM" LDA 0
- STA ("CHECK10")
- STA ("CHECK11")
- STA ("CHECK12")
- STA ("CHECK13")
- LDY 4
- "CHK00" LDA ("CHECK10")
- CLC
- ADC [100],Y
- STA ("CHECK10")
- BCC "CHK01"
- INC ("CHECK11")
- "CHK01" LDA ("CHECK12")
- EOR [100],Y
- STA ("CHECK12")
- LDA ("CHECK13")
- ROL
- ROL ("CHECK12")
- ROL ("CHECK13")
- INY
- CPY ("BUFCOUNT")
- BNE "CHK00"
- LDY 0
- LDA ("CHECK10")
- STA [100],Y
- INY
- LDA ("CHECK11")
- STA [100],Y
- INY
- LDA ("CHECK12")
- STA [100],Y
- INY
- LDA ("CHECK13")
- STA [100],Y
- RTS
-
- '╘RANSMIT PROGRAM
- "TRANSMIT" LDA 0
- STA ("ENDFLAG")
- STA ("SKPDELAY")
- STA ("DONTDASH")
- LDA 1
- STA ("BUFPNT")
- LDA 255
- STA ("BLOCKNM0")
- STA ("BLOCKNM1")
- JSR "ALTBUF"
- LDY 4
- LDA 7
- STA [100],Y
- JSR "THISBUF"
- LDY 5
- LDA 0
- STA [100],Y
- INY
- STA [100],Y
- "TRA00" JSR "TRANHAND"
- BEQ "TRA00"
- "TRA01" LDA 0
- STA (512)
- JMP "CARCHECK"
-
- '╥CV PROGRAM
- "RECEIVE" LDA 1
- STA ("BLOCKNM0")
- LDA 0
- STA ("BLOCKNM1")
- STA ("ENDFLAG")
- STA ("BUFPNT")
- STA ("BUFFER5")
- STA ("BUFFER6")
- STA ("SKPDELAY")
- LDA 7
- STA ("BUFFER4")
- LDA 0
- "RCV00" JSR "RECHAND"
- LDA ("ENDFLAG")
- BNE "TRA01"
- JSR "MATCH"
- BNE "RCV04"
- LDA ("BUFCOUNT")
- CMP 7
- BEQ "RCV02"
- JSR "INCR"
- JSR "CLRCHN"
- LDX 8
- JSR "CHKOUT"
- LDY 7
- "RCV01" LDA ("BUFFER0"),Y
- JSR "CHROUT"
- INC ("BYTECNT")
- BNE "RCV010"
- LDA 2
- STA ("BYTECNT")
- LDA (&2B2)
- BNE "RCV011"
- LDA (&2B3)
- BEQ "RCV040"
- DEC (&2B3)
- "RCV011" DEC (&2B2)
- "RCV010" INY
- CPY ("BUFCOUNT")
- BNE "RCV01"
- JSR "RESET"
- "RCV02" LDA ("BUFFER6")
- CMP 255
- BNE "RCV03"
- LDA 1
- STA ("ENDFLAG")
- "RCV03" LDA 0
- JMP "RCV00"
- "RCV04" LDA ("RECSIZE")
- STA ("BUFFER4")
- LDA 3
- JMP "RCV00"
- "RCV040" LDA 5
- JMP "EXIT"
-
- '─O CHECKSUMS MATCH?
- "MATCH" LDA ("BUFFER0")
- STA ("CHECK00")
- LDA ("BUFFER1")
- STA ("CHECK01")
- LDA ("BUFFER2")
- STA ("CHECK02")
- LDA ("BUFFER3")
- STA ("CHECK03")
- JSR "THISBUF"
- LDA ("RECSIZE")
- STA ("BUFCOUNT")
- JSR "CHECKSUM"
- LDA ("BUFFER0")
- CMP ("CHECK00")
- BNE "MAT00"
- LDA ("BUFFER1")
- CMP ("CHECK01")
- BNE "MAT00"
- LDA ("BUFFER2")
- CMP ("CHECK02")
- BNE "MAT00"
- LDA ("BUFFER3")
- CMP ("CHECK03")
- BNE "MAT00"
- LDA 0
- RTS
- "MAT00" LDA 1
- RTS
-
- '╥ECIEVE A FILE TYPE BLOCK
- "RECTYPE" LDA 0
- STA ("BLOCKNM0")
- STA ("BLOCKNM1")
- STA ("ENDFLAG")
- STA ("BUFPNT")
- STA ("SKPDELAY")
- LDA 7
- CLC
- ADC 1
- STA ("BUFFER4")
- LDA 0
- "RCT00" JSR "RECHAND"
- LDA ("ENDFLAG")
- BNE "RCT02"
- JSR "MATCH"
- BNE "RCT01"
- LDA ("BUFFER7")
- STA ("FILETYPE")
- LDA 1
- STA ("ENDFLAG")
- LDA 0
- JMP "RCT00"
- "RCT01" LDA ("RECSIZE")
- STA ("BUFFER4")
- LDA 3
- JMP "RCT00"
- "RCT02" LDA 0
- STA (512)
- RTS
-
- '╘RANSMIT A FILE TYPE BLOCK
- "TRANTYPE" JSR "CARCHECK"
- LDA 0
- STA ("ENDFLAG")
- STA ("SKPDELAY")
- LDA 1
- STA ("BUFPNT")
- STA ("DONTDASH")
- LDA 255
- STA ("BLOCKNM0")
- STA ("BLOCKNM1")
- JSR "ALTBUF"
- LDY 4
- LDA 8
- STA [100],Y
- JSR "THISBUF"
- LDY 5
- LDA 255
- STA [100],Y
- INY
- STA [100],Y
- LDY 7
- LDA ("FILETYPE")
- STA [100],Y
- LDA 1
- STA ("SPECMODE")
- "TRT01" JSR "TRANHAND"
- BEQ "TRT01"
- LDA 0
- STA (512)
- RTS
-
- '─O DELAY TIMING
- "DODELAY" JSR "CARCHECK"
- "DOD00" INC ("SKPDELAY")
- LDA ("SKPDELAY")
- CMP 3
- BCC "DOD01"
- LDA 0
- STA ("SKPDELAY")
- LDA ("DELAY")
- BEQ "DOD02"
- BNE "DOD05"
- "DOD01" LDA ("DELAY")
- BEQ "DOD05"
- "DOD02" LDX 0
- "DOD03" LDY 0
- "DOD04" INY
- BNE "DOD04"
- INX
- CPX 120
- BNE "DOD03"
- "DOD05" RTS
-
- '├HECK CARCHECK STATUS
- "CARCHECK" LDA ("CARRIER")
- AND 16
- BNE "EXIT"
- LDA (198)
- BEQ "DOD05"
- DEC (198)
- LDA (631)
- CMP 24
- BNE "DOD05"
- LDA 3
- "EXIT" LDX ("STACK")
- TXS
- PHA
- LDA 76
- STA (162)
- "EXI00" LDA (162)
- BNE "EXI00"
- LDA (667)
- STA (668)
- LDA (252)
- STA (679)
- PLA
- RTS
-
- '═AIN RCV ENTRY
- "MAINRCV" TSX
- STX ("STACK")
- JSR "DTJINIT"
- JSR "RECTYPE"
- BNE "MSN00"
- JSR "RECEIVE"
- JMP "MSN00"
-
- '═AIN SND ENTRY
- "MAINSND" TSX
- STX ("STACK")
- JSR "DTJINIT"
- LDA 1
- STA ("FILETYPE")
- JSR "TRANTYPE"
- BNE "MSN00"
- LDA 255
- STA ("MAXSIZE")
- JSR "TRANSMIT"
- "MSN00" LDA 0
- "MSN01" JMP "EXIT"
-
- '╔NIT ─╘╩ VARIABLES & RESET I/O CHAN
- "DTJINIT" LDA (679)
- STA (252)
- LDA 0
- STA (162)
- STA (161)
- STA (162)
- STA (142)
- STA (679)
- STA (144)
- JSR "SETCOUNT"
- "RESET" JSR "CLRCHN"
- LDX 2
- JSR "CHKIN"
- LDX 2
- JMP "CHKOUT"
-
- HDR "A/P-PUNTER2"
-
- "BYTECNT" DF &02
- "BUFFER0" DF $-
- "BUFFER1" DF $-
- "BUFFER2" DF $-
- "BUFFER3" DF $-
- "BUFFER4" DF $-
- "BUFFER5" DF $-
- "BUFFER6" DF $-
- "BUFFER7" DF $-
-