From a1f446972dc0afbd170a27f723a2e24b4ba63b08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Wed, 18 Sep 2019 17:33:00 +0200 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/SH.S.CMD.txt | 116 +++++++++++++++------------------------ BIN/SH.S.CORE.txt | 7 +++ BIN/SH.S.txt | 6 +- SYS/KERNEL.S.PIPE.txt | 1 - 5 files changed, 51 insertions(+), 79 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index c9ca56a8329c935221bb142d80156038aedfcc39..995161172bcc5a4d9c5347f9d3c8becdc842eb99 100644 GIT binary patch delta 28085 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 R)=iDik>*od*OjrnNI7h|F`k}?L5%^o{t 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 T_!ICK;BUY`y8ZHb-LwA>?0Tk@ delta 28245 zcmaKV2V7Lg_W$fI7Z;YYY`MEsSE`__6btB8gA^emAfQpxK*W+D62L^$7NT5@8l%aJ zBdNwGCKwBvMAOy87)>SpJ=09@2_|_O)BJsB=I*kn|NkfN$j;1}GiT1soS8Z2%zbTt zoeggT^n4Q#keTAPKl(#Js4gHa#U66!-_lTIrQ7dJ4NM3~Pl+%+S`qkX;GO1><&VA| zdh>f6>CuWW{?c)*M=QR%&tPsDL|T$U!V}2ngbYfF3tIm7xBLJ8Ru}NRXHNY!?fFv+ z+=Vkss@+w^MEX?UN$j8LJFjYK?k}h)uOOz+^__F->e}5|B=}3cJC`=Mwh-&r_?5e{ zVQy`ELZQ2`YE~Hu`bM9&sinS-7{AqbG92S~`m}?|>14?FdcT&|@doJ2JM>}7kNQqd zA#vV3BLAfCoKRJr=bqd?r*P@Q*7C-}@*-mVS>IXL0GfRo&69#={4dnDQ$IxaD;>R4 z?@Id(%-jCQs4Z(xsB%|SxfkSBPM$%`r$h@wn<}bOhc6>TPSZBv7yiyVdq(SQd1axy zs`cuMB@GS4_QwT?{HgD3X{~Md5|RF5wg1-BYj)|aiU0UlK%@D@e0CtdOGjgN=?4eu z4X9?IdAszs=l}yJIlH2yv1v)`q$Tr)WfDnZ2!Ra2dbxGbxfsM8WZ>eOnw{m&%g-lL zFz_8FgHO2mrTLZBRUJ%Twvhg8vro+LmUDHGemNNCsU+G z1bvD^IwhJuwOgO;iqX(ANk*Kn?SjIhyy>OY%kg((fHQi;U?4Ttx4UzRbBMv6Nza{+ zGl?U?;LZ~H<(1od^fx;8ytU;E7kTCnS6On8sr#(!t5nys$)y!EVz^<+53*! z;@TeH7rG_Dx##$|WW({JFZZ6xsd2?8xl$5bne@TohN#ew;$2_HyZ(yb1d6}Vqr(mJ z0`|Ff?x$JlhP;?3bNi&1&A&TqRtImtair^nYkkNGPp_f0EwS`@dV9Jd#%M}B5!D-1 z+DIP-e&C~to7e3*zRhjW2afFx>^{4BV}>DJ*SFuDVF=NM>5^w}%GvzUHOCjMPjP)j zi!%+$x^L*>OvC&{Q{v{&HXL{9k~g`&iFYA&_UN8d8&33|*|hn?4aYZswBdMZ-@Yuv z<7wuKSTZ>|ovQ>F(=hvAyv#5zH862A+1_W{s2ZkRSva((K>fSppKhb;)zqHct)F#$ z?)o@&>la;L;?L%A2<)rW&1Uf@yz8G0ZyoLWd&65@e<7O>!-~&3K40-g$Cov(q_m!Y zjveYV9(%Vh;Mm#TVAm^It_gIzYDn{JNbPy%*p0m*u6b!a@veJPdtPgkid_@Z790!h zm0XXdwhcO#fC`_cAg`M^Yj#}Z+L`Ba{gkp^a;+ZPCb^zZRZn6hdoJ4EbuuF`b>cBc zXALvY3j7ifnb3+)R!HV$I~Qa^z{D6Dnuyp2)l33fd{EY+2n+7sVq05OIi<7!Xs z`4|kDU5};p1b6kNdV&Hv`q~0&T=&qMR~oMHfW<-J?KBA1knN&t`A^> zS@CxkGkHA-+Rh@27kWUd#d-X z?xi_3NB8{RH^_BU>UzDiCZ~qcoL$_l>-c@{8P`XcQAXD-fIg)$s@GTFbHc-hhrj+N{Th_6BZARsU!U zJXX`IM`3s>I@1&L;vYid)~$aWbm3=v>UyInTmMBj!LO~~b$w5duQJ4#!c*H$VWP8K zs=L(?R~eDI_lMpyF7}7d@pZ25Hd~*wraRA7m)i4tX-8W3%WeAZBP{h@=?TBohoxb| ziWz_57y{P9iXS?D{G(K%*W7A|Hb2Gkx23KRW*kbcZS>w-4Wko2PVF(a1})~`0i4^oEpL=?LyUANj$%@S`HV;O(D8q3Z_9cv6nb@S+nHHL{vPq@@m zyPkBZr#F)~PxVPh4<`4X-uaZPcXk)|5U?Ppvhi z1U%;2`8XYNn?crf(wy52qXvHzk6CnVM6cBKM`>sJ(WBi&%!CivOmO{0*WPBBsQZY% zdYd6RcB{KbW*Xr4-aj|x)c@Xbs+-iG={Vi?w6n%_n1-)2xTY$}ZGn4^mz;&taHjUY zp-r2gI(|m7Z|t%0y{VgZdw%FmV96oJYWgm7eKESncI3l5KHS9q+4@u0&s&~CCu%s$ zH?A|}1w>#v(L?JDb~Dy=D3sSaXr9}kdG4iOtutJsJ4|QZZgA_Ibmi@aDwC!f+unWl zS^DMehFPNykM1cyR@G}nMO12=a;%~^nze52CcH%mbjwU8wint)K%U3SFz=kSWxXNA zh8{f7^>g1**QmrT$qZ$Yk>#8w_K0XK3pNLq;r!h8?>B`W`*( zvw&6&n}?^7^($8Up$&$#;Kx#XzwY|Wd;mTA-v+}v4@UC-?sqYgdw=MQ;$sVOq;6?t zjV0{;@GI@Vj=$KPi-69HfzEScn+bCLnYI4An(jk2P=4szN;b$q+VT~uGA+t~AY-$6 z!&~f6IR40K_|@?_`{%Q+znnFxRDY)-Dj+G_l|)^48sxe&sXg*`=sag{_-b=7@Sq7( zJ!1Z3yUwI`>zV3~W@9FAQ5lortFdaje(Tc*wFNoQj~Zb073`+%33jya*`BYR(C<@|rVZ>%P_lILc`^G?N1(fa> z$@QD)({$H+seB^x9!_RGgl57&QTWF-c~sBH((gw?H?fwte07dRD&996FA)+aHNJ!byj;bW9}=qS$#Ty#M_)ifIo?Y(r-ag&`n$^u^lQ5(uwLd zuG({a`_UU!SNDrKHG7Vmos7W|8}H&P!hM%v$Q5tJ_t}rR`c7{+anyz1LHI4(kLA&)LY@c(-^!(a&@>q0lShs=Asjs$v)%7*b0bRdIC)wy@y4%?- z0>bJHMv|w*yX+d;VSVhmQ3E!L`| zznSH(-#Y%saJH8=jOqHdH?Zq}Ng(26z3dy*^$SjdTU@-waXCFjn_t><{8)JJgti

