mirror of
https://github.com/A2osX/A2osX.git
synced 2024-07-07 04:28:56 +00:00
Kernel 0.9.2
This commit is contained in:
parent
32532ccf06
commit
875b15a5b1
Binary file not shown.
Binary file not shown.
@ -182,7 +182,7 @@ CS.RUN.SEND.ECHO
|
|||||||
>PUSHW L.ICMP.Request
|
>PUSHW L.ICMP.Request
|
||||||
>PUSHWI ICMP.RequestLen
|
>PUSHWI ICMP.RequestLen
|
||||||
|
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Write
|
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Send
|
||||||
bcs CS.RUN.ERR
|
bcs CS.RUN.ERR
|
||||||
|
|
||||||
jsr Init.Timeout
|
jsr Init.Timeout
|
||||||
@ -196,7 +196,7 @@ CS.RUN.WAIT.REPLY
|
|||||||
|
|
||||||
.1 ldy #hSocket
|
.1 ldy #hSocket
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.ReadFrame
|
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Rcvd
|
||||||
bcs .2
|
bcs .2
|
||||||
|
|
||||||
ldy #hFrame
|
ldy #hFrame
|
||||||
|
@ -121,7 +121,7 @@ CS.RUN jsr Init.Timeout
|
|||||||
>PUSHB (pData),y
|
>PUSHB (pData),y
|
||||||
>PUSHW L.RPC.Request
|
>PUSHW L.RPC.Request
|
||||||
>PUSHWI RPC.Request.End-RPC.Request
|
>PUSHWI RPC.Request.End-RPC.Request
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Write
|
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Send
|
||||||
bcc .4
|
bcc .4
|
||||||
|
|
||||||
>SLEEP
|
>SLEEP
|
||||||
@ -133,7 +133,7 @@ CS.RUN jsr Init.Timeout
|
|||||||
|
|
||||||
.5 ldy #hSocket
|
.5 ldy #hSocket
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.ReadFrame
|
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Rcvd
|
||||||
bcc .6
|
bcc .6
|
||||||
|
|
||||||
>SLEEP
|
>SLEEP
|
||||||
|
@ -250,7 +250,7 @@ MSG.SKTOK .AZ "Connected."
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Socket .DA #S.SOCKET.SOCK.STREAM
|
Socket .DA #S.SOCKET.SOCK.STREAM
|
||||||
.BS 1
|
.BS 1
|
||||||
.DA #S.IP.PROTOCOL.TCP
|
.BS 1
|
||||||
.BS 1
|
.BS 1
|
||||||
Socket.Src.Addr .BS 4
|
Socket.Src.Addr .BS 4
|
||||||
Socket.Src.Port .DA 0 Dynamic
|
Socket.Src.Port .DA 0 Dynamic
|
||||||
|
@ -47,9 +47,10 @@ LIBTCPIP.SKT.Get .EQ 38
|
|||||||
LIBTCPIP.SKT.Accept .EQ 40
|
LIBTCPIP.SKT.Accept .EQ 40
|
||||||
LIBTCPIP.SKT.MkNod .EQ 42
|
LIBTCPIP.SKT.MkNod .EQ 42
|
||||||
|
|
||||||
LIBTCPIP.SKT.Write .EQ 44
|
LIBTCPIP.SKT.Read .EQ 44
|
||||||
LIBTCPIP.SKT.Read .EQ 46
|
LIBTCPIP.SKT.Write .EQ 46
|
||||||
LIBTCPIP.SKT.ReadFrame .EQ 48
|
LIBTCPIP.SKT.Rcvd .EQ 48
|
||||||
|
LIBTCPIP.SKT.Send .EQ 50
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ERR.SKT.OOS .EQ $BF
|
ERR.SKT.OOS .EQ $BF
|
||||||
ERR.SKT.BUSY .EQ $BE
|
ERR.SKT.BUSY .EQ $BE
|
||||||
|
@ -109,7 +109,7 @@ DNS.REQUEST lda hDNSSocket1
|
|||||||
>PUSHB hDNSSocket1
|
>PUSHB hDNSSocket1
|
||||||
>PUSHW L.DNS.MSG
|
>PUSHW L.DNS.MSG
|
||||||
>PUSHW DNS.MSG.LEN
|
>PUSHW DNS.MSG.LEN
|
||||||
jsr SKT.Write
|
jsr SKT.Send
|
||||||
|
|
||||||
lda hDNSSocket2
|
lda hDNSSocket2
|
||||||
beq .3
|
beq .3
|
||||||
@ -117,7 +117,7 @@ DNS.REQUEST lda hDNSSocket1
|
|||||||
>PUSHB hDNSSocket2
|
>PUSHB hDNSSocket2
|
||||||
>PUSHW L.DNS.MSG
|
>PUSHW L.DNS.MSG
|
||||||
>PUSHW DNS.MSG.LEN
|
>PUSHW DNS.MSG.LEN
|
||||||
jsr SKT.Write
|
jsr SKT.Send
|
||||||
|
|
||||||
.3 lda #ERR.DNS.PENDING
|
.3 lda #ERR.DNS.PENDING
|
||||||
.9 sec
|
.9 sec
|
||||||
@ -360,14 +360,14 @@ DNS.FREE ldy #S.DNSCACHE.hNAME
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DNS.POLL lda hDNSSocket1
|
DNS.POLL lda hDNSSocket1
|
||||||
beq .8
|
beq .8
|
||||||
jsr SKT.ReadFrame
|
jsr SKT.Rcvd
|
||||||
bcs .1
|
bcs .1
|
||||||
|
|
||||||
jsr DNS.DecodeMsg
|
jsr DNS.DecodeMsg
|
||||||
|
|
||||||
.1 lda hDNSSocket2
|
.1 lda hDNSSocket2
|
||||||
beq .8
|
beq .8
|
||||||
jsr SKT.ReadFrame
|
jsr SKT.Rcvd
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
jsr DNS.DecodeMsg
|
jsr DNS.DecodeMsg
|
||||||
|
@ -56,7 +56,7 @@ SKT.New >PULLW ZPTmpPtr1
|
|||||||
bpl .5 already found an empty slot....
|
bpl .5 already found an empty slot....
|
||||||
|
|
||||||
>LDYA ZPTmpPtr2 found one...
|
>LDYA ZPTmpPtr2 found one...
|
||||||
>STYA ZPTmpPtr3 save it!
|
>STYA ZPPtrSKT save it!
|
||||||
stx TmpOffset
|
stx TmpOffset
|
||||||
|
|
||||||
.5 lda ZPTmpPtr2
|
.5 lda ZPTmpPtr2
|
||||||
@ -75,7 +75,7 @@ SKT.New >PULLW ZPTmpPtr1
|
|||||||
ldy #S.SOCKET.HDR-1
|
ldy #S.SOCKET.HDR-1
|
||||||
|
|
||||||
.7 lda (ZPTmpPtr1),y
|
.7 lda (ZPTmpPtr1),y
|
||||||
sta (ZPTmpPtr3),y
|
sta (ZPPtrSKT),y
|
||||||
dey
|
dey
|
||||||
bpl .7
|
bpl .7
|
||||||
|
|
||||||
@ -91,8 +91,6 @@ SKT.New >PULLW ZPTmpPtr1
|
|||||||
jsr SKT.NewTCB
|
jsr SKT.NewTCB
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
>LDYA ZPTmpPtr3
|
|
||||||
>STYA ZPPtrSKT
|
|
||||||
lda #S.TCP.OPTIONS.SYN
|
lda #S.TCP.OPTIONS.SYN
|
||||||
jsr TCP.OUT.SendOptA Send SYN,Only for CLIENT conn!!!!
|
jsr TCP.OUT.SendOptA Send SYN,Only for CLIENT conn!!!!
|
||||||
bcs .99
|
bcs .99
|
||||||
@ -329,233 +327,6 @@ SKT.MkNod sta .1+1
|
|||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # SKT.Write (DGRAM,STREAM,RAW)
|
|
||||||
* Send block of data
|
|
||||||
* **In:**
|
|
||||||
* PUSHB = hSocket
|
|
||||||
* PUSHW = pBuf
|
|
||||||
* PUSHW = len
|
|
||||||
* **Out:**
|
|
||||||
*\--------------------------------------
|
|
||||||
SKT.Write >PULLW ZPDataInLen
|
|
||||||
>PULLW ZPDataInPtr
|
|
||||||
>PULLA
|
|
||||||
|
|
||||||
jsr SKT.Get.I
|
|
||||||
bcs .9
|
|
||||||
|
|
||||||
cmp #S.SOCKET.SOCK.DGRAM
|
|
||||||
beq SKT.Write.UDP
|
|
||||||
|
|
||||||
cmp #S.SOCKET.SOCK.RAW
|
|
||||||
beq SKT.Write.RAW
|
|
||||||
|
|
||||||
cmp #S.SOCKET.SOCK.STREAM
|
|
||||||
bne .99
|
|
||||||
|
|
||||||
ldy #S.SOCKET.SO
|
|
||||||
lda (ZPPtrSKT),y
|
|
||||||
and #S.SOCKET.SO.ACCEPTCONN
|
|
||||||
bne .99
|
|
||||||
jmp SKT.Write.TCP
|
|
||||||
|
|
||||||
.99 lda #ERR.SKT.BAD
|
|
||||||
sec
|
|
||||||
.9 rts
|
|
||||||
*--------------------------------------
|
|
||||||
SKT.Write.RAW ldy #S.SOCKET.RAW.PROTO
|
|
||||||
lda (ZPPtrSKT),y
|
|
||||||
|
|
||||||
tax
|
|
||||||
>LDYA ZPDataInLen
|
|
||||||
jsr FRM.NewIP
|
|
||||||
bcs .9
|
|
||||||
|
|
||||||
jsr SKT.SetFrameOutDstIP
|
|
||||||
|
|
||||||
jsr SKT.CopyDataInToOut
|
|
||||||
|
|
||||||
jmp FRM.SendIP
|
|
||||||
|
|
||||||
.9 rts
|
|
||||||
*--------------------------------------
|
|
||||||
SKT.Write.UDP ldx #S.IP.PROTOCOL.UDP
|
|
||||||
>LDYA ZPDataInLen
|
|
||||||
jsr FRM.NewIP
|
|
||||||
bcs .9
|
|
||||||
|
|
||||||
jsr SKT.SetFrameOutDstIP
|
|
||||||
|
|
||||||
ldy #S.SOCKET.SRC.PORT
|
|
||||||
lda (ZPPtrSKT),y
|
|
||||||
tax
|
|
||||||
iny
|
|
||||||
lda (ZPPtrSKT),y
|
|
||||||
ldy #S.UDP.SRCPORT
|
|
||||||
sta (ZPFrameOutPtr),y
|
|
||||||
iny
|
|
||||||
txa
|
|
||||||
sta (ZPFrameOutPtr),y
|
|
||||||
|
|
||||||
ldy #S.SOCKET.DST.PORT
|
|
||||||
lda (ZPPtrSKT),y
|
|
||||||
tax
|
|
||||||
iny
|
|
||||||
lda (ZPPtrSKT),y
|
|
||||||
ldy #S.UDP.DSTPORT
|
|
||||||
sta (ZPFrameOutPtr),y
|
|
||||||
iny
|
|
||||||
txa
|
|
||||||
sta (ZPFrameOutPtr),y
|
|
||||||
|
|
||||||
jsr SKT.CopyDataInToOut
|
|
||||||
|
|
||||||
jmp FRM.SendIP
|
|
||||||
|
|
||||||
.9 rts
|
|
||||||
*--------------------------------------
|
|
||||||
SKT.Write.TCP ldy #S.SOCKET.TCP.STATUS
|
|
||||||
lda (ZPPtrSKT),y
|
|
||||||
cmp #S.SOCKET.TCP.STATUS.ESTBLSH
|
|
||||||
bne .91
|
|
||||||
|
|
||||||
jsr SKT.AddDataToSktOut will call SKT.GetTCB
|
|
||||||
bcs .90
|
|
||||||
|
|
||||||
jsr TCP.OUT.I SKT.GetTCB called, try to push, ignore error....
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
.90 lda #0 no data transfered
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
|
|
||||||
.91 lda #MLI.E.IO
|
|
||||||
sec
|
|
||||||
.99 rts
|
|
||||||
*/--------------------------------------
|
|
||||||
* # SKT.ReadFrame (DGRAM,RAW)
|
|
||||||
* **In:**
|
|
||||||
* A = hSocket
|
|
||||||
* **Out:**
|
|
||||||
* A = hFrame
|
|
||||||
*\--------------------------------------
|
|
||||||
SKT.ReadFrame jsr SKT.Get.I
|
|
||||||
bcs .9
|
|
||||||
|
|
||||||
ldy #S.SOCKET.HQ.TAIL
|
|
||||||
lda (ZPPtrSKT),y
|
|
||||||
tax
|
|
||||||
|
|
||||||
ldy #S.SOCKET.HQ.HEAD
|
|
||||||
cmp (ZPPtrSKT),y
|
|
||||||
beq .99
|
|
||||||
|
|
||||||
inc
|
|
||||||
cmp #S.SOCKET.HQ.MAX
|
|
||||||
bne .1
|
|
||||||
lda #0
|
|
||||||
|
|
||||||
.1 ldy #S.SOCKET.HQ.TAIL
|
|
||||||
sta (ZPPtrSKT),y
|
|
||||||
|
|
||||||
txa
|
|
||||||
clc
|
|
||||||
adc #S.SOCKET.HQ
|
|
||||||
tay
|
|
||||||
lda (ZPPtrSKT),y
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
.99 sec
|
|
||||||
.9 rts
|
|
||||||
*/--------------------------------------
|
|
||||||
* # SKT.PutC (STREAM)
|
|
||||||
* Write a Char To Stream
|
|
||||||
* **In:**
|
|
||||||
* PUSHB = hSocket
|
|
||||||
* PUSHB = Char
|
|
||||||
* **Out:**
|
|
||||||
*\--------------------------------------
|
|
||||||
SKT.PutC >PULLB TmpByte
|
|
||||||
|
|
||||||
ldx #1
|
|
||||||
stx ZPDataInLen
|
|
||||||
stz ZPDataInLen+1
|
|
||||||
|
|
||||||
ldx L.TmpByte
|
|
||||||
stx ZPDataInPtr
|
|
||||||
|
|
||||||
ldx L.TmpByte+1
|
|
||||||
stx ZPDataInPtr+1
|
|
||||||
bra SKT.PutS.1
|
|
||||||
*/--------------------------------------
|
|
||||||
* # SKT.PutS (STREAM)
|
|
||||||
* Write Line in pBuf
|
|
||||||
* **In:**
|
|
||||||
* PUSHB = hSocket
|
|
||||||
* PUSHW = PSTR
|
|
||||||
* **Out:**
|
|
||||||
*\--------------------------------------
|
|
||||||
SKT.PutS >PULLW ZPDataOutPtr
|
|
||||||
lda (ZPDataInPtr)
|
|
||||||
|
|
||||||
sta ZPDataInLen
|
|
||||||
stz ZPDataInLen+1
|
|
||||||
|
|
||||||
inc ZPDataInPtr
|
|
||||||
bne SKT.PutS.1
|
|
||||||
inc ZPDataInPtr+1
|
|
||||||
|
|
||||||
SKT.PutS.1 >PULLA
|
|
||||||
jsr SKT.Get.I
|
|
||||||
bcs .9
|
|
||||||
|
|
||||||
cmp #S.SOCKET.SOCK.STREAM
|
|
||||||
bne .9
|
|
||||||
|
|
||||||
jmp SKT.Write.TCP
|
|
||||||
|
|
||||||
.9 lda #ERR.SKT.BAD
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
*/--------------------------------------
|
|
||||||
* # SKT.GetC.A (STREAM)
|
|
||||||
* Read a Char From Stream in A
|
|
||||||
* **In:**
|
|
||||||
* A = hSocket
|
|
||||||
* **Out:**
|
|
||||||
* A = char
|
|
||||||
*\--------------------------------------
|
|
||||||
SKT.GetC.A stz bTextMode
|
|
||||||
|
|
||||||
ldx #1
|
|
||||||
stx ZPDataOutLen
|
|
||||||
stz ZPDataOutLen+1
|
|
||||||
|
|
||||||
ldx L.TmpByte
|
|
||||||
stx ZPDataOutPtr
|
|
||||||
ldx L.TmpByte+1
|
|
||||||
stx ZPDataOutPtr+1
|
|
||||||
|
|
||||||
jsr SKT.Read.I
|
|
||||||
bcs .9
|
|
||||||
lda TmpByte
|
|
||||||
|
|
||||||
.9 rts
|
|
||||||
*/--------------------------------------
|
|
||||||
* # SKT.GetS (STREAM)
|
|
||||||
* Read a CR terminated Line in pBuf
|
|
||||||
* **In:**
|
|
||||||
* PUSHB = hSocket
|
|
||||||
* PUSHW = pBuf
|
|
||||||
* PUSHW = len
|
|
||||||
* **Out:**
|
|
||||||
* Y,A = bytes read
|
|
||||||
*\--------------------------------------
|
|
||||||
SKT.GetS sec
|
|
||||||
.HS 90 bcc
|
|
||||||
*/--------------------------------------
|
|
||||||
* # SKT.Read (STREAM)
|
* # SKT.Read (STREAM)
|
||||||
* Read data in pBuf
|
* Read data in pBuf
|
||||||
* **In:**
|
* **In:**
|
||||||
@ -565,9 +336,7 @@ SKT.GetS sec
|
|||||||
* **Out:**
|
* **Out:**
|
||||||
* Y,A = bytes transfered
|
* Y,A = bytes transfered
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
SKT.Read clc
|
SKT.Read >PULLW ZPDataOutLen
|
||||||
ror bTextMode
|
|
||||||
>PULLW ZPDataOutLen
|
|
||||||
>PULLW ZPDataOutPtr
|
>PULLW ZPDataOutPtr
|
||||||
>PULLA
|
>PULLA
|
||||||
|
|
||||||
@ -601,6 +370,163 @@ SKT.Read.I jsr SKT.Get.I
|
|||||||
.92 lda #0
|
.92 lda #0
|
||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
|
*/--------------------------------------
|
||||||
|
* # SKT.Write (STREAM)
|
||||||
|
* Send block of data
|
||||||
|
* **In:**
|
||||||
|
* PUSHB = hSocket
|
||||||
|
* PUSHW = pBuf
|
||||||
|
* PUSHW = len
|
||||||
|
* **Out:**
|
||||||
|
*\--------------------------------------
|
||||||
|
SKT.Write >PULLW ZPDataInLen
|
||||||
|
>PULLW ZPDataInPtr
|
||||||
|
>PULLA
|
||||||
|
|
||||||
|
jsr SKT.Get.I
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
cmp #S.SOCKET.SOCK.STREAM
|
||||||
|
bne .99
|
||||||
|
|
||||||
|
ldy #S.SOCKET.SO
|
||||||
|
lda (ZPPtrSKT),y
|
||||||
|
and #S.SOCKET.SO.ACCEPTCONN
|
||||||
|
bne .99
|
||||||
|
|
||||||
|
ldy #S.SOCKET.TCP.STATUS
|
||||||
|
lda (ZPPtrSKT),y
|
||||||
|
cmp #S.SOCKET.TCP.STATUS.ESTBLSH
|
||||||
|
bne .91
|
||||||
|
|
||||||
|
jsr SKT.AddDataToSktOut will call SKT.GetTCB
|
||||||
|
bcs .90
|
||||||
|
|
||||||
|
jsr TCP.OUT.I SKT.GetTCB called, try to push, ignore error....
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.90 lda #0 no data transfered
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
|
||||||
|
.91 lda #MLI.E.IO
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
|
||||||
|
.99 lda #ERR.SKT.BAD
|
||||||
|
sec
|
||||||
|
.9 rts
|
||||||
|
*/--------------------------------------
|
||||||
|
* # SKT.Rcvd (DGRAM,RAW)
|
||||||
|
* **In:**
|
||||||
|
* A = hSocket
|
||||||
|
* **Out:**
|
||||||
|
* A = hFrame
|
||||||
|
*\--------------------------------------
|
||||||
|
SKT.Rcvd jsr SKT.Get.I
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
ldy #S.SOCKET.HQ.TAIL
|
||||||
|
lda (ZPPtrSKT),y
|
||||||
|
tax
|
||||||
|
|
||||||
|
ldy #S.SOCKET.HQ.HEAD
|
||||||
|
cmp (ZPPtrSKT),y
|
||||||
|
beq .99
|
||||||
|
|
||||||
|
inc
|
||||||
|
cmp #S.SOCKET.HQ.MAX
|
||||||
|
bne .1
|
||||||
|
lda #0
|
||||||
|
|
||||||
|
.1 ldy #S.SOCKET.HQ.TAIL
|
||||||
|
sta (ZPPtrSKT),y
|
||||||
|
|
||||||
|
txa
|
||||||
|
clc
|
||||||
|
adc #S.SOCKET.HQ
|
||||||
|
tay
|
||||||
|
lda (ZPPtrSKT),y
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.99 sec
|
||||||
|
.9 rts
|
||||||
|
*/--------------------------------------
|
||||||
|
* # SKT.Send (DGRAM,RAW)
|
||||||
|
* **In:**
|
||||||
|
* A = hSocket
|
||||||
|
* **Out:**
|
||||||
|
* A = hFrame
|
||||||
|
*\--------------------------------------
|
||||||
|
SKT.Send >PULLW ZPDataInLen
|
||||||
|
>PULLW ZPDataInPtr
|
||||||
|
>PULLA
|
||||||
|
|
||||||
|
jsr SKT.Get.I
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
cmp #S.SOCKET.SOCK.DGRAM
|
||||||
|
beq SKT.Send.UDP
|
||||||
|
|
||||||
|
cmp #S.SOCKET.SOCK.RAW
|
||||||
|
beq SKT.Send.RAW
|
||||||
|
|
||||||
|
lda #ERR.SKT.BAD
|
||||||
|
sec
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
SKT.Send.RAW ldy #S.SOCKET.RAW.PROTO
|
||||||
|
lda (ZPPtrSKT),y
|
||||||
|
|
||||||
|
tax
|
||||||
|
>LDYA ZPDataInLen
|
||||||
|
jsr FRM.NewIP
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
jsr SKT.SetFrameOutDstIP
|
||||||
|
|
||||||
|
jsr SKT.CopyDataInToOut
|
||||||
|
|
||||||
|
jmp FRM.SendIP
|
||||||
|
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
SKT.Send.UDP ldx #S.IP.PROTOCOL.UDP
|
||||||
|
>LDYA ZPDataInLen
|
||||||
|
jsr FRM.NewIP
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
jsr SKT.SetFrameOutDstIP
|
||||||
|
|
||||||
|
ldy #S.SOCKET.SRC.PORT
|
||||||
|
lda (ZPPtrSKT),y
|
||||||
|
tax
|
||||||
|
iny
|
||||||
|
lda (ZPPtrSKT),y
|
||||||
|
ldy #S.UDP.SRCPORT
|
||||||
|
sta (ZPFrameOutPtr),y
|
||||||
|
iny
|
||||||
|
txa
|
||||||
|
sta (ZPFrameOutPtr),y
|
||||||
|
|
||||||
|
ldy #S.SOCKET.DST.PORT
|
||||||
|
lda (ZPPtrSKT),y
|
||||||
|
tax
|
||||||
|
iny
|
||||||
|
lda (ZPPtrSKT),y
|
||||||
|
ldy #S.UDP.DSTPORT
|
||||||
|
sta (ZPFrameOutPtr),y
|
||||||
|
iny
|
||||||
|
txa
|
||||||
|
sta (ZPFrameOutPtr),y
|
||||||
|
|
||||||
|
jsr SKT.CopyDataInToOut
|
||||||
|
|
||||||
|
jmp FRM.SendIP
|
||||||
|
|
||||||
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* PRIVATE
|
* PRIVATE
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -754,7 +680,6 @@ SKT.AddDataToSktIn
|
|||||||
* In:
|
* In:
|
||||||
* Src : hInMem/INTAIL
|
* Src : hInMem/INTAIL
|
||||||
* Dst : ZPDataOutPtr/ZPDataOutLen
|
* Dst : ZPDataOutPtr/ZPDataOutLen
|
||||||
* bTextMode
|
|
||||||
* Out:
|
* Out:
|
||||||
* Y,A = bytes read
|
* Y,A = bytes read
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -832,12 +757,6 @@ SKT.GetDataFromSktIn
|
|||||||
|
|
||||||
.5 pla get back data....
|
.5 pla get back data....
|
||||||
|
|
||||||
bit bTextMode do we need to check CR ?
|
|
||||||
bpl .6
|
|
||||||
|
|
||||||
cmp #13
|
|
||||||
beq .7
|
|
||||||
|
|
||||||
.6 sta (ZPDataOutPtr),y
|
.6 sta (ZPDataOutPtr),y
|
||||||
iny
|
iny
|
||||||
bne .61
|
bne .61
|
||||||
@ -851,10 +770,7 @@ SKT.GetDataFromSktIn
|
|||||||
|
|
||||||
.7 pla discard byte counter HI
|
.7 pla discard byte counter HI
|
||||||
|
|
||||||
.8 bit bTextMode here, bacause dst buf full....
|
.8 lda ZPTmpPtr3 Do we have transfered something?
|
||||||
bmi .9 ....and TextMode selected, NO ending CR found
|
|
||||||
|
|
||||||
lda ZPTmpPtr3 Do we have transfered something?
|
|
||||||
ora ZPTmpPtr3+1
|
ora ZPTmpPtr3+1
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
@ -1138,7 +1054,7 @@ SKT.NewTCB >LDYAI S.TCB
|
|||||||
txa
|
txa
|
||||||
|
|
||||||
ldy #S.SOCKET.SQ.hTCB
|
ldy #S.SOCKET.SQ.hTCB
|
||||||
sta (ZPTmpPtr3),y
|
sta (ZPPtrSKT),y
|
||||||
|
|
||||||
lda #K.TCP.WSIZE
|
lda #K.TCP.WSIZE
|
||||||
sta SKT.TCBCache+S.TCB.INFREE
|
sta SKT.TCBCache+S.TCB.INFREE
|
||||||
@ -1160,7 +1076,7 @@ SKT.NewTCB >LDYAI S.TCB
|
|||||||
txa
|
txa
|
||||||
|
|
||||||
ldy #S.SOCKET.SQ.hInMem
|
ldy #S.SOCKET.SQ.hInMem
|
||||||
sta (ZPTmpPtr3),y
|
sta (ZPPtrSKT),y
|
||||||
|
|
||||||
>LDYAI K.TCP.WSIZE
|
>LDYAI K.TCP.WSIZE
|
||||||
>SYSCALL getmem
|
>SYSCALL getmem
|
||||||
@ -1168,7 +1084,7 @@ SKT.NewTCB >LDYAI S.TCB
|
|||||||
txa
|
txa
|
||||||
|
|
||||||
ldy #S.SOCKET.SQ.hOutMem
|
ldy #S.SOCKET.SQ.hOutMem
|
||||||
sta (ZPTmpPtr3),y
|
sta (ZPPtrSKT),y
|
||||||
|
|
||||||
ldx #S.TCB-1
|
ldx #S.TCB-1
|
||||||
|
|
||||||
|
@ -79,9 +79,10 @@ CS.START cld
|
|||||||
.DA SKT.Accept
|
.DA SKT.Accept
|
||||||
.DA SKT.MkNod
|
.DA SKT.MkNod
|
||||||
|
|
||||||
.DA SKT.Write
|
|
||||||
.DA SKT.Read
|
.DA SKT.Read
|
||||||
.DA SKT.ReadFrame
|
.DA SKT.Write
|
||||||
|
.DA SKT.Rcvd
|
||||||
|
.DA SKT.Send
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
L.DEVNAME .DA DEVNAME
|
L.DEVNAME .DA DEVNAME
|
||||||
L.MSG.DEV.KO .DA MSG.DEV.KO
|
L.MSG.DEV.KO .DA MSG.DEV.KO
|
||||||
|
@ -124,7 +124,7 @@ CS.RUN >PUSHW L.Socket
|
|||||||
CS.RUN.SDISC >PUSHB.G hSocket
|
CS.RUN.SDISC >PUSHB.G hSocket
|
||||||
>PUSHW L.DHCP.DISC
|
>PUSHW L.DHCP.DISC
|
||||||
>PUSHWI DHCP.DISC.LEN
|
>PUSHWI DHCP.DISC.LEN
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Write
|
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Send
|
||||||
bcc .1
|
bcc .1
|
||||||
jmp CS.RUN.KO
|
jmp CS.RUN.KO
|
||||||
|
|
||||||
@ -161,7 +161,7 @@ CS.RUN.SREQ ldx #3
|
|||||||
>PUSHB.G hSocket
|
>PUSHB.G hSocket
|
||||||
>PUSHW L.DHCP.REQ
|
>PUSHW L.DHCP.REQ
|
||||||
>PUSHWI DHCP.REQ.LEN
|
>PUSHWI DHCP.REQ.LEN
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Write
|
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Send
|
||||||
bcs CS.RUN.KO
|
bcs CS.RUN.KO
|
||||||
|
|
||||||
lda #S.IPCFG.STATUS.SREQ
|
lda #S.IPCFG.STATUS.SREQ
|
||||||
@ -214,7 +214,7 @@ CS.RUN.KO pha
|
|||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.SKT.RCVD >LDA.G hSocket
|
CS.RUN.SKT.RCVD >LDA.G hSocket
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.ReadFrame
|
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Rcvd
|
||||||
bcs .9
|
bcs .9
|
||||||
>STA.G hFrame
|
>STA.G hFrame
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user