From 12ad776ef6a4ce120ced65c678fcf93681247b6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Sat, 26 Oct 2019 16:33:37 +0200 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes .Floppies/A2OSX.TEST.po | Bin 819200 -> 819200 bytes BIN/CUT.S.txt | 22 ++++++--- BIN/GREP.S.txt | 27 +++++------ BIN/SH.S.CMD.txt | 67 ++++++--------------------- BIN/SH.S.CORE.txt | 97 ++++++++++++++++++++++++--------------- BIN/SH.S.IO.txt | 25 +++++----- BIN/SH.S.txt | 64 +++++++++++--------------- SYS/KERNEL.S.TIME.txt | 49 +++++++++++++++----- 9 files changed, 179 insertions(+), 172 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 1516f2a42ef30398af84720073136cefca70592d..bd7712f52a135bc541ab010e3f20526e266e8d8b 100644 GIT binary patch delta 48907 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%0AeZbh*f91-oA-0T5l71Lk z3&)gtYN6|g!zCm1z|8i%*5>-uJZ6SBMjCRl77hHWr_|_ae$oaw5M?+#F}jIHzWB#X zznvdZf&7K1a4NzH^IP(QgLGqSJlI1IW{Bi5tFTKa;SM`!FTM=FvvUZPS z4m+96eKU+gY3K=9D||GP+5PN;cV;mAOmNKz_GPhQQN+EdYfbRI2*yB$hL6SDEY3k! z9ur;`$u-jm*-uzZ@fI;D;_&!}$M@HegoeP=0yp|PY(a4G#*X9@4`J%UyCOWmQdLdT zi5SaV$$a%8H8o>2Ai@IdVF4-dUD;9%&3<|#E|xE+p`0plg! zgMzjpxvysM&_AhmH=Hf{auT*L7M3Le*mEVo0l$mb60p~k38oBjBN!nQTrc|cwPuT9 z9~4EMqeoH01EZVEM5r@P8{vrY4bUR*2&q?k@vYM*I9(o(nMk9pTRWhRtc4#1a53NW zS;!>Rp#jKgN2E(Qd^9?tdSq_ORIWUujvkwbVloytBp>vUL?R-lqYA_T!E~hi=gLcq z%PRBAad8L=$X7=Lt?ubws#y38Inxo*CRKQ*7V6EzZ{`ai!82@<4B9T?E@0us-bVC_ z%vM57(f2@Hdai*dOI#ABL58g!-W_p9%*K_uub)xF!prrRy?>akLd2(9dD640IS8H} zIvrx>DBSX->U8H7G1FWh)#^O&`V@zP)I6CT9v{J~fhU7?Ax#}07`|l|c@-^D;co8V zl1K+(rfc+t36IqxIiq5(Rj|uUr0rEqwG9JT3+@0_>D)pb3Yy%YA5r8)xWLd%qa)}1r! zhj1H#VoV0!{hS(XhwI2UNKG<|-r2y@UQkuLwTTwsAWms3`M1x(nGZjaZv2&@#BdS` zr{w_lVWTv{PedF3@Kv%)19oRucG_)ec!q#tXGCbdw55xUx_~+0G7=8+!T4-&5(#pG z^#R4IV(LwN*Ym1<)XlOD1PDgMUqr=lc8aAu(3@XhAn(WY&nmbQo-7^HPx z4mjTL(OHauzf0kS;OXPRTeD;Ka2!7#2+#sT?ef$;RW5LdqF!T@y>^c_}Se0q8fh1Zk^I1*X&g!9(USJI9t+4QY1LnLGQuc!;arUr)$0#`XaXE2KJvyxjFojz2 zfxk5(;2`pY@V>epWALQT?WefuFl2|Py-oSLe~7w`M*pPjY=l7C&oz2}QIWy$^gskotckSfS=eFf;D8|Xup@&2Fg*QL@{kMyUVpItZ~VQ( zs_m+mWfm~zHLams{0ArOE4sJ!s6I)une~_~Ilxchu9$=~eW^-O`Oft+MdfB=h^rg`E(w+R{Kz#`Lh)y%k;AcZ#Oo(C5#a zy!VLeaKA;9Ran&D)(58FqHcOe;>V6*d{<}dNm)Jol!8v_e&UVfZ3sV25dASliZ5lM zX9mS}Sk8(9L^(`S$VO~_wcGm|0etl5<-(BdGt+x$T;5X+d;d4R3i`muxes-EKI(5h zL$-ba=)KtS)X~QSu;by6ixNA(=aDdrlR^N3KK0@JOyZ3CoCp6EGxpy;7JYFUi>zPj zt65MjUd}P~^>gh%I@i9|nf{G3Af{xC5NGHG029Lc^}dFFt4pJaH;N}3zf&A?;o*gn z@Abnj9@g{NANUJ@RY!#XsJHNwY+=~X3h(=?8fExJ{5k?5eX!xbiiC6fwUz#U!!F63 z0KBFi!}ynfRU-mmFp5#=)2YGQ%e)UFBd{NP44v{ue;IV05x}4So0_f+;a~hsO;rMU z^h;`%V&t=5Qf~0k;#ot8Vw*ZYQ`|ofV@OV0D5-n(>!jqUkH8(Gj4R`Y7SJW6Kf)~D`rn)0#;jkzJ znGPi?mkU_*y8xlX4230Jv`|Ki)fJaGO5YUt8Lr99Af=1*9THF{AnZmz>w9A_&vmnxA^t3Pv0yi!W zi1OrE!XpQ`J0Ox?w-QR=27v&PaS#Y_pI;<}X%O!u;8uZ1!!YQEM+p^huV1fF0j7lG zj)6$(RzZ+FUWdRY2!z>sN>~KZ^&CB2I1RXP(_d63V<3{a;xCe93Pck34MdU*fvD-m zr2~F+ifk6PqFOrt5hbC`dOA^p@2^16H|fYQglvk~>A^5m%uN zydW(S_%_Y*6^HybM(ZOl;fW3&7w}v(-V`B6@vGqWs?Q7k;0<@ zIyE3PWT7`zgkcN8i_$W$i1P3ffJ{xNJiIckr;uk_gp}AOaM@Q-&R6|i4Rcp{3xQqL z`gbzE@w~LCJO+rC=-+s64Tx%xl87Q}y(}myonDx?K~%`4NfEqMuR`Ph%vlqCqJr@_MmQ=Ua!eHuLB_9^QL0ql!i~OB| zr@tHSaN1YP8$#Hog>ze&a#L?K@Z6EO0k!p#!)dt5Ahhpv+PRqh=KoRNc8k1C76->J z%(KGTVZYVDm6%BDP`4cN;cYy0pCLx^aMwOVgyDA4g59}R-ddv7I~^VvQ@cd}EN%r| z+OsCu&keODd_8eRH!6s`x#kVB7~KLhZ4@1*+t;C+V^uX8)spoy&_G#|SgsMR9^R0)GIb1I`zG&;w=79_%#`MPzau)GFL=foH96xqZ=ht# z2S7|&_$B2RI`UY0h6K9a_(4UXa;n+>JWX}lqI2ls6qK0o+Y-(z{CSn?RNYtVZ>LPu zUmlr6PnS!(gwQFOak6a1I7KHQS0@0s?55&VgbM0K^JH_zeEA#o|0=r<_^67le>b~< z&2AQwZMmDqCP5J}kS(d!NXI201O-$iQUs}w4vI@CgY8+KW$YkIo&{+Nv5Sggf0k#( z0v1G3!9FU=_n&fa?k<|==g|$>qW~q$d z_EZ}6Kt_6RmECX4BffoqEIM6(^n2iL$!b}7wHmeoC>p2l7J@uN@S)rG})FK0~Q$?W`G#uR(@ zA(4;~ke2g>k_oC*_m_B|TafU9WWPKV!u=I)@!45}lbJGPC6&{V=KsbL+ljAT+yv%1 zV9>8dw|uKYl4n6*uIKg+*LOVUkYLyECA$WG{F5+L=TDM{{XZi;l4RP*Wtbm4DW%SA zNKe#J54wI)(&N_*+T2m^l02kj1uTodr`Aj)QqtUinB9?cI8DH7a)8ltzs=qz)(u;6 zhWXg(unWh^qcZK1S51R1?UI4u-i~&fJ3Qz=U2{9}8#x0!S!(3?H1)ge;395+;YWrE zuPiO#1~DVV$oOvP%EknhRtt|D-V-~~)fxH;V{**eWaXkZO$(bfkJp$fd^-Bf8D~sK zzgd}_fca2NM|Tj9$RK`yE1-? zS)(~ic^h$@MVXxoEOOq&xy@=Wc)O;&iV2o?lo~xcpuy8A=|9>!m@;dI;yF)WYmfCa zJH_a+{-_)uJ{UrM{EgN;?|G04WR?w zdY5humb$6vcG&iZDhV`9j(PEE^a{6LWFG+ufs{JFfUi-OZV?}Or_)@o9=h=DMF&{1U=(>H1YH!4IzUpFr zW?*1yTd`PX#bT;?rWtSGFhC?UZT9H?V`eIj!t~=Wa`!*YHOu6vf5_e~n@u0{=%wA~ zSlX|6-Zxj)*eC`y?>SG^upmbd!Y68%S3mlg1xLK*UnplK_?!Qj`$uYlMf5bE?#u1G z*!oNhTp(^|6fU9L1A2b9z(t%ILatP`g$s-`siwqIS?P*q`fHBf+qPVcdPZmktSH0Q;N@+I`PT)lVq%S=)tB9;5~`z}ACorPD} zX+aH~ysqRG33j{6(uq6Vl^bAA;U6)o6oY9ACnb+G96-$r! zY2}Ty#jD3{H;Ilv_U0pA&~LSNZkwhRxJ`BbYU^_?u!i6E_g*V2!TVfjXhQ4q-Ejo@ z%scI?w65#uwLZNp*@>QOUK7wuvY$iyq}pBhJZHXw#uv=qbiZgm%y}uLr!?ow zvTg2H@GsZ3t2F0-L1&$ z&x7XwiG`KT#4Df5sT=t0PabCNRkPRixhZ4!$&Sza!sz%$Aq#uSy;07WDb>P>SG)@2 z3D+>{1ux}&)pnRXBP7xm(==`ZH~W_^)IR~+K6AbT%DxqruSj*_9S z>N6KV*B1(@_7QUC+z$1DazehkxtfVp`5nO ztMEMG3D&s#syi1i$z4c}FJ;rGIsKrG4_NL1{#6^-pxjb+&XcdIj`!-S7Uq{;XGm@& zbMx`y2_knW7P%D4jVEK=LrV!5p?>OvzA>V?OI&1$+!)aw;mR;fc} zOD*GRH@RhF8?=*KDrFkf(e={F5H?Ej&F@^fB?*j|CTG4ZDEIefEpGzS@*>Y%<3x+y zNGTfyuuKX?%iK-yM5>bZd2%Oa7%BZzQj(`$%%g|8O{F`x`j1Y+7>TcznhrCh^xzTX z8qK7zFi5JA2*Da@5gKg?Wu36~acw&b21+bc&6*chKFgb!dRcQ+23aSJdc4`Ld3+By zYnr1;%bQPUJ)j3+$Wx{s81h8Vs1tZg7t=Kl=p_>`klWFavfK5F@S{Fe#wG5^U3^iB zxvJOlDKnazn#aSGDBQf0Xoz4A?uO)VPI*_@`8qAb8!g-P3=g`;IY3U8;(_$B4?=|v z{y~nmE#9Q@JT?~LqA)sOVGf*XeKvdIM4mt_D`CunA;v6lHb~P>(NOx;`=P?bFkXa| zUQ&3SX1QV7iExmkvdc8eDQ5WwKN1z-!s~R0MR=Xz5E^}D&S+FixYHmus)!MUpYm1u3S{sDT(;Urxj+*M=+HrrywM`~Fc*a|}Cu@T03g<+{ zK9dCd!F8qM~2%Rui$cSU<~wtk+p3Q3t(cEhKZVr6?}^~e%|ca zIQ9f{A&<~mTlHY}D!k7HRE^g4V*0PGdRhEZZcX5mGu`IngvnK8iG!_GOus86V-{SQ zL1%8v2-&Wpk&PL?GWXS>DP@}ADR)|PA|MP-8=~l z{|QXDpUT)t1m}Hroh{_I?WL<1CxXYpRal$`uupo*VtMd>DFY`LHuuAU=G@uSyqKQK}eo&slI5ho7GhPtsZz0oR zI9jgxf0kLE7FlXv$Z#Or=0mz(?c>hAVn2&eC-EcA`4anS)NJR%#TQ(-}tYxB(j2#P{!B*!FdP4_CCc;4IfhjZdyGd1XnD8merLzAFYVem*{?s>ee`Dl*=?40x=RKxt-F-gi11Z#+HfddYrGDIbe zA0tx@A~X2FTinXD%ylT*hoD@+8Rjg-Ic}U1_PuQ`Xj&!$HM9VNbj3Mz(6o898$Kn# zO)vW%HF0W@_3>WqR?WTMoIW_&ji(h9YQ+Zp$=B=^aHEoaP_RjbIq;*gFXhb8f6ByZ z6B_1C*Mghr#^3Zn*ZVms=xriuVXI;asV&aoCl}Ar0^0kbF{*?7_n>cr2}jo8DI3^p5P=!guM^-}Qow_cUtz=K!B=7v1xD!k0wwgWx$8 z@R0wJ*5{oIbHYtFO?wy!do-k742K^qxwB+P$-GjY)O*6GcZXN*4_{KUY3!EW&zB$U zuRhiO>TAPf)1CL5v|N;5k!;5S8_#VxsVXZRWz}A7P5tD znSM9{b`EgQDM1Fc5&4mn$PMVU{snkdyYjiymDpnzC`YD3Sr2a!uZQ8BDL&7^?_Sij zi+sZs=5Gk^q!M|jOQ~(>thuoN^4jmF=9@sR#s+t+^f%wxrC0` zmhfhEmA{T2MNg~fpwpHmiIDARx_wEatF0UTY)RrM+c9)wGEv%+5puZXNx(Q_r8^y( zOyGPj+H_H(C*9RC;v`$$B*;&ANVw!TKRYo`kSH(G#b zT=-Z;Y^^vhx36uRGZb~&PNLcCQIV5r;ZJ%r>FX;c3FQ8;rn!iYn4x9&Q#^uC?798T z$Af0@bg8@SH0wr^T$7jh>0BaXS|_c}TC$ zm#)xkStBE1iF1yuX$Z;HU+a*UkvC67e09y8Zy6yzWVs8}59R)|J5sFEVb^u=dl#uP z&?%XV`2ux;D5&bf)Pg!Ku?|P(McOLO%QJUvTz48X&$&*P-lc`^351HzgZ5(bH=jMeyEx17nJKd|BR`n?ZZu1(!5(NY zriS5Kue1TpcVFt1!%o}1LG?vU3vGg~_tBO_FnhDQSEChdp}V#u^0T3_2+|0~dVp>S zhJqzqWxdCXNUUu~(9LTVuO%Opnu~bN4K+qkfeSD67e2bm_Tqj-l?b+gI@9(9!|vvK zjkFs1px0E1MxSfWnC*DVrAamHyT*Jp=ToN~s5u7LBU$tgjdrP{MFA{W~Mz3%!KX0@Y*SXMu__#n^%Nt%O zKqd=FW&bs^VC4Ty9atB1BlS)8O-a7=ExJ?>l_a4JiI&0?kLXb`r-j4uyPOz&W00@n zJ>$M~INoIz!w;7gsZ+SWu^SmaMG?*XELpL?3+(2ToQLa6RY8Phy7%DsQcv)IqLsHb zqQB4(kYU}JgFFYJaF=$DGf8A4t!5v3x!H^e~@pU`lH6(mq(7Mr-wtK%WXyU z^8ApV!*#QLYqYy(Az4yykGxqKe>s(FyIzM!8r+rE>TlWS2 z*h^aqLSyKHZHfAfpEUa9l0>OJ{IfZHVEfLQ6MWZE98ixKVN^ckmiPM14 zYT-Iv*|!ef!N1A+xexIu>XAc+jMiMg<4<_=K%4kOYttqU^S_lgLB|~xTysrM_VAYC z(BsE-I3M;Qe5Gu2_u-{TJKi*PI?r@zIO;S*yd=C}muW>a>86(gg*Y?j<(C3Q)w5wt zkqdL~Txp=`2UoPle*6>6JZWe#z6rsmu1W|lpd~K{0;3k124EReF?qdMGpCu_F-IPCi&?^G;(^-m#6ucI@+Sx--ONz(4 zcbEk_pFuZ3x$-}YF~L^S61$+ecJfvUz5F@Visu~^`s;>m;e4D3c64F{f~yA@r^acH zn4YDb-B}yctz&kX_K7C`n5${@>X|3|SFOH1A1D9{TUXy+)bwaS5ui5=#|Yxw0Up>0 zt3J1XaAmAs>jcAxA)%46liNOo5mJS3_8UGN-xo_VZS=$E8@qTrsHhDUH5uq=qmdsQ zkY7~oC$fazJ;S!jHm(@x0)$&_<4O+S-soH>&CXus@Mp1${u|a^{%s6?eq2cD_i+1{ zp+<7swycHoUKq}xA3E17liz)O3>)3c@I2tR*S&y7zMQvR?o_1a3aiLFBNTyOuBUl?t z9jRDFI9h2G5Q#hLqE#OH5BoVQAk!~wIkUpu@z{7}Rdr1*5(3VB8aJ!1-&x_Lj>{q} z=^9dhYClWgq_rirdJ7W+UV{`MP0PoLNQWV7sJ#T zF``cj$^Uof)L14&BrXW5?oLX=?NY3+IikD4D1+xs6SEgp1Y=<0jqqUh?Mu8IG#&`NKGA>rHw7PG>CXysTE9TgVd=LuB-@GR2l@MVxS=dlBxv3XrLHP zX>)sx4u@mlrfP#Crb+}Qq+Fwl^?ip7YOv5uAD1MTg68vBRXAE@FcL&ytddj2;i`&r z!B;Nch1Q`?rew74S!U6r(j52UJN?j6~|< zqFa@?!Z<~%Ax!>02PVTcanuRZSy7DD#UkN~sL^O}WF;i1%A;b|vb`!sDujG92x6*0 zj>fQ%EK6s;Ky{{YHo5pkP*!FHNy2++Uicl14jOmQY zSBXwYy%tqWX?1E9)7Hw$N{Gg`I>tD|MB1ttt*ZdP)W>^S8L(Y`iN#SxKKZ1ofvFM? z$12S0SW<|_`ji^}kIBg8VX9t~evK-|{$>?1|0B^DR@F3$QR_9I-u0=&(r%;Cg?v3R z8eLgedBnBSw}vGLjY=8rzoR8$T`-urrVh$YBx+o9v5v)XWD3c4yE7S%REWwM${<(~ z;=`&OMj^%<6R8VB>Lf~AX=2bWD~&2~6$0x7pHo8qV3x)q(CX`D9sj2M0W-G^2>KK9 zC-oXtJR`N$?Nu>?UaN?4X(8lK1;loW7_Y92W1jaJ)clu1eq%K+$jwMrWV4e?4 z?Zx)zIUnh2vx=xvRoXQK8drO)G*ibVP5y+T0YLt=Y5#F_W9l`!5iSXqWug5lR$+Cm zGzen7=2G2q4f%sc_i6n9Oz*g*k%HsWuc6=$wKlmO4&?Jc1_ptaVlW7_66`0;1sf|( z96UX&&ybX%N$tio4#YYDpstl{_VxN;Uj<^Q=XC+q~mP9*Fk!cHcvp0HC0>qA&y z!uk=`pRfUh4J2$3VS@=fm9PY1LkMdiY$##F2s@3i;e?GKtdX#hgq=><8H9}@Y&2nG z2s@Lovj{tzu(5=lL)bXNng~0Wu4~ zn+dyxuv-bcjj+{(ts(4o!qyUY2Vr*-wvMnC!v0OzU4-3D*gb^ZOW1nC?jvjiVH*kC zMA&A+wh(qdVGj_tm9TAuwG#FqVGj}ZFkz1n_9$VG5%xG?PY|}9uqO$7im;~%+dilgzYEnE5g1e>>I)k z5O$ETZwdR3u33wQw^;0FRg5Xb{`AOz$C1wbKC1QY{ZfG|)3lmcZy zSKuh%XrLQ#4A33u0rUip16%pbDr4YJggx4mb`t9ykFw5jY7r z8K?(N0r~)afqp=LU;r=>7z7LkP6ZOc5TF4V3Je2I1BL@5fJR^>a5``XFbWtAi~-IB z&H~N`#scR6_15<$WfvLbWU^*}Zm%0agJQ1D61o0+#`o1OEiB0ImeC0`cLVnT_X6vI z`+yC=Mqm@L8Q22c4?F;D1-1dLz=Oa;z{9{Jz@xxpz~jIZz;@tC;3?o~U7;2q#y;5}d$@ILSX@FDOKup8I| zd<=X7d;*mt_5oi2UjqAquYj+CZ-4{9LEu~9JK%fZ2jEBGC*Ws*0lxsh0>1%= PfZu^XY#Z2NTZjJxc-Z2E delta 42869 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 z
    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 delta 18848 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 Mi#FO7Z5;Oh0Q(3wIsgCw diff --git a/BIN/CUT.S.txt b/BIN/CUT.S.txt index 6c1afa52..1823211a 100644 --- a/BIN/CUT.S.txt +++ b/BIN/CUT.S.txt @@ -24,8 +24,8 @@ FieldNum .BS 1 StartChar .BS 1 EndChar .BS 1 Separator .BS 1 -ZS.END - .ED +hToClose .BS 1 +ZS.END .ED *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- @@ -145,6 +145,10 @@ CS.RUN stz ArgCount lda (ZPPtr1) cmp #S.FD.T.PIPE bne .97 + + ldy #S.PS.hStdIn + lda (pPS),y + sta hToClose *-------------------------------------- CS.RUN.LOOP >SLEEP @@ -160,12 +164,11 @@ CS.RUN.LOOP >SLEEP beq CS.RUN.LOOP jsr CS.RUN.OUT - bcs .9 - bra CS.RUN.LOOP + bcc CS.RUN.LOOP .8 cmp #MLI.E.EOF bne .90 - + lda #0 .90 sec .9 rts @@ -200,8 +203,10 @@ CS.RUN.OUT ldx FieldNum .6 iny lda (ZPBufPtr),y beq .8 + eor Separator bne .6 + sta (ZPBufPtr),y .8 >LDYA ZPBufPtr @@ -264,7 +269,12 @@ CS.RUN.AddYToBufPtr lda ZPBufPtr+1 .8 rts *-------------------------------------- -CS.QUIT lda hBuf +CS.QUIT lda hToClose + beq .1 + + >SYSCALL fclose Close the pipe + +.1 lda hBuf beq .8 >SYSCALL FreeMem diff --git a/BIN/GREP.S.txt b/BIN/GREP.S.txt index 7af2ca42..530fe814 100644 --- a/BIN/GREP.S.txt +++ b/BIN/GREP.S.txt @@ -109,6 +109,7 @@ CS.RUN stz ArgIndex .8 lda hFile bne .80 + ldy #S.PS.hStdIn lda (pPS),y tax @@ -118,6 +119,10 @@ CS.RUN stz ArgIndex lda (ZPPtr1) cmp #S.FD.T.PIPE bne .97 + + ldy #S.PS.hStdIn + lda (pPS),y + sta hFile .80 >LDYAI 256 >SYSCALL GetMem @@ -130,12 +135,9 @@ CS.RUN.LOOP >SLEEP >PUSHWI 256 >PUSHW ZPBufPtr - lda hFile - bne .1 - ldy #S.PS.hStdIn - lda (pPS),y -.1 >SYSCALL fgets + lda hFile + >SYSCALL fgets bcs .9 inc LineNum bne .2 @@ -219,16 +221,16 @@ CS.RUN.toUpper bit bIgnoreCase .9 rts *-------------------------------------- -CS.QUIT lda hBuf +CS.QUIT lda hFILE beq .1 + >SYSCALL FClose + +.1 lda hBuf + beq .8 + >SYSCALL FreeMem -.1 lda hFILE - beq .2 - - >SYSCALL FClose -.2 .8 clc rts *-------------------------------------- @@ -250,8 +252,7 @@ MSG.NUMLINE .AZ "%5D:" .DUMMY .OR 0 DS.START -DS.END - .ED +DS.END .ED *-------------------------------------- MAN SAVE USR/SRC/BIN/GREP.S diff --git a/BIN/SH.S.CMD.txt b/BIN/SH.S.CMD.txt index 5af42a04..374c9731 100644 --- a/BIN/SH.S.CMD.txt +++ b/BIN/SH.S.CMD.txt @@ -279,21 +279,21 @@ CMD.SET.EXEC jsr CORE.ArgV.NextChar skip "`" jmp CMD.READ.VAR .9 rts *-------------------------------------- -CMD.DATE sec - .HS 90 BCC -CMD.TIME clc - php - >LEA.G TimeBuf +CMD.DATE >LEA.G TimeBuf >SYSCALL Time >PUSHEA.G TimeBuf - plp - bcc .1 - >PUSHW L.FMT.DATE + + lda (ZPArgVBufPtr) + beq .1 + + >LDYA ZPArgVBufPtr bra .2 -.1 >PUSHW L.FMT.TIME +.1 >LDYA L.FMT.DATE -.2 >LEA.G StatBuf +.2 >PUSHYA + + >LEA.G StatBuf >SYSCALL StrFTime >LEA.G StatBuf >SYSCALL puts @@ -338,49 +338,8 @@ CMD.ECHO stz ZPPtr1 echo -N CMD.ECHO.CSYN lda #E.CSYN sec - rts -*-------------------------------------- -CMD.GETKEY lda (ZPArgVBufPtr) - beq CMD.ECHO.CSYN - ldy #S.PS.hStdIn - lda (pPS),y - >SYSCALL feof - bcs .9 - tay - beq .1 - -.10 lda #'0' - >STA.G M32.BUF - iny - lda #0 - sta (pData),y - bra .8 -.1 >SYSCALL getchar - bcs .9 - cmp #'[' - bne .4 - >SYSCALL getchar - bcs .9 - ldx #EscChars.Cnt-1 - -.2 cmp EscChars,x - beq .3 - dex - bpl .2 - bra .10 -.3 lda EscChars.Remap,x -.4 >PUSHA - >PUSHBI 1 - >PUSHW L.FMT.GETKEY - >LEA.G M32.BUF - >SYSCALL sprintf - bcs .9 -.8 >PUSHEA.G M32.BUF - >LDYA ZPArgVBufPtr - >SYSCALL SetEnv -.9 -CMD.GETKEY.RTS rts +CMD.ECHO.RTS rts *-------------------------------------- CMD.READ lda (ZPArgVBufPtr) beq .9 @@ -404,7 +363,7 @@ CMD.READ lda (ZPArgVBufPtr) >PUSHBI 0 >LDYA ZPArgVBufPtr >SYSCALL printf - bcs CMD.GETKEY.RTS + bcs CMD.ECHO.RTS bra .5 .9 jmp CMD.E.CSYN @@ -414,7 +373,7 @@ CMD.READ lda (ZPArgVBufPtr) beq .9 >LDYA ZPArgVBufPtr >SYSCALL AToL - bcs CMD.GETKEY.RTS + bcs CMD.ECHO.RTS >PULLA >STA.G READ.N diff --git a/BIN/SH.S.CORE.txt b/BIN/SH.S.CORE.txt index c77068f2..583c571e 100644 --- a/BIN/SH.S.CORE.txt +++ b/BIN/SH.S.CORE.txt @@ -107,35 +107,34 @@ CORE.Run.SYN lda #E.SYN sec rts *-------------------------------------- -CORE.Run >LDYA ZPInputBufPtr Save Actual cmd for looping +CORE.Run jsr IO.Reset + + clc + .HS B0 BCS + +CORE.Run.1 sec coming from PIPE OUT + ror + >STA.G CORE.bPipeIn + + >LDYA ZPInputBufPtr Save Actual cmd for looping >STYA ZPInputCmdPtr >LDYA ZPArgVBuf >STYA ZPArgVBufPtr + lda #0 Reset ArgV Buffer sta (ZPArgVBuf) - lda #S.PS.F.HOLD - sta CORE.PSFlags - lda #$ff + dec +* lda #$ff sta CORE.IntCmd assume external - jsr CORE.GetCharNB + lda #S.PS.F.HOLD + sta CORE.PSFlags + +.3 jsr CORE.GetCharNB bcs CORE.Run.EOF - cmp #'|' - bne .21 - jsr IO.Pipe.In - bcs .9 - - jsr CORE.GetNextCharNB Skip | - bcs CORE.Run.SYN - bra .3 - -.21 pha - jsr IO.Reset - pla - -.3 cmp #C.CR empty line ? + cmp #C.CR empty line ? bne .33 jsr CORE.GetNextChar skip CR... bra .8 @@ -145,8 +144,7 @@ CORE.Run >LDYA ZPInputBufPtr Save Actual cmd for looping .12 jsr CORE.SkipLine -.8 jsr IO.Reset - lda #0 +.8 lda #0 clc .9 rts EOL, CS,A=0 @@ -197,36 +195,64 @@ CORE.Run.5 >LDYA L.CORE.IO CORE.Run.6 jsr CORE.ArgV.Add CORE.Run.7 jsr CORE.GetCharNB - bcs CORE.ExecCmd.1 Nothing to skip + bcs .2 Nothing to skip + jsr CORE.IsEndCmd bcs CORE.Run.5 - cmp #'|' - bne CORE.ExecCmd skip CR, ; + tax + + jsr CORE.GetNextCharNB Skip EoL char + + cpx #'|' Pipe OUT ? + bne .2 + sec +.1 .HS 90 BCC +.2 clc + ror + >STA.G CORE.bPipeOut + + >LDA.G CORE.bPipeIn + bpl .3 + + jsr IO.Pipe.In + bcs CORE.Run.RTS + +.3 >LDA.G CORE.bPipeOut + bpl CORE.ExecCmd + jsr IO.Pipe.Out bcs CORE.Run.RTS - lda CORE.PSFlags - and #$ff^S.PS.F.HOLD Run in the background... - ora #S.PS.F.CLOSEONX ...and close PIPE on exit - sta CORE.PSFlags - jsr CORE.ExecCmd.1 Do not skip | + lda #S.PS.F.HOLD Run in the background... + trb CORE.PSFlags + lda #S.PS.F.CLOSEONX ...and close PIPE OUT on exit + tsb CORE.PSFlags + + jsr CORE.ExecCmd php pha - jsr IO.Pop.Out restore Output + >LDA.G CORE.bPipeIn + bpl .4 + + jsr IO.Pop.In restore Input + +.4 jsr IO.Pop.Out restore Output pla plp + bcs CORE.Run.RTS + + jmp CORE.Run.1 Loop with Pipe IN + CORE.Run.RTS rts *-------------------------------------- * Input : ZPArgVBuf *-------------------------------------- -CORE.ExecCmd jsr CORE.GetNextCharNB Skip EoL char - -CORE.ExecCmd.1 lda #0 +CORE.ExecCmd lda #0 sta (ZPArgVBufPtr) >LDYA ZPArgVBuf >STYA ZPArgVBufPtr @@ -252,10 +278,7 @@ CORE.ExecExtCmd >PUSHB CORE.PSFlags >PUSHA >PUSHBI 1 >PUSHW L.MSG.PID - ldy #S.PS.hStdErr - lda (pPS),y - >SYSCALL fprintf - rts + jmp IO.PrintErr .4 >SLEEP Suspend this PID sec diff --git a/BIN/SH.S.IO.txt b/BIN/SH.S.IO.txt index c67732da..d09d6f75 100644 --- a/BIN/SH.S.IO.txt +++ b/BIN/SH.S.IO.txt @@ -48,13 +48,8 @@ IO.Reset.In sec beq .8 bcc .1 - pha - ldy #S.PS.hStdIn - lda (pPS),y - - >SYSCALL fclose - pla + jsr IO.Close.Y .1 ldy #S.PS.hStdIn sta (pPS),y @@ -102,11 +97,8 @@ IO.Reset.Out sec bcc .1 - pha ldy #S.PS.hStdOut - lda (pPS),y - >SYSCALL fclose - pla + jsr IO.Close.Y .1 ldy #S.PS.hStdOut sta (pPS),y @@ -125,16 +117,21 @@ IO.Set.Err pha *-------------------------------------- IO.Reset.Err >LDA.G IO.hErr beq .8 - pha + ldy #S.PS.hStdErr - lda (pPS),y - >SYSCALL fclose - pla + jsr IO.Close.Y + ldy #S.PS.hStdErr sta (pPS),y >STZ.G IO.hErr .8 rts *-------------------------------------- +IO.Close.Y pha + lda (pPS),y + >SYSCALL fclose + pla + rts +*-------------------------------------- IO.Pipe.OpenR ldx #O.RDONLY+O.TEXT .HS 2C BIT ABS diff --git a/BIN/SH.S.txt b/BIN/SH.S.txt index 989417a2..8a9edd45 100644 --- a/BIN/SH.S.txt +++ b/BIN/SH.S.txt @@ -16,36 +16,34 @@ C.NOHUP .EQ 3 C.DATE .EQ 4 C.ECHO .EQ 5 C.EXIT .EQ 6 -C.GETKEY .EQ 7 -C.MD .EQ 8 -C.PAUSE .EQ 9 -C.PWD .EQ 10 -C.RD .EQ 11 -C.READ .EQ 12 -C.REN .EQ 13 -C.SET .EQ 14 -C.SLEEP .EQ 15 -C.SHIFT .EQ 16 -C.TIME .EQ 17 -C.PUSHD .EQ 18 -C.POPD .EQ 19 -C.FUNCTION .EQ 20 -C.CALL .EQ 21 -C.BREAK .EQ 22 -C.SWITCH .EQ 23 -C.CASE .EQ 24 -C.DEFAULT .EQ 25 +C.MD .EQ 7 +C.PAUSE .EQ 8 +C.PWD .EQ 9 +C.RD .EQ 10 +C.READ .EQ 11 +C.REN .EQ 12 +C.SET .EQ 13 +C.SLEEP .EQ 14 +C.SHIFT .EQ 15 +C.PUSHD .EQ 16 +C.POPD .EQ 17 +C.FUNCTION .EQ 18 +C.CALL .EQ 19 +C.BREAK .EQ 20 +C.SWITCH .EQ 21 +C.CASE .EQ 22 +C.DEFAULT .EQ 23 *-------------------------------------- -C.FOR .EQ 26 +C.FOR .EQ 24 C.FOR.LIST .EQ 0 C.FOR.FILEEXEC .EQ 1 -C.WHILE .EQ 27 -C.IF .EQ 28 -C.NEXT .EQ 29 -C.LOOP .EQ 30 -C.ELSE .EQ 31 -C.FI .EQ 32 -C.END .EQ 33 +C.WHILE .EQ 25 +C.IF .EQ 26 +C.NEXT .EQ 27 +C.LOOP .EQ 20 +C.ELSE .EQ 29 +C.FI .EQ 30 +C.END .EQ 31 *-------------------------------------- C.CLEXEC .EQ 63 *-------------------------------------- @@ -124,8 +122,6 @@ L.MSG.ERROR .DA MSG.ERROR L.MSG.PRINTENV .DA MSG.PRINTENV L.MSG.PID .DA MSG.PID L.FMT.DATE .DA FMT.DATE -L.FMT.TIME .DA FMT.TIME -L.FMT.GETKEY .DA FMT.GETKEY L.FMT.Long .DA FMT.Long J.ESC .DA CL.BS left arrow .DA HIS.GetNext @@ -141,7 +137,6 @@ J.CMD .DA CMD... .DA CMD.DATE .DA CMD.ECHO .DA CMD.EXIT - .DA CMD.GETKEY .DA CMD.MD .DA CMD.PAUSE .DA CMD.PWD @@ -151,7 +146,6 @@ J.CMD .DA CMD... .DA CMD.SET .DA CMD.SLEEP .DA CMD.SHIFT - .DA CMD.TIME .DA CMD.PUSHD .DA CMD.POPD .DA CMD.FUNCTION @@ -530,9 +524,7 @@ MSG.ERROR .AS "[$%h]:%S." MSG.ECHOCRLF .AZ "\r\n" MSG.PRINTENV .AZ "%s = %s\r\n" MSG.PID .AZ "PID=%d\r\n" -FMT.DATE .AZ "%A (%w), %B %d %Y" -FMT.TIME .AZ "%H:%M:%S (%I:%M:%S%p)" -FMT.GETKEY .AZ "%d" +FMT.DATE .AZ "%A, %B %d %Y %H:%M:%S" FMT.Long .AZ "%L" *-------------------------------------- HOME.PROFILE .AZ "${HOME}PROFILE" @@ -555,7 +547,6 @@ CMD .AT ".." .AT "DATE" .AT "ECHO" .AT "EXIT" - .AT "GETKEY" .AT "MD" .AT "PAUSE" .AT "PWD" @@ -565,7 +556,6 @@ CMD .AT ".." .AT "SET" .AT "SLEEP" .AT "SHIFT" - .AT "TIME" .AT "PUSHD" .AT "POPD" .AT "FUNCTION" @@ -673,6 +663,8 @@ CL.Len .BS 1 CL.bReady .BS 1 CORE.hArgVBuf .BS 1 +CORE.bPipeIn .BS 1 +CORE.bPipeOut .BS 1 HIS.hBuf .BS 1 HIS.Count .BS 1 diff --git a/SYS/KERNEL.S.TIME.txt b/SYS/KERNEL.S.TIME.txt index 41fd8336..fdae2437 100644 --- a/SYS/KERNEL.S.TIME.txt +++ b/SYS/KERNEL.S.TIME.txt @@ -39,8 +39,10 @@ K.PTime2Time jsr SHARED.SPtr1PPtr2 lsr C is high bit of month ldy #S.Time.YEAR sta (ZPPtr2),y set year + sta ACC32+3 for conputing Century/WDAY later lda (ZPPtr1) Get Month/day + pha save Day ror lsr @@ -53,6 +55,7 @@ K.PTime2Time jsr SHARED.SPtr1PPtr2 and #$1F iny sta (ZPPtr2),y set day + lda ACC32+3 get back year cmp #69 if before 70 CC,if > 70, CS lda #0 @@ -60,7 +63,7 @@ K.PTime2Time jsr SHARED.SPtr1PPtr2 eor #1 toggle C adc #19 set date before 1970 -> 20xx sta (ZPPtr2) set Century - sta ACC32+2 for conputing WDAY later + sta ACC32+2 for computing WDAY later ldy #2 lda (ZPPtr1),y Get Min @@ -80,22 +83,28 @@ K.PTime2Time jsr SHARED.SPtr1PPtr2 *-------------------------------------- K.ComputeWDAY lda #DAY0-1 Thursday : 4 (-1 for mod 7) pha - lda #19 + + lda #CENTURY0 sta ACC32 - lda #70 + lda #YEAR0 sta ACC32+1 + .1 ldy ACC32 lda ACC32+1 + cpy ACC32+2 bne .2 cmp ACC32+3 beq .4 + .2 jsr TIME.IsLeapYearYA CS = Leap + pla - adc #1 + adc #1 365 mod 7 cmp #7 bcc .3 sbc #7 MOD 7 + .3 pha inc ACC32+1 lda ACC32+1 @@ -109,28 +118,41 @@ K.ComputeWDAY lda #DAY0-1 Thursday : 4 (-1 for mod 7) .4 ldy #S.Time.MONTH lda (ZPPtr2),y get month tax -.5 lda K.StrFTime.MDAY-1,x get day count in this month - clc + + dex don't include actual month + beq .71 + +.5 clc assume NO leap + + lda K.StrFTime.MDAY-1,x get day count in this month bne .6 february ? + ldy ACC32+2 lda ACC32+3 - jsr TIME.IsLeapYearYA CS = Leap + jsr TIME.IsLeapYearYA CS = Leap + .6 pla adc K.StrFTime.MDAY-1,x + cmp #7 bcc .7 sbc #7 + .7 pha dex bne .5 - pla + +.71 pla ldy #S.Time.DAY + clc adc (ZPPtr2),y get day in month (1..31) dec adjust range 0.30 for MOD 7 + .8 cmp #7 MOD 7 bcc .80 sbc #7 bra .8 + .80 inc adjust range 1..7 ldy #S.Time.WDAY sta (ZPPtr2),y @@ -256,14 +278,17 @@ K.CTime2Time.HMS TIME.IsLeapYearYA cmp #0 Year = 00 ? bne .1 no - tya year = 00, get century in a - and #$3 mod 4 = 0 ? - beq .9 leap year -.8 clc not leap + + tya year = 00, get century in A + + and #$3 Century mod 4 = 0 ? + beq .9 leap year (2000) +.8 clc not leap (1900) rts .1 and #$3 mod 4 = 0 ? bne .8 + .9 sec Leap rts *--------------------------------------