Kernel version 0.9 : TCP, bugfix in TELNETD/NETSTAT

This commit is contained in:
Rémy GIBERT 2017-03-14 08:32:31 +01:00
parent 89f0b22a7a
commit 0769677e5a
6 changed files with 34 additions and 26 deletions

Binary file not shown.

Binary file not shown.

View File

@ -362,7 +362,7 @@ SKT.MkNodA
*\--------------------------------------
SKT.Write >PULLW ZPDataInLen
>PULLW ZPDataInPtr
>PULLB hSocket
>PULLA
SKT.Write.I jsr SKT.GetA.I
bcs .9
@ -503,14 +503,17 @@ SKT.ReadA jsr SKT.GetA.I
*\--------------------------------------
SKT.PutC >PULLB TmpByte
>PULLB hSocket
>PULLA
lda #1
sta ZPDataOutLen
ldx #1
stx ZPDataOutLen
stz ZPDataOutLen+1
>LDYA L.TmpByte
>STYA ZPDataOutPtr
ldx L.TmpByte
stx ZPDataOutPtr
ldx L.TmpByte+1
stx ZPDataOutPtr+1
jmp SKT.Write.I
*/--------------------------------------
@ -540,15 +543,16 @@ SKT.PutS >PULLW ZPDataOutPtr
* ##Out :
* A = char
*\--------------------------------------
SKT.GetCA sta hSocket
stz bTextMode
SKT.GetCA stz bTextMode
lda #1
sta ZPDataOutLen
ldx #1
stx ZPDataOutLen
stz ZPDataOutLen+1
>LDYA L.TmpByte
>STYA ZPDataOutPtr
ldx L.TmpByte
stx ZPDataOutPtr
ldx L.TmpByte+1
stx ZPDataOutPtr+1
jsr SKT.Read.I
bcs .9
@ -581,7 +585,7 @@ SKT.Read clc
ror bTextMode
>PULLW ZPDataOutLen
>PULLW ZPDataOutPtr
>PULLB hSocket
>PULLA
SKT.Read.I jsr SKT.GetA.I
bcs .99

View File

@ -62,8 +62,6 @@ TCP.IN jsr IP.FillSKT.TemplateSrcDst
cpy #S.SOCKET.DST.PORT+2
bne .6
stx hSocket
ldy #S.TCP.OPTIONS
lda (ZPFrameInPtr),y
and #S.TCP.OPTIONS.RST RST ? go Kill this socket.
@ -139,7 +137,7 @@ TCP.IN.JMP.LISTEN
jsr TCP.OUT.SYNACK
bcs .9
ldy #S.SOCKET.TCP.STATUS
lda #S.SOCKET.TCP.STATUS.SYNRCVD
sta (ZPPtrSKT),y
@ -408,7 +406,15 @@ TCP.OUT.I lda SKT.TCBCache+S.TCB.OUTUSED+1
bne .1
tax
beq .2 Y,A=0 : nothing to send....
bne .1 Y,A=0 : nothing to send
ldy #S.SOCKET.TCP.OPTIONS
lda (ZPPtrSKT),y
beq .88 No, data, no flag....exit
txa a least one flag to send
tay
bra .2 go send a O len frame
.1 cpy #K.TCP.MSS
pha
@ -418,9 +424,7 @@ TCP.OUT.I lda SKT.TCBCache+S.TCB.OUTUSED+1
>LDYAI K.TCP.MSS yes get only MSS
.2 >STYA TmpOffset
jsr TCP.NewFrame
.2 jsr TCP.NewFrame
bcs .9
jsr SKT.GetDataFromSktOut
@ -456,7 +460,7 @@ TCP.OUT.I lda SKT.TCBCache+S.TCB.OUTUSED+1
sta (ZPPtrSKT),y
jmp SKT.StoreTCB
.88 clc
.9 rts
*--------------------------------------
TCP.NewFrame ldx #S.IP.PROTOCOL.TCP

View File

@ -293,7 +293,7 @@ TmpDWord .BS 4
TmpOffset .BS 2
hFrameIn .BS 1
hFrameOut .BS 1
hSocket .BS 1
* hSocket .BS 1
bTextMode .BS 1
HST.DecStr .BS 4
HST.IP .BS 5

View File

@ -177,8 +177,8 @@ CS.RUN.SERVER ldy #hSrvSocket
.8 clc
.9 rts
*--------------------------------------
CS.RUN.CLIENT >PUSHA hSocket
sta .1+1
CS.RUN.CLIENT sta .1+1 hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.GetCA
bcs .8
sta .2+1
@ -186,10 +186,10 @@ CS.RUN.CLIENT >PUSHA hSocket
>SYSCALL PutCA
.1 lda #$ff
.1 lda #$ff hSocket
>PUSHA
.2 lda #$ff
.2 lda #$ff data
>PUSHA
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.PutC