From 625b1af2589cbc69dd1e141926cf2ccea78753aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Thu, 6 Apr 2017 08:31:50 +0200 Subject: [PATCH] Kernel version 0.9 : TCP, bugfix (#6) ... --- Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes INC/LIBTCPIP.I.txt | 2 +- LIB/LIBTCPIP.S.SKT.txt | 18 +++++++++--------- LIB/LIBTCPIP.S.TCP.txt | 13 +++++++++++-- 5 files changed, 21 insertions(+), 12 deletions(-) diff --git a/Floppies/A2OSX.BUILD.po b/Floppies/A2OSX.BUILD.po index fb370ff94c3a73c5fc7af9fa3747f20924f9e171..8e6f063cb818565ba843ba366c9a8052bfb0ea67 100644 GIT binary patch delta 3983 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 delta 3998 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 F{s)d}_Cx>x diff --git a/INC/LIBTCPIP.I.txt b/INC/LIBTCPIP.I.txt index cecf2501..f08e3529 100644 --- a/INC/LIBTCPIP.I.txt +++ b/INC/LIBTCPIP.I.txt @@ -184,7 +184,7 @@ S.TCB.OUTUSED .EQ 18 * S.TCB.SEQNUM .EQ 20 Send:SEQ not yet ACKed S.TCB.ACKNUM .EQ 24 Rcvd:Last ACK recieved from remote -S.TCB.LASTSEQ .EQ 28 Rcvd:Last SEQ accepted data from remote +S.TCB.NEXTSEQ .EQ 28 Rcvd:Next SEQ accepted data from remote * S.TCB .EQ 32 *-------------------------------------- diff --git a/LIB/LIBTCPIP.S.SKT.txt b/LIB/LIBTCPIP.S.SKT.txt index c3310830..90144fcc 100644 --- a/LIB/LIBTCPIP.S.SKT.txt +++ b/LIB/LIBTCPIP.S.SKT.txt @@ -634,7 +634,7 @@ SKT.AddDataToSktIn ldx #3 .10 lda (ZPFrameInPtr),y - eor SKT.TCBCache+S.TCB.LASTSEQ,x + eor SKT.TCBCache+S.TCB.NEXTSEQ,x bne .9 dey dex @@ -719,17 +719,17 @@ SKT.AddDataToSktIn clc - lda SKT.TCBCache+S.TCB.LASTSEQ+3 + lda SKT.TCBCache+S.TCB.NEXTSEQ+3 adc ZPDataInLen - sta SKT.TCBCache+S.TCB.LASTSEQ+3 + sta SKT.TCBCache+S.TCB.NEXTSEQ+3 - lda SKT.TCBCache+S.TCB.LASTSEQ+2 + lda SKT.TCBCache+S.TCB.NEXTSEQ+2 adc ZPDataInLen+1 - sta SKT.TCBCache+S.TCB.LASTSEQ+2 + sta SKT.TCBCache+S.TCB.NEXTSEQ+2 bcc .80 - inc SKT.TCBCache+S.TCB.LASTSEQ+1 + inc SKT.TCBCache+S.TCB.NEXTSEQ+1 bne .80 - inc SKT.TCBCache+S.TCB.LASTSEQ + inc SKT.TCBCache+S.TCB.NEXTSEQ .80 jmp SKT.StoreTCB *-------------------------------------- @@ -747,7 +747,7 @@ SKT.GetDataFromSktIn ora SKT.TCBCache+S.TCB.INUSED+1 bne .10 sec - rts NO DATA + rts A=0,NO DATA .10 ldy #S.SOCKET.SQ.hInMem lda (ZPPtrSKT),y @@ -985,7 +985,7 @@ SKT.AddDataToSktOut adc ZPDataInLen+1 sta SKT.TCBCache+S.TCB.TOSEND+1 jsr SKT.StoreTCB - jmp TCP.OUT.I + rts *-------------------------------------- * From TCP.OUT * Src : hOutMem/OUTTAIL diff --git a/LIB/LIBTCPIP.S.TCP.txt b/LIB/LIBTCPIP.S.TCP.txt index 3497e6c4..aa2f6cd5 100644 --- a/LIB/LIBTCPIP.S.TCP.txt +++ b/LIB/LIBTCPIP.S.TCP.txt @@ -124,7 +124,7 @@ TCP.IN.JMP.LISTEN .3 lda (ZPFrameInPtr),y Set ACK=SEQ+1 for new socket... adc #0 sta SKT.TCBCache+S.TCB.ACKNUM,x - sta SKT.TCBCache+S.TCB.LASTSEQ,x + sta SKT.TCBCache+S.TCB.NEXTSEQ,x dey dex bpl .3 @@ -448,7 +448,7 @@ TCP.OUT.SendOpt sta .1+1 TCP.OUT.Send ldy #S.TCP.OPTIONS sta (ZPFrameOutPtr),y bit #S.TCP.OPTIONS.ACK - beq .1 + beq .11 ldx #3 ldy #S.TCP.ACK.NUMBER+3 @@ -458,6 +458,15 @@ TCP.OUT.Send ldy #S.TCP.OPTIONS dey dex bpl .10 + bra .1 + +.11 ldy #S.TCP.ACK.NUMBER + lda #0 + +.12 sta (ZPFrameOutPtr),y + iny + cpy #S.TCP.ACK.NUMBER+4 + bne .12 .1 ldx #3 ldy #S.TCP.SEQ.NUMBER+3