diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index fd0f4b98..1523266d 100644 Binary files a/A2OSX.BOOT.po and b/A2OSX.BOOT.po differ diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index fd197c3e..bf3b9252 100644 Binary files a/A2OSX.SRC.po and b/A2OSX.SRC.po differ diff --git a/LIB/LIBTCPIP.S.SKT.txt b/LIB/LIBTCPIP.S.SKT.txt index 69bda5d8..4fdb89df 100644 --- a/LIB/LIBTCPIP.S.SKT.txt +++ b/LIB/LIBTCPIP.S.SKT.txt @@ -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 diff --git a/LIB/LIBTCPIP.S.TCP.txt b/LIB/LIBTCPIP.S.TCP.txt index ff790f15..36dd6165 100644 --- a/LIB/LIBTCPIP.S.TCP.txt +++ b/LIB/LIBTCPIP.S.TCP.txt @@ -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 diff --git a/LIB/LIBTCPIP.S.txt b/LIB/LIBTCPIP.S.txt index b8731ee6..3ac41ba5 100644 --- a/LIB/LIBTCPIP.S.txt +++ b/LIB/LIBTCPIP.S.txt @@ -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 diff --git a/SBIN/TELNETD.S.txt b/SBIN/TELNETD.S.txt index e91b2cd3..a972f033 100644 --- a/SBIN/TELNETD.S.txt +++ b/SBIN/TELNETD.S.txt @@ -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