R>0+brx<}PZQt|6mn?Bt+h<+B91HBZi0_{`JwPOr zHyI{D?XBK~!(r$CJ(~=J4BPHC80qmjmKgfi9822N(4z86SDCA%%r&&SbYyC%%T<_P zT<$8%a*cN-mLXYIII}vmAFHOc%9UPPA7R>LCQzHNr;qzIYt`^nIzq5^i= zN_5crR}2XrC+Q@ik)kXiF(-qVqlk8)5{SlVA})C`gkKyTaYQ@#mz2BnOUtVY-DTwk z#OY!*_yw=1z+F*NQRrSUwSEzihM)m+{J_Rd31mWP!K}RYru~CnHJq6qUgWyel|I{b z`8eL$*)%ggz`j2;KHx*$zQlm}!_B`>CB?~OQ0;SLa%M`JonBWFFv0xlaBuF&$wN~j zg6WGD0dk=sI6j(t+vKlaJMBb(_H z_ZW)z%^viGPQ7f9dYMtZEJ(d9SiQ`&?Xr-9=wX@dO$D{=mYLB$zP+low(jcoiq_^- zlC+z?@JL9aXODhC(UQix(uFOpYuuBn+B1pmQGNeSd9}#1JdV7Ux~Yrj)~^*g=6(7( z6}3xR>ep%MC-ifw3aj1u-t?0qUFc0eCDJpsbi_0IIhBQZ!wTG0cW4xz)gz<8U8Z4# zAJA7d)YmuN&WcA8`5@h}ImGTcq_1AMs2*2aUaiVqT{5+hSYOcRm%10^mm**5hWRkd zLSMZMyvWj}^^IEEdW5CtRMywdU8YrW9M$KuTl<2%=J_)~X{BJy^0L0T1Xq9LtaV?> zWn_JYXXP(m(&!bN^;Mo#(m1z%sh5S<^_Xc3O1w=*yus7uOIo!qNA&WH!scczW5`={ z#e*TPfVcHiv$t&tF?y=o^mClS<0+ zDrdPTl~h-euufnW`hoByQV|kmu;dSB1vt zZ_?9>5T`vm;%07LfXl}hmAs2QY6DHD}MGM>AV~B)#L`-*p!pMya8<&v~ z%pTGFC}R8P3KUW)mt~I`!_+lv&-p9GWmM<}@`hi;ILw zL5AI{caNd0x@|;z%hd~;+UpzVE^M6No&s)-m<+8;Yl#ihU_!<8s^VFB9ZYRuxss>{ zsrh$Dq;3oCIpc5yVf3MaVb9yv5IWL~{bl;p!pf3-S9M`kwJV$UBm_k7w`~r6SGR9V zXwV90B9yo#iC}!o+w-Q+Wa@ow|qm6pO5ITW~srB#K* zlIkriYOb$mJ3>$z%8E+Lh%^jTBZd>$i&&T0A}=Z+mUL8r*V zi?E;0sq?QmGH?I8DPh@Vqw)zGr_$0(Sm*hkSyh=oX?hWfD%9#%xxKq-F;pyCau(6? z*M>PflOemvV$`py#=7xVFQ}?!)uj@Y$`@`2ulj<8M6M9khxye9SE1AVC)-^C@77_PIFtd!98Z|^Hu*E2`H;FEL8^FjE z6XP|4J-J!TCvRa@$?U>nVrtQthDK{;B$jMEV7KY6r5n&(#C0g-+KNa^QRrAkCmgWL zf!E`A$_@0rU&4}gH`2d>S$?}KA@p`EoI%oB@-O1NZU3*o zhB@?+w+lt#6-Zt|ftyXvsP$}}+B|TD5ZfJWdGqrPUoFfDVZBo{pD?ww#0_r;%la3( zfo(f0zXMxsd)}lf;<#&IO&nSCs`H3tqgI(8Vp)!nf^qmsOq($MD+{Y}W-@j{xk&Jp zB;QS+J{6Yaxd(l5+$(Bo(pbTdhZBkMK7##W88P2aIu~QCyuz|R;GG*89n0!l+-^6K zHiL})K}Kf4vAK$vw+x_7vj2_B*kiQ5(<@JhCB<(=9yW#n^3ZxEb%Ao)HoEO}SgP(} z+Iu=IQrErzyVGHgz}!d9RT-Mbk$0ZA+@URuyM!`u?k4n5u2c5(c(tIo97uc6lDzl4 zs?Ze1N5yiBdW=sK6`mijDx2O?&s3TDafq60M(w7tPpn|aesqobv@)|gnATF-Sp{Nz zl5~2wY@Zq^9^=!3N#iqOLPkG3pnS#5;dwZrk@l3+$U3Jm8lCVcw>Vt#o5OT_pJ!&*k9 zSAk`D?OYXTeO<5u704z#*MM(mOEdUQpYnT4n^QPFyv_J|XaApP!=(G!RE^E0x5Y)p zc*aT)WeYn#7!`@@_0aKBXKmwLDEsUp5-~yYx|uF1E-5V}rirM)6e`Xe7fGO*hg#^P zX%h0;F$dZ-U%HQ&3ncA2$tHd(F&0YfTtp&^_+PbPVM|?Y^W2fxauzqSyAm-^mb81N zs1a0xrW@*35aY!XzgWhXN>EbR`st8e`lyjp(Yn1%f=g5LW0sW*7LDZ~grGaLPQL$5IAct=S9gT~J^J5b+&eX&)%TF9(vwh-#*UfaP zPZq|@gcychPIK=MPfNODKwoeckgf!~!8NQ0+#^~G-qg+E`!<`;><^GqEaChAz9eGT z8QePMko~)-Sv+Q%UT4`fD6}GPdR1X4JzQtWHED^^k|Ni}t%eRdagHUPPMBknL-O;g zU5Q2G_}!mAHpi0uQ18v5dUc*foo7|&+4jw|>t`mvD|Qysdzcp5#`iv(7XQ)a?0=Dn zJx+%{XOGc+!1g%VKpY>jt;J>~rjNDBgkA0vAV!{G1&+DWr$_{U=G)^w*U+%XeSs4D zmttaj7me8Cz7m|sUte&K`$pprd)&8-#CLp;`<`v74vXmrlxmyYk0^Eg#5cK^pYdDn zJEyU{D(smfPSU0Wc6Z4y{S|*DD~av5^Y=XK|HQh&p66Rvr?hot{2fb@?RIDQnl%vf zAN$W9ug~a%406WnT<8J|6yT|>HhP`T!(c4bZlOIM}gHEFuM-Th&G{WJu#s*=W zH?e6D{6~Q1k~jVtz~^Y}Uv&IOkujxzGeUJLKf%M|LmdD3WmHX{)LvaarLc?`37e%j zCFuq%H%vIAUII(Yh|3_+X%?gPl3Nzc$g3>N!!_O!AZf?K*%dQto6Bk!)$;`yh-`K% zxTK^#Yt(3B9pp{p+Qsku#ApQ31`rQot9TiS3zld&I+|l*6vg4beI8DeEyNU}tuiQt zP|SU6*m=|(;S$w7>$Fcc`_-;hwY3U&uu+LY{LSbghhkApUGlRBl49JGUZtMDFO^$+^>WYjYcNZ_fQ!F3l}U zd^~Ag(j|$9au4UeluOc^hKHoD8~&NQc!Zj@dBmBFlNl$6kIYQY7?im?{q2m-;a|9S z4S#?5f=pM|i0rA^E!hXM|IV%&T{Zgj$m>UM8vW?#53<8NqYmJ|vaw@Q$EQwCox)*y z>a5f&#?Bcl=OpC}&#BL8&RH~e&DcA~-krNAcYE&kvAtsn%!DpWf-5GOxoG<`gs%bi z@Oy@HHv@B!yWp8Re%zPj{_>Z*55aofHpwNYy9OooJl%cy#y{hG zNf7PJi8QlNwhv2Uq(q1dH^~uWvQ{BQt1whlh)t!}6v{D!r5``rDWk4JwX+>9vZ8&j^Vuq0OL=-aG zO9BRxF>JVUI2-odTt6-<>l>j8h;ghodgFj-RxlhH8~H7CR^AFSXgnJpGI#>rQ6$GD zPtY+@44Kiey{NB#@KywGI@rP$68=S@aBX6!5`HD)eIplCCBpMc|ts zPjK9rjQT^0_4Lh|^5BdTh@OSN;Lup&u67rcR1*8eK*rHzz&wzqu-=x6-VUAW*Fa_c zqQ%$N6H^(Fh2kML<)SwU74+-La=dk#S7=14WK^p3o%EVOr&S+UO*4z-SltX7amHaS zGhHGYc4N<*$vQd9ubC=l^DV2tj)cta?~DCXhQa5O&n`@)%TPD!a@tcYN9wL%q;0wy z`bn|uOs(y&8dJxsa$8vSqNYohSJhry-#(>&SxEuOuBWaNIcxMhjd55pr1>Bkx(}>FU#dJ@JY>U3eE2rfosF@3D1&L~b zwF<_OYZ_(iFjK3SOA@-ozrkyL4NBL6VDwTw&1;eEjUC1{Z|1CSH?!WeLH*S@iJ+@Sm@5YXZaW5^r-Ca1XJ&V}Vw7kNZh50;h zB(V%b9zPJ?!I8$0@ZrcQDO%5yIV2(-Np@gb$1`$Cgc}*9<>eJTBRhjcj6eo6Qi+UA z5}rXkXuO1z$j&0>OomWaz?;m@CdMpbWwK@?Kfjc5vz8GbjiQmF$TEr)at+04Cgx`l z%V^}V7(6WpCY&+I!R*MN!fmLl7>UIEEE1VR3TaK3ERV|tf_B_pBT7dS>sX!%(eMr@ z=8qzlaXhP}NFzO($O_%lCEK&dqo8Pd8N#+WgNgY$M4o`W=@3W-uE?te)m&nnDEO8y zqM6Sa?YcZ#YYVp7CgD(2QZ}i*q%3~~yH}SGdp>=$GQd_PCCKmw)p4gt7I9om@82fN!=`wP@)ym8-sfHenB7W| zt!YB;4?u;f^b=I@l=YVYe--mGWHGCi|Dng5JB@IcL`79mL+$()o|{SRl_IyKu@!A< z4h=_@$SiNFZ?0`!EcnPIa<#}VT|9qbU3n8Ic$k+ba=OT_u5W3rtZ!M;(Apuq9kDY+ zK}B=@wf%+dqR>1OOoHc3-X`YRERoLgre`C~7QdE`xQuA_U@pgzB>W08+g`<{CPu!X zgW0~s4XB1j9FwAl){3Ng4$0TXVr^Z+ToPUHKP(4@%xA+3=R^h>y@0l_4;-aiNDnoJ4Aosl^Ckq!%mB7HB*h8?7(>e- z#zopZYNVMP0&O#li$&Vf#BQq$2b`3Y!G;qK1DKYsoL)w(u!CvIg7U%{g}8{DVFc5% zrcFl;W2>N*w1mFVEhoCJC8h4ERg>KnmE}__s#h`8{v=7cj#{_N$-1R<>~=Xuw~Q7a zw++!JT~DvyE+^`4pbu=9}{r`V2u}}0$MoQL!%#& zqhi`nUNp6uyUtcK1aE>2Zl}{8k>hl?&?X@2meVzl$g!RkqF2lbHn|>K#?sd1#MUt& zlg$ z*y_CGn8%hxtoO@cmOAT({*1|m)l&**c}Vyj{dwTb0>hn`2)_jrGqc+XzTFj<6p-+{ z`qPyKBm%}dZ!x>R5i@Lc{TXG%44a)d4butSDSl}WJ6{sZ-F{icB}LUF0@gflCGG{a zz_RDfVAmxy45OYer@W$o*kRrCWkiS4{>68i*o@0Mc>PlDH`-Ey3PBt1nN zcSDCfO%LsstpVuYGvZefaXia@$-3u6#%z*wfd0&I4^mr??9v^gqk80c-Sc!N{v^GC zHCkLg73U5JlKmhNhmloLmC2Va{*u@i=>t7bUq|ROsNsQ8k>Ntm9u>MU{1{X1OrhSv z3=P(oy-7C$%GdGJ?kk!`ew7tL)r#1DD2v90t=#6wgSWZBS&kJ3#{LL>5i8#->@7os zvhtl8@W-AKMiEhbC#P%^g^q&B07PC$nPcWO-QeuO3>O6X%okQ<)PA}L9 zdsS1zQj+{7y??Kqr2C4KbHGMLB4Cmd9m>xbmJgL^|Ca8llWm^wP-y#J7?y+-`3aI3 zf6#>cBir7*QSea6Vl;meoHJF=rEP=tirsUxA!B1iEGN0uoSS2&xMvhrk}z1X_&s_O z3^XL_SJFve_`v3%mA5*rvJIxIb4f&=riUJtoe{8HF&40HxS-UF{&YtZ@0WZeXQ zgC}-L=M~9<`ns#d-P;tX<9GN#IO^<19gVO?TC0OZYu=X|mSA1KwP0TT;(5emLM?th zBvObDqaLc`)-YQb^4U$0&ugs%;XtsP>4wh(tmCZ_-ijS1Bg)(Bo12MbLAk}M6W7Y@ zj{Mf&Gql14FPDUaUTyoEOyNJ{wrYM2ROykkO zu*Dz^3+8~Tu_%a+qq==^)U?5(N&oWDAzsNN0?QK51mSOquqT{H62p)vh9M@2Htdt5 zJ%}h{X7S(@o!90#R3O+=b<9GeF)eHxrZiAwaRo5K4g+tF;W~FV^%-k$K*?WF+f1zK zK;t9OFGx3&!iaMPX^O}Y-EzZ#oC%cJEGEe4MpHKOnK^nCkw&trqs|lHXbmHWn8x5I zv;G1(2gt#>IyhIEJ6amc>W=HLEBXjII8Pz)>_wuUHdvGL*p_Xa ztSx|I?*b?(t1hg}!#Q9Eba{zbG+2(f64bYnh>NvVRH|h-N_`m>%?le_E1DNCYHB5> zsc1`^?q#}853!c>iNIOpPEQ2eROq;$#WKw|M|cUMDJsFPqlzuQ^M+Bb_EJ{0^#E@_ zk*1?Y+zd83xUB_u-SVOp2Ls$F#PUdPNG~8^m!Kvaz1)s`=&V^j#`BBwDzQrszm(=b zDGwWb8PM2t!YaBPRKuNGu|-4#=b zJXdQpr=t*pS=QdLu(6()=ZVIdR?V9`msl3?$-pfo!hCI8$b_QV8(UhN=Pqd?rmM8p zusW|sYsQ8w9p5^nMM&8iS=;A4OItipFAZtZaSJ>3JSB&OU&ClLg9LVxxE39KV6W`- z*V#`p%gc}YOEz3gg5vNXA@f}^N8~fA!a}2$#+xhzu0;nD8swZ zzH6g*iLx^<6JAIEcvt3=(Ppag-c-@TdM<5ZTz9fo>ITRiirIL#*nbA!LytZq$IZQu zbIngaENBx4!uwGVUQ&PVP|vn`;HX2p68S+*gTh9HBZoFWOj|&JEjO&Ae}j>jt@Pq& zq1(GI+-qqYaI6opH9w$N=7)V#SahnJb!xldg1PFLFcB{~wPikWK5}8&**p6sN56Ph z9_rZzL^kSJNxMN$?&HhKAj zQH+#%{Qh$~^#rOKpA@^Ej7<0{7xwc zQOcDaNqe4#9FS8zFQ5(6Vb(Bq5-f%nS(`^NbU1WNFEQSa3h847@epCYdX9l91UA5W zVtLs+y|~vK6U_LEj)%<{UuBvcAxy7nV$CGMZ?I*}U+MPhxKBLT_@?N9^DX+^0ogI` zZH?(t_p~MK82^sn%;Gu5_XKms_XP#xe>4gFmzodCQPOeN7g~2vPUEo@mXCE>oQjXX zPZ(dzh~>n2C7)^}KNBSFpX-E?y{fgj2wNCi+$7=)wrE*Qnik6$@#TOF7y-W)JP*Y( zU`8-RC(a_$H;|?MTecUmMGXBut0|L}636!&56N=X4@~esV*SBIYx+qWC(Oj3k#Fr2 z6j3XW*UBQMlR#ky3HYym0ZQ<%Z1(Xf@tfd2=6`hIAuO#^f>udm9cvDgTmD_ACGKFc zqFOgBXT&h|<3;?z2GWawP!Y?Y-iq#=HE0TUxxcj0`&;MNSvXO!<8Y+&hdJK9_Wwbv+a3Zq0vW5Pl3xfWBW&tC?Ud63Y=X$Xv}PQg|RDaS;lYo6#`| z(W>S_9DxysMG(bCMB3KQ^>%`U2Z`6wTBl9H%zTeX9GKHhB6L=iptr#xdap!7HGabS zTh9`$hx<{_BH{2Gvb~1Wz!<@OIA@qf-r`3-i;=hb$lC<@XgeMLf*j?M;YVOzL``JQ z^F(Hi)Sh^YcDNLo50U9ENHIo}VyqzRjMG;yp56p=Z+nNuU?RcnBh+3(=Ayv6HC_}mZJhnN!(C+ z`(fD`h+_;HoXUPj2I4e8V$*oOR8mgjhOwWqy5T&>1(Q87rVBE`Zap>^b_OtNUc{^n z`sHCcQXI-vA(2?a(+t6kUd3Yn@gEX z6wKp20YeXg?@=W1BA`tBosZ`M=5j5;ZK?4jyh2MeOKLpvgu@NVD>6eWis6bBN$i60 zBmz!Jo)mHh?P@J!Dx*DJOK|%sUN6k>rY~U+6X3Vxbt{nwhv!lxU^xXQe3(4xflD1p zI4^k;=NOQM`%PE=8JIOhM~%EzRtuD852Va%(Ayuk@y2D~%`C8ZGIylmY_| zPfjpD&r^!|VVyZLctv@N z+eRS?I7oTAqzJU&Ams^WsEmhM`YJ8WPKYRm)07u8n<%O_Xvv}yv;ya;C}R&lOmLrS zuS2Yh#haIs@;i8WGA2ZmhO2zX@nXD)jE>n$w$dNaAU!qKB4^h}7mdSVy zgT92`s8vX3eZI+?fVe{OID?Z)$20Z<05p6hC5_DaF=TdHv9dKhm5I(wW`%3L zg_BWex(zAuipR0eD}bqa)y3=FdHegmx0uuR*L-i;{Qv#8H*s5^!#JkB-<=<|_1q`` zY`yFdMT}jV>fa_*h3g^O{<~wa=V5G1*phACJeY#H2-wv{eEmavLlgUmuWYSmu<38n zfmb!`cnZDa=C!$lmpFHU5gyltjnyw`#J(H(!sx?k(7|UMf%+ajotAEw^^QGs;u(j0 z>7(a_8%*Jm29C$QG-r3Pqa6$7Xl^C;ectSn_QZn$^Oo1*t1OQF-ptt@c?}JV>uOu; zVM292!C#u_p5#FkhN!3XH1od}htvMF*gSo`V8+n&XL$sNmAd{x0Nrzb-+o~hP4}#) z5GZhV+p77b|W zeqT!wo6l*)^q{Xy+QQoSx9AdPcz+XHMH8kj;5IwhBRC>$19I3y0WcDAcSyzxda>Ra zXIX;J{xmh*f({euT6{CebsfE4?;JdGDe{HEGH#iH9e35M@zj(pla^NYD6MXBV=I%2 zbUiAKxB*`bLNL)T$?2qD>YWju8&RDZ%DFy+=To`~XqKD39~SbhDvz%jsSOw*?FOOn zX64~IATrF$#kZF*hIqn(VDuFRKJBa>20m5hr%19=)(cdn9||E4Nhl* zWvvu#|+3^@GpO8m)NY41W zNrnO5D69q&n(w7QrifSyeN3}?fUylOGT@TR7&lH9lCYOBiL(cWTv>`}Qsc#>!N(>}AZUkX)V+*~a< z_RZw!{pB-IZo9;9K)nX*nLZrjY$1=NOX)v>&P4s?1{zT*+pv9H0UXUtcqQnB)@W0V zJ>ZvW8Ra=_aM=qaOgk;oz+T5Eo^vkBgX@_X_yu*I=+uPy^u9sP@t%dg=B2BE7<4rs zNO%hxSVN1v;>K`V8hyj5wP0G@&sP)B&DZ!a#DF)WoJ}wccnivhv>H0oN#0%jb7WZSE0eMnU$+o)9lwn(4st4q@x@M8GT_W^xNhg&l~8pt`KWJzD96fW$7^3biRm+ z7dY>RA3=U8`>F&Bh$7CH40OHTXqT-=K?l2(KNByDMr2}r<-A6Qy+;2rIn#8n^Ccbe zhN#V^Y%gp5OE4?Aa>GZsF!QO|ys|`rX&=g{SufHK2nY0ty`=A*5 zA1_)B(EbZFtPsX5L*wTg`v;h$n#N+8EQ*GhKGat53KDGmNQ_3p$22C?8SnnYZ|F3& zVm%@H;cc7s=To#k>@%$+o=~Se=yT*azA*4-8yR0-fXY|rQ89ialvKjEOi4MX`JSOj z-+`Fzdre1*pkC3PAI@EKEenYBBe27N^2a9jpBdt|FsJ?scqIK@X3mou35bbZN#1P+rTgo8HD z%9}~7f1cmKUua;+-x@=HT;9^Oq-6naj0lCgg-HJZ%W+nSHj}U;?m$PSRflsJrm5cm z84Wl-V?Rs?2%u*JosPji+1didu@%bQi%;x>=nyL+MI<8*ap6J!2*e)D%4`iG0b&R3 z7h4%V`w@Cx%TgF<*u&Y$P@KmviWa`0HA`~*~w`(6XFMxR$piebFO4s4;M zkyzu-Lv^{do}WKH>?JWiQv*_tc(lqi2p#mSGdwfFj|cB6N<5FUF5HebEC!0%s56oU9;q9Hw2#(OUeaxt!aLBS_mEg6+DWUX^X$%4&vfu- znt>i`;SrZ0?VNeu5LZ=0eVJzY1ZbMwU*%F%F<&-7IK+6l=$`2c{AIqz(TD;UV`{1O zL-o|MbFe%|3~zt*Jxm<sE7dV!Fvv=Et=tJo#g z-%4P-nz1t;qu8Lax=3R+hnO1$eeZOX7Bjj{f}Nmi_+OPoH`CW;XH;s7n8U_aQSMxF z4!g_6SlO>-&o6C3*NG`@U&>!&W=YE!?dt{4!8iC`WZo#oY4A8rO9-hW&a?dU2BV4aMtUoFKV%^3boknVo_l}K zeGN~X0dyTcjo^@UsKz6D#0L)G1XxYd0_ihDovD$7G}o?C^TP%S@8aNK`p-~joW~?w z&E9r7qfwzgH@f%rebvJ2>oJt(Ft0mZyuO#i2UZs!q;N)@SD$~@%WN4~+hWs2AVk&w z>o8Gvx+B#Y87B*I_ckEIbl9{F^XQaMt3J#1T2pWDf%ANKmX! zJP5VNA<_$;$^qRoB9@L{Vq8KLjv-8bTy&b)`3INH@dLTFB@Cp+p8uN@y`FmQ(*{W% zG;d56-g@)UffVG_^C&QxrVXTF9Hy~1T=N5```Ck#jD6ms11hSWnB4=Z+eU!S96Bl& zIyGY;Ngi8g%o1Elh^-^$kpnBs2(V)s!7B*y9Ru^|fpm;xG}dwiYt~%G8Unz$^wzQU z?Hmij^o3lfEfsNhVrgq%YCzN-^H-b4dt(GdzG=d?vCfBrL!}NkiGlK*j_P!o}(Wk49XnWU7-VG;xq<8PK z9`)s6)8cXW@-bhQ-=-DwvM)E28lQAVWWD0e@ZY{(6-`CF)~^;hQRC|<*!Pt41${F6 zm=#}jcL_tfZKLph@$a;^ELg>!%BO6iS3T=Y&g|sYZQ{IJvnz{Zd^H}wxu@bhZMw&2 z%a-ni{Wf>z`8Kpga3lR2^@F#v z_p9tNz5`wuZp377?WU9?z`Cfk{1Orbr;PXz{zFsna?@p`0b2| zr6lqZjYsYX&}^FQ8BN?yy8bz5?3Hl92x|nvsZ-l-12~=QlE?7-Z0z2_3 zT6VyhF!C7|J;8P;-X}k6q!G>)cBe4Hb;8H+pcupGLwb7o;HXH?^PpmX!OsK3M-_e^ z(_u7)3kptmGF&5!_`u_Y{m6xCz2vLqgtz3pT3BJGm)V$s8N@WdV$^(QuhPP?af4%D z^VOE%G9kt{*yq=+O3Chzp4C5rB;lc}akOePgF*iYl zT6s_rFNaNI^8S-Q1%~VJ|JJZoJ?z|eIMO)@0hP8lyvxIHvGw}$u-N#`L4MPh<-ge8 zqW?VMj81>sTj;;U-VsYI?cM$*#;)`$Y1xy`D9?NS2fz2B8RY+*cUHum&GcWN{)jp5 zt6wt#prbyp+D5NNS zX~Gn(eT)KnI7a&v#h_UB6&ie5Kw>vr&D>B{$m33pgT-emj4tsFny?`piN_t>LSo}- z#B2E4N+NZ?W{>qGp)I!aWs`^$iC@H-VVHe#k3e4O8coF-}R7`~LnV^tC{%=e`l z@&3y+90b^<3W^||b;PZ8B%8=1L}Qb^`YoS@Jd&u4|5uYzCI~pQ@YN1(PSZwSyDJUP zrV(*b!-7WwCu$V?E(gt=AzK~9Hd^ZUe`svl$Izy@C|f`dq@%i`R9EyiSIq2@_-50;;i*e{YBw7i%9DX<`gqa~=cD8UrmF1FeFAge7cX>GTJ}<5I8H+DS=AnAmmw z%`62)(=sM^_z5#ff7{gzovgrDEh?r>5;K<38Vi5MK6S8 zgfp9e^9Jr~ap?4_A|vx!>=WxA@&P?bwmWu~gkQkB`Na;d6Z zrYe`K$`z_|rK;4ZO0BBQQI$GXnX4-GsxnVi=BvsARavMiSE!D$T0WqAIPbvP4y`Rh8>hWvQwxQy2+pBDm|*QM^*N!%A>0Cn5sOkD*IGrzp6Z;Do?7)Q>yZ`syw4A&#KCE zs&YV84ywu_Re4@jUQm_8s`8?$98r~*ROP6u98;B-Rpk{`c~wYgRlZS`Z&l?xRry|3eo&PkRplpD`B_!^ROO_q{Guwqs>*Mw@;_BMr7EXY z<#$y%qbh%>%Acz8m#X}&D*vd;+0}|}ouUKi0R}(-Kmr5;1_6wKAV4s{1PB3y0>S{{ z05c#0U;$VGHh>)<0~`P+AQBJ-hz7&}VgYf0!2lOv2p}Gi07wKR0g?eJfT4g?KpJ2e zU^pNh;0BBUWB@V&S%7T7NWdt-Xuudi4j>mW7BCLL`a2#l0WcA85g-pR36Kvc02Bg> z0Fwd5fD*vPfGL1dz*ImPpd3&EmQ~|01(*ZL8mjGr0W&vgcE(Kf$xEyc=;7ULZ zpcXI(PzRU`s0Yjg%m*w0ECgHyxEjy^SOjPUECw_It^qUyS^%wpC4g%I*8!FSmI1B@ z+yJ-{a1-EWfCtb9Xb0Q^SPobL=m4mIm4H=%TLG&9YXEBjw*l4xZU?LfYyjK=xD)U% zz+Hfi01DUy=mgvixCd}A;6A|pfCm7Z0S^MU0R9cw3g`lC13UzH7|;#a4tNBx1F#dY z3$Po|1K0!D3wRXp7~pZhKEQs!6M!cHPXV3=JOg+Z@EqU(;2_`-;Ca9cfWv?n0Y?BY z0geKW0bT~Y0(ceh8sK%n8-QNGn}D|fZv)-|ybE{_@IK%_fd2xH13mzJ2>1x_G2j!x z3Bad-&j6nTz5sj)_zLhf;2XfVfbRg`1AYMf2>1!`GoTM}67UP)SHN$8{{c<`P6K`i XoB{j+_!ICK;BUY`x?Rdy-Shtk+g$NP diff --git a/BIN/SH.S.CMD.txt b/BIN/SH.S.CMD.txt index c2788f69..9baf404b 100644 --- a/BIN/SH.S.CMD.txt +++ b/BIN/SH.S.CMD.txt @@ -513,7 +513,7 @@ CMD.READ lda (ZPArgVBufPtr) CMD.READ.VAR jsr CL.Reset .1 >SYSCALL GetChar - bcs .9 + bcs CMD.READ.VAR.9 jsr CL.CHARIN @@ -521,18 +521,19 @@ CMD.READ.VAR jsr CL.Reset bpl .1 lda (ZPCLBuf) - bne .2 - + bne CMD.READ.VAR.SET + +CMD.READ.VAR.UNSET >LDYA ZPVarNamePtr >SYSCALL UnSetEnv rts -.2 >PUSHW ZPCLBuf - +CMD.READ.VAR.SET + >PUSHW ZPCLBuf >LDYA ZPVarNamePtr >SYSCALL SetEnv -.9 rts +CMD.READ.VAR.9 rts *-------------------------------------- CMD.SLEEP lda (ZPArgVBufPtr) beq CMD.REN.CSYN @@ -993,12 +994,8 @@ CMD.FOR.LIST >LDYA ZPArgVBufPtr jsr CORE.StkPushYAX Push listPtr,hList - >LDYA ZPVarNamePtr - >SYSCALL strdup + jsr CORE.PushVarName Push hVARNAME bcs FOR.FILE.9 - - txa - jsr CORE.StkPush Push hVARNAME lda #C.FOR.LIST jsr CORE.StkPush @@ -1006,37 +1003,16 @@ CMD.FOR.LIST >LDYA ZPArgVBufPtr lda #C.FOR jsr CORE.StkPush - jsr CMD.NEXT.LIST.1 - bcs FOR.FILE.9 - - jmp CMD.FOR.LOOP + jsr CMD.NEXT.LIST.TOKEN + bcc CMD.FOR.LOOP + rts *-------------------------------------- CMD.FOR.FILE jsr CORE.ArgV.NextChar skip "(" >LDYA ZPArgVBufPtr ldx #O.RDONLY+O.TEXT jsr IO.FOpenYAX - bcs FOR.FILE.9 - - jsr CORE.StkPush push hFILE - - >LDYA ZPVarNamePtr - >SYSCALL strdup - bcs FOR.FILE.9 - - txa - jsr CORE.StkPush Push hVARNAME - - lda #C.FOR.FILE - jsr CORE.StkPush - - lda #C.FOR - jsr CORE.StkPush - - jsr CMD.NEXT.LINE - bcs FOR.FILE.9 - - bra CMD.FOR.LOOP + bcc CMD.FOR.PUSH FOR.FILE.9 rts *-------------------------------------- @@ -1050,19 +1026,23 @@ CMD.FOR.EXEC jsr CORE.ArgV.NextChar skip "`" >SYSCALL execl bcs FOR.FILE.9 - jsr IO.Pipe.In - bcs FOR.FILE.9 - - jsr CORE.StkPush push hPIPE + >LDA.G IO.hOut + ldy #S.PS.hStdOut + sta (pPS),y - >LDYA ZPVarNamePtr - >SYSCALL strdup + >STZ.G IO.hOut + + >LEA.G IO.FIFO + ldx #O.RDONLY+O.TEXT + jsr IO.FOpenYAX bcs FOR.FILE.9 - txa - jsr CORE.StkPush Push hVARNAME +CMD.FOR.PUSH jsr CORE.StkPush push hPIPE + + jsr CORE.PushVarName Push hVARNAME + bcs FOR.FILE.9 - lda #C.FOR.EXEC + lda #C.FOR.FILEEXEC jsr CORE.StkPush lda #C.FOR @@ -1070,7 +1050,7 @@ CMD.FOR.EXEC jsr CORE.ArgV.NextChar skip "`" jsr CMD.NEXT.LINE bcs FOR.FILE.9 - + CMD.FOR.LOOP ora CORE.TestResult ora #C.FOR Push FOR pha @@ -1078,7 +1058,8 @@ CMD.FOR.LOOP ora CORE.TestResult tay pla sta (pData),y - + +* clc rts *-------------------------------------- CMD.NEXT jsr CORE.StkGet Y = StkPtr @@ -1090,9 +1071,10 @@ CMD.NEXT jsr CORE.StkGet Y = StkPtr dey lda (pData),y - tax iny - jmp (J.NEXT,x) + tax + beq CMD.NEXT.LIST + jmp CMD.NEXT.FILEEXEC .9 lda #E.NOFOR sec @@ -1109,7 +1091,7 @@ CMD.NEXT.LIST lda (pData),y Y = StkPtr bpl .1 - jsr CMD.NEXT.LIST.1 + jsr CMD.NEXT.LIST.TOKEN bcs .9 bpl .1 @@ -1143,10 +1125,11 @@ CMD.NEXT.LIST lda (pData),y Y = StkPtr pla >SYSCALL freemem - clc +* clc .9 rts *-------------------------------------- -CMD.NEXT.LIST.1 lda (pData) +CMD.NEXT.LIST.TOKEN + lda (pData) dec skip FOR dec skip SUB TOKEN @@ -1194,9 +1177,7 @@ CMD.NEXT.LIST.1 lda (pData) tya beq .8 - >PUSHW ZPCLBuf - >LDYA ZPVarNamePtr - >SYSCALL SetEnv + jsr CMD.READ.VAR.SET bcs .9 lda (pData) @@ -1212,8 +1193,7 @@ CMD.NEXT.LIST.1 lda (pData) clc rts -.8 >LDYA ZPVarNamePtr - >SYSCALL UnSetEnv +.8 jsr CMD.READ.VAR.UNSET bcs .9 lda #0 @@ -1221,22 +1201,15 @@ CMD.NEXT.LIST.1 lda (pData) .9 rts *-------------------------------------- * stack-4 CmdPtr -* stack-3 hFILE +* stack-3 hFILE/hPIPE * stack-2 hVARNAME * stack-1 FOR SUB TOKEN * stack FOR TOKEN *-------------------------------------- -CMD.NEXT.FILE -*-------------------------------------- -* stack-4 CmdPtr -* stack-3 hPIPE -* stack-2 hVARNAME -* stack-1 FOR SUB TOKEN -* stack FOR TOKEN -*-------------------------------------- -CMD.NEXT.EXEC lda (pData),y Y = StkPtr +CMD.NEXT.FILEEXEC + lda (pData),y Y = StkPtr bpl .1 - + jsr CMD.NEXT.LINE bcs .9 bpl .1 end of file/pipe @@ -1291,17 +1264,14 @@ CMD.NEXT.LINE lda (pData) >SYSCALL fgets bcs .8 - >PUSHW ZPCLBuf - >LDYA ZPVarNamePtr - >SYSCALL SetEnv + jsr CMD.READ.VAR.SET bcs .9 lda #$80 * clc rts -.8 >LDYA ZPVarNamePtr - >SYSCALL UnSetEnv +.8 jsr CMD.READ.VAR.UNSET bcs .9 lda #0 diff --git a/BIN/SH.S.CORE.txt b/BIN/SH.S.CORE.txt index 85587120..1aa99432 100644 --- a/BIN/SH.S.CORE.txt +++ b/BIN/SH.S.CORE.txt @@ -657,8 +657,15 @@ CORE.StkPushYA phy CORE.StkPushYA.9 plx +CORE.StkPushYA.RTS rts *-------------------------------------- +CORE.PushVarName + >LDYA ZPVarNamePtr + >SYSCALL strdup + bcs CORE.StkPushYA.RTS + txa +*-------------------------------------- CORE.StkPush pha CORE.StkPush.1 lda (pData) StackPtr diff --git a/BIN/SH.S.txt b/BIN/SH.S.txt index ff5e4ba7..79932352 100644 --- a/BIN/SH.S.txt +++ b/BIN/SH.S.txt @@ -38,8 +38,7 @@ C.DEFAULT .EQ 25 *-------------------------------------- C.FOR .EQ 26 C.FOR.LIST .EQ 0 -C.FOR.FILE .EQ 2 -C.FOR.EXEC .EQ 4 +C.FOR.FILEEXEC .EQ 1 C.WHILE .EQ 27 C.IF .EQ 28 C.NEXT .EQ 29 @@ -169,9 +168,6 @@ J.CMD .DA CMD... .DA CMD.ELSE .DA CMD.FI .DA CMD.END -J.NEXT .DA CMD.NEXT.LIST - .DA CMD.NEXT.FILE - .DA CMD.NEXT.EXEC L.CORE.IO .DA CORE.IO J.CORE.IO .DA CORE.IO.AMP .DA CORE.IO.IN diff --git a/SYS/KERNEL.S.PIPE.txt b/SYS/KERNEL.S.PIPE.txt index 175c36a7..f9bd0ddf 100644 --- a/SYS/KERNEL.S.PIPE.txt +++ b/SYS/KERNEL.S.PIPE.txt @@ -18,7 +18,6 @@ IO.OPEN.PIPE ldy #S.FD.PIPE.S rts *-------------------------------------- IO.CLOSE.PIPE ldy #S.FD.PIPE.S - lda (pFD),y bmi .1 remote PS closed its end