From 66600f0c4df3016bde489a365374334094a801e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Thu, 9 Feb 2017 17:24:19 +0100 Subject: [PATCH] Kernel version 0.9 : TCPIP, larger S.SOCKET struct to handle more cached values, INC files splitted in smaller files --- A2OSX.BOOT.po | Bin 143360 -> 143360 bytes A2OSX.DEV.po | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/PING.S.txt | 2 +- INC/DHCP.I.txt | 47 +++++++++++++++ INC/LIBTCPIP.I.txt | 50 +++------------- INC/MLI.ERR.I.txt | 58 ++++++++++++++++++ INC/PRODOS.I.txt | 49 ---------------- INC/SOCKET.I.txt | 56 ------------------ LIB/LIBTCPIP.S.SKT.txt | 130 ++++++++++++++++++++++++++++++++++++++--- LIB/LIBTCPIP.S.TCP.txt | 14 +++++ LIB/LIBTCPIP.S.txt | 3 +- SBIN/DHCPCLNT.S.txt | 2 +- 13 files changed, 254 insertions(+), 157 deletions(-) create mode 100644 INC/DHCP.I.txt create mode 100644 INC/MLI.ERR.I.txt delete mode 100644 INC/SOCKET.I.txt diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index e372a6c95cb4e40503023cccaa19dfe343ee05c9..26bda2c5c5e3e7769f3b422065050e05a863b4ac 100644 GIT binary patch delta 3773 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 diff --git a/A2OSX.DEV.po b/A2OSX.DEV.po index 31a6a27498f6d1bc97a4067ec3a4f400cadc9f6f..74666d44d432eee38e3092916202a9bb756ae2a7 100644 GIT binary patch delta 6609 zcmZu#3wTr4k)ERjVhA=6+p?sqm)~F$A<42V2NIB_D_dBWWJ$I$2@MV?;9_iI>|{xs z8YO9xHYH7%blawFLi)9Y_rvC4-ZqeI+iXhG-SR2~+HQBVZL+l6-R&mXCOh}st82*= zzVGPz|7YgRnK_R+XVZd7JZQLA#0LrSRLG?Kqyd zI4=j9W~8Cf)gv=!Zhm=4R|L(rgfD9AhzFO6FWAJ^l+*6=fKHdjTfFh+G+qZedZ-$! zxEqWH2n8ERF&MSQ#e^*w^#vNAmDF8e6ehSv;#%X0w)T#toy+cjVEGpwT%mZ&e@1dO zzhn6m%5EqzK^0lvvdzfMXxdiHEVzhTD|T(OmKJkP?lmlS*u1f*EfDjzh)+sAJ4m|( ze?-z{_|~>kR*t{lR>CSU_l*)(iS{>&*&K|~_goyLwi>_lhOvI$gsYOV);2NL$%j$n z0^#m#((CtsP3ot{4OSa|^oE7mF?YL>Ik0NGamYC#><`CnX-)>>|;LYu3 zwgB^X7}-Ls-XXAiv2llK;e8n)lvHEBcK>sdS+@(!i?Yr7LJ{ip8P2+)crk9>VP#$% zCu2UmM&Ew?Y=_k<%2T2!0Aeg=lZ-|p@o!36Weow)HR63ci*!vY+2Hjnq#uMOxNfJR zshN{f*vLX8_6=Fr1NkkSpv<5Q)qxO6L$;_G_6Ng_Uze#`&`0t7PF+DvHYTmMTLb#e z47kY`_3;e3J)mEfO~jwKJDyGl zEZ&6Y_ATm8W%B6}Qcj-C#FY_xV9Ha{K%UOv(i0))tMWjKo*^vl{-h$rTRg#8dVjhNVv@YNB4{TPppSlBkaLhN?@bi`oXkzqXM z+{D3H5lZEz*`~61{$T-Pyr>WHKvtEwfHAjb^dIa3Chi2RQ8`=A&68 z8J1XC)eWX&3X7wMW>2XhTgUO|hjiU^B2PIX?Jg%(?U$ro!bMyADP^NQO_Z2ulIw+# z80PER4%#sV_s0{o+U1Q4wBrgIkNMIl9mr=ea#+vKV)tP)JBQC5wv@gpt);hQ;g_W@ zoz-so?}VIxkoztE3I6P`mHia|K<&?P#t{>H8>^`OM{GLcV(;J+M~v*}_zJb>@yL-f z_AXwf_B~{y;N4bIsYPiZup%<`dY}x&Zx-e zo#b(~9ZdgfNr1P8d-k50ON#@@$4nL^1muM@|%LfZ>G`77b(g zmlI}J?u#I7>}n}JW9DPg&|^-Sr)ytJUr>wQtmeEHZE zyTfj`jpa~kXR2(%r?69r<)m>Ieon?_qi|MWcVXSxQkIYRpDkkrxQW_A{PEdxrp33Z zEy6#YH8LIMoij2$R#R)hrgNqR0u4xOl>6X|PW-42C5s9F+_dSl|2G*|;#Ki;@fI3z;6Gfo#Mep{Es>w)fMRRsD) zZ=#7GcoOV`{6>OFlJCC~6oA4epj!nEEuJ<^HLpGhRSIhNJJNO~Vu?yP(nNhjK$`f? zD&tHuM7Tg7Qi+-jf-3G7-194)A*|B18MGJl5xh=xRHf@OXc6?SIQyz@RZOKFerMWI zC%F?>31%~y4FLrh1+ok9CRzZ6ej)y?gc ztkMaQcA>@&1jgup0_iq2vAhdy|j|wuqrf+NF9Y6g*5X z17f=vQZW}4tcI$FwuYeUdVMVvuEEs%1#~&2x~M7WSEZ@S_#*Cn-`Keps$_~E@wQ-) zN4H!$2rNC5x%K=cEVnzxrqVgFPBEI+Ov4g$R@R4$ubbI=eDJz~J%W$Z zcRzmjx`}PTBiGIK1FC(#M))?boJ1fDrma)e8yJc^KKN)dyG~^DACZF zNH2lcxci2#c1Zq9yNMzmZYCcb>Fxq9(5BL;Q$=f`>`DCiMya2!bHN60 zbGxWI81O;S(}WTfr-CA#{(v8}bi-?&BrHPFGq~c{TK4Qn*9WgLoTagB`C<8Oo@s!4 zPr4UPr}{%VfNTwsNFpZEBUxOoV5kzi^Af}#G&J@g@0a$vfQj-f9I%U%20j@n& zZk?G{X`*sWs>#I|y|jE)+Rv!Op9Q%8l%San_|B>Mn!5l$JEhm;1L{u;ngT%gX^X2c zZNL|#XEu4*>XC2OrrA!F?c1}L_SC(gP?}4RViOrPfsd5xbC53KbWUWj7wpnU37~}4kY_izP`cU0kGVO@BY$U zGlOKDbtDs^CDV93Mb3wq~FNk$|YfA@y9srX~v z11r}MtDhy|0ST8CBM(2^)7_f{VK(+$Fi;8h?1c&{!S-G#p%U!93nnVTZeB2Ww4~;8 zlUks=CrN`FNCn8tRbVcX2+2SH;QF5Km0bf#MT70`_fNN_VsT} z1qOS1w)q$vnMGx+rqqDzFP1O?ky;}jzF4ZIhu|`opL80M8~b`!rNl@8=9=;5#W^Mm zQMFQxxi8)xx~i_)n2M}V_CkdfU6;yPF)q6#7)vC%T9Qlj^`%<6dN-!p`+5e~B{zVn z6kobzq=(|Ymkjh!{L@R;vI=t_Fkhttz6Qw)g`)RAJ6^x6uXCsZ(QqUY2>TTQdf9fWRC^Xx3qlRf zzhYo6Tyn)=tX0J#w3o!%!ioj*+>M*A7<6^20A)ws++04$@nF{n$G0`HyQ)*lx^zqP zMA=B<>bg`|x*wW#fCo++HG07F^kV@0h}OFRIDJge7y&ECOd1nlV9cyB1HLy_fRB&O z)L5j?e0+5*S7Vhw#|SN!K1(zu9Le>rT+7dxTCkSNNVrQz+)!2~Yc-9})RfDgJ>z+r z3cxRq3-y(0hts8ZV~70y55_r@sm!Vz@ZE88d={?`|AXPo1Ws(_mKqmi$}D77JlNCFED@;_ya( zb^cA{;TajyrsX5krfqql&!{1FHpw5eH77!?;6B)Vu8%2necGaD5B zVpCd81rZV%k}VPi-N1AzfptJXxlxHl-vspoI&CvywHAxUB^x@&lUrFqbc^AU0j<6z z2dwqS5>GQf-1CU86@~`1liL(c+9mM8fQH@;zZr1Qd%&>APM1P>kCQHgzCCkkJM2Ts za=5amnyvuL-a_?Cl2F!|t={YB6XhiOB!u_sT2^JDP>ds3`R#CmU{j{E3vlfwJ5 zqpRVIy|WjrAyzW8GsDei&EfQrye=gu z!&-zeD}JxPR~@%##%QkW+U!%xB7A@%%6nFE`0STZx5_n6{<=5YiQQGXq7bnL zpM>uYndoLXIV8}h;Np<6@97+NK0~}v?Zo`dwSbK;(?EI#&0D^NE1Lty9mMkNm+(YO zBq2s5z8~VUe2y_d)Bfo<#r;hIPOX5o`wQT;{nP04aB#ngZiSEbn<>Db@cji)51Z(V z;2t*9m!KI(8P*S*)Gz1Qi7K-}jNgL2!vg&_{CL5-iS5ayQmEXGbjb=a7F?+jL1`#!|^qh+E^N%PjCK9DR|+t(bD!N!~9MAN9Xv zAnQh?mYB%%&U`Dk6XUPop`!x*HN1RO@O+ZXWfT3i(YV;a&sv=Cf6svaXdp+0gB1M- zTs>-}pTd-5Ci)vFKV~fXEpzBU(*k_6<>qj|{Y-I4xC-|lGk88n7Iq+ENbF4F8xZGo z62pI`F)W7~sg`G*LoRar@8IOI^4Y&fBL#m@xOloVHvX8l@!yC^epq`<-S$8H^`9Ct z{V9zl#0FcWvEC=fdHawyX8Lm)_WJ9-1bc}2FOWKJqW=rqj|=p#aPqjB{vTXEZlQkz zdcxB8_q1>{CWWHd4a5@?&u`h-B)h|oTjxKnVZe0--EK z>~}+vK(u*$k{m8lL}>!HpD<7roH$`9y^dl^u2M3neMImqlO6h66BrkYA&>SaN7GX?8q zgDRgw&E>iCr)5MFqF-sEc+S~Mn4W=xVQ-DnjVKsKZka)0=(0(53xy9Z3+9;_)|L?4 zCexLIwNs7@ps0Y#H@8wjRY>J>_Eb|jgwF+7lM3TFzME3|uv zNk`@Ft<QyT5=RxP|Wz++@Gi9_27M&63d{~0x z9k2n%1u$dGc*jC?M}4PaI$dFWI&uG9q`0T4PCM4XtH{f<=pb4ze11kleUKW{Q$JYV z)EWX47@O-7ywz|xh+c&E$85yLW9*N@`!eI++Ugu3k+Ff()L= z;JMMX-l7^t^C+eQ$p<@DBvDysXL3bPawXB%GSr7?b9YBiG8LQB-PNN&+K~KSHPz_v zVjMx_NDD_-tyQ09J9*XrIi$s9-*lec-PHqyX2SOkIIwW~W;w4+bK4va5?^FY*bhO$`F@;qu? zf>Em`*yKQoBwrVx#k5hL#U4#^C_qcp&5S#M+`i<7uFjPyF&ZSdEtVe*&|7JXJP@D; z+A6;lpk=g8zKZ`o}uju`J|kelhkWchkmt-?%sSFY?%u3JY8 z_sCum=Vz(BM5N}@Wy%p@XeagI5WAz<@Dk_uhQs_mT8dk%VY&PY6IdZ16RAP7GRqi> zD)%!dUW}6RRgr3iRavk(F0r#*(c<(G!@aU4h+6KG7vRI)k!1|}eZj_zITv1tzLJH| zleie<$8M<$Yx#cp8I+y3I?K=$iAuppKr!N~B!)FvC^!Lf6GNx`b0*xC<%l+6w2hIp zu!rEyCo=_2(QuAWRYdcEY^$Mav0Is}8S5D5ORT}bYcL*Og+0W2S0d((i(50q3Zm{M z0k0%Vp?Z-oZ^r5-1rNd-AI)sRJ5iz~5fHsnEpPD{=qEGRBN@HoeF-B4N#O<(5SwCB zJdsh2M}qEa#G0ns0}lRm2e}#Wb(r(9R{u~IcILn?qI(#YBK$}ecIChxqU(d_Kh{=k z%);&**iUq+EHEzz5Q*+l_!+9*l!YAuXT~XPgmsTW{#mW=@k}5U0jE+pzMvB?iBG_y zvs(R=S>ehYVK32bh6m1SeNScKc{#913ckU#VzZL5S79dwPcxc7B4ud~VtfYPIV;dD z@afsb^jYwpv(o2a^*N*FUx>9PZ1Xh+gPA1Z2NBKl@X9&0b}O-lB2v6DCOI=n^5C@` z;JtI|z8A8fD+^+JU*t&-M>Dpo(4UtGD}o%FlN8AKkw|P3!&yETDflL_`Wk(qtlw3Y zr0`{|2v%5*O!}+P$hSy6tT;bo{UaoK_{Qg2g-!5W} z1w)Im^fQ^M@)GrKR38p`{Zdnw>LZ1CJM`BFaJ$IPlAqrV6W%6qadwKaT<~tlXf0V< zkmL<2t6H}YuYD`JRwmh^_S&mcbM9ns!3vT$q;RPBV}c@ez81-mF&=ag^>Bvj%u*{! z=?I*;SfV+ARpRs3;Z~Ey{6upQ{&7)lJ4CE?*I**ij3O1;6WAqZ>MDp%9)|W$pBnyU zdAN+=4q euTmB5_fgv4M6d6!rMHZZEuqyPj#SSYQ~f_4GqMH% diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index 4d091a171c5149dacc2f0a35c4fec150e9cf622a..39d5d600e177301dfdcacfae9ccbb58660c39a3a 100644 GIT binary patch delta 8937 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 delta 7377 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 #1M5D+v)}ohH-n=Z8W9MtA65kcBRD; zZ5})0<$v1hDu1zB-Gs^C_VD-K8{+$u70K(d=wb2zf`uOA-iS6{mZaCphX z$e3v6Qk|;y44Qlz1tYhgnJn^i+J!yL2&Mov*STraXq?H^fw_gF^Dck9FFH1&qKgJ7 zY*lH&u=+w?0CF3?_X^GpeQTm?J5(ay0Ai4wvT$$A9F&w3`X5W5a}+)7ep;G&+VHdg E2g!(1od5s; diff --git a/BIN/PING.S.txt b/BIN/PING.S.txt index cf811c95..ab8df1c4 100644 --- a/BIN/PING.S.txt +++ b/BIN/PING.S.txt @@ -339,7 +339,7 @@ Socket.Src.Addr .BS 4 Socket.Src.Port .DA 0 Dynamic Socket.Dst.Addr .BS 4 Socket.Dst.Port .DA 0 Identifier - .BS 16 + .BS S.SOCKET-16 *-------------------------------------- ICMP.Request .DA #S.ICMP.TYPE.ECHOREQ .DA #0 CODE diff --git a/INC/DHCP.I.txt b/INC/DHCP.I.txt new file mode 100644 index 00000000..5b260a39 --- /dev/null +++ b/INC/DHCP.I.txt @@ -0,0 +1,47 @@ +PR#3 +PREFIX /A2OSX.SRC +NEW +INC 1 +AUTO 6 + .LIST OFF + .OP 65C02 +*-------------------------------------- +S.DHCP.OP .EQ S.UDP+0 1 = BOOTREQUEST, 2 = BOOTREPLY +S.DHCP.OP.BOOTREQUEST .EQ 1 +S.DHCP.OP.BOOTREPLY .EQ 2 +S.DHCP.HTYPE .EQ S.UDP+1 1 = ETHERNET +S.DHCP.HTYPE.ETHERNET .EQ 1 +S.DHCP.HLEN .EQ S.UDP+2 6 (MAC len) +S.DHCP.HLEN.ETHERNET .EQ 6 +S.DHCP.HOPS .EQ S.UDP+3 0 +S.DHCP.XID .EQ S.UDP+4 client : random number +S.DHCP.SECS .EQ S.UDP+8 +S.DHCP.FLAGS .EQ S.UDP+10 +S.DHCP.FLAGS.BRDCST .EQ %10000000 +S.DHCP.CIADDR .EQ S.UDP+12 +S.DHCP.YIADDR .EQ S.UDP+16 +S.DHCP.SIADDR .EQ S.UDP+20 +S.DHCP.GIADDR .EQ S.UDP+24 +S.DHCP.CHADDR .EQ S.UDP+28 +S.DHCP.SNAME .EQ S.UDP+44 +S.DHCP.FILE .EQ S.UDP+108 +S.DHCP.COOKIE .EQ S.UDP+236 +S.DHCP.OPTIONS .EQ S.UDP+240 +S.DHCP.OPTIONS.DHCPDiscover .EQ 1 +S.DHCP.OPTIONS.DHCPOffer .EQ 2 +S.DHCP.OPTIONS.DHCPRequest .EQ 3 +S.DHCP.OPTIONS.DHCPDecline .EQ 4 +S.DHCP.OPTIONS.DHCPAck .EQ 5 +S.DHCP.OPTIONS.DHCPNak .EQ 6 +S.DHCP.OPTIONS.DHCPRelease .EQ 7 +S.DHCP.OPTIONS.DHCPInform .EQ 8 +S.DHCP.OPTIONS.MASK .EQ 1 +S.DHCP.OPTIONS.GW .EQ 3 +S.DHCP.OPTIONS.DNS .EQ 6 +S.DHCP.OPTIONS.DOMAIN .EQ 15 +S.DHCP.OPTIONS.END .EQ 255 +* +S.DHCP .EQ S.UDP+240 +*-------------------------------------- +MAN +SAVE /A2OSX.DEV/INC/DHCP.I diff --git a/INC/LIBTCPIP.I.txt b/INC/LIBTCPIP.I.txt index 1a6f5b67..572cdc7c 100644 --- a/INC/LIBTCPIP.I.txt +++ b/INC/LIBTCPIP.I.txt @@ -20,7 +20,8 @@ K.DNS.MAXLEN .EQ 64 K.DYNPORT.START .EQ 49152 K.DYNPORT.END .EQ 65535 K.TCP.MSS .EQ K.ETH.FRAME.LEN-20-20-14 -K.TCP.WSIZE .EQ K.TCP.MSS +K.TCP.WSIZE .EQ 2048 +K.TCP.WMASK .EQ 2047 *-------------------------------------- LIBTCPIP.SET.IPCFG .EQ 4 LIBTCPIP.GET.IPCFG .EQ 6 @@ -180,10 +181,14 @@ S.SOCKET.SQ.INHEAD .EQ 16 S.SOCKET.SQ.INTAIL .EQ 18 S.SOCKET.SQ.OUTHEAD .EQ 20 S.SOCKET.SQ.OUTTAIL .EQ 22 -S.SOCKET.SQ.SEQNUM .EQ 24 -S.SOCKET.SQ.ACKNUM .EQ 28 +S.SOCKET.SQ.INFREE .EQ 24 +S.SOCKET.SQ.OUTFREE .EQ 26 * -S.SOCKET .EQ 32 +* +S.SOCKET.SQ.SEQNUM .EQ 32 +S.SOCKET.SQ.ACKNUM .EQ 36 +* +S.SOCKET .EQ 40 *-------------------------------------- S.ETH.FRAMELEN .EQ 0 S.ETH.DSTMAC .EQ 2 @@ -259,43 +264,6 @@ S.TCP.URGPTR .EQ S.IP+18 * S.TCP .EQ S.IP+20 *-------------------------------------- -S.DHCP.OP .EQ S.UDP+0 1 = BOOTREQUEST, 2 = BOOTREPLY -S.DHCP.OP.BOOTREQUEST .EQ 1 -S.DHCP.OP.BOOTREPLY .EQ 2 -S.DHCP.HTYPE .EQ S.UDP+1 1 = ETHERNET -S.DHCP.HTYPE.ETHERNET .EQ 1 -S.DHCP.HLEN .EQ S.UDP+2 6 (MAC len) -S.DHCP.HLEN.ETHERNET .EQ 6 -S.DHCP.HOPS .EQ S.UDP+3 0 -S.DHCP.XID .EQ S.UDP+4 client : random number -S.DHCP.SECS .EQ S.UDP+8 -S.DHCP.FLAGS .EQ S.UDP+10 -S.DHCP.FLAGS.BRDCST .EQ %10000000 -S.DHCP.CIADDR .EQ S.UDP+12 -S.DHCP.YIADDR .EQ S.UDP+16 -S.DHCP.SIADDR .EQ S.UDP+20 -S.DHCP.GIADDR .EQ S.UDP+24 -S.DHCP.CHADDR .EQ S.UDP+28 -S.DHCP.SNAME .EQ S.UDP+44 -S.DHCP.FILE .EQ S.UDP+108 -S.DHCP.COOKIE .EQ S.UDP+236 -S.DHCP.OPTIONS .EQ S.UDP+240 -S.DHCP.OPTIONS.DHCPDiscover .EQ 1 -S.DHCP.OPTIONS.DHCPOffer .EQ 2 -S.DHCP.OPTIONS.DHCPRequest .EQ 3 -S.DHCP.OPTIONS.DHCPDecline .EQ 4 -S.DHCP.OPTIONS.DHCPAck .EQ 5 -S.DHCP.OPTIONS.DHCPNak .EQ 6 -S.DHCP.OPTIONS.DHCPRelease .EQ 7 -S.DHCP.OPTIONS.DHCPInform .EQ 8 -S.DHCP.OPTIONS.MASK .EQ 1 -S.DHCP.OPTIONS.GW .EQ 3 -S.DHCP.OPTIONS.DNS .EQ 6 -S.DHCP.OPTIONS.DOMAIN .EQ 15 -S.DHCP.OPTIONS.END .EQ 255 -* -S.DHCP .EQ S.UDP+240 -*-------------------------------------- S.DNS.ID .EQ S.UDP+0 S.DNS.F .EQ S.UDP+2 S.DNS.F.QR .EQ %10000000.00000000 diff --git a/INC/MLI.ERR.I.txt b/INC/MLI.ERR.I.txt new file mode 100644 index 00000000..a4e4825a --- /dev/null +++ b/INC/MLI.ERR.I.txt @@ -0,0 +1,58 @@ +PR#3 +PREFIX /A2OSX.SRC +NEW +INC 1 +AUTO 6 + .LIST OFF +*-------------------------------------- +*$00 - No Error +*$01 - Bad Call Number +*$04 - Bad Parameter Count +*$25 - Interrupt Table Full +*$27 - I/O Error +*$28 - No Device Connected +*$2B - Write Protected +*$2E - Disk Switched +*$2F - Device Offline +*$40 - Invalid Pathname +*$42 - Maximum Number of Files Open +*$43 - Invalid Reference Number +*$44 - Directory Not Found +*$45 - Volume Not Found +*$46 - File Not Found +*$47 - Duplicate File Name +*$48 - Volume Full +*$49 - Directory Full +*$4A - Incompatible File Format +*$4B - Unsupported Storage Type +*$4C - End of File, No More Data +*$4D - Beyond EOF +*$4E - File Access Error, File Locked +*$50 - File Already Open +*$51 - Directory Structure Damaged +*$53 - Invalid Parameter +*$55 - Too Many Volumes +*$56 - Bad Buffer Address +*$57 - Duplicate Volume +*$5A - File Structure Damaged +*-------------------------------------- +MLI.ERR.BADCALL .EQ $01 +*MLI.ERR.BADCNT .EQ $04 +*MLI.ERR.IRQFULL .EQ $25 +MLI.ERR.IO .EQ $27 +MLI.ERR.NODEV .EQ $28 +MLI.ERR.WRTPROT .EQ $2B +MLI.ERR.DSKSWIT .EQ $2E +MLI.ERR.INVPATH .EQ $40 +MLI.ERR.FCBFULL .EQ $42 +MLI.ERR.BADREF .EQ $43 +MLI.ERR.PNOTFND .EQ $44 +MLI.ERR.VNOTFND .EQ $45 +MLI.ERR.FNOTFND .EQ $46 +MLI.ERR.DUPFILE .EQ $47 +MLI.ERR.OVERRUN .EQ $48 +MLI.ERR.VOLFULL .EQ $49 +MLI.ERR.EOF .EQ $4C +*-------------------------------------- +MAN +SAVE /A2OSX.DEV/INC/MLI.ERR.I diff --git a/INC/PRODOS.I.txt b/INC/PRODOS.I.txt index 7145c908..0acf49f7 100644 --- a/INC/PRODOS.I.txt +++ b/INC/PRODOS.I.txt @@ -63,55 +63,6 @@ S.FILEINFO.CREATETIME .EQ $10 * S.FILEINFO .EQ $12 *-------------------------------------- -*$00 - No Error -*$01 - Bad Call Number -*$04 - Bad Parameter Count -*$25 - Interrupt Table Full -*$27 - I/O Error -*$28 - No Device Connected -*$2B - Write Protected -*$2E - Disk Switched -*$2F - Device Offline -*$40 - Invalid Pathname -*$42 - Maximum Number of Files Open -*$43 - Invalid Reference Number -*$44 - Directory Not Found -*$45 - Volume Not Found -*$46 - File Not Found -*$47 - Duplicate File Name -*$48 - Volume Full -*$49 - Directory Full -*$4A - Incompatible File Format -*$4B - Unsupported Storage Type -*$4C - End of File, No More Data -*$4D - Beyond EOF -*$4E - File Access Error, File Locked -*$50 - File Already Open -*$51 - Directory Structure Damaged -*$53 - Invalid Parameter -*$55 - Too Many Volumes -*$56 - Bad Buffer Address -*$57 - Duplicate Volume -*$5A - File Structure Damaged -*-------------------------------------- -MLI.ERR.BADCALL .EQ $01 -*MLI.ERR.BADCNT .EQ $04 -*MLI.ERR.IRQFULL .EQ $25 -MLI.ERR.IO .EQ $27 -MLI.ERR.NODEV .EQ $28 -MLI.ERR.WRTPROT .EQ $2B -MLI.ERR.DSKSWIT .EQ $2E -MLI.ERR.INVPATH .EQ $40 -MLI.ERR.FCBFULL .EQ $42 -MLI.ERR.BADREF .EQ $43 -MLI.ERR.PNOTFND .EQ $44 -MLI.ERR.VNOTFND .EQ $45 -MLI.ERR.FNOTFND .EQ $46 -MLI.ERR.DUPFILE .EQ $47 -MLI.ERR.OVERRUN .EQ $48 -MLI.ERR.VOLFULL .EQ $49 -MLI.ERR.EOF .EQ $4C -*-------------------------------------- MLI .EQ $BF00 *JSPARE .EQ $BF03 DATETIME .EQ $BF06 diff --git a/INC/SOCKET.I.txt b/INC/SOCKET.I.txt deleted file mode 100644 index 3e5d8066..00000000 --- a/INC/SOCKET.I.txt +++ /dev/null @@ -1,56 +0,0 @@ -PR#3 -PREFIX /A2OSX.SRC -NEW -INC 1 -AUTO 6 -*-------------------------------------- -S.NODE.SOCK.SO .EQ 2 -S.NODE.SOCK.SO.DEBUG .EQ $01 -S.NODE.SOCK.SO.ACCEPTCONN .EQ $02 -S.NODE.SOCK.SO.REUSEADDR .EQ $04 -S.NODE.SOCK.SO.KEEPALIVE .EQ $08 -S.NODE.SOCK.SO.DONTROUTE .EQ $10 -S.NODE.SOCK.SO.BROADCAST .EQ $20 -S.NODE.SOCK.SO.USELOOPBACK .EQ $40 -S.NODE.SOCK.SO.LINGER .EQ $80 - -S.NODE.SOCK.S .EQ 3 -S.NODE.SOCK.S.CLOSED .EQ 0 -S.NODE.SOCK.S.LISTEN .EQ 1 -S.NODE.SOCK.S.SYNSENT .EQ 2 -S.NODE.SOCK.S.SYNRCVD .EQ 3 -S.NODE.SOCK.S.ESTBLSH .EQ 4 -S.NODE.SOCK.S.CLWAIT .EQ 5 -S.NODE.SOCK.S.LASTACK .EQ 6 -S.NODE.SOCK.S.FINWT1 .EQ 7 -S.NODE.SOCK.S.FINWT2 .EQ 8 -S.NODE.SOCK.S.CLOSING .EQ 9 -S.NODE.SOCK.S.TIMEWT .EQ 10 - -S.NODE.SOCK.SRC.ADDR .EQ 4 -S.NODE.SOCK.SRC.PORT .EQ 8 -S.NODE.SOCK.DST.ADDR .EQ 10 -S.NODE.SOCK.DST.PORT .EQ 14 -* Listen type Queue -S.NODE.SOCK.LQ.HEAD .EQ 16 -S.NODE.SOCK.LQ.TAIL .EQ 17 -S.NODE.SOCK.LQ .EQ 18 -S.NODE.SOCK.LQ.MAX .EQ 14 14 hSocket -* Datagram type Queue -S.NODE.SOCK.DQ.HEAD .EQ 16 -S.NODE.SOCK.DQ.TAIL .EQ 17 -S.NODE.SOCK.DQ .EQ 18 -S.NODE.SOCK.DQ.MAX .EQ 14 14 hMem (frames) -* Stream type Queue -S.NODE.SOCK.SQ.hInMem .EQ 16 -S.NODE.SOCK.SQ.hOutMem .EQ 17 -S.NODE.SOCK.SQ.SIZE .EQ 18 -S.NODE.SOCK.SQ.HEAD .EQ 20 -S.NODE.SOCK.SQ.TAIL .EQ 22 -S.NODE.SOCK.SQ.SEQNUM .EQ 24 -S.NODE.SOCK.SQ.ACKNUM .EQ 28 -* -S.NODE.SOCK .EQ 32 -*-------------------------------------- -MAN -SAVE /A2OSX.DEV/INC/SOCKET.I \ No newline at end of file diff --git a/LIB/LIBTCPIP.S.SKT.txt b/LIB/LIBTCPIP.S.SKT.txt index 2a953f8e..0feb72a5 100644 --- a/LIB/LIBTCPIP.S.SKT.txt +++ b/LIB/LIBTCPIP.S.SKT.txt @@ -163,25 +163,125 @@ SKT.SEND.UDP lda #S.IP.PROTOCOL.UDP .9 rts *-------------------------------------- -SKT.SEND.TCP ldy #S.SOCKET.STREAM.hOutMem +SKT.SEND.TCP ldy #S.SOCKET.STATUS + lda (ZPPtrSKT),y + and #S.SOCKET.STATUS.MASK + cmp #S.SOCKET.STATUS.ESTBLSH + beq .10 + + lda #MLI.ERR.IO +* sec CS from cmp + rts + +.10 ldy #S.SOCKET.STREAM.hOutMem lda (ZPPtrSKT),y >SYSCALL GetMemPtrA >STYA ZPTmpPtr1 Make ZPTmpPtr1=buffer base - ldy #S.SOCKET.SQ.OUTHEAD + ldy #S.SOCKET.SQ.OUTFREE lda (ZPPtrSKT),y -* clc - adc ZPDataInLen + sec + sbc ZPDataInLen tax iny lda (ZPPtrSKT),y + sbc ZPDataInLen+1 X,A = new OUTFREE + bcc .91 + + sta (ZPPtrSKT),y + dey + txa + sta (ZPPtrSKT),y Update Socket OUTFREE + + ldy #S.SOCKET.SQ.OUTHEAD + lda (ZPPtrSKT),y + tax + clc + adc ZPDataInLen + sta (ZPPtrSKT),y + + iny + lda (ZPPtrSKT),y + pha adc ZPDataInLen+1 + and /K.TCP.WMASK + sta (ZPPtrSKT),y Update Socket new OUTHEAD + + txa X,PHA=OUTHEAD + clc + adc ZPTmpPtr1 + sta ZPTmpPtr2 + pla + pha + adc ZPTmpPtr1+1 Ptr1=Current Base + sta ZPTmpPtr1+2 Ptr2=Current Base+OUTHEAD + + stx ZPTmpPtr3 + pla + clc + adc /65536-K.TCP.WSIZE + sta ZPTmpPtr3+1 Ptr3=!(K.TCP.WSIZE-OUTHEAD) + + lda ZPDataInLen + eor #$ff + sta ZPDataInLen + + lda ZPDataInLen+1 + eor #$ff + sta ZPDataInLen+1 ZPDataInLen=!ZPDataInLen + + ldy #0 + +.1 inc ZPTmpPtr3 Reached the TOP of buf ? + bne .2 + inc ZPTmpPtr3+1 + beq .5 + +.2 inc ZPDataInLen + bne .3 + inc ZPDataInLen+1 + beq .80 + +.3 lda (ZPDataInPtr),y + sta (ZPTmpPtr2) + iny + bne .4 + + inc ZPDataInPtr+1 + +.4 inc ZPTmpPtr2 + bne .1 + + inc ZPTmpPtr2+1 + bra .1 + +.5 inc ZPDataInLen + bne .6 + inc ZPDataInLen+1 + beq .80 + +.6 lda (ZPDataInPtr),y + sta (ZPTmpPtr1) + iny + bne .7 + + inc ZPDataInPtr+1 + +.7 inc ZPTmpPtr1 + bne .5 + + inc ZPTmpPtr1+1 + bra .6 + +.80 clc + rts + - clc - -.9 rts +.91 lda #MLI.ERR.VOLFULL + sec + rts *-------------------------------------- SKT.SEND.RAW ldy #S.SOCKET.RAW.PROTO lda (ZPPtrSKT),y @@ -208,7 +308,13 @@ SKT.SEND.RAW ldy #S.SOCKET.RAW.PROTO .9 sec rts -*-------------------------------------- +*/-------------------------------------- +* #SKT.RcvdA (DGRAM,RAW) +* ##In : +* A = hSocket +* ##Out : +* A = hFrame +*\-------------------------------------- SKT.RCVDA jsr SKT.GetA.I bcs .9 @@ -238,6 +344,14 @@ SKT.RCVDA jsr SKT.GetA.I .99 sec .9 rts +*/-------------------------------------- +* #SKT.Read (STREAM) +* ##In : +* A = hSocket +* ##Out : +* A = hFrame +*\-------------------------------------- +SKT.Read *-------------------------------------- SKT.CLOSEA cmp #K.SKTTABLE.SIZE bcs SKT.GetA.9 diff --git a/LIB/LIBTCPIP.S.TCP.txt b/LIB/LIBTCPIP.S.TCP.txt index f994800c..e6a67328 100644 --- a/LIB/LIBTCPIP.S.TCP.txt +++ b/LIB/LIBTCPIP.S.TCP.txt @@ -194,6 +194,20 @@ TCP.IN.JMP.SYNRCVD lda #S.SOCKET.STATUS.ESTBLSH sta (ZPPtrSKT),y + ldy #S.SOCKET.SQ.INFREE + lda #K.TCP.WSIZE + sta (ZPPtrSKT),y + iny + lda /K.TCP.WSIZE + sta (ZPPtrSKT),y + + ldy #S.SOCKET.SQ.OUTFREE + lda #K.TCP.WSIZE + sta (ZPPtrSKT),y + iny + lda /K.TCP.WSIZE + sta (ZPPtrSKT),y + >PUSHW K.TCP.WSIZE >PUSHBI 0 >SYSCALL GetMem diff --git a/LIB/LIBTCPIP.S.txt b/LIB/LIBTCPIP.S.txt index 96cf0834..867e6da4 100644 --- a/LIB/LIBTCPIP.S.txt +++ b/LIB/LIBTCPIP.S.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $A00 +LOMEM $900 INC 1 AUTO 6 .LIST OFF @@ -10,6 +10,7 @@ AUTO 6 *-------------------------------------- .INB /A2OSX.DEV/INC/MACROS.I .INB /A2OSX.DEV/INC/A2OSX.I + .INB /A2OSX.DEV/INC/MLI.ERR.I .INB /A2OSX.DEV/INC/LIBTCPIP.I *-------------------------------------- ZPFrameInPtr .EQ ZPLIB diff --git a/SBIN/DHCPCLNT.S.txt b/SBIN/DHCPCLNT.S.txt index 63b58767..cb8f9d14 100644 --- a/SBIN/DHCPCLNT.S.txt +++ b/SBIN/DHCPCLNT.S.txt @@ -448,7 +448,7 @@ Socket .DA #S.SOCKET.SOCK.DGRAM .DA UDP.PORT.DHCPC Socket.Src.Port .HS FF.FF.FF.FF Socket.Dst.Addr .DA UDP.PORT.DHCPS Socket.Dst.Port - .BS 16 + .BS S.SOCKET-16 *-------------------------------------- DHCP.DISC .HS 01010600 OP,HTYPE,HLEN,HOPS DHCP.DISC.XID .BS 4