diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index 70157282..85bc96d9 100644 Binary files a/A2OSX.BOOT.po and b/A2OSX.BOOT.po differ diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index f59509fe..d670c96b 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 4fdb89df..79e03e4a 100644 --- a/LIB/LIBTCPIP.S.SKT.txt +++ b/LIB/LIBTCPIP.S.SKT.txt @@ -553,7 +553,7 @@ SKT.GetCA stz bTextMode stx ZPDataOutPtr ldx L.TmpByte+1 stx ZPDataOutPtr+1 - + jsr SKT.Read.I bcs .9 lda TmpByte @@ -601,7 +601,7 @@ SKT.Read.I jsr SKT.GetA.I lda (ZPPtrSKT),y cmp #S.SOCKET.TCP.STATUS.ESTBLSH bne .91 IO err - + jsr SKT.GetDataFromSktIn rts if CS, No data... @@ -703,10 +703,10 @@ SKT.AckDataToSktOut SKT.AddDataToSktIn jsr SKT.GetTCB - ldx ZPDataInLen - cpx SKT.TCBCache+S.TCB.INFREE - lda ZPDataInLen+1 - sbc SKT.TCBCache+S.TCB.INFREE+1 + ldx SKT.TCBCache+S.TCB.INFREE + cpx ZPDataInLen + lda SKT.TCBCache+S.TCB.INFREE+1 + sbc ZPDataInLen+1 bcc .9 Not enough room in Q ldy #S.SOCKET.SQ.hInMem @@ -1105,6 +1105,8 @@ SKT.GetDataFromSktIn ora #S.TCP.OPTIONS.ACK sta (ZPPtrSKT),y + jsr TCP.OUT.I + >LDYA ZPTmpPtr3 clc rts diff --git a/LIB/LIBTCPIP.S.TCP.txt b/LIB/LIBTCPIP.S.TCP.txt index ccd39505..c5619bdd 100644 --- a/LIB/LIBTCPIP.S.TCP.txt +++ b/LIB/LIBTCPIP.S.TCP.txt @@ -294,26 +294,18 @@ TCP.IN.JMP.CLOSED TCP.IN.SetDataInPtrAndLen ldy #S.TCP.DATAOFFSET lda (ZPFrameInPtr),y - and #$F0 + and #$F0 Get TCP Header len in DWORD lsr - lsr - adc #S.TCP + lsr + +* clc + adc #S.IP-2 sta TmpOffset lda #0 -* clc - adc /S.TCP + adc /S.IP-2 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 sec sbc TmpOffset @@ -322,6 +314,22 @@ TCP.IN.SetDataInPtrAndLen lda ZPFrameInLen+1 sbc TmpOffset+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 *-------------------------------------- TCP.OUT.SYN >LDYAI 0 diff --git a/SBIN/TELNETD.S.txt b/SBIN/TELNETD.S.txt index a972f033..32a0963e 100644 --- a/SBIN/TELNETD.S.txt +++ b/SBIN/TELNETD.S.txt @@ -44,6 +44,7 @@ L.MSG.TCPIPERR .DA MSG.TCPIPERR L.MSG.SKTERR .DA MSG.SKTERR L.MSG.ABORT .DA MSG.ABORT L.MSG.INCOMING .DA MSG.INCOMING +L.MSG.BYTE .DA MSG.BYTE .DA 0 *-------------------------------------- CS.INIT >LDYA L.LIBTCPIP @@ -182,17 +183,18 @@ CS.RUN.CLIENT sta .1+1 hSocket >LIBCALL hLIBTCPIP,LIBTCPIP.SKT.GetCA bcs .8 sta .2+1 - - >SYSCALL PutCA - - -.1 lda #$ff hSocket + >PUSHA + >LDYA L.MSG.BYTE + >SYSCALL CPrintFYA + +.1 lda #$ff hSocket +* >PUSHA .2 lda #$ff data - >PUSHA +* >PUSHA - >LIBCALL hLIBTCPIP,LIBTCPIP.SKT.PutC +* >LIBCALL hLIBTCPIP,LIBTCPIP.SKT.PutC .8 clc 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.ABORT >CSTR "TELNETD:User Aborted\r\n" MSG.INCOMING >CSTR "TELNETD:Incoming Connection From : %d.%d.%d.%d\r\n" +MSG.BYTE >CSTR "[%h]" hLIBTCPIP .BS 1 *-------------------------------------- Socket .DA #S.SOCKET.SOCK.STREAM