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.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
*--------------------------------------

View File

@ -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

View File

@ -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