ARP:fixed bug preventing ICMP updating ARP cache

This commit is contained in:
Rémy GIBERT 2016-03-17 16:50:11 +01:00
parent dab1b519fb
commit c5bdbb93ad

View File

@ -251,44 +251,32 @@ ARP.RESOLVE ldy #S.IP.DST
ARP.FIND.BY.IP >LDYA L.ARP.CACHE
>STYA ZPCachePtr
ldx #K.ARPCACHE.SIZE
lda #K.ARPCACHE.SIZE
sta TmpOffset
.1 lda (ZPCachePtr)
beq .2
ldy #S.ARPCACHE.IP
lda (ZPCachePtr),y
cmp (ZPPtrIP)
bne .2
ldy #S.ARPCACHE.IP+1
lda (ZPCachePtr),y
ldy #1
cmp (ZPPtrIP),y
bne .2
ldy #S.ARPCACHE.IP+2
lda (ZPCachePtr),y
ldy #2
cmp (ZPPtrIP),y
bne .2
beq .3
ldx #3
ldy #S.ARPCACHE.IP+3
lda (ZPCachePtr),y
ldy #3
cmp (ZPPtrIP),y
bne .2
.2 lda (ZPCachePtr),y
cmp ARP.TmpCache+S.ARPCACHE.IP,x
bne .3
dey
dex
bpl .2
clc
rts
.2 lda ZPCachePtr
.3 lda ZPCachePtr
clc
adc #S.ARPCACHE
sta ZPCachePtr
bcc .8
inc ZPCachePtr+1
.8 dex
.8 dec TmpOffset
bne .1
sec
rts