diff --git a/LIB/LIBTCPIP.S.ARP.txt b/LIB/LIBTCPIP.S.ARP.txt index 71822bfc..b91d46d3 100644 --- a/LIB/LIBTCPIP.S.ARP.txt +++ b/LIB/LIBTCPIP.S.ARP.txt @@ -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