From 5c55e240f25d407c47381f98f572b04cbde7d098 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Mon, 15 Jan 2018 16:51:44 +0000 Subject: [PATCH] Kernel 0.9.1 : Modified string API --- .Docs/KERNEL.md | 91 ++++++++++++++++++++------------------- .Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes INC/A2osX.I.txt | 6 +-- LIB/LIBTCPIP.S.DNS.txt | 40 ++++++----------- LIB/LIBTCPIP.S.txt | 1 - README.md | 14 +++--- SYS/KERNEL.S.JMP.txt | 6 +-- SYS/KERNEL.S.STRING.txt | 72 +++++++++++++++++++++++++++++++ 9 files changed, 146 insertions(+), 84 deletions(-) diff --git a/.Docs/KERNEL.md b/.Docs/KERNEL.md index 0dea3bb6..f6b2185a 100644 --- a/.Docs/KERNEL.md +++ b/.Docs/KERNEL.md @@ -54,6 +54,16 @@ And return, if found, the full path to it. ## OUT: + Y,A = S.DSTAT +# K.DevIOCTL + +## IN: ++ PUSHB = DevID ++ PUSHB = Operation ++ PUSHW = Param Block + +## OUT: ++ Y,A = ... + # OpenDir.YA ## In: @@ -281,6 +291,14 @@ Create a new copy of this C-String + CS : error + A = SYS error code +# GetMemStat.YA + +## In: ++ Y,A = Ptr to 24 bytes buffer + +## Out: ++ Buffer filled with memory stats + # SListNew ## In: @@ -316,18 +334,6 @@ Create a new copy of this C-String ## Out: + A=hMem -# NewStkObj.YA - -## In: -+ Y,A = Size Requested - -## Out: -+ CC : success - + YA = PTR to Mem (Uninitialised) -* X = hMem -+ CS : - + A = EC - # LoadStkObj Load a file in AUX memory (Stock Objects) @@ -341,14 +347,17 @@ Load a file in AUX memory (Stock Objects) + Y,A = File Length + X = hMem of Loaded Object in AUX mem -# GetStkObj.A +# NewStkObj.YA -## In: -+ A = hMem +## In: ++ Y,A = Size Requested ## Out: -+ Y,A = PTR to MemBlock (AUX Mem) -+ (X unmodified) ++ CC : success + + YA = PTR to Mem (Uninitialised) +* X = hMem ++ CS : + + A = EC # FreeStkObj.A @@ -359,14 +368,6 @@ Load a file in AUX memory (Stock Objects) + none. + (X,Y unmodified) -# GetMemStat.YA - -## In: -+ Y,A = Ptr to 24 bytes buffer - -## Out: -+ Buffer filled with memory stats - # ExecPSNewEnv.YA # ExecPS.YA (Blocking Parent PID) @@ -477,25 +478,6 @@ Write String to StdOut ## Out: + CC = success -# FGetS -Read String From Node - -## In: -+ PUSHW : CPtr -+ PUSHB : hFILE - -## Out: -+ CC = success - -# GetS.YA -Read String From StdIn - -## In: -+ Y,A : CPtr - -## Out: -+ CC = success - # FOpen Open a file @@ -789,6 +771,27 @@ Convert string to UPPERCASE/lowercase ## Out: + Uppercased/lowercased String in Buffer +# StrCmp +Compare 2 strings + +## In: ++ PUSHW = Ptr to String1 (CSTR) ++ PUSHW = Ptr to String2 (CSTR) + +## Out: ++ DST = SRC + +# StrICmp +Compare 2 strings + +## In: ++ PUSHW = Ptr to String1 (CSTR) ++ PUSHW = Ptr to String2 (CSTR) + +## Out: ++ CC, Y,A=0 ++ CS, Y,A > 0 or < 0 + # Time.YA + Get System Time in Buffer diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 9553d1c77bec132522d25b317875877491aad6e8..4455bbdf882939a45c5c0c2d911044df04b0b22c 100644 GIT binary patch delta 7287 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 delta 6388 zcmai24O|r0wV$1tU3TSb!Ke$04&Q(4a~-8EKXQ=;ih+g%ge(FiQMf{Gfff)k^O@BNbS&fO(y`r7yQ z_uKn%?m73IIrp6ZJu_x=p4pt|eut))r{vAw{RjH{Fi42ly;_+}Wv9&FZBnKHLAzjg zrxLG3E_mZ}rO&BNT|~T?RH#iRCI}`gC4Bzw;n#maXQgC3_D0QNS)qM?9V}-?1(&h( z8#Vo#REmn-zdE{6VSeNG(c1OeRm*`T53~46g8SCoAB#@V*@(I=b=h^#JzKK5wXK=U z-cY+EMZcbiv=f>8_&T+sP8sQd;lMGqqC9c8mYlmYQ*kVlycMSC9++A|+QND3ZdDjR z^ffY$ckfm;9C)0J;=}f+jJ&;q3>)~?9#y46kvMSlXQ}~(>h_R3j>+Y}&#Myn_p8ap z{9#@dt;@X1d^F@PWO9eyD=eB0bx-=x;hGV#mXE0+=dWBoX3`jnGCKO zCi7~G={suTNZ@*a`^HeP`(~&!20MO9pNdJqt73@UAM6fdPG;hQ`|CX)@=d^^Si`^A zr&_>EHDt<`>q9zIaBo+M-lTKux!RHLnh_z(HEgAYrLJLS??pHB$H1<@UfhVaBf+jF z*fA|bZdxE*5vC_L)e{wE>xhsv_l@E1uk)3)YDnD1_?_&P@szuR3820L? zfL`lwnF9JIzo7OIx@N*cdOht#v%*3#b^f4}N0_*4?#1G!5hm;!7Cb^|m|aAdK=l$p zJOtZ;%keV!TyG)>LWuCFby#Pm-|JChtyO+enmembJTo_>P^|U`No9Vq#*azmm`m4I z=8xbu`VRtMTe+XB;E!w~O=0E!vKfO|#>dr>d0{{DAKvH}EBH-yWJX%8znAcOh_+48 z3)(D!@DPW*F@!v~vrE_ZV3B{Vj-02z>vz-T@XLt)sanp?2r~!@%zdlU?;*efYkb$O zYCNp*yQ8~6xN~-Ee!7nAOBP4DUypY8k23C2_Y&^)(Zl_t;;%=UZ=QF@Fhl39a}46^ z{BJgso3hLo1X3KI+e^FXEOAs$-9-x;&oDR&d$O7_U+5Avy)-y{m@)AAPm;?NBES7f za$S=7g6-USVa9rgccalLeB zOE29e(7iOA4`b%3XUSxRnNNR~TzssajG*Zc_4Y7c+epq^^eS?Z9FK%V2jwZY{~UFm z(tau=IFvBi&#!GH7q;&~-jiDC6P?LH4gMV2FYAHha0Me)G7yCe65U$Y9PU+Q9cmQ%5gIUt&_Mw={<9;1Fr$$CA;DHUs->oLM=C$vibek1wM+0PewPnxAq9Lm8T z7TMp?+t29jQ+oU7VCgg%y`#uJqPJ5;_IX98v>%B-;Cr`{@pWrahCAn}`6s9j=je@xpH`y~B;6?)G`7pbrl^ynx04ACDb*=%5 ztlmEoXk^|ByijrP0-md24pVU`AXAXVpmRSFfw2n5YgErrp#L1KR9wH%Kg56cm#X-= zZ(g)&g%MW(174U#*+DZI{N;ZkE9w4=%yoY1m#S30;W^US&X2ii=FXU|k9I0e7&{oC zP|Wc$oe5i}kW$5wfG@}Tm~XXPn-R@;E`+wL$N&z9^5U(FvhtMnzTVU|=g`01xtN)} zrZ^?>i;L{onz40b8^#P{;9!tR!X_M{<#;Az4Aj9$J1IxHn09a-cn+xM8=&z_K$tn@ zo%GN^mOh0A6UK|kEJ2YakXZud8MYb6Y^E`X`u-faL)wgEoN)|#(->zOYdIzT)el>U zrZE|BFew_xFqFtDP44V8BRVvMogoIUj~&UPIA!N!ceGChCu#M&ky$O2- zXK{$ak3LVPzv`f~=vT&>*Z5oqJ@42L$cYq1H-Gi#NUq>*R2Ryd zO`$HS2#5s%F%kCx#*mE@FAbW1#QTty&wYzbT4hC@+WWRg)xE@ZBIXyV*11etTHj{p zla5>X##_)OD0+=zC)#Bc$m5;-Pv0V!JRQWPL;!oE<0@wQ!m_oa@yO=0jZ(xx&*n3Y zlCo3!G=x(T4{_=}z^QshYzU%T5T8SPp4l-Qmo4inrP6Z{T-S9Ee-3M z1vD;<<gF*wv)x)I=x$k!ClpL{CN7)} zy2G-zqgcrC6la*_7lkZOG1rB>(7wz+Hb`!1>PFZ|uh&7qHDN{G$xF0!kGY&Gf;3iR zI04`6`L?>rR%X&nbvcNArKnT7(o>3bCcUYr ziI)b+_{8X?y5=fNxxqy=S6en7YH1}8cC`|YNqkb@?1^A4$KEC@)KJSVdu*WQkEDAU zAAW~SQLN>2?~rjT7O?#~HeRA9dvq+ffbBJOcJ&$rovRqyIM+q>Anz69XGcPu$KX>* zN+xQRneoL)^PJ`S8%aV&ufe(T2GQATU=sD_FrPxAnBrw3zI1>$CCj~_&)_TzU7!(S z1S_i?SK8s>;8bCf+8>1`FKH#xLEMT&^8CY5s3!{TTLRg&F9!kpzUZL0`XkY;C?szj zj7FhTE9)=-ZEy+l9kmA4gg;PY4Tlx`5;T?rfr^rSXH_YCB9Yn6ulX$*uQ<&Q zd`u?g#jXOw!0*d>w{#X_QBvPOTW7*!CQ=MAKE6AfLR{mOWNiLiequGpTdn_v`-Usqh zFK{l7W!(w5(Y*-G+&OM7tRIg8KA6MMIt1Yo%R+poc#3_5-0D+HO+qqcQG4;l9Ys=Y z=PBu)km4eGi-jeRRyV)`rATivK6)WCRO$rl9+wdcnP55OGD9f?(ac4#eZ|hT7Vv9@ zY3YOTW;9tY1^0U-EQOr-OE5G3jKt#ELulYN$y7|{NhCeyJ*k#RulHn>G!4Sci5z!~ z$yu*!Wi0hj`7}&kDwf_8!}%wYsf={%vPK~dLaPPB6QZgZ$4tdDnGjP{Mc*ojF^c)G zd|=*_Ofe0BUhr1ZT*l2|ZNad$Eo5zrSb@}eJ&mE*?Sw%vcCG5^g{(wPFJhgIx>nNC z2&%W9hN9~O=hoA6Sm}KTYhBwywru9$ffOofF~oM;BAA(G-F7Ne6k^X7+u!9gN~oo4 zb`*WhQY6g<7v2fF+%Q`@n!~}lKP`e8IG3qPaz{CoLfGJb6v{Lment8=7t32qC?@(# zhdtHN1PH0&Pn1vzi5gZL-q+-O%Cfy?Jod+S9Ft1%zKOYm}bLT>`#DR!qZcD}NdVif88Go{pu z<@V)ny06~Z5L(SMJUqXS`WAVS?N7_gpLy`--!G-&(q;{Y3mb$p0axoYNO_46J1ykp~PEInPB1F}?LIy4Ki(o_eriP;cV0d8VAoR3z{l%c)d_o&SD0rCW9; z8?QlyTYspp#97MxXS!R%9L;Cm%ZG?FIbyyfW-v$jqvcdmQfL7S_-HAL>0aShGMR;- zg3y~>>2Q(T`TONmhJxmkHd49OU}>0-gcu4bvPH5E#m=gytNR<7ofZ9CnVpr)o*XwN z(yU2u)jbm#3@l3(4lhe}u&oHTmAHkyU)xB<$Jla%PlVNBwcHs0{zfV_{wlg!B3?t+ zO0C}(mf>)D>MoMDLy+7%P(hJ#*ij*z!dF|PuI&o4GnP4FkGsr09>AnEG#1QI6@ zWb%321adawWy@3M(|VJ573r^)a92@qf9@I*uOnS^33nZdAEM?`?n9&#KSe;ek{>_PWSG8$ zq=f0q2uNT`r0w!UQ&iWRB#6b9tVo`zrgW{5Y;J>dn{vBc3l{2{w}mWh-X5}0e{EaH z!fV^XLXl!I2gQmc3mha17AkON5-jt*d?+^SHQL^KILz6|1Jy@n*=;Hy=LTX%N<5tKx#f*Q!An;57#d6;H9@^ZN*@lNS4Z3dLDKWL;`-A&3H=+$T@BRs1yu@3dq@FL-Wa0bb0cs0rF!2Q;-1`WGchozGBlYqI$eguM z$(`g;J(Zw1$#1Er@@lz!xFk*@+dIhidn9fNRkOy>%ixYI_quLzCFfb$h2g%?HDjrV ze*?}3@M0@rzl-byi-8l)g*lYyie-Mx2kNPX?REK3mE`CLKSRLv8LBOoVt`F{X)&^e z0kYA(fF!~SxEi!l8brn;>~JY10NR2(8BAjJrC=gEO3@6OQGt!26+#J z;IcvvpZhQZ`5g_^dwdOFRO8?}Bt zFZZir-_VlZRt%hQP}`|vdDIofv4fO4NpYOloT8H3cV)bh(Vn$>`RMZ9%O{r4%{F8| zmvb{aCMPqeKIhq-=ZlW(ujylol8f#Y{cQC~M6=fmURpV^GPYn{!H$CeD6keBFBmSk zUO*82YoLbZ5?Cfakts}p&`^hPB&??xO|JpWg1db7jR#(JN&J;+RZlp}zkZ6!EPH0z zgE}sw7?L6(nRz*lIhR)Pc*gWP*mrt864xQ$jJO`%m~n>#MxEr=p`P`~1mynpuzSUV zM2E2dF2DFaDme;1nQ8CiN+(=U9^cPbzegpu2S0~FaM$b$t_n)erhWS{pX()V4`O+>LX& zL(h%=aP)=I7f0d4Ezx;l&jo_;T$q6N!+`GM-iwDWs>U_r5#!P0vEu~s{P>#j#PO8z z^zqE`<>R^I`2&t$(c8#Z-=sGjI6%h^YVb*)|NdaOyOt0*KwxK(#IK2(^(XLWXMMInS!xk4o9O^0f^+5|!ltw}7> z$gGF()p9m%nN+rAG4fZ$rdmRhikgpGCzmZp!z{qx~vA0$N zD-WgX7M8oEtEARozZC3~Jl^&;NHQoqEo*|vWD~-@Z)6A}lrCm+vlGL+-^dCjL8QBD zNU~Rgn9Lpr*&~+%5wMuR;iTPN9nyqFtti%6Qa%J?DnvT{t0l)&;LQ+O(Tk)sB=!0w zhZA@UBMpKno&EMn%DOTqh*sq3?_fM!2Fey};FwB-gB=aPXF{YuH~@w$)#0Sn&3@d8cv2vhaYF*Ra-Rf+00at_;n#aezU)9t5nNxr7!^2^s`GycW?qI^n zaEc~-@7sK+Sc!)sDKO+{1a1N@Pc9i90T4@LF*22n{=#BY9*d1(Vl)PhSPTL~V5-13 zPhVh28VL5U=)DPyl~M0G+}J#)?7oY+UtBfX{p9MH`?BkkqOMO4pMN_eG==T*R5c3B z_HAk^a5d~pZ9D>O|6OeV&C?(<5FDEl)0Gggl(>rdhAA;4?(Ws2+;yS5rfZ^v=`5*O z0Nk+va5GV{;9K`&r&vKLORgmgkp`$fx$ z=_B$UIeeBJ&rW$J3m(l+6|n5hSiq_yJ5@*(6f#8b>eSTeZ^by2{U3d;Q&UQA zqZd0hS>$$_<EUFh|=o0?b=ZuIm7KztE3_y%l)|Tz`u-p)a`?`S0K{S<&*4Q2MYAKJ+tb;{AcADEegf?#lNUR zr-0>HGz?K`cucszqNcQ0!7+t)`F&D*PoQPlvH^b(#MjgSVgY^~<@$Xfyb(P@{F_k9 z%6;130JS^jwbr@Y>m4%}IvVRB{VkyVz1p;#x0#Ra3*G2;R3UKhpgP-eh|twbwP`$X zC-B|+EW1oQ0iQzwb@XY z_`Yi7WZ*ww-VK5EA1ZIrKjXZqjdiRfd>G>{{Fpw!N;@tWEN5e-Cu(E~aG#*=jB`K_ z1hp28?NfSNzcz!Mr^mXrmJt7$qA2Zil#kVO^bUv@R1H|~zd#xMzm(nLzf{^0_irRx z{&S^${Yv3X`}zv|`i;7;ERKtmJP^M{O)Ob(U;lfhefoNFCkR{mxM~K$s~>tHR^iH7$)uOkRGpSiUkqw%ueIW9r;lNc*zRJ#;WLPwE4+1agH_UqX~qUrH`N^<|0?aTl@qt4?5YOr+#SZJN=6 zqSGpfa?B6ktX=uI#%`e-i**Ggojy{m%gwS9cU!9i_gIe97ROAl* zjd=Hcr?YA@$?yc-b4`_C{I6#c>At{e^w)+QzbNagcDk&|W%<{H7>ij+| z@7omdlT*gY#KzX0j4%n33rJ%t*34asE{mPLVkP&?_RgCl^HhVqkiPOA?otu`41-U` zQ^Q4FRvTst1NQdHjb2A{OI^Lg>uvGOcC@tCH$(1(D}VGfwRr16#8gt2B7TfL=9ST# zFY0n>=Sgwn2JRufkR;jL+T3&IhqGqaWn?y-=}vO^<`CesemhepMpOXc{|ks z#7rULn1#FQ+1QD|rK58I((m4U!Kfd(U`#M(r?#pa&B_f{iJ~_NJ-R!EWiwL^aPKq8AH)j_I)FUb3XwDlWvHVb z{~?J4JJ5-bRLfDq$7JPwka3oIg&l1+!xWA=?gdTt%@eV2e!|MhfUN2qs!ID*t^So8 z>wCL!bih&5c3!DMY+>}ImN_ws;^%7B#1e4<7hAs|`_Abs*Z&J^2Tou1!YRwZ_$4Zq zL93$}#DA-fVGsQeE--!-{pc=+#IKntSe~7gko-;b!=hqrF^S)*Ryq%tC-8zb5{Dlc z4@5fmU`H&um*!1Qm=O8_L;}l)fV&TA;{F&6=k90y`M}r_MHx{az<#TYsN4^c$@rj* zE-)ro^u>qNW{myg;V2!w$1lU|3x>`G#veh%-`9^GyDCFqek6uFm~|}QgdZb%r}Cup z6I`WKK+{j7&7H9^5c4zqrVhOa(GcP1>|_PHv8z3bPIY$x|CjPC1C&6|6*}PS*9obI(~X3NdC>(iSoDVF;00>9V2@JJ6Kgueu^F7;i(C! zA+Jz9j!X>Whq~txsRsnIof}dFFpv8h7T|E3$;p;g~l`e;DJ;QC#8i zluLMZa#bZ{JjY(W@~bpMs+2GVrsIJzJg+)wdO>lLS-qV>dlL=^W3CQFoCcyZ^h+#3 zUxrW|B1O|j#EC%8&?%6Kg8-8t-ybl!j$q$ByzS@*HV!Z-hxy3iH~?mZ|M9{i598vi zs+=0g#2MhqazY%=1dxLRfr~0hy=>VAZ+%mPG^eGmv7xaZvH6>764zk)R62tAmP*2b z9jAjampLY!3}OT}(u+7HL=*i4NML!Ffmzkq5PGdxdor%&6kuJ$L(L`!;k4RtfIp*R zZ=4-Kc%PjGmP_V;jP_hUfM%Q+RJ0fs&*8{`g)$!hkMZ4b7D5bVBD%mqfn6!^=ai#n z`82+l@tB`S6P5DGW{1G?0B|@vfDwlUrRsHH)x&W?DQu9;h6cGB-pcBlh_i#d+zCb; zACzckBH|LhVs$Fejg#Zo%quhmE&7I%>cmerljejG(#&6cKM5<(^=hBTN&9fM;d3%P z*`U)x`mNL{>MbKet>K?!({#h(>4GL-jN%`ts-$}t3$9EjtN5;Xb3uf}QVuLtY)~*y zG*!nNUPD`bJqVMD((8erqPDcDN=wVHp}9+hJW{KS7}HR)ZMr;SR9qE9((3%l&0x*q z>Pu$>sS?xwv zj3d`ma;K1PT8s-=m%?_pgvIX$I(Ms(UUg$MjOf2*sbaR{nA$6G&2=DB6N1MN+%MId9%y#T;Qz3nMJW2?85eCm0xCyuw%$1c2SXhq8z}x3r zBD;Rz)}aBm_4I-5LI&9&GZ@8AYuJ%uKy8mIzy;}h@sZ8LPUl8ho4;SW8ZyH)ceh|G|Gwg* zco#A;AcC!AAIcXg%6IMy4j}@$8&eExY-xmkwNof5zlWKK8tzqBU@U&XR@}!9C;}b{ z`2C8|?E7i+E+MP%fbz;cfNZ88$}gLGal(=UeFMNfh}8Ut=$*TSJk!G{Q-Mm{Fp_hB zM4#FvKUEnP*j_Jd+^vXR>P(4=QRCf36yeE4W9= zW)L4ExMGj&+vBQlPsqO64ynHVBDw^)U!v}Dhw1QcA)k!MTd1-Aik{jnq!;{JHKiKS z@NbZf|1B=6n>M-(pp z8MT5vi_%#vszCgMY7S!iqo~LF9C1{$!F))OHP_SR_IiPTUXAk$$Yc8BrEz`{sp6kl z^2wJgSudfGXa~kwiGK2eLD0eYm*phSS=8R%#BM-dQDpLeR;~IAn!-X}4VJ$u8b-SV z{HqGT_?oH+L-RT+&U%A5CaKyE?-h~~3QTwd&PG?|&mss|Qx}aQFq}inB7!^BjJMt~ zzJ~S{J^qn35#e^-@P6T3{Kk2h9@xoloOg()xe>BgyeKB&Ks{>cJ-i=hm*E5Ass9Jk C@_rrw delta 6673 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 GetMemPtr.A - bcs * - >STYA ZPTmpPtr1 - - lda (ZPPtrDNS) - cmp (ZPTmpPtr1) - bne .6 - - tay - -.2 lda (ZPPtrDNS),y - cmp (ZPTmpPtr1),y - bne .6 - dey - bne .2 - - clc - rts + >PUSHYA + >PUSHW ZPPtrDNS + >SYSCALL StrICmp + bcc .8 .6 lda ZPCachePtr clc @@ -224,7 +211,7 @@ DNS.FIND.BY.NAME .7 dec TmpOffset bne .1 sec - rts +.8 rts *-------------------------------------- DNS.UPDATE.BY.ID >LDYA L.DNS.CACHE @@ -493,17 +480,18 @@ DNS.DecodeMsg sta hFrameIn >SYSCALL FreeMem.A rts *-------------------------------------- -DNS.PSTR2DNS lda (ZPPtrDNS) +DNS.CSTR2DNS lda (ZPPtrDNS) beq .9 - cmp #K.DNS.MAXLEN-1 + >LDYA ZPPtrDNS + >SYSCALL StrLen.YA + + tax + bne .9 + + cpy #K.DNS.MAXLEN-1 bcs .9 - tay - - inc - sta DNS.HostNameLen - lda #0 Ending 0 sta DNS.HostName+1,y diff --git a/LIB/LIBTCPIP.S.txt b/LIB/LIBTCPIP.S.txt index d657d3da..4f10d7b2 100644 --- a/LIB/LIBTCPIP.S.txt +++ b/LIB/LIBTCPIP.S.txt @@ -274,7 +274,6 @@ DevFlags .BS 1 DYNPORT.LAST .DA K.DYNPORT.START hDNSSocket1 .BS 1 hDNSSocket2 .BS 1 -DNS.HostNameLen .BS 1 DNS.HostName .BS K.DNS.MAXLEN+1 DNS.TmpCache .BS S.DNSCACHE ARP.TmpCache .BS S.ARP diff --git a/README.md b/README.md index 173c3df4..0b859fbc 100644 --- a/README.md +++ b/README.md @@ -193,12 +193,12 @@ note : '$VAR' does NOT expand Variable | SSC.DRV | Working | Apple "Super Serial Card" Driver | 0.9.1 | | SSC.I.DRV | Working | Apple "Super Serial Card" Driver (IRQ enabled) | 0.9.1 | | PIC.DRV | In Progress | Apple "Parallel Interface Card" Driver, renamed from PPIC.DRV | 0.9 | -| Mouse.DRV | Working | Apple Mouse Card,//c Mouse Port | 0.9 | -| DHGR.DRV | In Progress | except bitblt... | 0.9 | +| Mouse.DRV | Working | Apple Mouse Card,//c Mouse Port | 0.9.1 | +| DHGR.DRV | Working | 560x192 Mono/16 colors Mixed-Mode support | 0.9.1 | | ---- | ------ | ------- | ----- | -| LanCeGS.DRV | Working | | 0.9 | -| Uthernet.DRV | Working | | 0.9 | -| Uthernet2.DRV | Working | | 0.9 | +| LanCeGS.DRV | Working | | 0.9.1 | +| Uthernet.DRV | Working | | 0.9.1 | +| Uthernet2.DRV | Working | | 0.9.1 | | Uther2.AI.DRV | In Progress | With ARP/IP Offloading | 0.9 | ## BIN,External Shell commands: @@ -234,7 +234,7 @@ note : '$VAR' does NOT expand Variable | CHGRP | In Progress | -C : Continue On Error | 0.9 | | | | -R : Recurse subdirectories | | | FORMAT | In Progress | -L : Low-Level Format | 0.9.1 | -| EDIT | Working | still missing : find/replace | 0.9 | +| EDIT | Working | still missing : find/replace | 0.9.1 | | NSCUTIL | Working | Tool for setting time in NSC/DL1216E | 0.9 | | ---- | ------ | ------- | ----- | | ARP | Working | dump ARP cache, setup a static ARP entry | 0.9 | @@ -246,7 +246,7 @@ note : '$VAR' does NOT expand Variable ## BIN,External DEV Shell commands: | Name | Status | Comment | K.Ver | | ---- | ------ | ------- | ----- | -| ASM | In Progress | S-C MASM based multi CPU assembler | 0.9 | +| ASM | In Progress | S-C MASM based multi CPU assembler | 0.9.1 | | MEMDUMP | Working | | 0.9.1 | | ---- | ------ | ------- | ----- | | RPCDUMP | Working | tool based on UDP socket API, renamed from RPCINFO | 0.9 | diff --git a/SYS/KERNEL.S.JMP.txt b/SYS/KERNEL.S.JMP.txt index 58b90312..f3769cac 100644 --- a/SYS/KERNEL.S.JMP.txt +++ b/SYS/KERNEL.S.JMP.txt @@ -86,13 +86,13 @@ K.SYSCALL.JMP .DA 0 $00 .DA K.StrMatch .DA K.StrUpr.YA .DA K.StrLwr.YA - .DA K.StrFTime - .DA 0 + .DA K.StrCmp + .DA K.StrICmp .DA K.Time.YA $90 .DA K.CTime2Time .DA K.PTime2Time - .DA 0 + .DA K.StrFTime .DA K.LoadLib.YA .DA K.UnloadLib.A .DA K.LoadDrv.YA diff --git a/SYS/KERNEL.S.STRING.txt b/SYS/KERNEL.S.STRING.txt index 7a2c4186..1a29618b 100644 --- a/SYS/KERNEL.S.STRING.txt +++ b/SYS/KERNEL.S.STRING.txt @@ -176,6 +176,78 @@ K.StrLwr.YA ldx #2 rts *-------------------------------------- .9 .AS "azAZ" +*/-------------------------------------- +* # StrCmp +* Compare 2 strings +* ## In: +* PUSHW = Ptr to String1 (CSTR) +* PUSHW = Ptr to String2 (CSTR) +* ## Out: +* DST = SRC +*\-------------------------------------- +K.StrCmp sec + .HS 90 BCC +*/-------------------------------------- +* # StrICmp +* Compare 2 strings +* ## In: +* PUSHW = Ptr to String1 (CSTR) +* PUSHW = Ptr to String2 (CSTR) +* ## Out: +* CC, Y,A=0 +* CS, Y,A > 0 or < 0 +*\-------------------------------------- +K.StrICmp clc + jsr PullP1P2 + + ldy #0 + +.1 lda (ZPPtr1),y + beq .7 + jsr K.StrICmp.toUpper + sta .2 + + lda (ZPPtr2),y + beq .9 + jsr K.StrICmp.toUpper + +.2 eor #$ff SELF MODIFIED + bne .9 + iny + bne .1 + inc ZPPtr1+1 + inc ZPPtr2+1 + bra .1 + +.7 lda (ZPPtr2),y + bne .9 + tay + +.8 clc + rts + +.9 sec + + lda (ZPPtr1),y + sbc (ZPPtr2),y + + ldy #0 + + sec + rts +*-------------------------------------- +K.StrICmp.toUpper + bcs .9 + php + + cmp #'a' + bcc .1 + cmp #'z'+1 + bcs .1 + eor #$20 + +.1 plp +.9 rts *-------------------------------------- MAN SAVE /A2OSX.SRC/SYS/KERNEL.S.STRING