UTHERNET2 drivers optimisation/bugfix

This commit is contained in:
Rémy GIBERT 2016-04-11 08:40:17 +02:00
parent c716d5b2d1
commit a0079c0108
3 changed files with 30 additions and 5 deletions

Binary file not shown.

Binary file not shown.

View File

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