From 2f136354224a5bb62bf908ad49c90ab3fc1b8d35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Wed, 1 Feb 2017 22:21:46 +0100 Subject: [PATCH] Kernel version 0.9 : ICMP/PING fully "socketized" --- A2OSX.BOOT.po | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/PING.S.txt | 41 ++++++++++++++++++++++++++++++---------- LIB/LIBTCPIP.S.ICMP.txt | 10 ++++++++-- README.md | 2 +- 5 files changed, 40 insertions(+), 13 deletions(-) diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index 86d5df095965000c4076bdbe6c0183f7d95f5d2e..5eb95907d35dd4a12d734c620664be6c9e6fcc27 100644 GIT binary patch delta 3576 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 Q^4?zs$hGD_EhoqS4Uw2(&j0`b delta 3505 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 QagdwTVCR*uttO}b4PG)nhX4Qo diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index a355976b5eab19017069c3de107bc2a2d1e93491..035748628217d14329dbe2605969dae8c19530b1 100644 GIT binary patch delta 3200 zcmZ`*dvp|M6~Esy6J~b;&AwkDPf8OYLmmW(TH4L-0&6ze&CYH^g4QmZZIh6MkSt27 zHkkrB9;j_0>gQTtt(LZOYEdfjiKJRzr}T(Nt8#qRfV2f;n}W4yt@oRmJXmo5+3&k^ z-}ipMdq+oWM@MUq9nBvvFgTAtm;bC`=~9?*0sEE1RA}4reK#FhEIuwkRf*_8%C^1r z&WU;_dEqR5?Go2e875ufP-EO54Mh)1jj~b$wq_FV?n_5@XQaNN1B_M+r7eU`ZZLVO zV!k#oMMzd77e?_E@G0f86pBjGSR@|tN5WFb-y8*ZE1}g5CdZ=E7#^;giVZTMtyfKs zhUIZ0?@aATXQaSTMvCqn%CTiTScq=g0*2kB%nGry<+hIjod- z=_V|nL4izCsTc?(Gs();!(jg`_+=@UXp!V#OF#*ph{lj4SLavDCi#L>5RRjE&&~wX|b-OYvLw_m_!lP=0V0kQ8mG~7H$tF8f zN_jO{zM31B>+u^Hl3PJ|LU--S>-0SZbLzg9tIl)uM(Xlf(Q*6J^wbn*%lkU|U-%3y zn&P~hjx8we!sGz|4dgO^Q;%}CD)!?#f8&C}R6eVALoq80Sii;EVMx(S6^zAzKY^<3 z6RPo%Z?p4vW-Hm|3&o{aFdA+L>vvJL+%Efl;jkk2rqcsp`Q8H3=5)pn;`cS}QVm#s z0NGUEfKpz!-=7)mt-_Bd@nd?IA~gX2Lo{PO1yT*YwyUg@x!GL#9P_@i?nk<2Y~vrJ zaKZDlp>G;Y_NBq{liWDPRj5!%^_bDAwm9;TBlm_R|>Feh>$GTr!myLoK zaulD=^~mw!cZnPDh;Qzhlsf^b=BYcEN`AO<9wT8qD8o>d-QM3qw@dI$1ZSXBkyQ=GygX?6Yt`O?WqMXjt7G6O$Z|7 zy~_MN1G^!Y#PDhnG7B8ZW|G4o@W z)Kpi4)x@+T=RBh*qB;%y3-Spn3fQ1HUvMJ}&x{xh3*a=r3k7ZN zc|jD5`LUc{4`c8cy{Z6s3$^Pq{aU15i}h=Xs;!7GMQx5Ua!oBYuyU4@aq@&MEG#GL zG!t&t#<+6@!RBgBgyM%a+|j|~7Ut5zi6mC&b- zlPr&inuC!*++-4{3N z!8d?#yXsd7n0y2wL`8{4O}WX>a>-^&aR8UA)5b!>+8{l8k*hOoBJ|MnCO3WiB4;&h zCiKzM##;>17P|ftS4BcJ&Hmm`$1iakT}_0&K(%TIH~QsxOew3YRkjb0O><+@{MdBf z*!1GDY2nDU@x`tMYZV9|(!3DwVjEbZxw#!oNjyekN;TwfCjnWK=2D$L}I_LVlD7Hk=s0=A+Z)ks2^Ors8pQqB!hI- zRpYX}A>^sd(3Y#limKgswtg6-_3AX}h( zaWD^S2tLOz-peKsE|nX=`cdY13a6{4iy_*_(2D8fAZ?)C{d>TDAB%sFQr;w?t+=l- w9F*ixM-apjJrD%DQRbL3JErDBagh7juoaDaRZQLs!oCR-Sd=73R^)g54+!YolK=n! delta 2948 zcmZ`*dwg3}9siy5rn|{ap?SZ$b#1oMuI;65_C&0v$=w>7CTZ@Cwbeh!(%=eh)}@)Q zh-Md9KYlhqw(1T+KqfE*RM6q-bJF?22U^4z%6#A)jyYMuwTM4{={P@j6TFTkDoFma}Kg| z?=2ghQyZP=r>DI`*9~QIz`Y+8`A$)8+XQR?t$%7=3p93O{~T&q6C@|0fb47CAB=?r zu!ht%S#}A*ZZX*dZUGnOkZaR66b|;p`9x;-p3GRD7kl?plkGQycRSGuh;n_PGZ+%K zZSM+S(;exF#^Uwh?ZPv2$WsWvO*fLs?&pPGd40=ri@;u^hQ@W%7?M3b{a}oc&saik z1yc_SiM%KU5)xEL$+yIZ<9E;qHh?*Xc8a^wH)QgMl`Nq;j&^R#rA9J}KpS-1dQo^V zlg%q|98ls0O9F{Bmuxz7o4R8bku)@tiR~%bF-p{_5DfvFB!LLz{{wj1fv%gFM-%h9 z6Y~|OmnM;J{>TfA3A5wO{E5>{a>XEb0E)wdDFP~34${wY*;jG}mfN5>mQTqIqoGtj z)z~}^?Cnq-%8rBOj`9=zr=bY8JE7PSPl{cAa)ejYgoZmW1ue* zP2=6bx8wZY6qrA!g{|QVmV3%$v)>0nkxwL}yhs4zgy=`EoRmitvSmJ)Uy zEvVL(m!A(4bibe>@j$tX=fQW?XleufLnLzhF(_U?mXpKTp*&A(xNA=y^beDhnlF~n z3(HIH*s(lmLhw9-?>o!5n;#{D=EurXwtq>}>|9o>#xEd98Z?S^kD#vvFw`neo{_kj( zN&kG8=vJRB0ijR`EZ-|Hz3Zt-^Ye~^W10pjkwzPcE25pLu?#p*smT*i;<=%0zLezm z-+`6;X|k0|mEc=!BhdeVgyH-lZAMzuzSOd!dVWOhq=^zVNfaN#kFmt~pF=(}UfvB*jp*Tn#{jMBW{qM=~+CShs1!m3WKdQuJ zUsRpj{zSu45lu!DLLk@$mNS}jbs9GLq4v-C)t4Dhm0t$-EOj#ut6oyJOzpt_McX+? zcUBr+R+lyB>C#;RuD{~8^NbT+pp(MF{!I(u6*U0gMLc?*sV~f`FqvO1Py973q(`(8K~haGrzjX%lcE6LDs6q4w!U0jS8HptVz1Id z>^ZD>`T}Fu+0Z0<*cM{#NSX7jL%m~NPDI+NHyM@=zkN!$Xc)_HC%v0kYxbb^cVY7! zQ-ce>N|W15_AE83=*~#EQwqkzad53f_;FvQ-NUXzv@*cfYF<~XURT!P;W$%ctyeXD zQn*KmB_+Nm@WIKz8Eb)EqsgyTvjKQJX(27sJ!uWM<2p@Xd=*HC-8LO@x;iEH#D|DnK zq8FJKv;p5l|2E=BFESmjO^9B!$}~UN5fr6_T<>p}cZ?sogsy7bj200(s6J0@TT1T? z(#G0rq;4z1(_4(5>O`Oqj8~D@27O#X&3o|emylO?HNvf1jgE@C_mYnVW38?O;ob$K zL$~IA_)Q`(G0RNM>L+F^CuUbn%(BO34bM*1J;T0;CaZOI6DN%)PI5EX>N-AxTbuMQ z+*oU}Y$QF#$72bpnNE*DD3kzhr$&JdpdW&}!F;_s%hb12I18>D@Mx{ciH330f?;Ll z2%%!ZMLR_5tIJf6>yhX=5`6^?=>r%{x=;bOsVK?3ub%F{(rF0Zk4 z3t0E4EG?bU`S4NV!1yuXx8R}dUdWLxTZ%H2vUwmrRlVBuT1AI@FL5`zSN3(&XO9%< zj0n6K9uR;V*HR-BPUSHW L.Socket >LIBCALL hLIBTCPIP,LIBTCPIP.SKT.NEW bcc .2 @@ -163,6 +157,19 @@ CS.RUN.SEND.ECHO lda (pData),y sta ICMP.Request.ID+1 + ldy #Sequence + sec + lda (pData),y + adc #0 + sta (pData),y + sta ICMP.Request.SQ + + iny + lda (pData),y + adc #0 + sta (pData),y + sta ICMP.Request.SQ+1 + jsr Init.Timeout >PUSHWI ICMP.RequestLen @@ -194,7 +201,15 @@ CS.RUN.WAIT.REPLY jsr CS.Print.REPLY bcs CS.RUN.ERR - bra CS.RUN.SEND.ECHO + ldy #hFrame + lda (pData),y + >SYSCALL FreeMemA + + ldy #hFrame + lda #0 + sta (pData),y + + jmp CS.RUN.SEND.ECHO .2 jsr Wait.Timeout bcc CS.RUN.WAIT.REPLY @@ -202,7 +217,7 @@ CS.RUN.WAIT.REPLY jsr CS.Print.UNREACH bcs CS.RUN.ERR - bra CS.RUN.SEND.ECHO + jmp CS.RUN.SEND.ECHO .9 lda #0 sec @@ -276,10 +291,16 @@ CS.Print.REPLY lda #TIMEOUT.MAX >SYSCALL CPrintFYA rts *-------------------------------------- -CS.QUIT ldy #hSocket +CS.QUIT ldy #hFrame + lda (pData),y + beq .1 + + >SYSCALL FreeMemA + +.1 ldy #hSocket lda (pData),y -* >LIBCALL hLIBTCPIP,LIBTCPIP.SKT.CLOSEA + >LIBCALL hLIBTCPIP,LIBTCPIP.SKT.CLOSEA lda hLIBTCPIP >SYSCALL UnloadLibA diff --git a/LIB/LIBTCPIP.S.ICMP.txt b/LIB/LIBTCPIP.S.ICMP.txt index a4b3e3cb..6885a6d8 100644 --- a/LIB/LIBTCPIP.S.ICMP.txt +++ b/LIB/LIBTCPIP.S.ICMP.txt @@ -100,9 +100,15 @@ ICMP.IN.ECHOREP jsr IP.FillTmpSocketSrcDst cmp TmpSocket,y bne .7 iny - cpy #S.SOCKET.DST.PORT Compare SRC.ADDR,SRC.PORT,DST.ADDR + cpy #S.SOCKET.SRC.PORT + bne .5 + + iny + iny + +.5 cpy #S.SOCKET.DST.PORT Compare SRC.ADDR,DST.ADDR,DST.PORT bne .4 - + lda hFrameIn jsr SKT.AddToQueueA bcs .9 Q full, discard... diff --git a/README.md b/README.md index 19c18ec9..9812ea4d 100644 --- a/README.md +++ b/README.md @@ -149,7 +149,7 @@ note : '$VAR' does NOT expand Variable | EDIT | Working | still missing : find/replace | 0.9 | | NSCUTIL | Working | Tool for setting time in NSC/DL1216E | 0.8 | | ARP | Working | dump ARP cache, setup a static ARP entry | 0.9 | -| PING | Working | | 0.8 | +| PING | Working | | 0.9 | | DNSINFO | Working | dump DNS cache, setup a static DNS entry | 0.9 | | IPCONFIG | Working | renamed from NETINFO | 0.9 | | NETSTAT | Working | | 0.9 |