Merge pull request #100 from oliverschmidt/master
Do not reject frames with a length exactly equal to the uIP bufer size.
This commit is contained in:
commit
bfc1e816de
@ -243,16 +243,16 @@ fixup29:lda rxtxreg
|
|||||||
bne :+
|
bne :+
|
||||||
inc cnt+1
|
inc cnt+1
|
||||||
|
|
||||||
; Is cnt > bufsize ?
|
; Is bufsize < cnt ?
|
||||||
: sec
|
: sec
|
||||||
lda cnt
|
lda bufsize
|
||||||
sbc bufsize
|
sbc cnt
|
||||||
lda cnt+1
|
lda bufsize+1
|
||||||
sbc bufsize+1
|
sbc cnt+1
|
||||||
bcc :+
|
bcs :+
|
||||||
|
|
||||||
; Yes, skip frame
|
; Yes, skip frame
|
||||||
; PACKETPP = $0102, PPDATA = PPDATA | $0040
|
; PACKETPP = $0102, PPDATA = PPDATA | $0040
|
||||||
lda #$02
|
lda #$02
|
||||||
ldx #$01
|
ldx #$01
|
||||||
fixup30:sta packetpp
|
fixup30:sta packetpp
|
||||||
@ -272,7 +272,7 @@ fixup33:sta ppdata
|
|||||||
sta ptr
|
sta ptr
|
||||||
stx ptr+1
|
stx ptr+1
|
||||||
ldx cnt+1
|
ldx cnt+1
|
||||||
ldy #$00
|
ldy #$00
|
||||||
read:
|
read:
|
||||||
fixup34:lda rxtxreg
|
fixup34:lda rxtxreg
|
||||||
sta (ptr),y
|
sta (ptr),y
|
||||||
@ -330,7 +330,7 @@ fixup42:lda ppdata+1
|
|||||||
bne :+
|
bne :+
|
||||||
|
|
||||||
; No space avaliable, skip a received frame
|
; No space avaliable, skip a received frame
|
||||||
; PACKETPP = $0102, PPDATA = PPDATA | $0040
|
; PACKETPP = $0102, PPDATA = PPDATA | $0040
|
||||||
lda #$02
|
lda #$02
|
||||||
ldx #$01
|
ldx #$01
|
||||||
fixup43:sta packetpp
|
fixup43:sta packetpp
|
||||||
|
@ -262,13 +262,13 @@ fixup24:lda ethdata
|
|||||||
sbc #$00
|
sbc #$00
|
||||||
sta len+1
|
sta len+1
|
||||||
|
|
||||||
; Is len > bufsize ?
|
; Is bufsize < len ?
|
||||||
sec
|
sec
|
||||||
lda len
|
lda bufsize
|
||||||
sbc bufsize
|
sbc len
|
||||||
lda len+1
|
lda bufsize+1
|
||||||
sbc bufsize+1
|
sbc len+1
|
||||||
bcc :+
|
bcs :+
|
||||||
|
|
||||||
; Yes, skip packet
|
; Yes, skip packet
|
||||||
; Remove and release RX packet from the FIFO
|
; Remove and release RX packet from the FIFO
|
||||||
@ -285,8 +285,8 @@ fixup25:sta ethmmucr
|
|||||||
ldx bufaddr+1
|
ldx bufaddr+1
|
||||||
sta ptr
|
sta ptr
|
||||||
stx ptr+1
|
stx ptr+1
|
||||||
ldx len+1
|
ldx len+1
|
||||||
ldy #$00
|
ldy #$00
|
||||||
read:
|
read:
|
||||||
fixup26:lda ethdata
|
fixup26:lda ethdata
|
||||||
sta (ptr),y
|
sta (ptr),y
|
||||||
@ -395,8 +395,8 @@ fixup39:sta ethdata
|
|||||||
bcc :+
|
bcc :+
|
||||||
|
|
||||||
; Yes
|
; Yes
|
||||||
lda #%00100000 ; ODD
|
lda #%00100000 ; ODD
|
||||||
bne :++ ; Always
|
bne :++ ; Always
|
||||||
|
|
||||||
; No
|
; No
|
||||||
: lda #$00
|
: lda #$00
|
||||||
|
Loading…
Reference in New Issue
Block a user