From 7cbf06faf4b5f31805d1aac69471c19b84896a6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Wed, 20 Apr 2016 08:51:10 +0200 Subject: [PATCH] Updated Medias & sources (before TCPIP Rewrite) --- A2OSX.BOOT.po | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes A2osX.STARTUP.txt | 9 ++- DRV/UTHER2.AI.DRV.S.txt | 175 +++++++++++++++++++++++++++------------- 4 files changed, 125 insertions(+), 59 deletions(-) diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index c2956dc6d9167222be48f468e8e573f03084b613..5ba913c8e0a2fc102f81d3deb01a87c76d0ee6fe 100644 GIT binary patch delta 1347 zcmZ`&T}T{P6rOu`)bXdgTixjH`gh%Xc3WeOjZLE~X=9TT)JE+?3I#(@D50U15SldX zs_WRS#Rmt})s78p7`6}?*ePxnDuudhUqqx2lc$!_me5jYATbu21e>PYJA2jIhYrJ> zd%yFY@1FY|M!qA-cci5cL~({3b;hoWRGcI9KnP|E=Si`Y zo+=pWcXkvA?~&?CD*Pf4t1?~j)--;0N))2R!BI=5DTeTwwD|T#F)x47ZGNMgB)vPkcK@2os3mhQ7HU{X zw)qnxv1O9&{zM^*le5to4W-mc36*_Y%iiS&;2a=rG^E$T^lBH%pM~M24ka=BXq9rZTr? z8s#m?Xd}s^L@qRfB-u`^TXij3-*(|a$YM4|UVMwx`(`x)h9P#1epw_^gZ2p(b*W)4Ytvs&ZNO zx(7eM47zAl2N=AP%hu+yrl>Eq59ZPDPJ77^5`^1AGg>ag_>Zbj`cS1?6BzT;E3m#Q znh(FqWv9cy041c>d2!3}5X{NlIb{SiWQ1YXT91Me0{4YNWsDgC7X&2&8co<%uCTQA zr?M_I*c<_~U~^QR_Tq-3G3Z(xj(~c-4^j17FRnrZ>H{yXZ4SYXc1pf0C}C?i3VXL8 z{1&XIZ$fZCtOl#`AR)tyX*+hyYinZK(=HQ4t$x7NWxtt=%o*7~Z`e8j1ORe92?MC`*Ym)X<| W&uXt{)%j#ME)UdT1>LN}<^KS+4+x9^ delta 1351 zcmZ`&e`p(39Dnb6Nt1TAaXqsv{gIcuueDii*LD7=U3C-uqaCaLV+!KBkz{Q(&Z=X7 z6s*`Av{GR=(q!eT7&-FC;4~-A0v5sM`d6)E;7vhfs0@T^p{+x7LbZ+W@?yyZkK=vc z`+Ps2&-cCWyOVFbzV7)mSNQ{Ooj?_+_&h__#dUF0M3P$)q;}~+ z>4@~PWJ=#i-%4xJmgIqE=z%_X5yn7+MOX!djQu3zBWaPKys`~OJ<0e>s~uPtj7E|W zXlS4zvkhsUROB-|kap5IH8UC4a5iqK@4B$(a4CD@7f~rdTBd$e$;pI4=kM6_*~u%^ zC&=swvr})l@PP*kP%I&_lvqktyRkS?^3+_}De$_g>O z<$qa})5ekymuZW2YCpQAccd-4=PlK8jMzbgTtkHi*}A<gcJVIorakUByryeJn$H=mf5PIkA@#TM;s#T}?Wg#0+2-DZCyVUOq=GRr`r`4rh z_i&CdPB-JI7n`uR^GSyFlv`o>=>IjZ zj6(lLUU?1Fx#PI6HU=wMnfyiOYZ_yaip}2PQWIYX*Mb}3Z{k{TOS~n$M88gQ67-7H z-=>aI+otYL?U)++jPeWS%97LigTa0ZQ&z#GuP^+`An3f!Zl>^J!E7v;7O&5Dg&Eqy z(9a8IDBupKzB}P35sc7H)P@)KaNO_vnzqfkVjZe|?=-9|@zxM!Uy1?+l!)5y=MEl? zKtk>-C}%;#Migf3`4AWp@Wq_UFi!E$X?nVR_|-z#Lj!}K--g*X=Y`~W8G!!q8L+*U4~5WZ{b1%r(pWg_^vi_d;b9) C)FWX4 diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index a9ccda97c18b7d9ec9cd067020922674da0b0857..8ea3c4cb8434087c7a1786219a5a66ee616bd516 100644 GIT binary patch delta 7357 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 delta 7773 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 Q?{^;f&IA81Jg{Ezf4iYkod5s; diff --git a/A2osX.STARTUP.txt b/A2osX.STARTUP.txt index 693c3d7b..ea9aa1c5 100644 --- a/A2osX.STARTUP.txt +++ b/A2osX.STARTUP.txt @@ -14,11 +14,12 @@ STARTPROC GETTY CON SBIN/LOGIN #STARTPROC GETTY COM2 SBIN/LOGIN #INSDRV PIC.DRV # Network Section -#INSDRV UTHERNET.DRV 000E3A123456 -#INSDRV UTHERNET2.DRV 0008DC123456 +INSDRV UTHERNET.DRV 000E3A123456 +INSDRV UTHERNET2.DRV 0008DC123456 +#INSDRV UTHER2.AI.DRV 0008DC123456 #INSDRV LANCEGS.DRV -#STARTPROC TCPIP -#STARTPROC DHCPCLNT +STARTPROC TCPIP +STARTPROC DHCPCLNT #STARTPROC HTTPD #TELNETD #MOUNT TFTP 192.168.1.5:/A2OSX /MNT/A2OSX diff --git a/DRV/UTHER2.AI.DRV.S.txt b/DRV/UTHER2.AI.DRV.S.txt index 7c970d16..6713bb53 100644 --- a/DRV/UTHER2.AI.DRV.S.txt +++ b/DRV/UTHER2.AI.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 @@ -166,8 +174,8 @@ Dev.Detect sta hArgs .INB DRV/X.NET.DRV.S *-------------------------------------- CS.END -MSG.DETECT >PSTRING "UtherNetII/W5100 Driver.\n" -MSG.DETECT.OK >PSTRING "UtherNetII/W5100 Installed As Device : " +MSG.DETECT >PSTRING "UtherNet2/W5100 Driver (ARP OffLoad).\n" +MSG.DETECT.OK >PSTRING "UtherNet2/W5100 Installed As Device : " MSG.DETECT.KO >PSTRING "Hardware Not Found.\n" hArgs .BS 1 *-------------------------------------- @@ -198,10 +206,36 @@ OPEN jsr Reset lda #W5100.MR.AI+W5100.MR.IND sta W5100.MR,x + >AR.SELECT GAR + + ldy #8 GAR,SUBR + +.1 stz W5100.DR,x + dey + bne .1 + +* >AR.SELECT SHAR + + ldy #0 + +.2 lda MAC,y + sta W5100.DR,x + iny + cpy #6 + bne .2 + +* >AR.SELECT SIPR + + ldy #4 + +.3 stz W5100.DR,x + dey + bne .3 + >AR.SELECT RMSR - lda #3 8k - sta W5100.DR,x ...for Socket0 RX Buffer - sta W5100.DR,x ...for Socket0 TX Buffer + lda #3 8k,0k,0k,0k + sta W5100.DR,x ...for Socket RX Buffers + sta W5100.DR,x ...for Socket TX Buffers clc rts @@ -228,14 +262,12 @@ GETEVENT.RxOK >AR.SELECT S0.RX.RD tya sta W5100.AR+1,x - lda W5100.DR,x - sta RX.IP - lda W5100.DR,x - sta RX.IP+1 - lda W5100.DR,x - sta RX.IP+2 - lda W5100.DR,x - sta RX.IP+3 + ldy #0 +.10 lda W5100.DR,x + sta RX.IP,y + iny + cpy #4 + bne .10 ldy W5100.DR,x get RX.Size HI sty RXTX.Size+1 @@ -262,15 +294,24 @@ GETEVENT.RxOK >AR.SELECT S0.RX.RD sta (pEvent) lda RXTX.Size + sta (ZPTmpPTR) eor #$ff sta Counter - sta (ZPTmpPTR) ldy #1 lda RXTX.Size+1 + sta (ZPTmpPTR),y eor #$ff sta Counter+1 - sta (ZPTmpPTR),y + + lda RXTX.Size + clc + adc #6 Header Size + sta Offset + + lda RXTX.Size+1 + adc #0 + sta Offset+1 ldy #S.IP.DST+3 ldx #3 @@ -284,29 +325,28 @@ GETEVENT.RxOK >AR.SELECT S0.RX.RD ldx DEVSLOTx8 ldy #S.IP -.2 lda W5100.DR,x + +.2 inc Counter + bne .3 + inc Counter+1 + beq .8 + +.3 lda W5100.DR,x sta (ZPTmpPTR),y iny - bne .3 - inc ZPTmpPTR+1 - -.3 inc Counter bne .2 - inc Counter+1 + inc ZPTmpPTR+1 bne .2 .8 >AR.SELECT S0.RX.RD ldy W5100.DR,x Get HI lda W5100.DR,x Get LO clc - adc RXTX.Size + adc Offset pha save LO tya - adc RXTX.Size+1 - and /RXTX.MASK - ora /RX.BASE - pha save HI - + adc Offset+1 + pha >AR.SELECT S0.RX.RD pla sta W5100.DR,x write HI @@ -316,7 +356,25 @@ GETEVENT.RxOK >AR.SELECT S0.RX.RD >AR.SELECT S0.CR lda #$40 RECV sta W5100.DR,x - clc + + ldy #S.IP.DST + lda (ZPTmpPTR),y + +.81 iny + and (ZPTmpPTR),y + cpy #S.IP.DST+3 + 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 @@ -329,13 +387,16 @@ GETINFO >LDYA L.DEVINFO *-------------------------------------- SEND >PULLW ZPTmpPTR - ldy #S.IP.TOTAL.LENGTH+1 - lda (ZPTmpPTR),y + lda (ZPTmpPTR) + sec + sbc #S.IP-2 sta RXTX.Size eor #$ff sta Counter - dey + + ldy #1 lda (ZPTmpPTR),y + sbc /S.IP-2 sta RXTX.Size+1 eor #$ff sta Counter+1 @@ -368,8 +429,7 @@ SEND.READY >AR.SELECT S0.DIPR sta W5100.DR,x * >AR.SELECT S0.TOS - lda #0 - sta W5100.DR,x + stz W5100.DR,x * >AR.SELECT S0.TTL lda #K.IP.TTL @@ -409,8 +469,6 @@ SEND.READY >AR.SELECT S0.DIPR lda Offset+1 adc RXTX.Size+1 - and /RXTX.MASK - ora /TX.BASE sta W5100.DR,x write HI pla sta W5100.DR,x write LO @@ -421,21 +479,22 @@ SEND.READY >AR.SELECT S0.DIPR clc rts *-------------------------------------- -SETIPCFG >PULLW ZPTmpPTR +SETIPCFG >STYA ZPTmpPTR ldx DEVSLOTx8 >AR.SELECT S0.CR - lda #10 CLOSE + lda #$10 CLOSE sta W5100.DR,x - >AR.SELECT S0.MR - lda #3 IPRAW - sta W5100.DR,x +.10 >AR.SELECT S0.SR + lda W5100.DR,x + bne .10 CLOSED ??? >AR.SELECT GAR - + ldy #S.IPCFG.GW + .1 lda (ZPTmpPTR),y sta W5100.DR,x iny @@ -445,31 +504,28 @@ SETIPCFG >PULLW ZPTmpPTR * >AR.SELECT SUBR Implicit, next to GAR ldy #S.IPCFG.MASK + .2 lda (ZPTmpPTR),y sta W5100.DR,x iny cpy #S.IPCFG.MASK+4 bne .2 -* >AR.SELECT SHAR Implicit, next to SUBR - - ldy #0 -.3 lda MAC,y - sta W5100.DR,x - iny - cpy #6 - bne .3 - -* >AR.SELECT SIPR Implicit, next to SHAR + >AR.SELECT SIPR ldy #S.IPCFG.IP -.4 lda (ZPTmpPTR),y + +.3 lda (ZPTmpPTR),y sta W5100.DR,x iny cpy #S.IPCFG.IP+4 - bne .4 + bne .3 - >AR.SELECT S0.CR + >AR.SELECT S0.MR + lda #W5100.AR.S0.MR.IPRAW+W5100.AR.S0.MR.MF + sta W5100.DR,x + +* >AR.SELECT S0.CR Implicit, next to S0.MR lda #1 OPEN sta W5100.DR,x @@ -479,6 +535,15 @@ SETIPCFG >PULLW ZPTmpPTR Reset ldx DEVSLOTx8 lda #W5100.MR.RST sta W5100.MR,x + + lda $C019 we can use VBL as we are not on //c +.1 eor $C019 + bpl .1 + + lda $C019 +.2 eor $C019 + bpl .2 + rts *-------------------------------------- DRV.CS.END @@ -489,7 +554,7 @@ Counter .BS 2 Offset .BS 2 *-------------------------------------- DEVINFO .DA #S.DEVINFO.TYPE.NET -DEVFLAGS .DA #S.DEVINFO.NET.FLAGS.ARPOFFLOAD +DEVFLAGS .DA #S.DEVINFO.NET.FLAGS.ARPOFFLOAD+S.DEVINFO.NET.FLAGS.IPOFFLOAD MAC .BS 6 LINK.STATUS .DA #S.DEVINFO.NET.STATUS.OK+S.DEVINFO.NET.STATUS.FD+S.DEVINFO.NET.STATUS.100 MAN