Kernel version 0.9 : TCP, bugfix (#6) ...

This commit is contained in:
Rémy GIBERT 2017-04-06 08:31:50 +02:00
parent dd0c5ee75c
commit 625b1af258
5 changed files with 21 additions and 12 deletions

Binary file not shown.

Binary file not shown.

View File

@ -184,7 +184,7 @@ S.TCB.OUTUSED .EQ 18
* *
S.TCB.SEQNUM .EQ 20 Send:SEQ not yet ACKed S.TCB.SEQNUM .EQ 20 Send:SEQ not yet ACKed
S.TCB.ACKNUM .EQ 24 Rcvd:Last ACK recieved from remote 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 S.TCB .EQ 32
*-------------------------------------- *--------------------------------------

View File

@ -634,7 +634,7 @@ SKT.AddDataToSktIn
ldx #3 ldx #3
.10 lda (ZPFrameInPtr),y .10 lda (ZPFrameInPtr),y
eor SKT.TCBCache+S.TCB.LASTSEQ,x eor SKT.TCBCache+S.TCB.NEXTSEQ,x
bne .9 bne .9
dey dey
dex dex
@ -719,17 +719,17 @@ SKT.AddDataToSktIn
clc clc
lda SKT.TCBCache+S.TCB.LASTSEQ+3 lda SKT.TCBCache+S.TCB.NEXTSEQ+3
adc ZPDataInLen 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 adc ZPDataInLen+1
sta SKT.TCBCache+S.TCB.LASTSEQ+2 sta SKT.TCBCache+S.TCB.NEXTSEQ+2
bcc .80 bcc .80
inc SKT.TCBCache+S.TCB.LASTSEQ+1 inc SKT.TCBCache+S.TCB.NEXTSEQ+1
bne .80 bne .80
inc SKT.TCBCache+S.TCB.LASTSEQ inc SKT.TCBCache+S.TCB.NEXTSEQ
.80 jmp SKT.StoreTCB .80 jmp SKT.StoreTCB
*-------------------------------------- *--------------------------------------
@ -747,7 +747,7 @@ SKT.GetDataFromSktIn
ora SKT.TCBCache+S.TCB.INUSED+1 ora SKT.TCBCache+S.TCB.INUSED+1
bne .10 bne .10
sec sec
rts NO DATA rts A=0,NO DATA
.10 ldy #S.SOCKET.SQ.hInMem .10 ldy #S.SOCKET.SQ.hInMem
lda (ZPPtrSKT),y lda (ZPPtrSKT),y
@ -985,7 +985,7 @@ SKT.AddDataToSktOut
adc ZPDataInLen+1 adc ZPDataInLen+1
sta SKT.TCBCache+S.TCB.TOSEND+1 sta SKT.TCBCache+S.TCB.TOSEND+1
jsr SKT.StoreTCB jsr SKT.StoreTCB
jmp TCP.OUT.I rts
*-------------------------------------- *--------------------------------------
* From TCP.OUT * From TCP.OUT
* Src : hOutMem/OUTTAIL * Src : hOutMem/OUTTAIL

View File

@ -124,7 +124,7 @@ TCP.IN.JMP.LISTEN
.3 lda (ZPFrameInPtr),y Set ACK=SEQ+1 for new socket... .3 lda (ZPFrameInPtr),y Set ACK=SEQ+1 for new socket...
adc #0 adc #0
sta SKT.TCBCache+S.TCB.ACKNUM,x sta SKT.TCBCache+S.TCB.ACKNUM,x
sta SKT.TCBCache+S.TCB.LASTSEQ,x sta SKT.TCBCache+S.TCB.NEXTSEQ,x
dey dey
dex dex
bpl .3 bpl .3
@ -448,7 +448,7 @@ TCP.OUT.SendOpt sta .1+1
TCP.OUT.Send ldy #S.TCP.OPTIONS TCP.OUT.Send ldy #S.TCP.OPTIONS
sta (ZPFrameOutPtr),y sta (ZPFrameOutPtr),y
bit #S.TCP.OPTIONS.ACK bit #S.TCP.OPTIONS.ACK
beq .1 beq .11
ldx #3 ldx #3
ldy #S.TCP.ACK.NUMBER+3 ldy #S.TCP.ACK.NUMBER+3
@ -458,6 +458,15 @@ TCP.OUT.Send ldy #S.TCP.OPTIONS
dey dey
dex dex
bpl .10 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 .1 ldx #3
ldy #S.TCP.SEQ.NUMBER+3 ldy #S.TCP.SEQ.NUMBER+3