mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-19 23:29:29 +00:00
Kernel version 0.9 : TCP, bugfix in SEQ & ACK (#4)
This commit is contained in:
parent
5284913187
commit
3d676326c6
BIN
A2OSX.BUILD.po
BIN
A2OSX.BUILD.po
Binary file not shown.
BIN
A2OSX.SRC.po
BIN
A2OSX.SRC.po
Binary file not shown.
@ -180,7 +180,7 @@ S.TCB.INFREE .EQ 12
|
|||||||
S.TCB.OUTFREE .EQ 14
|
S.TCB.OUTFREE .EQ 14
|
||||||
S.TCB.SEQNUM .EQ 16 Send:SEQ not yet ACKed
|
S.TCB.SEQNUM .EQ 16 Send:SEQ not yet ACKed
|
||||||
S.TCB.ACKNUM .EQ 20 Rcvd:Last ACK recieved from remote
|
S.TCB.ACKNUM .EQ 20 Rcvd:Last ACK recieved from remote
|
||||||
S.TCB.NEXTSEQ .EQ 24 Send:Next SEQ to use when sending more data
|
|
||||||
S.TCB.LASTSEQ .EQ 28 Rcvd:Last SEQ accepted data from remote
|
S.TCB.LASTSEQ .EQ 28 Rcvd:Last SEQ accepted data from remote
|
||||||
*
|
*
|
||||||
S.TCB .EQ 32
|
S.TCB .EQ 32
|
||||||
|
@ -880,7 +880,7 @@ SKT.GetDataFromSktIn
|
|||||||
ora #S.TCP.OPTIONS.ACK
|
ora #S.TCP.OPTIONS.ACK
|
||||||
sta (ZPPtrSKT),y
|
sta (ZPPtrSKT),y
|
||||||
|
|
||||||
jsr TCP.OUT.I SKT.GetTCB already called, Try to ACK read DATA
|
* jsr TCP.OUT.I SKT.GetTCB already called, Try to ACK read DATA
|
||||||
|
|
||||||
>LDYA ZPTmpPtr3
|
>LDYA ZPTmpPtr3
|
||||||
clc
|
clc
|
||||||
@ -1043,20 +1043,7 @@ SKT.GetDataFromSktOut
|
|||||||
sta ZPTmpPtr2+1
|
sta ZPTmpPtr2+1
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.8 lda SKT.TCBCache+S.TCB.SEQNUM+3
|
.8 clc
|
||||||
clc
|
|
||||||
adc ZPDataOutLen
|
|
||||||
sta SKT.TCBCache+S.TCB.SEQNUM+3
|
|
||||||
|
|
||||||
lda SKT.TCBCache+S.TCB.SEQNUM+2
|
|
||||||
adc ZPDataOutLen+1
|
|
||||||
sta SKT.TCBCache+S.TCB.SEQNUM+2
|
|
||||||
bcc .80
|
|
||||||
inc SKT.TCBCache+S.TCB.SEQNUM+1
|
|
||||||
bne .80
|
|
||||||
inc SKT.TCBCache+S.TCB.SEQNUM
|
|
||||||
|
|
||||||
.80 clc
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* From TCP.IN
|
* From TCP.IN
|
||||||
@ -1136,7 +1123,6 @@ SKT.NewTCB >PUSHWI S.TCB
|
|||||||
|
|
||||||
.2 lda A2osX.TIMER16,x
|
.2 lda A2osX.TIMER16,x
|
||||||
sta SKT.TCBCache+S.TCB.SEQNUM,x
|
sta SKT.TCBCache+S.TCB.SEQNUM,x
|
||||||
sta SKT.TCBCache+S.TCB.NEXTSEQ,x
|
|
||||||
dex
|
dex
|
||||||
bpl .2
|
bpl .2
|
||||||
|
|
||||||
|
@ -198,7 +198,6 @@ TCP.IN.JMP.SYNRCVD
|
|||||||
.1 lda SKT.TCBCache+S.TCB.SEQNUM,x Check if ACK=my SEQ+1
|
.1 lda SKT.TCBCache+S.TCB.SEQNUM,x Check if ACK=my SEQ+1
|
||||||
adc #0
|
adc #0
|
||||||
sta SKT.TCBCache+S.TCB.SEQNUM,x
|
sta SKT.TCBCache+S.TCB.SEQNUM,x
|
||||||
sta SKT.TCBCache+S.TCB.NEXTSEQ,x
|
|
||||||
eor (ZPFrameInPtr),y
|
eor (ZPFrameInPtr),y
|
||||||
bne .8
|
bne .8
|
||||||
dey
|
dey
|
||||||
@ -422,7 +421,21 @@ TCP.OUT.I lda SKT.TCBCache+S.TCB.OUTUSED+1
|
|||||||
jsr TCP.OUT.Send
|
jsr TCP.OUT.Send
|
||||||
|
|
||||||
bcs TCP.OUT.9
|
bcs TCP.OUT.9
|
||||||
jmp SKT.StoreTCB
|
|
||||||
|
lda SKT.TCBCache+S.TCB.SEQNUM+3
|
||||||
|
clc
|
||||||
|
adc ZPDataOutLen
|
||||||
|
sta SKT.TCBCache+S.TCB.SEQNUM+3
|
||||||
|
|
||||||
|
lda SKT.TCBCache+S.TCB.SEQNUM+2
|
||||||
|
adc ZPDataOutLen+1
|
||||||
|
sta SKT.TCBCache+S.TCB.SEQNUM+2
|
||||||
|
bcc .80
|
||||||
|
inc SKT.TCBCache+S.TCB.SEQNUM+1
|
||||||
|
bne .80
|
||||||
|
inc SKT.TCBCache+S.TCB.SEQNUM
|
||||||
|
|
||||||
|
.80 jmp SKT.StoreTCB
|
||||||
TCP.OUT.9 rts
|
TCP.OUT.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
TCP.OUT.SendOpt sta .1+1
|
TCP.OUT.SendOpt sta .1+1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user