diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index b0554434..16b0f630 100644 Binary files a/A2OSX.BOOT.po and b/A2OSX.BOOT.po differ diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index 96163456..758e4aa8 100644 Binary files a/A2OSX.SRC.po and b/A2OSX.SRC.po differ diff --git a/DRV/UTHERNET2.DRV.S.txt b/DRV/UTHERNET2.DRV.S.txt index 13a90fd2..879028c5 100644 --- a/DRV/UTHERNET2.DRV.S.txt +++ b/DRV/UTHERNET2.DRV.S.txt @@ -46,6 +46,14 @@ W5100.AR.PMAGIC .EQ $0029 W5100.AR.UIPR .EQ $002A W5100.AR.UPORT .EQ $002E W5100.AR.S0.MR .EQ $0400 +W5100.AR.S0.MR.MULTI .EQ $80 +W5100.AR.S0.MR.MF .EQ $40 +W5100.AR.S0.MR.NDMC .EQ $20 +W5100.AR.S0.MR.TCP .EQ $01 +W5100.AR.S0.MR.UDP .EQ $02 +W5100.AR.S0.MR.IPRAW .EQ $03 +W5100.AR.S0.MR.MACRAW .EQ $04 +W5100.AR.S0.MR.PPPOE .EQ $05 W5100.AR.S0.CR .EQ $0401 W5100.AR.S0.IR .EQ $0402 W5100.AR.S0.SR .EQ $0403 @@ -204,7 +212,7 @@ OPEN jsr Reset sta W5100.DR,x ...for Socket0 TX Buffer >AR.SELECT S0.MR - lda #4 MACRAW + lda #W5100.AR.S0.MR.MACRAW+W5100.AR.S0.MR.MF sta W5100.DR,x >AR.SELECT SHAR @@ -283,7 +291,7 @@ GETEVENT.RxOK >AR.SELECT S0.RX.RD ldx DEVSLOTx8 - ldy #2 + iny .2 inc Counter bne .3 @@ -307,8 +315,7 @@ GETEVENT.RxOK >AR.SELECT S0.RX.RD adc RXTX.Size+1 and /RXTX.MASK ora /RX.BASE - pha save HI - + pha >AR.SELECT S0.RX.RD pla sta W5100.DR,x write HI @@ -318,7 +325,25 @@ GETEVENT.RxOK >AR.SELECT S0.RX.RD >AR.SELECT S0.CR lda #$40 RECV sta W5100.DR,x - clc + + ldy #S.ETH.DSTMAC + lda (ZPTmpPTR),y + +.81 iny + and (ZPTmpPTR),y + cpy #S.ETH.DSTMAC+5 + bne .81 if EQ, CS + + inc $ff = Broadcast ?? + beq .82 + clc not a broadcast + +.82 lda #$00 + ror + ldy #S.EVT.DATAHI + sta (pEvent),y + +* clc cleared by ROR rts *-------------------------------------- CLOSE jsr Reset