mirror of
https://github.com/A2osX/A2osX.git
synced 2024-07-14 04:29:02 +00:00
Kernel version 0.9 : TCP, bugfix in GetCA not ACKnoledging properly
This commit is contained in:
parent
6324272f4f
commit
4b37165b93
BIN
A2OSX.BOOT.po
BIN
A2OSX.BOOT.po
Binary file not shown.
BIN
A2OSX.SRC.po
BIN
A2OSX.SRC.po
Binary file not shown.
@ -553,7 +553,7 @@ SKT.GetCA stz bTextMode
|
|||||||
stx ZPDataOutPtr
|
stx ZPDataOutPtr
|
||||||
ldx L.TmpByte+1
|
ldx L.TmpByte+1
|
||||||
stx ZPDataOutPtr+1
|
stx ZPDataOutPtr+1
|
||||||
|
|
||||||
jsr SKT.Read.I
|
jsr SKT.Read.I
|
||||||
bcs .9
|
bcs .9
|
||||||
lda TmpByte
|
lda TmpByte
|
||||||
@ -601,7 +601,7 @@ SKT.Read.I jsr SKT.GetA.I
|
|||||||
lda (ZPPtrSKT),y
|
lda (ZPPtrSKT),y
|
||||||
cmp #S.SOCKET.TCP.STATUS.ESTBLSH
|
cmp #S.SOCKET.TCP.STATUS.ESTBLSH
|
||||||
bne .91 IO err
|
bne .91 IO err
|
||||||
|
|
||||||
jsr SKT.GetDataFromSktIn
|
jsr SKT.GetDataFromSktIn
|
||||||
rts if CS, No data...
|
rts if CS, No data...
|
||||||
|
|
||||||
@ -703,10 +703,10 @@ SKT.AckDataToSktOut
|
|||||||
SKT.AddDataToSktIn
|
SKT.AddDataToSktIn
|
||||||
jsr SKT.GetTCB
|
jsr SKT.GetTCB
|
||||||
|
|
||||||
ldx ZPDataInLen
|
ldx SKT.TCBCache+S.TCB.INFREE
|
||||||
cpx SKT.TCBCache+S.TCB.INFREE
|
cpx ZPDataInLen
|
||||||
lda ZPDataInLen+1
|
lda SKT.TCBCache+S.TCB.INFREE+1
|
||||||
sbc SKT.TCBCache+S.TCB.INFREE+1
|
sbc ZPDataInLen+1
|
||||||
bcc .9 Not enough room in Q
|
bcc .9 Not enough room in Q
|
||||||
|
|
||||||
ldy #S.SOCKET.SQ.hInMem
|
ldy #S.SOCKET.SQ.hInMem
|
||||||
@ -1105,6 +1105,8 @@ SKT.GetDataFromSktIn
|
|||||||
ora #S.TCP.OPTIONS.ACK
|
ora #S.TCP.OPTIONS.ACK
|
||||||
sta (ZPPtrSKT),y
|
sta (ZPPtrSKT),y
|
||||||
|
|
||||||
|
jsr TCP.OUT.I
|
||||||
|
|
||||||
>LDYA ZPTmpPtr3
|
>LDYA ZPTmpPtr3
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
@ -294,26 +294,18 @@ TCP.IN.JMP.CLOSED
|
|||||||
TCP.IN.SetDataInPtrAndLen
|
TCP.IN.SetDataInPtrAndLen
|
||||||
ldy #S.TCP.DATAOFFSET
|
ldy #S.TCP.DATAOFFSET
|
||||||
lda (ZPFrameInPtr),y
|
lda (ZPFrameInPtr),y
|
||||||
and #$F0
|
and #$F0 Get TCP Header len in DWORD
|
||||||
lsr
|
lsr
|
||||||
lsr
|
lsr
|
||||||
adc #S.TCP
|
|
||||||
|
* clc
|
||||||
|
adc #S.IP-2
|
||||||
sta TmpOffset
|
sta TmpOffset
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
* clc
|
adc /S.IP-2
|
||||||
adc /S.TCP
|
|
||||||
sta TmpOffset+1 TmpOffset=Data Offset in Frame
|
sta TmpOffset+1 TmpOffset=Data Offset in Frame
|
||||||
|
|
||||||
lda ZPFrameInPtr
|
|
||||||
* clc
|
|
||||||
adc TmpOffset
|
|
||||||
sta ZPDataInPtr
|
|
||||||
|
|
||||||
lda ZPFrameInPtr+1
|
|
||||||
adc #0
|
|
||||||
sta ZPDataInPtr+1
|
|
||||||
|
|
||||||
lda ZPFrameInLen
|
lda ZPFrameInLen
|
||||||
sec
|
sec
|
||||||
sbc TmpOffset
|
sbc TmpOffset
|
||||||
@ -322,6 +314,22 @@ TCP.IN.SetDataInPtrAndLen
|
|||||||
lda ZPFrameInLen+1
|
lda ZPFrameInLen+1
|
||||||
sbc TmpOffset+1
|
sbc TmpOffset+1
|
||||||
sta ZPDataInLen+1
|
sta ZPDataInLen+1
|
||||||
|
|
||||||
|
lda TmpOffset
|
||||||
|
clc
|
||||||
|
adc #2
|
||||||
|
sta TmpOffset
|
||||||
|
bcc .1
|
||||||
|
inc TmpOffset+1
|
||||||
|
clc
|
||||||
|
|
||||||
|
.1 lda ZPFrameInPtr
|
||||||
|
adc TmpOffset
|
||||||
|
sta ZPDataInPtr
|
||||||
|
|
||||||
|
lda ZPFrameInPtr+1
|
||||||
|
adc #0
|
||||||
|
sta ZPDataInPtr+1
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
TCP.OUT.SYN >LDYAI 0
|
TCP.OUT.SYN >LDYAI 0
|
||||||
|
@ -44,6 +44,7 @@ L.MSG.TCPIPERR .DA MSG.TCPIPERR
|
|||||||
L.MSG.SKTERR .DA MSG.SKTERR
|
L.MSG.SKTERR .DA MSG.SKTERR
|
||||||
L.MSG.ABORT .DA MSG.ABORT
|
L.MSG.ABORT .DA MSG.ABORT
|
||||||
L.MSG.INCOMING .DA MSG.INCOMING
|
L.MSG.INCOMING .DA MSG.INCOMING
|
||||||
|
L.MSG.BYTE .DA MSG.BYTE
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.INIT >LDYA L.LIBTCPIP
|
CS.INIT >LDYA L.LIBTCPIP
|
||||||
@ -182,17 +183,18 @@ CS.RUN.CLIENT sta .1+1 hSocket
|
|||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.GetCA
|
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.GetCA
|
||||||
bcs .8
|
bcs .8
|
||||||
sta .2+1
|
sta .2+1
|
||||||
|
|
||||||
>SYSCALL PutCA
|
|
||||||
|
|
||||||
|
|
||||||
.1 lda #$ff hSocket
|
|
||||||
>PUSHA
|
>PUSHA
|
||||||
|
>LDYA L.MSG.BYTE
|
||||||
|
>SYSCALL CPrintFYA
|
||||||
|
|
||||||
|
.1 lda #$ff hSocket
|
||||||
|
* >PUSHA
|
||||||
|
|
||||||
.2 lda #$ff data
|
.2 lda #$ff data
|
||||||
>PUSHA
|
* >PUSHA
|
||||||
|
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.PutC
|
* >LIBCALL hLIBTCPIP,LIBTCPIP.SKT.PutC
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
@ -246,6 +248,7 @@ MSG.TCPIPERR >CSTR "TELNETD:TCP/IP Not initialized properly\r\n"
|
|||||||
MSG.SKTERR >CSTR "TELNETD:Listen Error\r\n"
|
MSG.SKTERR >CSTR "TELNETD:Listen Error\r\n"
|
||||||
MSG.ABORT >CSTR "TELNETD:User Aborted\r\n"
|
MSG.ABORT >CSTR "TELNETD:User Aborted\r\n"
|
||||||
MSG.INCOMING >CSTR "TELNETD:Incoming Connection From : %d.%d.%d.%d\r\n"
|
MSG.INCOMING >CSTR "TELNETD:Incoming Connection From : %d.%d.%d.%d\r\n"
|
||||||
|
MSG.BYTE >CSTR "[%h]"
|
||||||
hLIBTCPIP .BS 1
|
hLIBTCPIP .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Socket .DA #S.SOCKET.SOCK.STREAM
|
Socket .DA #S.SOCKET.SOCK.STREAM
|
||||||
|
Loading…
Reference in New Issue
Block a user