From 5d49c27c79a242e8cea239c88f9d83827d47a246 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Sun, 22 Nov 2015 23:30:06 +0100 Subject: [PATCH] Complete Rewrite #4 : Still debbuging... --- A2OSX.BOOT.DSK | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes A2osX.S.GP.txt | 57 ++-- A2osX.S.TOOLS.txt | 2 +- A2osX.S.txt | 2 +- A2osX.STARTUP.txt | 35 +-- BIN/ARP.S.txt | 8 +- BIN/ASM.S.EXP.txt | 7 +- BIN/ASM.S.FIO.txt | 4 +- BIN/ASM.S.SYM.txt | 7 +- BIN/ASM.S.txt | 12 +- BIN/CHTYP.S.txt | 41 +-- BIN/{DNS.S.txt => DNSINFO.S.txt} | 12 +- BIN/EDIT.S.txt | 55 ++-- BIN/LS.S.txt | 101 +++---- BIN/LSDEV.S.txt | 4 +- BIN/MD.S.txt | 3 - BIN/MEM.S.txt | 5 +- BIN/MOUNT.S.txt | 6 +- BIN/{NETCFG.S.txt => NETINFO.S.txt} | 8 +- BIN/PING.S.txt | 21 +- BIN/PS.S.txt | 4 +- BIN/RM.S.txt | 3 - BIN/RPCINFO.S.txt | 13 +- BIN/TEST.S.txt | 42 +-- DRV/CONSOLE.DRV.S.txt | 13 +- DRV/DHGR.DRV.S.txt | 30 ++- DRV/MOUSE.DRV.S.txt | 28 +- DRV/UTHERNET.DRV.S.txt | 24 +- ETC/HOSTNAME | 1 + ETC/HOSTS | 0 ETC/TCPIP.CONF | 1 - INC/A2osX.I.txt | 44 ++-- INC/APPLESOFT.I.txt | 70 +++++ INC/MACROS.I.txt | 24 +- LIB/LIBSTR.S.txt | 2 - LIB/LIBTCPIP.S.txt | 3 - SBIN/DHCPCLNT.S.txt | 27 +- SBIN/GETTY.S.txt | 104 ++------ SBIN/GUI.S.txt | 1 - SBIN/HTTPD.S.txt | 0 SBIN/INSDRV.S.txt | 74 ++++++ SBIN/LOGIN.S.txt | 100 +++---- SBIN/SHELL.S.CMD.txt | 170 +++++++----- SBIN/SHELL.S.txt | 300 +++++++++++++++------ SBIN/TCPIP.S.txt | 38 ++- SBIN/TELNETD.S.txt | 4 +- SYS/KERNEL.S.BIN.txt | 8 +- SYS/KERNEL.S.CIO.txt | 201 ++++++++++++++ SYS/KERNEL.S.DEV.txt | 204 ++++++++++++++- SYS/KERNEL.S.DRV.txt | 33 ++- SYS/KERNEL.S.ENV.txt | 259 +++++++++--------- SYS/KERNEL.S.EXE.txt | 199 -------------- SYS/{KERNEL.S.FS.txt => KERNEL.S.FIO.txt} | 53 ++-- SYS/KERNEL.S.LIB.txt | 55 ++-- SYS/KERNEL.S.SCR.txt | 304 ---------------------- SYS/KERNEL.S.TSK.txt | 201 +++++++------- SYS/KERNEL.S.txt | 184 +++++++------ _Make_SYS.txt | 5 +- 59 files changed, 1678 insertions(+), 1538 deletions(-) rename BIN/{DNS.S.txt => DNSINFO.S.txt} (91%) rename BIN/{NETCFG.S.txt => NETINFO.S.txt} (93%) create mode 100644 ETC/HOSTNAME create mode 100644 ETC/HOSTS create mode 100644 INC/APPLESOFT.I.txt create mode 100644 SBIN/HTTPD.S.txt create mode 100644 SBIN/INSDRV.S.txt create mode 100644 SYS/KERNEL.S.CIO.txt delete mode 100644 SYS/KERNEL.S.EXE.txt rename SYS/{KERNEL.S.FS.txt => KERNEL.S.FIO.txt} (86%) delete mode 100644 SYS/KERNEL.S.SCR.txt diff --git a/A2OSX.BOOT.DSK b/A2OSX.BOOT.DSK index ad42d5a633b5be998d3504572930262ed145994b..256ff6fbe515d2fc1345feba707f52d7c9dcb5c6 100644 GIT binary patch delta 33310 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 Q^6^3@6nW3@YCEgx20xbr1ONa4 delta 35046 zcmeFa30#v`_CI`|gkac1*dn4n34~3JfE!vj1QaR?1zc;}P@#oZ(E@F??KFvs?O0-g zSfjteP9`m_afl7rWt^#$ZVuSiM#olb>sBqbRWL5y?9~3h_qk74)cO7Y|Ihn=-sSVY zpn2|k?z!ild(OG%+&mah%Z;byF0Bt2V2Ssc=QDR?P^9H?pID!wk@85(i$0I|Od6>P zw}i=PNkF7!ijWu?X(^FKO={r?{fQ-K38C#JM4cg&^nLiQAOVDg33=L#rzy*8ve-pM zBV*B?6lWI|3$^Sc#7qEFLO%qs{8u9ag3(Mud|2DG{>CBpo7x^9!AI^%^6i!R{x1CN z86GIl85NAq(uCM~+4K6l65?A8a0P(HE@U5(1d1)P1m!@ZAh>C7=j?M7&diEhP)0Cb=oi#6p@#CgIsxxdVyoONqf{6fBII^!b27+IJL5%*vTlsLLu` zNVE9yT}XV%TDg$!Ba!9Bg;9#{Zo*>EhYP1lrH`*!`w}OSSbUaERrvVc)U9AyM3^u6 zlV5)^Z#e z(a4dJdkXX}&QO$H%ok)7=S*tF+4O9`FYuN^@6e&XJ_&P9eEV< zD0xuld1?QtcR@j}(4D^p6U#mKM~@Mp6lWIX7Vz1{IpY{gUJ{Fgh!hM;wj94diA%Ql zEFUxD7A(Cic`N?&@)s1b`HDC%$PKb^l45(Q#E^H;{gkhJ?!R^(iTF(O*_6*_d`1aB z^jPGv{9`T07Jor=gw&mGJs0~82kFOtW`3LbZSnaf=ifhn^gb$ zaZ-6|?5VUK&p-W#)6bsX zbo%P0XwPsDAy)jSKf^AJyfFSk`h_Piu>Abv>yH0${LwGp{3`S$Em{1{-fymb6VlCU z33(rAH-7%Y=Zy~zH8g$Q-gLH|fBrL@&T*K3;d5K2@ZhEY;*&mi1=;Rm*`wdF?0qbI zX%g*6* zduitz<^0Yg-v2fWgZtYd*A3f?EM4%uE02%(oZr*qy2}6S`}*Ft=p?yE#t-i`p0&LA zU{wD5pBclu(%eHF5*|svu5oUe!v{&);xz|{lAsz*NcvKY%RMks+Up-UeN`Tv z`Q;<$`HCZLu9OkZ<|9}bUz<;>%N=U-ZFPO}$`QA`6VF$VcoGl3e8l}3YZB^|sM330 zIpQ(McRC2KI^vq>eDz4nD@SN@6x#S18(m2=JyQPBBMxGdHn^f~T!YKTwZ_;acw&GY zfPF$Wy7`F0*DUEU`*i4Q_iSj}?W;QP$)wP~X{&wRDOG*5r}mBJ*VB7^RLyVn$W-;Q zK-K2c{JL49YH)Qn8{RNWg+v?8?P+jr_Eo9$j^ESujvMLvW|yi$UhArtbhqm1n6+&f zv~~}jS?%jI`G$kM{JPus^RzYj-%!QyTL^eacWeuxh15 z1>`aMN~sFSAM{nZzr6m0N{=>ubkUc#`p1j^R28JwwX?ak0*j^xPrGhVLJ5ob#s3%paR10}IqE#!?#G!=w+s7G zr5|&;-ILd4;M`&6yE@E49cI#DUeI9<>2Pqyv@XfO;$op#VjR}xd~b)t$9$$;zx$J;`wkv8$IB0Xa#SI6NX?%d)yrKH2g$MJ)qQl-@g@J&=jA!> zK*y&@I6lIM(IDmD{oHYaRwU}%qLINu2@eT-NQH+(hZdkNt?3+4;_EHRd-roHE&6jC~$ssv@72;r1ztvSWQZIRG*IWMD>1r zRF9;?h8`XH;u8F*w{!ctkJfhVyK%Jk-Sag09!3Y_SRWkqwE7x%mmb+Hn4KU7C3-Bpj ztuyRAl1}%6SrS^ug$lzF&&XX^d(t)59eJAbDC{3N{CVGYm!H!ov@66dfmHZJgg^7! zdU*~VsXSd@dj(tdGPWvLdlh^7ilFiCpr6fGq3#xc;Tl_e4VlYA5mX^GpDQZ8_6Ppg zll3E-e}L+1zJ`zPtL}F_G9lS~1$oCuK=AbO<{z-J?>gmLTkF|)nV)gmGO3Ek6c$${ zrnH=LDVsgK@^tfM3gqg`S6=y1rO#>p5xMf5{u&_JwB;m7>8gsz+;Vc0C#3Dl&ekhC zww!$SfcvLyjaQ(kiGa33_?!tG=l;u8vhi~54;!vgxX|d(@WBn&TDF|@jJBMq2_KIJ z$&_rHY#~DN-Yq8^$g_%{+pctRZaF{vD_21CWj(+6E0+|{9H1C_(o#?zxda_G)DXzo zMnB6pHG(*FcwTwR+uwz}MgdF$X{cZs_^=1Z9uhq4@4@gI)JfbsJ_eiA5lZ_G zXe~mre|U4J{cNN@)a?JfsQ{$*8NdN5#sR~R1Nk~>sJ+u6r9_Z9Wue#g*K;<3a0W2{ z?MLqt8sEMWJ;X`M=5`&zX##w08!BuhJU;?Y=W22SQ##yp^Q*bv>z&rGLj` z!@7H&sGjnfD^g%lh`;CtLb(#w6@g7bYkxRi&*{yjXX=)p*{naa$;;02R#NLhtJ=%7 z(XS_6_X(Rw(kiLFVlFwOTDkm8?X{v#WUrd5kI>(640@*F362v0QKdBkZHa_M^iWtDlWN=mb;9-Bfplff3; zs-R?0)Lym)wklLBF~2LwuEYedI=y6YiUhC)I+veGzpOAj&viOW&mgh;obv;ZYNhj> z`L%P-4?Qb)pEJA8xt2L!JD2|54X5kecfY&xo&WSick!ON=6`x@{urZ7Q49M*Q3k!0 zW|N?Q`ejo4BYJn@`ICS~nF0%l7EkbhIK$642S6>aoil&vsr$fVS@Yy5**`t})k~J0 zPmT!rz*8$h*IH?d^W5&;=PaK+$r~W<73P1Q<2%pEbDVgB4vBg~WuR@I;~Pe9cC`DQ z9_?CVXcbO&u8Hhyx9+$rL7;pNCA#W(ZPbQHJK;wib_HJdp7S=T^xh+f(Y1f*ykK-n2Wnd&k^v zoAKFJ(jeL9{u#}CbGj|Zo{BZ(bbA7A54e9!*YBO%P1%?V{k{$={qFzN z@IO}VJksIoQSQy_-hOBI-g({I=XQ5?cKEt`9Rx{~sq~abD5Ky9JjyheZy%=u`;_Ct z&LeH%4Wv8V#)(fUdp;{>eIU_EX9Fn*hf>3X{@*EBAXHK_2;LcC_tyHT$|SWCx;tfM z25GI7DxX?knjg|cBsQ+u*X`Tv>xtbzWWR5lq+8;abW6K^@F_b)JVCug;*swrk{v{1 z{LD#En+|o@>;n{l~88Ee?i00({mFUDJi`|4PsB1)+5dP z;@elQxMdrzEB$joUVy5%>CDKW^JHgO5?ScuXJ`_13EvndK#~FesI-& zxm;kaK4vRE4{^ETjr{1%3X?{*R{%slfH za*PB>$WV-F4K%NA3Hei}9P;7=um5D(V(rG_Sp2d)d(gnFlw;n-^S3<|i)jaXn7M z+6(-Wi>^RytQeYq;sW@jKZ7~I@*u?g#sy&ku!7DvE_mYXV|>ysi)iW(YnCQzw|haL5nXodU{{# z@%-w1sfUvPs*OXc!2=>o8$6vI3imJ0#TSzlo*0`9xI)iPx5*kjbSLqu^OorKW5G+* zP$f;8o~GCyD$BtOH>*>1PtGQrydkDs-0N-hpd@pudyJ`Q&A8?IU~O=~tm(-?3knf? z2Py)JVV*g*2T0h4fZT#|t~+h1Sf2y|;0mq{+n}W8d<>LD;$i5X*dDJSq68_3 zfmz=&Z;L*|+-s^+SwPtj2>30lWRAQkO*vpAXHGAGVd!BSqA}Wy9+!eY+EX9E-|eaQ z1*17gy52doW8Umu#W3^i-h*>`-C+)yc}{Qdxpud-_nUTyyfNDH)P|vy216*6%{jdS z)L8gA6`mnrt7wXBGlg#? zgkw7OfKZ76N3ke4qI3AO)PqZ?OA z2SG5A;gZlc6O3~AC0B_5E+-llUUJF!(U-8hXb$6K&`)7=VJQfaB9!4n0}(#dX-b}2 zaOuTM+}ZRC5U|jv_~eAoKH+I6ZN#I7-ymdXE4fROWN`aF>;3^!{(PH(q?Zxw%v0T* z@k__2eaKJi)7Lo7-#DI=v#F1x`~BMQpBHovY!*Ae@1LF>zlY**-K36#h=SSXCI5GX^P`#rt;Js83LrNDLjJ(lNc(Ss&4Hzcn_FUHXnajQ?5bI3hfp+ulh^=}PhVIer)N#v6`a zRv&KBqO=r%vS`F#7{f{0yv^CD2>Jm2p2b4(Pf(fl6Pj=b~FwU(yF5m^th{JhZm zh+Sy+XVy;Pc#S27I5r9i$9~rC)lipzj^j&jdG$A#bbSQo` zD>``cPMOUz)$(Y_QxPhCA|+0`-X6T~4NJRaa`dZ_+qs82FTNV-zFJ2fLfcMbr0WT1 zZKT;=Cy^TW7Fhf@$12k`wMc4eO>M^ODN?vA^_G%nRC^X}c5;Zw4cX&UKT7idT|#Y< z7@mnVKOYI|9oQJ@(!-muMhU(zH$S1QTdQJq+$p%*W=M9b-2|?g?!QyS+BAw za4z+AD_UA2TgewKk#tM`$Umucu2rfk63lCr2s=EXJh(>b{+sd77~td0k@~JY&ks5L z14CrWMK-lXHtmUQdOdQfUGa0UD^k}Q zDYucty={?e+akBOManxnq;5~*0r%NsO>acnCHvYUse{)o8~sM4!Y{q@jYvNi-}4)a zlR|DTJfJv)Rw*(EZSjPDK%gfDp`<;hti_yUS*2y-_QdhU%gR#hpvkT&DAXiZSno>99$lUn%J zxY5V*!ub*ez>`Q0SxioINjxFWP`*XM+xPRNoqF#j@ZPKRBY;YBTa4k@Q;Yc^DZ;^` z94Y4?*Dlu zH}Ws@)F5+~@hzoD@L@MWCzPN#^9C;jT`Or&E=Yd`U;JM4|+(0 zS`_o&s`XugZfV{FYN#}oeqaS!oTd)*a*duZP&WzfJEA;3y%icgVpyt<95dIkk8baM zbbFtt$#we*EV@1X)B<%m+v@;w9ODQ>VzBGyPZzj*^#ImXp%FpYqxyl+c9uNQY|7E5r#PRPwFb7|1G|E9ivKGFM`LSOe9^aNKlfy|2n# z++ma=QnD6UTDaG*zV+faoPpc3_05N<7>aBBn_QbBUg;RYZ{?5kU-2pGyKqmyCU1># z2RMiFEh?VB$XinXri#uom#N`X!ZKuUviUW{*!=N7pdrRtW_j>$iH0$1jExo&w7?#r zhLzojG*v_hXT+-Oar$!(<6ELBM3=_q2aAlTT|*tCQRxyaF`D9z7v;g*1f- zi+>DQqqbo~J<94ma@xnI(|rx=F9b*CrgTjaf+Ml&a#s+-BmH^Em*Y!e0onPXoC{=IcZSpciBQ)l__Zs60a&#){^EhMC-WIe0>ybGlgeZ zbR*fh3FmAya&w#VQq`8=e+QiHd--L)CGOEzB+Y6Txj&Yd}3v+I2vLqQ6je@R=8AuyifHU2$qfAjJ? zx8*!U+3xnWNh497XNl{>xW6aGMk|aYG@_vYJ_z)-q#3NU<;jkrmUrHrG2$0(o1M>y zb19DZ{-WLei+0B^+UxwJIQMsaq}F-S67$|-!v(EJ_Ax%f54bOYq@F(|l z5yKrQr*jpOod*=%bOc|Ae|paa?XG>lXuDhnkALq4t<6=3Wehy+=aIM277T~;r~Tbu zV&5HK+B9GZ?PMSt&Wl=qvq$Uf(I%TOYn{D#T+uo&;c-FG(o$d;^Heu2>I(&f4a%mz8z}9XHKpYEbfB z>Ut$CTl6UBcc>AUM%TZqZ6-(%) zChR+K>?s9*H#KI?NttoN^CNNf<%IfN?4{VyxWOx)Yxaj<=Ecys^QVpOpZUjOb>IjW z8s`qiU54LdcZ9}ye9l8FVZn#91&^^j)|qC=GzY{n-8q)(!%gPEI6H^da9*5=waf7# zh-uCa-z$nc&!3jNf8al&){PTA>3Tw^GPPn)qqCW84vMqCOjFv;!Et6qTwO@qCN?+f zKniA^oM?p3z94vxGsu$K70Cr!a=LU;KdbAX(038{;~1#g7S&phP^>TirN!K(l4Zr# z&(&KFbq)2!WK(#FrK?Mwiewsiww{AZ0w%!UtK6ZQ&%`=W&lZ+n9czoX2e#S|NTl^A zLMUSsbWxhOG=@8<&t`B@i_l#HG-*nKfm}ZvueEO2YKw448n!xUNZ`F# z2f^c$Seq|@EY`uZv_I1SGvEdhx?N@)wl6HMVe7L86hGOewvqdWiy1($3g~Uc_C)I# zU{EfQ9h|BGb>!~*=)^`~VwhB%`z|bz!hMytl~Zgp7`7Vhxvl)Opg?PV!`9A@M)ywu zZAt$mlF~99v@HH4Js(M5bP|@F#uT=P#%*)|q<2KKS&m>c^P#h(X-u5fVB$iNFDvS& zh2_gn)Qe%)_^+tAzh?RBiq*PRAzIuc)(STub+Ec;mryRJO#Z$^CUAK&U&!Zc%$oN# zA8UToM8!^u&5JFGeJpk`yGNTXmdOV*eJ!z6U|H53yw98b_TUI_GT_s`tfokms1BlJhQCK)n4~nyDhlrb3_bDf)CZLizezUJj{m*Vf6Ic_)MQvPeRykqyK z4rAzMzmC6eCfsh0`>);4b>QEI@SK)C?YrCBovrPOzy)CQh#PEn7w3mNnrp_Cud1#= z_9xB|@0obG-W_`!dh0yoK?$xZJ?WC<@+S_&y92kO>il*7oF?xr&Gk*`e>f1ot9NMv z{u%dEy;~3Ww=WcPjB!2`gPJJ@9uIGb%07__@*?xX1k@KN2$sS^JnVLq*GHnzKuf7p zo|+Rvu}f=SlwhAvI}Q_$MRXj5<%~D@w={wkAe^CciIPJYlg_8D z-V+De*&vAJdS*3=gE!ZwSJl_n*MHSrZ#<^*`i=WsuXf9-Oa6w%37eNBY;sou@&K4S zL8NJ(C7|eHN>E=I3o#(*c#77&<|PRz9x!V<_i}2k(SaS)V3s(S{KtAw#W)Ormk8@; z7(75a20)NviI>=P9J(asa=raAI(RgCHoPOOd_5j?P^b$^YTV@LYhht68pRfo-WHgo zXB2cb043xI6DVctHfRO_=A}1vS<_CFm<=(m*0Q1TxM)9s_|1)o`C2@o`z`w$+v+jz z?t1ry?grzx1N+;ImcMz_Bi9M%)Ag`5H{gtFTi2@eEb61UZG+`!&&Vj$7?1D5_1%Vg z+lE#p!b3uPi|(?@Ks$`uMT6oPHH=hRzEf33*+$ac0PU>AMaH}}YMU@V+aG!#`b`K)W|j~r z!1d^CpW@tk**@8sIr%=tOA3%$jPJzAp=YaWs&uQCRSNF6F-7HND^~EUDtX+ho|dRB zpQ0^K8eLE{OEWMTiK1;eLpWqE=SdX<8>8RHyqP5{ftbhqxi$ z)~kOQeg6PEXhbWa?9>mgF&ul3UQ~bqDOAChp)JIRP3&Of2Nx@xi99ZnB=NOUI~)^x zZv5aYF-TMuKD838jr9D**f{t3RzlC5yY|hEGv~&&!uu;E@1!C@D&QalpuH2rhPgY= zuEcg2gq;mN2O^{yoE_Gm9Rsv&L;Lf{(tC7DkB+f2s17^O3(VsBSv5h@4%PJ^8ZbIJ z6PT!v$AjWWZK&UVF6MUaDg4DH(J~+E9`Y$UMJ{lAc!Yot@&nwccE#oc8q1h}tHKn$ z$M{W%-0Z@s624ZGWe{jipR>TbmZ7mr}#u4d?_ZC9d<7B52=6u{Z}>7{QkRK^9fwB{0@yp z|C?sQrfm-fhvcRX=OImtyRUp%fBC;OEr&Ihw|?U#K>CZ{5`v8# z`%E2g8#~M&YwAAISbq=TBCUJpa=}wR(lkVOIzPszBfK%%Ms^?2>@#*W7(3mPZWEN3 zCj=e)v+l3yi34as5Z;hvI(zw+9vqAit}}Mipq+_+nm^JAkB{-N1=wZ#4r&^V)XWEP zTbG0Es0H>LIxuR>N17L2d(~+ zG!-E0QOy-iNNj0bW!!r0s`wW)uW7n8A8FPnNE4q-gvmW2!R^O?qTx&9toQnG2{YFx z;5@)$`vB((uthnz23zxAUbev!5(|89E(q-_7;XK~hnvWaw*K3PThF~?HOjchlWM&Mi-6}xUj?Z#&?n_s!PxUC!7Y)}6#xWV>p^Gn~623wOMp~;xgWJ!za-#eNmd2t}j`(R;&WQ;-q>1M-{(0JorYWjFpj;7z zlAWwXz|?Mg@d+=9y6<7Pw)n^6L6jDOMo!!?CHtOC^h`Xy@2Ny4nQ%?$I-C#F65Kwm zKAs_meB47j-5xX&=0z%>6*yJGAyH&yVgLdrX}UNTV+r{Lhc330@CrY1Dq zkyNiQozRK9 zQ(;y`Ag7q~RH88d2H(z)pH9FRNl1e)CHj+zDZ$Q32|H>No#_cXHYOSqoRbrFm=c{+ z5_YUhbl#D$V|}7?YQl~U=-%40;~DFNft<$o=>%NJn{ItRkc$~IE#X=B*PEwV+XA_9 zh2Blkv@U__VsT5f5phq*u_xeST$e!a>`2(1oew4M&zrdqrEYiMPTA=+CaheCErUSB zo-^k@mNfp|&md*8m`6D5Cw{RyAvPs8T|4L`Zl0hOoj)27!#q*jGEpn|5L^rTy$I=A zNDb#V?Jeip%`;=`X2hDO#MMoXbAH?2(%o*J6OD9v|gtq^n$Ax7ZTF7@JBk+wFpZ2IVWk|mmQpOD*u?qH3{FN>8q4` zD<#H}Sm<;utXZ!Ej4D51OFf<}mJa`;+~W^mp5lX(w8s2U6!>^@Z5+_CafhPa(=GG5 zR14^!oF|ZfUG0i?NB~o%r$s&}>d?4`IOIYRbRmFK*OPMsdqPBB(73XWH`l8wk`X0o zpivUr^=J3q5!*nle+=bDE<+C$&?%P-yp^cuk7-=X;bh_Xm{@52E%-`Nv2B`N+FHLO zSu2W#kbTM8?ddf4qiwiQmEx@m*q7q1>fZ8-l9NP1lfBTkCB1A*?G~6cNOt}1k?|v} z!@{{K+38wDVV2q?Fn+e++9dWD#K9BT*hGQ>gzUB3&Vf9;cS2kP!7AI5t(!x+=vlX$ zNa(v%+F zUDg;Cmp;P9+hF;|1UOB)02eV6_tK_-HPPn`pf^nv0GYhHES&XB)LrJIfnz*-HXf zwDnKX+_0h%f(u(ExUiL2uxNOq<&NKNaCjRDotyyP8yfVwkFW8!b06PeNYlW#x_!w_$c(Qs!tuGJb6$IVw5{h^rv*}=t;Qt7Z~;7RnFEWhDiL3bnqQUp5dAM`i~+b{ME^2ltr0WW zCF^-*tO4o|F3< zOymUVA-%)|uKkez8eBWTCNEv*c(-=F-RJEu)vfDJoL0MK5S+%S?)A;vDfv#dZ7APq4Nm1ECv~cu*7!87kvZNm|BS2T=AUI~5=EP+@KLUi zf)Nu{`aS@*a1`(U#(IA$R~Vm;y(eFTT~1-5mGe5^@(YahoKoZNZuLe}E0(n7TkBV; zTpUD>@0)3yTw;~$xi_tE6ms#_b9(NS^}`8BeOJOoy)u!LY%S#ixI}AUDR-Jne57HI}5&thx#RBmE=kw(w~ zF8?OIhABNgb&9kUYwYpR4b%mN9URLxvW9MC^nenx?wQI>Gq7~~b*f|nnNQ(>+eP)8 zBh7rD#;Mo1??v|kzCPqeGGHSpFbt!?F!lb<`!t?$(6Ppk?6Upg`<7@L!=YmAQluBK zG z?Og3VZNBy{ZIO0?c9C|8_HOMx+WWL6+U43Z?SnTNEB}ZW?vJDZ@quB_f5cPzO{Vg3 zpl!g4@l{{kvh#t8p#}}^U5=+#796Jm6cq}@6-no}7h4N9+#Lc5@q(mfs)oYGxJ z&*Q@F2_^rz+I53ps;Q6Z%5&%Qb7F<6EZaylkVQ8jb}3vWS{>_3g9k%!B~U*GFl&z& z9{bp1;EFLkli@uPPxphH4p{0I))Z&`IBUdgE;4>ov7}DW%sBi+Z{|^cIu(?Rbh? z*ATalLyDDqJKnwwRj!I0S`4SiPUt=%`Q|LnM*{uyZ*Fu&01eC1wu1jRhXoH?$u8DM z2-P!12KWw1!O_U(m4rRKRH^qhhTi?&6~E9KhrJs94w2&U5kReeuq3 z;?3>x&a?69-%0Bqg6odXy6*z+z>R@UxG+HWo{hH}0MGAie5WTVhi3nL7Z+~`$07++ zk?w4TFACn)`{@LIcX^}^vCgAbRnS`d1E^t*{b^PrW~a~RnFNodM{`{DS`jv?-=#+16l@dy$hir@F5))V{5;dpl# z&VA4|FKWL)M&^yF)pI_AFp9yYHkEq5x*qZsA`o^9{lc>~K8Ksky<*kpz(&|$&Ckkx@!$+Rc| zw{iGGapf+RYUP*lsI5QU`&GRA%ia_5?$3Kq#=8$W0_dG1$8tuMIDSW*Yoz(zcpFE- zMgdM(mq7@RFg^hDlYaL*@i2IM--%B$=$&82`vV*Esd(pC@yX_|;?1YyohOhw5pO;d?>vdr z$$0bE@rbr_!Q;P-*L@YQI}xut8ShFs;J$?3D^Jncp!3Sp@#v1eE6>EEH@dF;Iv$;^ zcg^M^toqrU@BhLFrUGj`8TbBa9R5dKbn-%OMxC7f;WO39A zw>~m~(^{V^;-(FOPVj>|uzp&^#YlYG-|8viW=TTfZ1jih3P9upQiRseT*&I8IC6NTHEA)>UA~0du}2{Z<+d*6I?(^!rCf3t zP#+@bE~)^tG@y0MfSih9-ETs5rLy1Tijf>UOS@MHKiemp;spUDqWv@W@ME)QQ7 zp@I#{f9_j`hhRxV)6cPv*Z?X#xB=#UnzdmAH^-V%%MIJJ;8-^I|IYZJ!H?TsQMuf- zw4iw9>Vo3JQK=--pVN)AK2%+0$|_qvy9!SHys}CX5WsD}zw8l{E}aAfB3V^p(xnpr zAWoNVUA|&Dkq2|zt7@u=EQH%m0u`KY^5m`6Wy?1Zc_^#!Q*y~2@nbd+zc4O&9leeh z70x9aHWn<%%UficW}1yVi`gciK%yeJoDRnej%T2xk5wW^Bv4Hburiso=Na_e*k&^u2OK8)LrG6Nl47@7{j59hY8 zC|zrcO--%MC@nP=RV_Eo%g8h#T}4L;7(wgTm|`c8P@IEOQ?{-sEuk$&uOSgUx4pWi z#FXeAB5CwmB3Emzy<;rHa?!MLShBvq3GQOhB`u;w2fZ6$TGW6g&3MB_gT65f<>lnsSO{ za^C<21-e;}RvU_n*OBN^-lhd5%O5VQDZm?jun=f38%;JE2vR0_OBhBrNCF?V3v`e9Lyd6MfirjhajMGo|?;)(p#|!x>6UY&>BBn25Ys*p4J@0hgJVUzGhkMYyo6+E7+QgkzYLFihn4vpzw~x#VpHg}Dn6OC|DBRv1;rVFG0}&r^xe zzlS3q7`VlX%2qs(S)50rAH4k*Gpr$_%5T#_*!kE7Vt-v>Hoo*lhE?1O#mg)Yi6}qJ zu!~v2L42<&Et^-e{JFu4PXbqBnk!dB%%vGfK&7~DlS#lT%Ggx=k$}}S2}uWjePjT? z_Ookv6}O!(Vn+4ywD}eH-@l?Pg9KCq*79n)&*e4P%hfB0{891wnD~60J%iT>+-?x1 zr+h8ryoe{*-WtTJ;ZNRXsHggd3jPDPeHC^llf%JJvu(t3as!3ChRBT!exM0cUrnbt zjs&dZwi^VoluG35#g*T{$cQgPW4{X$V53ObXBc5s&vFB%yjh@Q+_)4H@JEW!ays{* zO(K2c#(^f!iHN3>pgPQ*O31jB*+g!pBN~IB{Ty#9!pT)53s=taQq|^ z(AYO~ysB?|_5I5MaNI;9-y%-o1#t>ny;JbB3MK1_-!@?mCK9uqatD;VLD24-DTDNB z!GQn5090D1lCVFq3By0y2tIPX(qBiVBI){OUB<#;rKn)rp%*Ix1 zcA)`EADS0E<$qyl``JYt{a@lTi*yk8WZ26b_SbwgZJb_ER9uL+hMF`q_^Tm)&0_1o zSGcSqT~TpHVKMQ0RV)nKNjoy-`kZc7ktvlZ9h`SEbtsu^N+W)|#O48irOgFN5Y)nf zfws~T;pF(^jz*Es9F8p#)1PjWs{k^BXIlX|2k4)IVzUX}O}guGjXkoRas z?_V{8Lf$t2)+-(*f*wRlUns}V*5I1{1)L~Gvv{>j)ACwhTzWvfx=qv4+E+dxUj4eJ zWe<&44^MEEHeR9L_x=PNxQM+Hvm2rz5=a8baPJLde@i zW6!O8y~YztL*D&aiSab`<6vx;fI%z$G&?oP!gIH#`-Y7MxnI*XxM+9+;06Y{cWYXl zG{}92WZyf2L;GRZ4xL@SNQO z(6_npwJF?0LEyqgLqNl+LvzP#xPu^MgNI`QUK8#h48x2OK;NzL_#WJ?Iq1|NAGBMe zr#BDY3Qgn|a9ex1QBf*CvRzj^+jP?_M6EM=x$y>N5Gr%$&obrC&m5bZugit0OsFMH zB0|X0f>{|wd8v)M?7Lusqd$pKh=pnWg`;4>gt9)-N|J1vS5i?)2Q!sb)>N%EtzK18 zSwn)tP*YL4`q3KG6cQAU%wj0XOatE78yrEBH>Q}TnDPr?$j;7MN2iZD@~n+Q zO|bEWtz5T!MJWlO~VVV1KlrWLwh=CnfR^zr;=Bmn?vNbhHL^d9;d+{`D6=p-8xDe@Gl`(?V+R%MGD&0xLt;=lk<9`uc_#3nr_?MW zoKof4B-udsVDxPIJvxCtb>b0mb@pS}S0r){qbP$$&jp346G==CVJiGqE+)abWP2I- zhAm>io#Ip{6UAJ%T&S3pH-9dXWU<&~0qZhsAz?Q6U|Jd|F^4Y_=My)3_Pv7$ zM+v(4b_A6#5rN0=^+vNZ0Hh^{vr31OyFKGSUqqp zEEjnojRcf3j?2s;fn_2oacT~DfCx4REq)Nif*&G{$jU*|;0kaiJ(I6BWiBLv4~ei+ zVO%`SkdduGvyhc&mb%p-kbV-(-byx23UZYQeW8iSR->)r5wuMcj`^{185q8*537J` zniPf#uVKqjR92H&UQ(4&vv>&%UvbFCC}xin*g(wY9!G-L(D@i1F=ZCgbqiSA5A%tB zm`~mcQ}Gm;U4$;ek%OZ92e!RpF^iC=8Ic5-Fw+clS1mW8mE0(fc77fST`v?Cr*0PHP!0*$(1%K3Egc2|A#EH{Ze+t?H|FQ%=@t}_fM>*!783ch z;++48Ifri|eT{Ge5oAZ$bBxqD%%mGqii-0KA;0R-SZVeO6)42)JctyvK@AtRGZQEyxBYP!x^*Ed@xHfi2UBVvA63=m+(}pauXX+X|clt&9S(<0g~P zZLA3pFUXja4Tjr}7Lor&mz83L^9t4EY4ji;@h8?+EK5Zh4!}*6vmoVmfPT~igrisB zp9c(JW1X-Z;sAf41K3Ib*}Z>&mu@$}%i;jd;sE1F;Hx5gVBG?CqF9u!4nUUe0)r6w zUl~h;wm?KsKEO#}4doesCtZ)#i zLpD?&08{ukI8n(A8aY`mh2OBk2*+M zNpv96m8NX7j>tb1SJmxh8zMV|=AnoCCdddA_%AxV2=E96_!(uLTLFG90z8WK7Z`CI zk$*wUu++!JB24K^fRKMhm$QTfoIv@?3X^U;2|L+06E9%{PN9~H;Rz(-G|`P0#vDL+ z|E~$$MFO0&BAkgN^qgpa^pPas8xai5%Wk5Z=mjJ0hHrt7|9NT=P%pFmJ5iK(@=L}Fq zitFN{EhwaBAqn`EHaD=Y|L*G=^czjW9EnTA_P%lJ_E!83EU?nRN%#hVjKIek$#EiC z=#;(kBS6AjNpuTKnGXT2gwex&m^a5TP;x~0QYaLvur^4;4vrbZ2?kXxvNs(WNU)r_ zd05LZKW}%s+?xd!@n?tjumEnrK%1%Xz;#PHf4DxqQYDCEQUyT_N`b;GFLTQg&Y)ew z6l}Nwd`$xzHET+UT!~KAaB_!>{u*ea2`;})9D5v_#nuQ@dPJepN`c?Zc8eQ4aKNZ$HEsPz6Oenyt$S!x(M=lfvu}2;m)2t`n(?sDeOU#0>=Z8YYJ@ z0ktqg5fTv5WI`f93${4cc^lsqzRRj1hQJIiGsnu@Qh~F$%!OiFk;yT=v6dKK8@th)PaUSJ28V_ z#+Tu%2Za2{;j-p$YTUm4x0(-7J4!^S){km9wSH7Hr=H{n}kNf3w3@~Bgl@sWcz+s*ShvaX=+=~(_|Y>?h&pw zw&L$Bu(!<@cZg}cYW`C|JdTm@t^|XPy<6w99&np}RXbxkysy8(`*r%@;{7`RR-21E zYzY+JuedoVrVc2Mm#4_^b}rn8-VS070gmlhLWP(IpEvPv@ULZI>Fx(5=tiZmB`^j6PyCndv;qVn;{6U zw0P`@hfIhPwn~82XXAewP_r^zm4A5;WFpz+|S9@DyhB^f3hlcTg%b_F*PZ zAdzX-lz(&KV-(|XNTJa%#vdeLJhQc+MP%@ViLNhnnM5Kd30(||^nqOvl9`MyG$t~R zMBYK|`2H&uzzYM1Pi2@5LS~u>BrY?Z1Wp$RO*N6g86vdFI2*v(MIBq>DUkIyFrY#3 zZ1shc6!36SEhWY~NKlsOC8Mz^Wp-aBb;FGsPh_(JS2IVXm)B1?$Z1H|OqIhrCIaj{ z`e)6u7vf@oA&G?N(yk!N03V?Y9xoCwmsT)GVII*8V*UpPdy&ry>c+ z7pag=^i)TL8b>WahFF(MDi@etym(M4B-= zoN9jXdNE^UF=ME(CH-zd!30hr@};b;{B8zTzKk{XzlY$jjR{*g;9lZobh+r|3eXGg zIRT#%vE%)$W6*NZ4JTBVij`#|)CcH>6oOq35|IQ0f?at9#VHyRT28Bq@&faVy{f;0 z&^Xj1RE?H}Ly78zU))S2rKEH4^cR$kn2<~{F_rx_nf~$2E zJnnRt^A0t>!bpQhrF=v5#ZulIJfhdXsVb!xp?oM7*zHy!>Jb+1hg~X0J;XnQMrHI= zLsanXC2bSLn2f411YgnC|IrB|p!xDpNIsIV~qQK&~k zvQnsnf;Get4k>$!NQcBFRN8t)I;8E*B3%W!dkZ)!&=-Id17klBz5)dx&>???TN#U) zKo3{~cbGsa2=t|W0$r56!tle{i78E*C2+Sf&3%eKPyu+sN$9{CQMnuV6B}Uu3ToMD}#yVmj#g}8QgrMp!S*RC#=TVV^p6MtU_ubOvtr9ynSHn&22AA|UAh4_Ay zitidKzFF*lHIHM`>f4KNiVzv}vnNFIhki@j`&S}wV`&eHTZfBr>uf<34+vXl=I7<( zQ0k3k{~rlk&olhr8@4Vs2w`k**jj82hsIx5-iI0g+fjt8sM{Y^Wf`8$X+zTXXO^p$}1+Yy8CXzJx4Kwt-%80 zknS{pJ5xPHN9zoj&i`U$JQX&&0Gze=-q~5_jgzlL>~(OQJcaExzf`7%NCfo6AOSaL zwqY?1Xx}P@{;!H>8%#O~HRu>Ys6oN}pAgTU^S=?#HV_)n7HpCM@oZci?KehY$O~T4 zT-I*bowtn%3n5`B8K!}52?+xyQRxiwkQ0L(nn#eIP(H#i`Qk7IeKBF-Uh}}amQXE1 z7ibruOA+f5Tns~sdK3ljmy0oMZnOSo3|2mJsEV z0oi%DsX>C5lH^St@|0;SS5>YeBM`XW)G;I_b=n%l-VIL_ z+VWK^aG{*PX8^QJT2z||S3dRYuQ9BuN+R-m*#uPg5ik1eNn50W598MANjXrZuLirU|Jy2@2tGdY=;3E)ERT4;l##C0wygt3`(i zscC4t#y~+It1-9ky~nZ&pR4H$Z`FXltZHZtwRzxA-&kGpSQ*7> z^xA0{mdG9jCd$Y92vhLriWMfr&>v?ci(A7$3GU6&Yc^Du)jYb|w4wqbnOP;(WhMih zJ|tunYo>t}0tyQdMSp06ei8x6@74 zk5|+zFR!S4kjS0}meB?w#<}sqvKrIuI2!a)bPj0<8^1 zwMk@))Y?_0rPEfH03m#JgM>cUH%ZY)UMDUeeB?sRotkcaUV8t{bVX^TAmn*r1bnB0 z?hX=F&*1mXf}*sT$QmdIHG(7}M^mb>3Hn(C045T(Xq8VvEJ zTOqzIios@)FJ8HsFJ5I8Q9JwjLZI}fkp_r{*_7WDJ|%W z@D$r<8}Oi^6iC9y*;Pb3<}_(Uq0eB*e)k?%kui!M{W=1(txF8bx_F(=dx_y8S0mA@!*?S$nSOk>I)>Ks2K*pF>SF9;p zG1^38+ZiXa)&;b*8W#deRwJy(Xh5dD;{|A-sAX4Dnv7nv?tzLGHDy(d>JVbkX5xzK z%7iAg#6&_n2J;~Ce~&5x!Gd|8Sup>jQ}ae@CI;Wk@+c~jdYqFRQ;a8e0{h*1b&>%BJ59WmCnYB( z4X*b9;UlYh$!U-bsKCw??J7qa*7(Gynhq diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index 3c53c218eca8dd842459e36ea51f57ae326e3ebd..0d3bc7cefbc0a7ca6c8583fdfa85234b95c343d3 100644 GIT binary patch literal 819200 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�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 p1}C$BEBF + ERROR:GP too big + .FIN +*-------------------------------------- A2osX.GP.SIZE .EQ A2osX.GP.END-A2osX.GP.START .BS A2osX.GP.START+$100-* .EP diff --git a/A2osX.S.TOOLS.txt b/A2osX.S.TOOLS.txt index 482cdcc9..eade8d36 100644 --- a/A2osX.S.TOOLS.txt +++ b/A2osX.S.TOOLS.txt @@ -76,7 +76,7 @@ PrintCStrAX >STAX TmpPtr1 *-------------------------------------- PrintADec ldx #0 PrintAXDec >STAX HEX -PrintDec stz BCD + stz BCD stz BCD+1 stz BCD+2 diff --git a/A2osX.S.txt b/A2osX.S.txt index b4224a6d..ceb707b6 100644 --- a/A2osX.S.txt +++ b/A2osX.S.txt @@ -6,7 +6,7 @@ AUTO 6 .LIST OFF .OP 65C02 .OR $2000 - .TF /A2OSX.BOOT/A + .TF /A2OSX.BOOT/A2OSX *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I diff --git a/A2osX.STARTUP.txt b/A2osX.STARTUP.txt index 9f8d2dd7..dbd36724 100644 --- a/A2osX.STARTUP.txt +++ b/A2osX.STARTUP.txt @@ -3,21 +3,24 @@ PREFIX /A2OSX.BOOT NEW INC 1 AUTO 6 -SET PATH=%A2OSX%SBIN/;%A2OSX%BIN/ -SET LIB=%A2OSX%LIB/ -LOAD %A2OSX%DRV/CONSOLE.DRV -EXEC GETTY CON LOGIN -*LOAD %A2OSX%DRV/SSC.DRV 9600 N 8 1 X -*EXEC GETTY COM2 LOGIN -*LOAD %A2OSX%DRV/PPIC.DRV -LOAD %A2OSX%DRV/UTHERNET.DRV 000E3A123456 -EXEC TCPIP ETH3 -EXEC DHCPCLNT -*EXEC TELNETD -*MOUNT TFTP 192.168.1.5:/A2OSX /MNT/A2OSX -*MOUNT CIFS 192.168.1.5:/MSSHARE /MNT/MSSHARE -*LOAD %A2OSX%DRV/DHGR.DRV -*LOAD %A2OSX%DRV/MOUSE.DRV -*EXEC GUI +ECHO *** A2osX Startup file *** +echo Env: +SET +INSDRV CONSOLE.DRV +GETTY CON SBIN/LOGIN +INSDRV UTHERNET.DRV 000E3A123456 +TCPIP ETH3 +DHCPCLNT +#INSDRV SSC.DRV 9600 N 8 1 X +#GETTY COM2 SBIN/LOGIN +#INSDRV PPIC.DRV +#TELNETD +#MOUNT TFTP 192.168.1.5:/A2OSX /MNT/A2OSX +#MOUNT CIFS 192.168.1.5:/MSSHARE /MNT/MSSHARE +INSDRV DHGR.DRV +INSDRV MOUSE.DRV +GUI +PS +ECHO *** End A2osX Startup file *** MAN TEXT A2OSX.STARTUP diff --git a/BIN/ARP.S.txt b/BIN/ARP.S.txt index c04cdee0..6a522a91 100644 --- a/BIN/ARP.S.txt +++ b/BIN/ARP.S.txt @@ -10,8 +10,6 @@ AUTO 6 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I - .INB INC/KERNEL.I .INB INC/LIBSTR.I .INB INC/LIBTCPIP.I *-------------------------------------- @@ -48,11 +46,11 @@ L.MSG2 .DA MSG2 .DA 0 *-------------------------------------- CS.INIT >LDYA L.LIBSTR - >LOADLIBYA + >SYSCALL SYS.LoadLibYA sta hLIBSTR >LDYA L.LIBTCPIP - >LOADLIBYA + >SYSCALL SYS.LoadLibYA sta hLIBTCPIP ldy #S.PS.hARGS @@ -139,7 +137,7 @@ CS.RUN lda #ARP.TIMEOUT lda TimeOut beq .9 - jsr A2osX.SLEEP + >SYSCALL SYS.Sleep bra .1 .2 ldx #5 diff --git a/BIN/ASM.S.EXP.txt b/BIN/ASM.S.EXP.txt index ece66bb7..dbdccb62 100644 --- a/BIN/ASM.S.EXP.txt +++ b/BIN/ASM.S.EXP.txt @@ -77,7 +77,12 @@ EXP.Eval stz EXP.Operator lda (pData),y pass#2? bne .96 yes, undefined symbol - jsr + + + bra * + + + .41 ldx #3 .5 lda SRC.FLabel.Value,x diff --git a/BIN/ASM.S.FIO.txt b/BIN/ASM.S.FIO.txt index d064ba8b..c0c1081f 100644 --- a/BIN/ASM.S.FIO.txt +++ b/BIN/ASM.S.FIO.txt @@ -65,9 +65,9 @@ FIO.OpenFileA sta FIO.hFileName >SYSCALL SYS.MLIGetFileInfoA bcs .99 - >STYA ZPQuickPtr1 + >STYA ZPPtr1 ldy #1 - lda (ZPQuickPtr1),y + lda (ZPPtr1),y tax ldy #SRC.COUNT diff --git a/BIN/ASM.S.SYM.txt b/BIN/ASM.S.SYM.txt index c65280a3..9a9e7749 100644 --- a/BIN/ASM.S.SYM.txt +++ b/BIN/ASM.S.SYM.txt @@ -107,7 +107,7 @@ SYM.Dump >PUSHW L.MSG.SYMBOLS >PUSHW L.MSG.GSYMBOL >LIBCALL hLIBSTR,LIBSTR.PRINTF -* bcs .9 + bcs .9 .4 jsr SYM.GetByteGBlock beq .5 End Locals...proceed next Global @@ -119,11 +119,10 @@ SYM.Dump >PUSHW L.MSG.SYMBOLS >PUSHA >PUSHW L.MSG.LSYMBOL >LIBCALL hLIBSTR,LIBSTR.PRINTF -* bcc .4 - bra .4 + bcc .4 .5 lda #13 - jsr COUT + >SYSCALL SYS.CoutA ldy #SYM.DumpCount lda (pData),y diff --git a/BIN/ASM.S.txt b/BIN/ASM.S.txt index 9102a6c2..127c7be7 100644 --- a/BIN/ASM.S.txt +++ b/BIN/ASM.S.txt @@ -10,7 +10,6 @@ AUTO 6 *--------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I .INB INC/LIBSTR.I *--------------------------------------- ZPPtr1 .EQ ZPBIN @@ -139,7 +138,7 @@ J.LI .DA DIR.LI.CON .DA 0 *--------------------------------------- CS.INIT >LDYA L.LIBSTR - >LOADLIBYA + >SYSCALL SYS.LoadLibYA sta hLIBSTR ldy #S.PS.hARGS @@ -342,15 +341,6 @@ CS.QUIT jsr FIO.FileClose clc rts *--------------------------------------- -COUT phx - phy - ldx #DEVMGR.COUT - jsr pDevJmp - ply - plx - rts -pDevJmp jmp (pDev) -*--------------------------------------- .INB BIN/ASM.S.DIR .INB BIN/ASM.S.EXP .INB BIN/ASM.S.FIO diff --git a/BIN/CHTYP.S.txt b/BIN/CHTYP.S.txt index c5559891..8bbb09b5 100644 --- a/BIN/CHTYP.S.txt +++ b/BIN/CHTYP.S.txt @@ -6,23 +6,26 @@ AUTO 6 .LIST OFF .OP 65C02 .OR $2000 - .TF BIN/CHTYP + .TF /A2OSX.BOOT/BIN/CHTYP *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I .INB INC/LIBSTR.I *-------------------------------------- -* Main entry point -*-------------------------------------- -* Code signature and INIT table -*-------------------------------------- -* CLD $D8 -* JMP (*,x) $7C -* #JMPTABLE -* /JMPTABLE +* File Header (16 Bytes) *-------------------------------------- CS.START cld jmp (.1,x) + .DA #$61 6502,Level 1 (65c02) + .DA #1 BIN Layout Version 1 + .DA 0 + .DA CS.END-CS.START Code Length To Relocate + .DA DS.END-DS.START Data Segment to Allocate + .DA 0 + .DA 0 +*-------------------------------------- +* Relocation Table +*-------------------------------------- .1 .DA CS.INIT .DA CS.RUN .DA CS.DOEVENT @@ -37,11 +40,11 @@ L.MSG.VOL.END .DA MSG.VOL.END L.MSG.DIR.END .DA MSG.DIR.END L.PRODOS.FT.TXT .DA PRODOS.FT.TXT .DA 0 - .DA CS.END-CS.START Code Length To Relocate - .DA DS.END-DS.START Data Segment to Allocate *-------------------------------------- -CS.INIT >LIBLOADP L.LIB.LIBSTR +CS.INIT >LDYA L.LIBSTR + >SYSCALL SYS.LoadLibYA sta hLIBSTR + stz hDIRPATH stz hS.LISTDIR stz hVOLHEADER @@ -50,7 +53,7 @@ CS.INIT >LIBLOADP L.LIB.LIBSTR stz bCANCEL ldy #S.PS.hARGS - lda (pPsContext),y + lda (pPs),y beq .99 no arg, exit with err=0 >PUSHA @@ -76,25 +79,25 @@ CS.INIT >LIBLOADP L.LIB.LIBSTR bra .2 .10 ldy #S.PS.hARGS - lda (pPsContext),y + lda (pPs),y >PUSHA ldy #S.PS.hPREFIX - lda (pPsContext),y + lda (pPs),y >PUSHA >SYSCALL SYS.PStrCat sta hDIRPATH bra .3 .1 ldy #S.PS.hPREFIX -.2 lda (pPsContext),y +.2 lda (pPs),y .3 >SYSCALL SYS.ListDirInitA bcs .98 sta hS.LISTDIR - lda (pPsContext) + lda (pPs) ora #S.PS.F.EVENT Now accept events - sta (pPsContext) + sta (pPs) clc rts @@ -313,7 +316,7 @@ Push.Footer lda hVOLHEADER CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device? lda (pEvent),y ldy #S.PS.hINDEV - cmp (pPsContext),y + cmp (pPs),y bne .9 lda (pEvent) and #S.EVT.F.KEY is it a KEY event? diff --git a/BIN/DNS.S.txt b/BIN/DNSINFO.S.txt similarity index 91% rename from BIN/DNS.S.txt rename to BIN/DNSINFO.S.txt index 6d6fb44b..80821913 100644 --- a/BIN/DNS.S.txt +++ b/BIN/DNSINFO.S.txt @@ -3,15 +3,13 @@ PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 - .LIST ON + .LIST OFF .OP 65C02 .OR $2000 - .TF /A2OSX.BOOT/BIN/DNS + .TF /A2OSX.BOOT/BIN/DNSINFO *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I - .INB INC/KERNEL.I .INB INC/LIBSTR.I .INB INC/LIBTCPIP.I *-------------------------------------- @@ -49,11 +47,11 @@ CS.INIT stz hHostName stz hIP >LDYA L.LIBSTR - >LOADLIBYA + >SYSCALL SYS.LoadLibYA sta hLIBSTR >LDYA L.LIBTCPIP - >LOADLIBYA + >SYSCALL SYS.LoadLibYA sta hLIBTCPIP ldy #S.PS.hARGS @@ -201,5 +199,5 @@ hIP .BS 1 IP .BS 4 DNSNAME .BS K.DNS.MAXLEN+1 MAN -SAVE BIN/DNS.S +SAVE BIN/DNSINFO.S ASM diff --git a/BIN/EDIT.S.txt b/BIN/EDIT.S.txt index 59e7eb14..6e4a02aa 100644 --- a/BIN/EDIT.S.txt +++ b/BIN/EDIT.S.txt @@ -9,9 +9,7 @@ AUTO 6 .TF /A2OSX.BOOT/BIN/EDIT *-------------------------------------- .INB INC/MACROS.I - .INB INC/KERNEL.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I .INB INC/LIBSTR.I *-------------------------------------- ZPPTR1 .EQ ZPBIN @@ -44,17 +42,14 @@ CS.INIT lda #0 dey bpl .1 - lda #12 - jsr COUT - ldy #S.PS.hARGS lda (pPs),y beq .7 >SYSCALL SYS.GetMemPtrA - >STYA ZPQuickPtr1 + >STYA ZPPTR1 - lda (ZPQuickPtr1),y + lda (ZPPTR1) cmp #'/' bne .10 @@ -83,18 +78,27 @@ CS.INIT lda #0 bcs .9 >LDYAI 0 -.8 pha +.8 pha Y,A = len,X=hMem tya ldy #FileLen sta (pData),y iny pla sta (pData),y + txa ldy #hBuffer - txa sta (pData),y + lda #$80 + ldy #bSaved + sta (pData),y + ldy #bInsert + sta (pData),y + + lda #12 + jsr COUT + lda (pPs) ora #S.PS.F.EVENT Now accept events sta (pPs) @@ -135,7 +139,7 @@ CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device? sta (pData),y bra .8 -.1 +.1 cmp #$20 .8 clc rts @@ -143,30 +147,13 @@ CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device? .9 sec rts *-------------------------------------- -CS.QUIT lda #12 - jsr COUT +CS.QUIT ldy #hBuffer + lda (pData),y + >SYSCALL SYS.FreeMemA clc rts *-------------------------------------- -PRBYTE pha - lsr - lsr - lsr - lsr - ora #$B0 - cmp #$BA - bcc .1 - adc #6 -.1 jsr COUT - pla - and #$0F - ora #$B0 - cmp #$BA - bcc COUT - adc #6 - bra COUT -*-------------------------------------- CROUT lda #13 *-------------------------------------- COUT phx @@ -176,7 +163,6 @@ COUT phx ply plx rts -pDevJmp jmp (pDev) *-------------------------------------- CS.END *-------------------------------------- @@ -187,9 +173,10 @@ bCANCEL .BS 1 hFileName .BS 1 hBuffer .BS 1 FileLen .BS 2 -xPos .BS 2 -yPos .BS 2 - +cPos .BS 1 +rPos .BS 2 +bInsert .BS 1 +bSaved .BS 1 DS.END .ED *-------------------------------------- diff --git a/BIN/LS.S.txt b/BIN/LS.S.txt index a480bd7a..2d8e39e1 100644 --- a/BIN/LS.S.txt +++ b/BIN/LS.S.txt @@ -10,9 +10,12 @@ AUTO 6 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I .INB INC/LIBSTR.I *-------------------------------------- +ZPPtr1 .EQ ZPBIN +ZPPtr2 .EQ ZPBIN+2 +ZPPtr3 .EQ ZPBIN+4 +*-------------------------------------- * File Header (16 Bytes) *-------------------------------------- CS.START cld @@ -43,7 +46,7 @@ L.PRODOS.FT.TXT .DA PRODOS.FT.TXT .DA 0 *-------------------------------------- CS.INIT >LDYA L.LIBSTR - >LOADLIBYA + >SYSCALL SYS.LoadLibYA sta hLIBSTR lda #0 @@ -57,11 +60,11 @@ CS.INIT >LDYA L.LIBSTR beq .1 no arg, go get current prefix >SYSCALL SYS.GetMemPtrA - >STYA ZPQuickPtr1 - lda (ZPQuickPtr1) + >STYA ZPPtr1 + lda (ZPPtr1) beq .1 ldy #1 - lda (ZPQuickPtr1),y + lda (ZPPtr1),y cmp #'/' full path starting with '/'? bne .10 no, append to current prefix @@ -89,18 +92,18 @@ CS.INIT >LDYA L.LIBSTR pla pha >SYSCALL SYS.GetMemPtrA - >STYA ZPQuickPtr1 - lda (ZPQuickPtr1) + >STYA ZPPtr1 + lda (ZPPtr1) tay lda #'/' - cmp (ZPQuickPtr1),y + cmp (ZPPtr1),y beq .31 iny - sta (ZPQuickPtr1),y + sta (ZPPtr1),y .31 iny lda #'*' - sta (ZPQuickPtr1),y + sta (ZPPtr1),y .4 pla >SYSCALL SYS.ListDirInitA @@ -138,12 +141,12 @@ CS.RUN ldy #bCANCEL .3 pha >SYSCALL SYS.GetMemPtrA - >STYA ZPQuickPtr1 - lda (ZPQuickPtr1) + >STYA ZPPtr1 + lda (ZPPtr1) pha and #$0F - sta (ZPQuickPtr1) Adjust Filename len + sta (ZPPtr1) Adjust Filename len pla and #$F0 @@ -153,7 +156,7 @@ CS.RUN ldy #bCANCEL pla ldy #hVOLHEADER sta (pData),y - >PUSHW ZPQuickPtr1 + >PUSHW ZPPtr1 >PUSHW L.MSG.VOL.HEADER >LIBCALL hLIBSTR,LIBSTR.PRINTF clc @@ -166,7 +169,7 @@ CS.RUN ldy #bCANCEL ldy #hDIRHEADER sta (pData),y - >PUSHW ZPQuickPtr1 + >PUSHW ZPPtr1 >PUSHW L.MSG.DIR.HEADER >LIBCALL hLIBSTR,LIBSTR.PRINTF clc @@ -183,7 +186,7 @@ CS.RUN ldy #bCANCEL .5 cmp #$C0 Volume Name ? bne .6 - >PUSHW ZPQuickPtr1 + >PUSHW ZPPtr1 >PUSHW L.MSG.VOL bra .8 @@ -199,55 +202,55 @@ CS.RUN ldy #bCANCEL rts *-------------------------------------- Push.Dir ldy #$1E get access mask - lda (ZPQuickPtr1),y + lda (ZPPtr1),y >PUSHA - >PUSHW ZPQuickPtr1 + >PUSHW ZPPtr1 rts *-------------------------------------- Push.File >PUSHBI 0 4th byte of file len=0 ldy #$17 get file len (3 bytes) - lda (ZPQuickPtr1),y + lda (ZPPtr1),y >PUSHA dey - lda (ZPQuickPtr1),y + lda (ZPPtr1),y >PUSHA dey - lda (ZPQuickPtr1),y + lda (ZPPtr1),y >PUSHA ldy #$1E get access mask - lda (ZPQuickPtr1),y + lda (ZPPtr1),y >PUSHA ldy #$20 get aux type - lda (ZPQuickPtr1),y + lda (ZPPtr1),y >PUSHA dey - lda (ZPQuickPtr1),y + lda (ZPPtr1),y >PUSHA ldy #$10 get filetype lda L.PRODOS.FT.TXT - sta ZPQuickPtr2 + sta ZPPtr2 lda L.PRODOS.FT.TXT+1 - sta ZPQuickPtr2+1 + sta ZPPtr2+1 ldx #0 -.1 lda (ZPQuickPtr1),y +.1 lda (ZPPtr1),y cmp PRODOS.FT.ID,x beq .3 - lda ZPQuickPtr2 + lda ZPPtr2 clc adc #4 - sta ZPQuickPtr2 + sta ZPPtr2 bcc .2 - inc ZPQuickPtr2+1 + inc ZPPtr2+1 .2 inx cpx PRODOS.FT.COUNT bne .1 - lda (ZPQuickPtr1),y + lda (ZPPtr1),y lsr lsr lsr @@ -255,41 +258,41 @@ Push.File >PUSHBI 0 4th byte of file len=0 tax lda HEXDIGIT,x sta PRODOS.FT.DFLT+2 - lda (ZPQuickPtr1),y + lda (ZPPtr1),y and #$0F tax lda HEXDIGIT,x sta PRODOS.FT.DFLT+3 -.3 >PUSHW ZPQuickPtr2 - >PUSHW ZPQuickPtr1 +.3 >PUSHW ZPPtr2 + >PUSHW ZPPtr1 >LIBCALL hLIBSTR,LIBSTR.LCASEP - >PUSHW ZPQuickPtr1 + >PUSHW ZPPtr1 rts *-------------------------------------- Push.Dates ldy #$24 get modification time - lda (ZPQuickPtr1),y + lda (ZPPtr1),y >PUSHA dey - lda (ZPQuickPtr1),y + lda (ZPPtr1),y >PUSHA ldy #$22 - lda (ZPQuickPtr1),y + lda (ZPPtr1),y >PUSHA dey - lda (ZPQuickPtr1),y + lda (ZPPtr1),y >PUSHA ldy #$1B get creation time - lda (ZPQuickPtr1),y + lda (ZPPtr1),y >PUSHA dey - lda (ZPQuickPtr1),y + lda (ZPPtr1),y >PUSHA ldy #$19 - lda (ZPQuickPtr1),y + lda (ZPPtr1),y >PUSHA dey - lda (ZPQuickPtr1),y + lda (ZPPtr1),y >PUSHA rts *-------------------------------------- @@ -298,13 +301,13 @@ Push.Footer ldy #hVOLHEADER beq .20 >SYSCALL SYS.GetMemPtrA - >STYA ZPQuickPtr1 + >STYA ZPPtr1 ldy #$22 file_count - lda (ZPQuickPtr1),y + lda (ZPPtr1),y >PUSHA dey - lda (ZPQuickPtr1),y + lda (ZPPtr1),y >PUSHA >PUSHW L.MSG.VOL.END @@ -315,13 +318,13 @@ Push.Footer ldy #hVOLHEADER beq .21 >SYSCALL SYS.GetMemPtrA - >STYA ZPQuickPtr1 + >STYA ZPPtr1 ldy #$22 file_count - lda (ZPQuickPtr1),y + lda (ZPPtr1),y >PUSHA dey - lda (ZPQuickPtr1),y + lda (ZPPtr1),y >PUSHA >PUSHW L.MSG.DIR.END diff --git a/BIN/LSDEV.S.txt b/BIN/LSDEV.S.txt index ce666f40..9058c9ac 100644 --- a/BIN/LSDEV.S.txt +++ b/BIN/LSDEV.S.txt @@ -10,8 +10,6 @@ AUTO 6 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I - .INB INC/KERNEL.I .INB INC/LIBSTR.I *-------------------------------------- ZPPTR1 .EQ ZPBIN @@ -42,7 +40,7 @@ L.MSG1 .DA MSG1 .DA 0 *-------------------------------------- CS.INIT >LDYA L.LIBSTR - >LOADLIBYA + >SYSCALL SYS.LoadLibYA bcs .9 sta hLIBSTR diff --git a/BIN/MD.S.txt b/BIN/MD.S.txt index ef70d7e6..090b4159 100644 --- a/BIN/MD.S.txt +++ b/BIN/MD.S.txt @@ -9,9 +9,7 @@ AUTO 6 .TF /A2OSX.BOOT/BIN/MD *-------------------------------------- .INB INC/MACROS.I - .INB INC/KERNEL.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I .INB INC/LIBSTR.I *-------------------------------------- ZPPTR1 .EQ ZPBIN @@ -123,7 +121,6 @@ COUT phx ply plx rts -pDevJmp jmp (pDev) *-------------------------------------- CS.END hFullPath .BS 1 diff --git a/BIN/MEM.S.txt b/BIN/MEM.S.txt index 6f4d3af2..81010dc6 100644 --- a/BIN/MEM.S.txt +++ b/BIN/MEM.S.txt @@ -9,9 +9,7 @@ AUTO 6 .TF /A2OSX.BOOT/BIN/MEM *-------------------------------------- .INB INC/MACROS.I - .INB INC/KERNEL.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I .INB INC/LIBSTR.I *-------------------------------------- PAGELEN .EQ 22 @@ -49,7 +47,7 @@ L.MSG6 .DA MSG6 .DA 0 *-------------------------------------- CS.INIT >LDYA L.LIBSTR - >LOADLIBYA + >SYSCALL SYS.LoadLibYA bcs .9 sta hLIBSTR @@ -330,7 +328,6 @@ COUT phx ply plx rts -pDevJmp jmp (pDev) *-------------------------------------- CS.END LIBSTR >PSTRING "libstr.o" diff --git a/BIN/MOUNT.S.txt b/BIN/MOUNT.S.txt index 92503cd3..8189eb3a 100644 --- a/BIN/MOUNT.S.txt +++ b/BIN/MOUNT.S.txt @@ -10,8 +10,6 @@ AUTO 6 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I - .INB INC/KERNEL.I .INB INC/LIBSTR.I .INB INC/LIBTCPIP.I *-------------------------------------- @@ -52,11 +50,11 @@ CS.INIT ldy #S.PS.hARGS rts .1 >LDYA L.LIBSTR - >LOADLIBYA + >SYSCALL SYS.LoadLibYA sta hLIBSTR >LDYA L.LIBTCPIP - >LOADLIBYA + >SYSCALL SYS.LoadLibYA sta hLIBTCPIP >LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG is TCPIP loaded ? diff --git a/BIN/NETCFG.S.txt b/BIN/NETINFO.S.txt similarity index 93% rename from BIN/NETCFG.S.txt rename to BIN/NETINFO.S.txt index 3ad69086..28eadb68 100644 --- a/BIN/NETCFG.S.txt +++ b/BIN/NETINFO.S.txt @@ -6,12 +6,10 @@ AUTO 6 .LIST OFF .OP 65C02 .OR $2000 - .TF /A2OSX.BOOT/BIN/NETCFG + .TF /A2OSX.BOOT/BIN/NETINFO *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I - .INB INC/KERNEL.I .INB INC/LIBSTR.I .INB INC/LIBTCPIP.I *-------------------------------------- @@ -55,7 +53,7 @@ L.MSG1.END .DA MSG1.END .DA 0 *-------------------------------------- CS.INIT >LDYA L.LIBSTR - >LOADLIBYA + >SYSCALL SYS.LoadLibYA sta hLIBSTR lda #K.PROTOID.IP @@ -200,5 +198,5 @@ MSG1.DOMAIN >CSTRING ".%s" MSG1.END >CSTRING "\nEnd of network configuration.\n" hLIBSTR .BS 1 MAN -SAVE BIN/NETCFG.S +SAVE BIN/NETINFO.S ASM diff --git a/BIN/PING.S.txt b/BIN/PING.S.txt index 709321f8..3ecf1360 100644 --- a/BIN/PING.S.txt +++ b/BIN/PING.S.txt @@ -10,8 +10,6 @@ AUTO 6 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I - .INB INC/KERNEL.I .INB INC/LIBSTR.I .INB INC/LIBTCPIP.I *-------------------------------------- @@ -20,6 +18,7 @@ PING.TIMEOUT .EQ 40 40*100ms = 4 sec. ZPFrameBase1 .EQ ZPBIN ZPFrameLen1 .EQ ZPBIN+2 ZPFramePtr1 .EQ ZPBIN+4 +ZPIPCfgPtr .EQ ZPBIN+6 *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- @@ -54,22 +53,22 @@ CS.INIT ldy #S.PS.hARGS rts .1 >LDYA L.LIBSTR - >LOADLIBYA + >SYSCALL SYS.LoadLibYA sta hLIBSTR >LDYA L.LIBTCPIP - >LOADLIBYA + >SYSCALL SYS.LoadLibYA sta hLIBTCPIP >LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG is TCPIP loaded ? bcs .9 - >STYA ZPQuickPtr1 + >STYA ZPIPCfgPtr - lda (ZPQuickPtr1) Configured ? + lda (ZPIPCfgPtr) Configured ? bpl .9 ldy #S.IPCFG.HDEV - lda (ZPQuickPtr1),y + lda (ZPIPCfgPtr),y sta hDev lda A2OSX.RANDOM16 @@ -113,7 +112,7 @@ CS.RUN.DNSQUERY >PUSHW pData DST.IP >LIBCALL hLIBTCPIP,LIBTCPIP.DNS.QUERY bcc CS.RUN.IPOK - jsr A2osX.SLEEP + >SYSCALL SYS.Sleep ldy #TimeOut lda (pData),y bne CS.RUN.DNSQUERY @@ -212,7 +211,7 @@ CS.RUN.ECHO >LIBCALL hLIBTCPIP,LIBTCPIP.NEW.ICMP.FRAME >PUSHYA >LIBCALL hLIBTCPIP,LIBTCPIP.SEND.ICMP.FRAME bcc .4 - jsr A2osX.SLEEP + >SYSCALL SYS.Sleep ldy #TimeOut lda (pData),y bne .3 @@ -228,7 +227,7 @@ CS.RUN.ECHO >LIBCALL hLIBTCPIP,LIBTCPIP.NEW.ICMP.FRAME ldy #TimeOut sta (pData),y -CS.RUN.WAIT jsr A2osX.SLEEP +CS.RUN.WAIT >SYSCALL SYS.Sleep ldy #bReply lda (pData),y bne .1 @@ -257,7 +256,7 @@ CS.RUN.WAIT jsr A2osX.SLEEP lda (pData),y beq .2 - jsr A2osX.SLEEP + >SYSCALL SYS.Sleep bra .1 .2 jmp CS.RUN.ECHO diff --git a/BIN/PS.S.txt b/BIN/PS.S.txt index 75bc0314..cb6a457c 100644 --- a/BIN/PS.S.txt +++ b/BIN/PS.S.txt @@ -10,8 +10,6 @@ AUTO 6 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I - .INB INC/KERNEL.I .INB INC/LIBSTR.I *-------------------------------------- ZPPTR1 .EQ ZPBIN @@ -43,7 +41,7 @@ L.MSG2 .DA MSG2 .DA 0 *-------------------------------------- CS.INIT >LDYA L.LIBSTR - >LOADLIBYA + >SYSCALL SYS.LoadLibYA sta hLibStr clc rts diff --git a/BIN/RM.S.txt b/BIN/RM.S.txt index d8a7121c..1a89a366 100644 --- a/BIN/RM.S.txt +++ b/BIN/RM.S.txt @@ -10,8 +10,6 @@ AUTO 6 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I - .INB INC/LIBSTR.I *-------------------------------------- ZPListDirPTR .EQ ZPBIN *-------------------------------------- @@ -250,7 +248,6 @@ COUT phx ply plx rts -pDevJmp jmp (pDev) *-------------------------------------- CS.END FullPath .BS 64 diff --git a/BIN/RPCINFO.S.txt b/BIN/RPCINFO.S.txt index f6babcd6..879b469b 100644 --- a/BIN/RPCINFO.S.txt +++ b/BIN/RPCINFO.S.txt @@ -10,8 +10,6 @@ AUTO 6 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I - .INB INC/KERNEL.I .INB INC/LIBSTR.I .INB INC/LIBTCPIP.I *-------------------------------------- @@ -20,6 +18,7 @@ RPCINFO.TIMEOUT .EQ 40 40*100ms = 4 sec. ZPFrameBase1 .EQ ZPBIN ZPFrameLen1 .EQ ZPBIN+2 ZPFramePtr1 .EQ ZPBIN+4 +ZPIPCfgPtr .EQ ZPBIN+6 *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- @@ -54,22 +53,22 @@ CS.INIT ldy #S.PS.hARGS rts .1 >LDYA L.LIBSTR - >LOADLIBYA + >SYSCALL SYS.LoadLibYA sta hLIBSTR >LDYA L.LIBTCPIP - >LOADLIBYA + >SYSCALL SYS.LoadLibYA sta hLIBTCPIP >LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG is TCPIP loaded ? bcs .9 - >STYA ZPQuickPtr1 + >STYA ZPIPCfgPtr - lda (ZPQuickPtr1) Configured ? + lda (ZPIPCfgPtr) Configured ? bpl .9 ldy #S.IPCFG.HDEV - lda (ZPQuickPtr1),y + lda (ZPIPCfgPtr),y sta hDev lda A2OSX.RANDOM16 diff --git a/BIN/TEST.S.txt b/BIN/TEST.S.txt index 9a244b65..8fceadac 100644 --- a/BIN/TEST.S.txt +++ b/BIN/TEST.S.txt @@ -6,23 +6,26 @@ AUTO 6 .LIST OFF .OP 65C02 .OR $2000 - .TF BIN/TEST + .TF /A2OSX.BOOT/BIN/TEST *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I .INB INC/LIBSTR.I *-------------------------------------- -* Main entry point -*-------------------------------------- -* Code signature and INIT table -*-------------------------------------- -* CLD $D8 -* JMP (*,x) $7C -* #JMPTABLE -* /JMPTABLE +* File Header (16 Bytes) *-------------------------------------- CS.START cld jmp (.1,x) + .DA #$61 6502,Level 1 (65c02) + .DA #1 BIN Layout Version 1 + .DA 0 + .DA CS.END-CS.START Code Length To Relocate + .DA 0 + .DA 0 + .DA 0 +*-------------------------------------- +* Relocation Table +*-------------------------------------- .1 .DA CS.INIT .DA CS.RUN .DA CS.EVENT @@ -39,21 +42,20 @@ L.TEST1 .DA TEST1 L.TEST2 .DA TEST2 L.TEST3 .DA TEST3 .DA 0 - .DA CS.END-CS.START Code Length To Relocate - .DA 0 Data Segment to Allocate *-------------------------------------- -CS.INIT >LIBLOADP L.LIBSTR +CS.INIT >LDYA L.LIBSTR + >SYSCALL SYS.LoadLibYA sta hLIBSTR ldy #S.PS.hPREFIX - lda (pPsContext),y + lda (pPs),y >SYSCALL SYS.GetMemPtrA >PUSHYA >PUSHW L.MSG0 >LIBCALL hLIBSTR,LIBSTR.PRINTF ldy #S.PS.hCS - lda (pPsContext),y + lda (pPs),y >SYSCALL SYS.GetMemByIDA >STYA ZPQuickPtr1 ldy #S.MEM.BIN @@ -64,18 +66,18 @@ CS.INIT >LIBLOADP L.LIBSTR >LIBCALL hLIBSTR,LIBSTR.PRINTF ldy #S.PS.hARGS - lda (pPsContext),y + lda (pPs),y >SYSCALL SYS.GetMemPtrA >PUSHYA ldy #S.PS.hCMD - lda (pPsContext),y + lda (pPs),y >SYSCALL SYS.GetMemPtrA >PUSHYA >PUSHW L.MSG2 >LIBCALL hLIBSTR,LIBSTR.PRINTF ldy #S.PS.hENV - lda (pPsContext),y + lda (pPs),y >SYSCALL SYS.GetMemPtrA >STYA ZPBIN @@ -163,10 +165,8 @@ CROUT lda #13 *-------------------------------------- COUT phx phy - >PUSHA - ldy #S.PS.hOUTDEV - lda (pPsContext),y - >SYSCALL SYS.DevOutA + ldx #DEVMGR.COUT + jsr pDevJmp ply plx rts diff --git a/DRV/CONSOLE.DRV.S.txt b/DRV/CONSOLE.DRV.S.txt index 4ccd0798..84059d5a 100644 --- a/DRV/CONSOLE.DRV.S.txt +++ b/DRV/CONSOLE.DRV.S.txt @@ -10,8 +10,6 @@ AUTO 6 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I - .INB INC/KERNEL.I .INB INC/IO.I *-------------------------------------- CURSOR.BLINK.SPEED .EQ 2 @@ -37,16 +35,15 @@ L.MSG.DETECT .DA MSG.DETECT .DA 0 End Of Reloc Table *-------------------------------------- Dev.Detect >LDYA L.MSG.DETECT - >SYSCALL SYS.SysScrPPSTRYA + >SYSCALL SYS.PSTROutYA lda A2osX.SCREENS ora #A2osX.SCREENS.C sta A2osX.SCREENS - clc rts CS.END -MSG.DETECT >PSTRING "\nApple IIe/IIc 80 Col Driver." +MSG.DETECT >PSTRING "Apple IIe/IIc 80 Col Driver.\n" *-------------------------------------- * Device Header (16 Bytes) *-------------------------------------- @@ -72,8 +69,10 @@ L.DEVINFO .DA DEVINFO OPEN stz CURON lda #$80 sta INVFLG - jsr HOME + + lda #A2osX.SCREENS.C + >SYSCALL SYS.ScreenSelectA clc rts @@ -84,7 +83,7 @@ GETEVENT lda A2osX.TIMER16 beq .1 jsr CURBLNK -.1 lda A2osX.SCREENS +.1 lda A2osX.ASCREEN and #A2osX.SCREENS.C is screen active? beq .9 diff --git a/DRV/DHGR.DRV.S.txt b/DRV/DHGR.DRV.S.txt index 41265408..42084855 100644 --- a/DRV/DHGR.DRV.S.txt +++ b/DRV/DHGR.DRV.S.txt @@ -10,8 +10,6 @@ AUTO 6 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I - .INB INC/KERNEL.I .INB INC/IO.I *-------------------------------------- ZPBASE .EQ ZPDRV @@ -50,7 +48,7 @@ MSG.DETECT >PSTRING "\nApple IIe/IIc DoubleHGR Driver." *-------------------------------------- DEV.HEADER cld jmp (DRV.CS.START,x) - .DA #0 + .DA #S.DEV.F.EVENT >PSTRING "GFX" NAME .HS 00 NAME must Be 5 bytes long .HS 00.00 @@ -73,7 +71,12 @@ DRV.CS.START .DA OPEN L.DEVINFO .DA DEVINFO .DA 0 end or relocation *-------------------------------------- -OPEN sta SETHIRES +OPEN lda #A2osX.SCREENS.G + >SYSCALL SYS.ScreenSelectA + + sta SETHIRES + lda RD80STORE + pha sta SET80STORE prepare for page switching ldx #192 @@ -106,10 +109,25 @@ OPEN sta SETHIRES txa bne .81 - clc + pla + bmi .84 + + sta CLR80STORE +.84 clc rts *-------------------------------------- -GETEVENT +GETEVENT lda A2osX.ASCREEN + and #A2osX.SCREENS.G is screen active? + beq .9 + + >SYSCALL SYS.GetKeyboardEvent + bcs .9 + rts + +.9 lda #0 Error = no event + sec + rts +*-------------------------------------- COUT IRQ sec rts diff --git a/DRV/MOUSE.DRV.S.txt b/DRV/MOUSE.DRV.S.txt index 9ad10cec..151db151 100644 --- a/DRV/MOUSE.DRV.S.txt +++ b/DRV/MOUSE.DRV.S.txt @@ -11,7 +11,6 @@ AUTO 6 .INB INC/MACROS.I .INB INC/IO.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I *-------------------------------------- ZPGoMouse .EQ ZPDRV ZPTmpPtr1 .EQ ZPDRV+2 @@ -65,7 +64,7 @@ L.DEV.HEADER.NAME .DA DEV.HEADER.NAME .DA 0 End Of Reloc Table *-------------------------------------- Dev.Detect >LDYA L.MSG.DETECT - >SYSCALL SYS.SysScrPPSTRYA + >SYSCALL SYS.PSTROutYA stz ZPTmpPtr1 lda #$C1 @@ -87,7 +86,7 @@ Dev.Detect >LDYA L.MSG.DETECT bne .1 >LDYA L.MSG.DETECT.KO - >SYSCALL SYS.SysScrPPSTRYA + >SYSCALL SYS.PSTROutYA lda #DEVMGR.ERRNOHW Not Found in any slot, exiting sec @@ -106,16 +105,18 @@ Dev.Detect >LDYA L.MSG.DETECT sta DEVSLOTn0 >LDYA L.MSG.DETECT.OK - >SYSCALL SYS.SysScrPPSTRYA + >SYSCALL SYS.PSTROutYA >LDYA L.DEV.HEADER.NAME - >SYSCALL SYS.SysScrPPSTRYA + >SYSCALL SYS.PSTROutYA + lda #13 + >SYSCALL SYS.COutA clc rts *-------------------------------------- CS.END -MSG.DETECT >PSTRING "\nApple II Mouse Driver." -MSG.DETECT.OK >PSTRING "\nMouse Card Driver Installed As Device : " -MSG.DETECT.KO >PSTRING "\nMouse Card Not Found." +MSG.DETECT >PSTRING "Apple Mouse Card/IIc Mouse Driver." +MSG.DETECT.OK >PSTRING "Mouse Installed As Device : " +MSG.DETECT.KO >PSTRING "No Mouse Found.\n" *-------------------------------------- * Device Header (16 Bytes) *-------------------------------------- @@ -188,7 +189,11 @@ OPEN clc rts *-------------------------------------- -GETEVENT php +GETEVENT lda A2osX.ASCREEN + and #A2osX.SCREENS.G is screen active? + beq .9 + + php sei lda RD80STORE @@ -252,8 +257,9 @@ GETEVENT php clc rts -.9 sec A=0 : no event - rts +.9 lda #0 Error = no event + sec + rts *-------------------------------------- COUT IRQ sec diff --git a/DRV/UTHERNET.DRV.S.txt b/DRV/UTHERNET.DRV.S.txt index 0a2ad0d5..1a39a2c3 100644 --- a/DRV/UTHERNET.DRV.S.txt +++ b/DRV/UTHERNET.DRV.S.txt @@ -10,8 +10,6 @@ AUTO 6 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I - .INB INC/KERNEL.I *-------------------------------------- ZPTmpPTR .EQ ZPDRV *-------------------------------------- @@ -126,11 +124,14 @@ CS.START cld * Relocation Table *-------------------------------------- L.MSG.DETECT .DA MSG.DETECT +L.MSG.DETECT.OK .DA MSG.DETECT.OK +L.MSG.DETECT.KO .DA MSG.DETECT.KO +L.DEV.HEADER.NAME .DA DEV.HEADER.NAME .DA 0 End Of Reloc Table *-------------------------------------- Dev.Detect sta hArgs >LDYA L.MSG.DETECT - >SYSCALL SYS.SysScrPPSTRYA + >SYSCALL SYS.PSTROutYA ldx #$10 .1 stx DEVSLOTx0 @@ -150,7 +151,10 @@ Dev.Detect sta hArgs cpx #$80 bne .1 - lda #DEVMGR.ERRNOHW + >LDYA L.MSG.DETECT.KO + >SYSCALL SYS.PSTROutYA + + lda #DEVMGR.ERRNOHW Not Found in any slot, exiting sec rts @@ -165,7 +169,13 @@ Dev.Detect sta hArgs sec rts -.4 clc +.4 >LDYA L.MSG.DETECT.OK + >SYSCALL SYS.PSTROutYA + >LDYA L.DEV.HEADER.NAME + >SYSCALL SYS.PSTROutYA + lda #13 + >SYSCALL SYS.COutA + clc rts *-------------------------------------- DecodeMac lda (ZPTmpPTR) @@ -221,7 +231,9 @@ Asc2NibbleA cmp #$30 rts *-------------------------------------- CS.END -MSG.DETECT >PSTRING "\nUtherNet/CS8900A Driver." +MSG.DETECT >PSTRING "UtherNet/CS8900A Driver.\n" +MSG.DETECT.OK >PSTRING "UtherNet/CS8900A Installed As Device : " +MSG.DETECT.KO >PSTRING "Hardware Not Found.\n" hArgs .BS 1 *-------------------------------------- * Device Header (16 Bytes) diff --git a/ETC/HOSTNAME b/ETC/HOSTNAME new file mode 100644 index 00000000..ff3d9873 --- /dev/null +++ b/ETC/HOSTNAME @@ -0,0 +1 @@ +apple2-host \ No newline at end of file diff --git a/ETC/HOSTS b/ETC/HOSTS new file mode 100644 index 00000000..e69de29b diff --git a/ETC/TCPIP.CONF b/ETC/TCPIP.CONF index b28034df..43789235 100644 --- a/ETC/TCPIP.CONF +++ b/ETC/TCPIP.CONF @@ -8,7 +8,6 @@ MASK=255.255.255.0 GW=192.168.1.1 DNS=192.168.1.2 DNS=192.168.1.1 -HOSTNAME=apple2 DOMAIN=coincoin.hd.free.fr MAN TEXT ETC/TCPIP.CONF diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 0426f7d4..6ff50988 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -7,11 +7,6 @@ AUTO 6 *-------------------------------------- * Aux ZP *-------------------------------------- -ZPQuickPtr1 .EQ $0 Temp Ptrs for use in very limited scope -ZPQuickPtr2 .EQ $2 (could be trashed by any JSR) -ZPQuickPtr3 .EQ $4 -ZPQuickPtr4 .EQ $6 - pCode .EQ $10 pData .EQ $12 pStack .EQ $14 @@ -26,12 +21,12 @@ ZPDRV .EQ $80 ZPBIN .EQ $90 ZPLIB .EQ $A0 *-------------------------------------- +* !!!!!!! RESERVED APPLESOFT.I !!!!!!! +* $5E -> $C8 +*-------------------------------------- * $B0 -> $FF KERNEL RESERVED *-------------------------------------- -ZPMemMgr .EQ $B0 -ZPSysScr .EQ $C0 -ZPDevMgr .EQ $D0 -ZPTskMgr .EQ $E0 +ZPMemMgr .EQ $E0 *-------------------------------------- R.VCPU16 .EQ $F0 R.AX .EQ R.VCPU16 @@ -73,7 +68,6 @@ D.STACK.TOP .EQ $03F0 ...Down to $0300 Z80STACK .EQ $0FFF (0FFFFh) Down to $0F00 Z80JMP .EQ $1000 *-------------------------------------- -MLICALL.PARAMS .EQ $1100 DevMgr.Table .EQ $1200 K.DEV.MAX*S.DEV.SIZE=32*16=512b *-------------------------------------- TskMgr.Table .EQ $1400 K.PS.MAX*S.PS.SIZE=64*16=1k @@ -103,6 +97,10 @@ pDevJmp .EQ $BE10 pCodeJmp .EQ $BE13 pLibJmp .EQ $BE16 *-------------------------------------- +* $11 bytes min !!!! +*-------------------------------------- +MLICALL.PARAMS .EQ $BEC0 +*-------------------------------------- * $BEE0->$BEFF : Public Variables *-------------------------------------- A2osX.SCREENS .EQ $BEE0 @@ -189,13 +187,13 @@ SYS.LoadDrvA .EQ $26 *-------------------------------------- SYS.ExpandPStrA .EQ $30 SYS.ExpandPStrYA .EQ $32 -SYS.GetEnvVarH .EQ $34 -SYS.GetEnvVarP .EQ $36 +SYS.GetEnvVarA .EQ $34 +SYS.GetEnvVarYA .EQ $36 SYS.SetEnvVarH .EQ $38 SYS.SetEnvVarP .EQ $3A -SYS.DelEnvVarH .EQ $3C -SYS.DelEnvVarP .EQ $3E +SYS.DelEnvVarA .EQ $3C +SYS.DelEnvVarYA .EQ $3E *-------------------------------------- SYS.MLICreateFile .EQ $40 SYS.MLICreateDirA .EQ $42 @@ -243,10 +241,10 @@ SYS.GetDevByNameYA .EQ $84 SYS.GetKeyboardEvent .EQ $88 *-------------------------------------- -SYS.ExecProcessNewEnvA .EQ $90 -SYS.ExecProcessA .EQ $92 -SYS.CreateProcessNewEnvA .EQ $94 -SYS.CreateProcessA .EQ $96 +SYS.ExecProcessNewEnvYA .EQ $90 +SYS.ExecProcessYA .EQ $92 +SYS.CreateProcessNewEnvYA .EQ $94 +SYS.CreateProcessYA .EQ $96 SYS.GetPSByIDA .EQ $98 @@ -267,9 +265,15 @@ SYS.GetNetCfgA .EQ $B4 SYS.ClrNetCfgA .EQ $B6 *-------------------------------------- SYS.ScreenSelectA .EQ $C0 +*-------------------------------------- +SYS.COutA .EQ $D0 +SYS.PSTROutA .EQ $D2 +SYS.PSTROutYA .EQ $D4 -SYS.SysScrPPSTRA .EQ $C4 -SYS.SysScrPPSTRYA .EQ $C6 +SYS.HexOutA .EQ $D8 +SYS.HexOutYA .EQ $DA +SYS.DecOutA .EQ $DC +SYS.DecOutYA .EQ $DE *-------------------------------------- * ERROR CODES *-------------------------------------- diff --git a/INC/APPLESOFT.I.txt b/INC/APPLESOFT.I.txt new file mode 100644 index 00000000..1b4637fd --- /dev/null +++ b/INC/APPLESOFT.I.txt @@ -0,0 +1,70 @@ +PR#3 +PREFIX /A2OSX.SRC +NEW +INC 1 +AUTO 6 + .LIST OFF +*-------------------------------------- +* AppleSoft ZP +* http://www.txbobsc.com/scsc/scdocumentor/index.html#toc +*-------------------------------------- +SIGNFLG .EQ $16 FLAGS SIGN IN TAN +INDEX .EQ $5E Ptr Used by Math routines +RESULT .EQ $62 -> $66, RESULT OF LAST * OR / +FAC .EQ $9D -> $A1 (5 bytes) +FAC.SIGN .EQ $A2 +ARG .EQ $A5 -> $A9 (5 bytes) +ARG.SIGN .EQ $AA +SGNCPR .EQ $AB FLAGS OPP SIGN IN FP ROUT +CHRGET .EQ $B1 -> $C8 +CHRGOT .EQ $B7 +TXTPTR .EQ $B8 +*-------------------------------------- +*-------------------------------------- +*-------------------------------------- +*-------------------------------------- +* FAC = (Y,A) - FAC +*-------------------------------------- +FSUB .EQ $E7A7 +*-------------------------------------- +* FAC = (Y,A) + FAC +*-------------------------------------- +FADD .EQ $E7BE +*-------------------------------------- +LOG .EQ $E941 +*-------------------------------------- +* FAC = (Y,A) * FAC +*-------------------------------------- +FMULT .EQ $E97F +*-------------------------------------- +* FAC = (Y,A) / FAC +*-------------------------------------- +FDIV .EQ $EA66 +*-------------------------------------- +* CONVERT STRING TO FP VALUE IN FAC +* STRING POINTED TO BY TXTPTR +* FIRST CHAR ALREADY SCANNED BY CHRGET +* (A) = FIRST CHAR, C=0 IF DIGIT. +*-------------------------------------- +FIN .EQ $EC4A +*-------------------------------------- +SQR .EQ $EE8D +*-------------------------------------- +* FAC = E ^ FAC +*-------------------------------------- +EXP .EQ $EF09 +*-------------------------------------- +RND .EQ $EFAE +*-------------------------------------- +COS .EQ $EFEA +*-------------------------------------- +SIN .EQ $EFF1 +*-------------------------------------- +TAN .EQ $F03A +*-------------------------------------- +ATN .EQ $F09E +*-------------------------------------- + +*-------------------------------------- +MAN +SAVE INC/APPLESOFT.I diff --git a/INC/MACROS.I.txt b/INC/MACROS.I.txt index 476154e0..fae6739c 100644 --- a/INC/MACROS.I.txt +++ b/INC/MACROS.I.txt @@ -10,6 +10,14 @@ AUTO 6 bpl :1 sta $C010 .EM +*-------------------------------------- + .MA DEBUGOA + bit $C061 + bpl :2 +:1 bit $C000 + bpl :1 + sta $C010 +:2 .EM *-------------------------------------- * SYSCALLs Macros *-------------------------------------- @@ -101,16 +109,6 @@ AUTO 6 ldx #]2 jsr A2osX.DRVCALL .EM -*-------------------------------------- - .MA LOADLIBYA - ldx #SYS.LoadLibYA - jsr A2osX.SYSCALL - .EM -*-------------------------------------- - .MA LOADLIBA - ldx #SYS.LoadLibA - jsr A2osX.SYSCALL - .EM *-------------------------------------- .MA LIBCALL ldy ]1 @@ -287,9 +285,9 @@ AUTO 6 .EM *-------------------------------------- .MA PSTRING - .DA #:2-:1 -:1 .AS "]1" -:2 .EQ * + .DA #:1-*-1 + .AS "]1" +:1 .EQ * .EM MAN SAVE INC/MACROS.I diff --git a/LIB/LIBSTR.S.txt b/LIB/LIBSTR.S.txt index 9bfb534f..91d65390 100644 --- a/LIB/LIBSTR.S.txt +++ b/LIB/LIBSTR.S.txt @@ -10,7 +10,6 @@ AUTO 6 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I *-------------------------------------- ZPTmpPtr1 .EQ ZPLIB+2 ZPTmpPtr2 .EQ ZPLIB+4 @@ -761,7 +760,6 @@ COUT phx ply plx rts -pDevJmp jmp (pDev) *-------------------------------------- CS.END PRINTFTBL1 .AS -"abBdDLeEhHiIsStT" diff --git a/LIB/LIBTCPIP.S.txt b/LIB/LIBTCPIP.S.txt index bcbbe2e5..34f97114 100644 --- a/LIB/LIBTCPIP.S.txt +++ b/LIB/LIBTCPIP.S.txt @@ -10,8 +10,6 @@ AUTO 6 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I - .INB INC/KERNEL.I .INB INC/LIBTCPIP.I *-------------------------------------- ZPFrameBase1 .EQ ZPLIB @@ -469,7 +467,6 @@ ComputeChecksum >PULLA eor #$FF rts *-------------------------------------- -pDevJmp jmp (pDev) CS.END *-------------------------------------- bFirstLoad .DA #0 diff --git a/SBIN/DHCPCLNT.S.txt b/SBIN/DHCPCLNT.S.txt index 3959d5ed..0c45674f 100644 --- a/SBIN/DHCPCLNT.S.txt +++ b/SBIN/DHCPCLNT.S.txt @@ -10,14 +10,13 @@ AUTO 6 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I - .INB INC/KERNEL.I .INB INC/LIBSTR.I .INB INC/LIBTCPIP.I *-------------------------------------- ZPFrameBase1 .EQ ZPBIN ZPFrameLen1 .EQ ZPBIN+2 ZPFramePtr1 .EQ ZPBIN+4 +ZPPtr1 .EQ ZPBIN+6 *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- @@ -43,20 +42,20 @@ L.IPCFG .DA IPCFG .DA 0 *-------------------------------------- CS.INIT >LDYA L.LIBSTR - >LOADLIBYA + >SYSCALL SYS.LoadLibYA sta hLIBSTR >LDYA L.LIBTCPIP - >LOADLIBYA + >SYSCALL SYS.LoadLibYA sta hLIBTCPIP >LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG bcs .9 - >STYA ZPQuickPTR1 + >STYA ZPPtr1 ldy #S.IPCFG .1 dey - lda (ZPQuickPTR1),y + lda (ZPPtr1),y sta IPCFG,y tya bne .1 @@ -97,7 +96,7 @@ CS.RUN.DISC jsr SendDHCPDiscFrame lda #S.IPCFG.STATUS.SDISC sta IPCFG -CS.RUN.OFFER jsr A2osX.SLEEP +CS.RUN.OFFER >SYSCALL SYS.Sleep lda IPCFG and #S.IPCFG.STATUS.ROFFER bne CS.RUN.REQ @@ -112,7 +111,7 @@ CS.RUN.REQ jsr SendDHCPReqFrame lda #S.IPCFG.STATUS.SREQ sta IPCFG -CS.RUN.RACK jsr A2osX.SLEEP +CS.RUN.RACK >SYSCALL SYS.Sleep lda IPCFG and #S.IPCFG.STATUS.RACK bne CS.RUN.OK @@ -209,15 +208,15 @@ SendDHCPDiscFrame lda ZPFrameBase1 clc adc #S.UDP - sta ZPQuickPTR1 + sta ZPPtr1 lda ZPFrameBase1+1 adc /S.UDP - sta ZPQuickPTR1+1 + sta ZPPtr1+1 ldy #FRAME.DISC.LEN .1 dey lda FRAME.DISC,y - sta (ZPQuickPTR1),y + sta (ZPPtr1),y tya bne .1 @@ -363,15 +362,15 @@ SendDHCPReqFrame lda ZPFrameBase1 clc adc #S.UDP - sta ZPQuickPTR1 + sta ZPPtr1 lda ZPFrameBase1+1 adc /S.UDP - sta ZPQuickPTR1+1 + sta ZPPtr1+1 ldy #FRAME.REQ.LEN .1 dey lda FRAME.REQ,y - sta (ZPQuickPTR1),y + sta (ZPPtr1),y tya bne .1 diff --git a/SBIN/GETTY.S.txt b/SBIN/GETTY.S.txt index e5067c48..bd6aca9b 100644 --- a/SBIN/GETTY.S.txt +++ b/SBIN/GETTY.S.txt @@ -10,8 +10,6 @@ AUTO 6 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I - .INB INC/KERNEL.I *-------------------------------------- ZPTmp1 .EQ ZPBIN *-------------------------------------- @@ -42,7 +40,8 @@ CS.INIT ldy #S.PS.hARGS bne .1 >LDYA L.MSG.USAGE - jsr PRINT.MSG + >SYSCALL SYS.PSTROutYA + lda #0 sec rts @@ -50,12 +49,13 @@ CS.INIT ldy #S.PS.hARGS >PUSHBI $20 Push SEP=' ' >PUSHBI 1 Push 1 for getting INDEV >SYSCALL SYS.PStrGetTkn - bcs .98 + bcs .99 sta hDEVNAME >SYSCALL SYS.GetDevByNameA - bcs .99 + bcs .98 + >STYA pDev txa ldy #S.PS.hINDEV sta (pPs),y @@ -77,13 +77,11 @@ CS.INIT ldy #S.PS.hARGS ldy #hBinName sta (pData),y - + ldx #DEVMGR.OPEN jsr pDevJmp if error CS, else... - rts ...Tell TskMgr To stay in memory - .98 pha lda hDEVNAME >SYSCALL SYS.FreeMemA @@ -91,41 +89,33 @@ CS.INIT ldy #S.PS.hARGS sec .99 rts *-------------------------------------- -CS.RUN ldy #S.PS.hOUTDEV - lda (pPs),y - >SYSCALL SYS.GetDevByIDA - >STYA pDev - - lda #13 try send a CR... - - jsr COUT Device Is Ready ? +CS.RUN lda #13 try send a CR... + >SYSCALL SYS.COutA Device Is Ready ? - bcc .1 - clc no..loop... - rts + bcs .8 no..loop... .1 >LDYA L.MSG.GREETINGS - jsr PRINT.MSG - bcs .9 + >SYSCALL SYS.PSTROutYA - ldy #S.PS.hINDEV - lda (pPs),y - jsr PRBYTE - bcs .9 - lda #',' - - jsr COUT - bcs .9 + bcs .8 unable to send greetings...loop.. ldy #S.PS.hOUTDEV lda (pPs),y - jsr PRBYTE - bcs .9 - + >SYSCALL SYS.HexOutA + bcs .8 + + lda #13 + >SYSCALL SYS.COutA + bcs .8 + ldy #hBinName lda (pData),y - >SYSCALL SYS.ExecProcessNewEnvA + ldy #0 + >SYSCALL SYS.ExecProcessNewEnvYA .9 rts + +.8 clc + rts *-------------------------------------- CS.DOEVENT sec rts @@ -140,53 +130,9 @@ CS.QUIT ldy #hBinName clc rts *-------------------------------------- -* PRIVATE -*-------------------------------------- -PRINT.MSG >STYA ZPTmp1 - ldy #0 -.1 lda (ZPTmp1),y - beq .2 - jsr COUT - bcs .9 - iny - bne .1 -.2 clc -.9 rts -*-------------------------------------- -PRBYTE pha - lsr - lsr - lsr - lsr - ora #$30 - cmp #$3A - bcc .1 - adc #6 -.1 jsr COUT - pla - bcs .9 - and #$0F - ora #$30 - cmp #$3A - bcc .2 - adc #6 -.2 jsr COUT -.9 rts -*-------------------------------------- -CROUT lda #13 -*-------------------------------------- -COUT phx - phy - ldx #DEVMGR.COUT - jsr pDevJmp - ply - plx - rts -pDevJmp jmp (pDev) -*-------------------------------------- CS.END -MSG.USAGE >CSTRING "GETTY " -MSG.GREETINGS >CSTRING "A2osX-GeTTY on Dev=" +MSG.USAGE >PSTRING "GETTY " +MSG.GREETINGS >PSTRING "A2osX-GeTTY on Dev=" hDEVNAME .BS 1 *-------------------------------------- .DUMMY diff --git a/SBIN/GUI.S.txt b/SBIN/GUI.S.txt index 17006f7d..26db6b86 100644 --- a/SBIN/GUI.S.txt +++ b/SBIN/GUI.S.txt @@ -10,7 +10,6 @@ AUTO 6 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- diff --git a/SBIN/HTTPD.S.txt b/SBIN/HTTPD.S.txt new file mode 100644 index 00000000..e69de29b diff --git a/SBIN/INSDRV.S.txt b/SBIN/INSDRV.S.txt new file mode 100644 index 00000000..16a8f01f --- /dev/null +++ b/SBIN/INSDRV.S.txt @@ -0,0 +1,74 @@ +PR#3 +PREFIX /A2OSX.SRC +NEW +INC 1 +AUTO 6 + .LIST OFF + .OP 65C02 + .OR $2000 + .TF /A2OSX.BOOT/SBIN/INSDRV +*-------------------------------------- + .INB INC/MACROS.I + .INB INC/A2OSX.I + .INB INC/LIBSTR.I +*-------------------------------------- +ZPPTR1 .EQ ZPBIN +ZPPTR2 .EQ ZPBIN+2 +ZPPTR3 .EQ ZPBIN+4 +*-------------------------------------- +* File Header (16 Bytes) +*-------------------------------------- +CS.START cld + jmp (.1,x) + .DA #$61 6502,Level 1 (65c02) + .DA #1 BIN Layout Version 1 + .DA 0 + .DA CS.END-CS.START Code Length To Relocate + .DA 0 Data Segment to Allocate + .DA 0 + .DA 0 +*-------------------------------------- +* Relocation Table +*-------------------------------------- +.1 .DA CS.INIT + .DA CS.RUN + .DA CS.EVENT + .DA CS.QUIT +L.MSG.HELP .DA MSG.HELP +L.MSG.LOADING .DA MSG.LOADING + .DA 0 +*-------------------------------------- +CS.INIT ldy #S.PS.hARGS + lda (pPs),y + bne .1 + >LDYA L.MSG.HELP + >SYSCALL SYS.PSTROutYA + bra .8 + +.1 sta hArgs + >LDYA L.MSG.LOADING + >SYSCALL SYS.PSTROutYA + bcs .9 + + lda hArgs + >SYSCALL SYS.LoadDrvA + + bcs .9 + + +.8 lda #0 tell TSKMGR that all done ok, but +.9 sec we do not want to stay in memory + rts +*-------------------------------------- +CS.RUN +CS.EVENT +CS.QUIT clc + rts +*-------------------------------------- +CS.END +MSG.HELP >PSTRING "Usage: insdrv file.drv \n" +MSG.LOADING >PSTRING "INSDRV:\n" +hArgs .BS 1 +MAN +SAVE SBIN/INSDRV.S +ASM diff --git a/SBIN/LOGIN.S.txt b/SBIN/LOGIN.S.txt index f0578ffe..54d47de9 100644 --- a/SBIN/LOGIN.S.txt +++ b/SBIN/LOGIN.S.txt @@ -10,7 +10,8 @@ AUTO 6 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I +*-------------------------------------- +ZPPTR1 .EQ ZPBIN *-------------------------------------- INPUT.BUFFER.SIZE .EQ 16 *-------------------------------------- @@ -56,39 +57,49 @@ CS.RUN lda #0 ldy #hPASSWORD sta (pData),y - jsr CROUT - jsr CROUT + lda #13 + >SYSCALL SYS.COutA + bcs .9 + >LDYA L.MSG.LOGIN - jsr PRINT.MSG + >SYSCALL SYS.PSTROutYA + bcs .9 + lda #0 Echo all caracters jsr INPUT.RESET -.1 jsr A2osX.Sleep +.1 >SYSCALL SYS.Sleep jsr INPUT.LINEIN bcc .1 - jsr CROUT + lda #13 + >SYSCALL SYS.COutA + bcs .9 >LDYA L.MSG.PASSWORD - jsr PRINT.MSG + >SYSCALL SYS.PSTROutYA lda #'*' jsr INPUT.RESET -.2 jsr A2osX.Sleep +.2 >SYSCALL SYS.Sleep jsr INPUT.LINEIN bcc .2 - jsr CROUT + lda #13 + >SYSCALL SYS.COutA + bcs .9 ldy #hSHELL lda (pData),y - >SYSCALL SYS.ExecProcessNewEnvA + ldy #0 + >SYSCALL SYS.ExecProcessNewEnvYA - bcc .8 + bcs .9 - jsr PRBYTE .8 clc - rts + rts +.9 sec + rts *-------------------------------------- CS.DOEVENT ldy #S.EVT.hDEV lda (pEvent),y @@ -113,7 +124,10 @@ CS.DOEVENT ldy #S.EVT.hDEV .99 sec rts *-------------------------------------- -CS.QUIT clc +CS.QUIT ldy #hSHELL + lda (pData),y + >SYSCALL SYS.FreeMemA + clc rts *-------------------------------------- * PRIVATE @@ -133,31 +147,32 @@ INPUT.CHARIN tax saver char... lda #INPUT.BUFFER clc adc pData - sta ZPQuickPtr1 + sta ZPPTR1 lda pData+1 adc /INPUT.BUFFER - sta ZPQuickPtr1+1 + sta ZPPTR1+1 cpx #$20 Control Char? bcc .2 - lda (ZPQuickPtr1) + lda (ZPPTR1) cmp #INPUT.BUFFER.SIZE Buffer full? beq .9 inc - sta (ZPQuickPtr1) + sta (ZPPTR1) tay txa - sta (ZPQuickPtr1),y + sta (ZPPTR1),y ldy #INPUT.STATUS lda (pData),y bne .1 txa -.1 jmp COUT +.1 >SYSCALL SYS.COutA + rts .2 cpx #$0D bne .9 @@ -177,49 +192,10 @@ INPUT.LINEIN ldy #INPUT.STATUS clc .9 rts *-------------------------------------- -PRINT.MSG >STYA ZPQuickPtr1 - ldy #0 -.1 lda (ZPQuickPtr1),y - beq .2 - jsr COUT - iny - bne .1 -.2 rts -*-------------------------------------- -PRBYTE pha - lsr - lsr - lsr - lsr - ora #$30 - cmp #$3A - bcc .1 - adc #6 -.1 jsr COUT - pla - and #$0F - ora #$30 - cmp #$3A - bcc COUT - adc #6 - bra COUT -*-------------------------------------- -CROUT lda #13 -*-------------------------------------- -COUT phx - phy - ldx #DEVMGR.COUT - jsr pDevJmp - ply - plx - rts -pDevJmp jmp (pDev) CS.END -*-------------------------------------- -MSG.LOGIN >CSTRING "login:" -MSG.PASSWORD >CSTRING "password:" -SHELL >PSTRING "SHELL" -*-------------------------------------- +MSG.LOGIN >PSTRING "login:" +MSG.PASSWORD >PSTRING "password:" +SHELL >PSTRING "SBIN/SHELL" .DUMMY .OR 0 DS.START diff --git a/SBIN/SHELL.S.CMD.txt b/SBIN/SHELL.S.CMD.txt index 2e85c783..2a8f6f28 100644 --- a/SBIN/SHELL.S.CMD.txt +++ b/SBIN/SHELL.S.CMD.txt @@ -10,7 +10,8 @@ EXEC.CMD stz hFullCmd stz hEnvPath ldy #hCmdLine - >PUSHB (pData),y + lda (pData),y + >PUSHA >PUSHBI $20 Push SEP=' ' >PUSHBI 0 Push 0 for getting CMD & ARGS >SYSCALL SYS.PStrGetTkn @@ -38,7 +39,7 @@ EXEC.CMD stz hFullCmd lda (ZPPtr1),y cmp #'a' bcc .3 - cmp #'{' + cmp #'z'+1 bcs .3 eor #$20 to Uppercase .3 cmp CMDS,x @@ -60,24 +61,24 @@ EXEC.CMD stz hFullCmd inc ExecCmdIdx bra .1 .99 rts - +*-------------------------------------- +* ZPPtr1 = hExecCmd +*-------------------------------------- EXEC.CMD.EXT ldy #1 lda (ZPPtr1),y cmp #'/' - bne .2 - ldy #hCmdLine - lda (pPs),y - bra .11 + bne .1 + >LDYA ZPPtr1 + >SYSCALL SYS.NewPStrYA + bra .10 -.2 >PUSHW L.ENV.PATH push ENVNAME=PATH - ldy #S.PS.hENV - lda (pPs),y - >PUSHA - >SYSCALL SYS.GetEnvVarP get value for ENV=PATH +.1 >LDYA L.ENV.PATH push ENVNAME=PATH + >SYSCALL SYS.GetEnvVarYA get value for ENV=PATH - bcs EXEC.CMD.ClnUp + bcc .12 + jmp EXEC.CMD.ClnUp - sta hEnvPath +.12 sta hEnvPath >PUSHB hExecCmd >PUSHB hEnvPath >SYSCALL SYS.FileSearch @@ -89,27 +90,55 @@ EXEC.CMD.EXT ldy #1 >PUSHA >SYSCALL SYS.FileSearch - bcs EXEC.CMD.ClnUp +.10 bcs EXEC.CMD.ClnUp -.10 sta hFullCmd -.11 >SYSCALL SYS.MLIGetFileInfoA + sta hFullCmd + >SYSCALL SYS.MLIGetFileInfoA bcs EXEC.CMD.ClnUp >STYA ZPPTR1 ldy #1 Get File Type lda (ZPPTR1),y cmp #$04 TXT File ? - bne .1 + bne .2 + + lda hFullCmd + jsr OpenTxtFileA + bcs EXEC.CMD.ClnUp + + lda hExecArgs + beq .11 + + >SYSCALL SYS.PStrCpyA + bcs EXEC.CMD.ClnUp +.11 ldy #hInputArgs + sta (pData),y + bra EXEC.CMD.ClnUp + +.2 cmp #$06 BIN File ? + bne .4 + + ldy #S.PS.PID + lda (pPs),y + beq .3 0, we are in kernel space + + lda hFullCmd + ldy hExecArgs + >SYSCALL SYS.ExecProcessNewEnvYA + bra EXEC.CMD.ClnUp + +.3 lda hFullCmd + ldy hExecArgs + >SYSCALL SYS.CreateProcessYA + bra EXEC.CMD.ClnUp + +.4 cmp #$ff SYS File ? + bne .5 bra * -.1 jsr EXEC.CMD.ClnUp Discard CMD & ARGS - ldy #hCmdLine - lda (pData),y - >SYSCALL SYS.ExecProcessNewEnvA - - rts - +.5 lda #SYSMGR.ERRSYN + sec EXEC.CMD.ClnUp pha php lda hFullCmd @@ -138,10 +167,9 @@ EXEC.CMD.CD lda hExecArgs bne EXEC.CMD.CD.C ldy #S.PS.hPREFIX lda (pPs),y - >SYSCALL SYS.GetMemPtrA - >PUSHYA - >LIBCALL hLIBSTR,LIBSTR.PRINTP - jsr CROUT + >SYSCALL SYS.PSTROutA + lda #13 + >SYSCALL SYS.COutA clc rts @@ -224,7 +252,7 @@ EXEC.CMD.CD.C >SYSCALL SYS.GetMemPtrA rts *-------------------------------------- EXEC.CMD.SET lda hExecArgs - bne .2 + bne EXEC.CMD.SETVAR ldy #S.PS.hENV lda (pPs),y @@ -233,9 +261,10 @@ EXEC.CMD.SET lda hExecArgs .1 lda (ZPPTR1) beq .8 Ending 0 ? - >PUSHW ZPPTR1 - >LIBCALL hLIBSTR,LIBSTR.PRINTP - jsr CROUT + >LDYA ZPPTR1 + >SYSCALL SYS.PSTROutYA + lda #13 + >SYSCALL SYS.COutA lda ZPPTR1 sec @@ -248,7 +277,7 @@ EXEC.CMD.SET lda hExecArgs .8 clc rts -.2 >PUSHA Push Cmd Line +EXEC.CMD.SETVAR >PUSHA Push Cmd Line >PUSHBI $3D Push SEP='=' >PUSHBI 0 Push Token IDX >SYSCALL SYS.PStrGetTkn @@ -259,46 +288,42 @@ EXEC.CMD.SET lda hExecArgs .3 sta hVarName stx hVarValue txa - bne .7 + beq .31 - lda hExecArgs + >PUSHB hVarValue + >PUSHB hVarName + >SYSCALL SYS.SetEnvVarH + jmp .97 + +.31 lda hExecArgs >SYSCALL SYS.GetMemPtrA >STYA ZPPTR1 lda (ZPPTR1) tay lda (ZPPTR1),y cmp #'=' - beq .7 + bne .4 + + lda hVarName + >SYSCALL SYS.DelEnvVarA + bra .97 - >PUSHB hVarName - ldy #S.PS.hENV - >PUSHB (pPs),y - >SYSCALL SYS.GetEnvVarH +.4 lda hVarName + >SYSCALL SYS.GetEnvVarA bcs .97 sta hVarValue lda hVarName - >SYSCALL SYS.GetMemPtrA - >PUSHYA - >LIBCALL hLIBSTR,LIBSTR.PRINTP - + >SYSCALL SYS.PSTROutA lda #'=' - jsr COUT - + >SYSCALL SYS.COutA lda hVarValue - >SYSCALL SYS.GetMemPtrA - >PUSHYA - >LIBCALL hLIBSTR,LIBSTR.PRINTP - jsr CROUT - - bra .97 - -.7 >PUSHB hVarValue - >PUSHB hVarName - ldy #S.PS.hENV - >PUSHB (pPs),y - >SYSCALL SYS.SetEnvVarH - + >SYSCALL SYS.PSTROutA + lda #13 + >SYSCALL SYS.COutA + + clc + .97 php pha lda hVarValue @@ -314,7 +339,8 @@ EXEC.CMD.DATE >SYSCALL SYS.MLIGetTime bcs .9 >PUSHW DATELO >LIBCALL hLIBSTR,LIBSTR.PRINTDATE - jsr CROUT + lda #13 + >SYSCALL SYS.COutA clc .9 rts *-------------------------------------- @@ -322,7 +348,8 @@ EXEC.CMD.TIME >SYSCALL SYS.MLIGetTime bcs .9 >PUSHW TIMELO >LIBCALL hLIBSTR,LIBSTR.PRINTTIME - jsr CROUT + lda #13 + >SYSCALL SYS.COutA clc .9 rts *-------------------------------------- @@ -332,10 +359,9 @@ EXEC.CMD.ECHO lda hExecArgs bcs .99 pha - >SYSCALL SYS.GetMemPtrA - >PUSHYA - >LIBCALL hLIBSTR,LIBSTR.PRINTP - jsr CROUT + >SYSCALL SYS.PSTROutA + lda #13 + >SYSCALL SYS.COutA pla >SYSCALL SYS.FreeMemA clc @@ -363,7 +389,7 @@ EXEC.CMD.TYPE lda hExecArgs .2 dec ZPPTR2 lda (ZPPTR1) - jsr COUT + >SYSCALL SYS.COutA inc ZPPTR1 bne .1 inc ZPPTR1+1 @@ -378,6 +404,16 @@ EXEC.CMD.TYPE lda hExecArgs sec .99 rts *-------------------------------------- +EXEC.CMD.READ + clc + rts +*-------------------------------------- +EXEC.CMD.PAUSE ldy #bPause + lda #$80 + sta (pData),y + clc + rts +*-------------------------------------- EXEC.CMD.EXIT ldy #bEXIT lda #$FF sta (pData),y diff --git a/SBIN/SHELL.S.txt b/SBIN/SHELL.S.txt index 425f118f..b314a032 100644 --- a/SBIN/SHELL.S.txt +++ b/SBIN/SHELL.S.txt @@ -11,7 +11,6 @@ AUTO 6 .INB INC/MACROS.I .INB INC/PRODOS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I .INB INC/LIBSTR.I *-------------------------------------- ZPPTR1 .EQ ZPBIN @@ -41,28 +40,35 @@ CS.START cld *-------------------------------------- L.LIBSTR .DA LIBSTR L.MSG.GREETINGS .DA MSG.GREETINGS -L.MSG.UNKNOWN .DA MSG.UNKNOWN -L.MSG.SYNERR .DA MSG.SYNERR +L.MSG.ERROR .DA MSG.ERROR L.ENV.PATH .DA ENV.PATH J.INTCMDS .DA EXEC.CMD.CD - .DA EXEC.CMD.SET .DA EXEC.CMD.DATE - .DA EXEC.CMD.TIME .DA EXEC.CMD.ECHO - .DA EXEC.CMD.TYPE .DA EXEC.CMD.EXIT + .DA EXEC.CMD.PAUSE + .DA EXEC.CMD.READ + .DA EXEC.CMD.SET + .DA EXEC.CMD.TIME + .DA EXEC.CMD.TYPE .DA 0 *-------------------------------------- -CS.INIT >LDYA L.LIBSTR - >LOADLIBYA +CS.INIT >DEBUG + >LDYA L.LIBSTR + >SYSCALL SYS.LoadLibYA bcs .9 sta hLIBSTR - ldy #S.PS.hARGS Batch mode ? + ldy #S.PS.hARGS Batch file ? lda (pPs),y beq CS.INIT.INTERACTIVE no,continue starting interactive + jsr OpenTxtFileA + bcs .9 + ldy #bExitOnEOF + lda #$FF + sta (pData),y clc .9 rts *-------------------------------------- @@ -70,17 +76,11 @@ CS.INIT.INTERACTIVE jsr History.Init bcs .9 - ldy #S.PS.ID - lda (pPs),y - >PUSHA - ldy #S.PS.hOUTDEV - lda (pPs),y - >PUSHA ldy #S.PS.hINDEV lda (pPs),y >PUSHA - >PUSHW L.MSG.GREETINGS - >LIBCALL hLIBSTR,LIBSTR.PRINTF + >LDYA L.MSG.GREETINGS + >SYSCALL SYS.PSTROutYA lda (pPs) ora #S.PS.F.EVENT Now accept events @@ -92,56 +92,77 @@ CS.INIT.INTERACTIVE CS.RUN lda #0 sta (pData) - lda #"$" - jsr COUT - lda #" " - jsr COUT + ldy #bPause + lda (pData),y + bpl .10 + clc + rts -.1 jsr A2osX.SLEEP +.10 ldy #hInputFile batch mode ? + lda (pData),y + bne .2 + + jsr PrintPrompt + +.1 >SYSCALL SYS.Sleep lda (pData) bpl .1 -.2 and #$7F + and #$7F sta (pData) + bra .3 + +.2 jsr ReadTxtFile + bcs .81 + +.3 lda (pData) beq CS.RUN Empty line + ldy #1 lda (pData),y cmp #'#' Comment beq CS.RUN - jsr History.Add + ldy #hInputFile + lda (pData),y + bne .32 + + ldy #bEchoOff + lda (pData),y + beq .31 >LDYA pData + >SYSCALL SYS.PSTROutYA + +.31 jsr History.Add + +.32 >LDYA pData >SYSCALL SYS.NewPStrYA bcs .99 ldy #hCmdLine sta (pData),y jsr EXEC.CMD - bcc .3 + bcc .4 - pha - lda #"[" - jsr COUT - pla - jsr PRBYTE - lda #"]" - jsr COUT - jsr CROUT + jsr PrintError -.3 ldy #hCmdLine +.4 ldy #hCmdLine lda (pData),y >SYSCALL SYS.FreeMemA ldy #hCmdLine lda #0 sta (pData),y - ldy #bEXIT +.8 ldy #bEXIT lda (pData),y bne .99 clc rts + +.81 jsr CloseTxtFile + bra .8 .99 sec rts @@ -150,8 +171,8 @@ CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device? lda (pEvent),y ldy #S.PS.hINDEV cmp (pPs),y - bne .9 + lda (pEvent) and #S.EVT.F.KEY is it a KEY event? beq .9 @@ -164,7 +185,37 @@ CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device? lda (pEvent),y tax - cpx #$20 + ldy #bPause + lda (pData),y + bpl .11 + + lda #0 + sta (pData),y + bra .8 + +.11 ldy #hInputFile Batch mode ? + lda (pData),y + beq .10 + + cpx #3 test Ctrl-c + bne .12 + + jsr CloseTxtFile + ldy #bExitOnEOF + lda (pData),y + ldy #bExit + sta (pData),y + clc + rts + +.12 cpx #19 test Ctrl-s + bne .8 + ldy #bPause + lda #$80 + sta (pData),y + bra .8 + +.10 cpx #$20 bcs .1 jsr CS.EVENT.CTRL.CHAR bra .8 @@ -185,8 +236,7 @@ CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device? txa sta (pData),y - ora #$80 - jsr COUT + >SYSCALL SYS.COutA .8 clc rts @@ -195,64 +245,89 @@ CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device? rts *-------------------------------------- CS.EVENT.CTRL.CHAR - cmp #13 CR + cpx #13 CR bne .10 - jsr CROUT + txa + >SYSCALL SYS.COutA lda (pData) CmdBuffer ora #$80 sta (pData) clc rts -.10 cmp #3 +.10 cpx #3 Ctrl-C bne .1 + jsr CmdBuffer.CLR clc rts -.1 cmp #8 BS (left arrow) +.1 cpx #8 BS (left arrow) bne .2 jsr CmdBuffer.DEL clc rts -.2 cmp #10 LF (down arrow) +.2 cpx #10 LF (down arrow) bne .3 jsr HISTORY.GETNEXT clc rts -.3 cmp #11 VT (up arrow) +.3 cpx #11 VT (up arrow) bne .4 jsr HISTORY.GETPREV clc rts -.4 cmp #21 NAK (right arrow) +.4 cpx #21 NAK (right arrow) bne .8 clc rts -.8 jsr PRBYTE - clc +.8 clc rts *-------------------------------------- CS.QUIT jsr History.Quit - lda hLIBSTR + + ldy #hInputFile + lda (pData),y + beq .1 + >SYSCALL SYS.MLICloseA + +.1 ldy #hInputBuffer + lda (pData),y + beq .2 + >SYSCALL SYS.FreeMemA + +.2 lda hLIBSTR >SYSCALL SYS.UnloadLibA clc rts *-------------------------------------- * PRIVATE *-------------------------------------- +PrintPrompt lda #"$" + >SYSCALL SYS.COutA + lda #" " + >SYSCALL SYS.COutA + rts +*-------------------------------------- +PrintError pha + >PUSHA + >LDYA L.MSG.ERROR + >SYSCALL SYS.PSTROutYA + pla + rts +*-------------------------------------- CmdBuffer.PRINT ldy #0 .1 iny lda (pData),y ora #$80 - jsr COUT + >SYSCALL SYS.COutA tya cmp (pData) bne .1 @@ -265,40 +340,92 @@ CmdBuffer.CLR jsr CmdBuffer.DEL CmdBuffer.DEL lda (pData) beq .9 lda #8 - jsr COUT + >SYSCALL SYS.COutA lda (pData) dec sta (pData) .9 rts *-------------------------------------- -PRBYTE pha - lsr - lsr - lsr - lsr - ora #$B0 - cmp #$BA - bcc .1 - adc #6 -.1 jsr COUT +OpenTxtFileA >SYSCALL SYS.MLIOpenA + bcs .9 + + ldy #hInputFile + sta (pData),y + pha + txa + ldy #hInputBuffer + sta (pData),y + + >PUSHBI $0D Line separator for TXT file + >PUSHBI $FF pla - and #$0F - ora #$B0 - cmp #$BA - bcc COUT - adc #6 - bra COUT + >PUSHA + >SYSCALL SYS.MLINewLine + bcc .9 + pha + jsr CloseTxtFile + pla + sec +.9 rts *-------------------------------------- -CROUT lda #13 +ReadTxtFile >PUSHWI 127 + >PUSHWI TmpBuffer256+1 + ldy #hInputFile + lda (pData),y + >PUSHA + >SYSCALL SYS.MLIRead + bcs .9 + + lda TmpBuffer256,y Y,A=Bytes read + cmp #$0D + bne .10 + + dey + +.10 tya + sta (pData) + +.1 lda TmpBuffer256,y + sta (pData),y + dey + bne .1 + + lda #'>' + >SYSCALL SYS.COutA + lda #'"' + >SYSCALL SYS.COutA + >LDYA pData + >SYSCALL SYS.PSTROutYA + lda #'"' + >SYSCALL SYS.COutA + lda #13 + >SYSCALL SYS.COutA + + clc +.9 rts *-------------------------------------- -COUT phx - phy - ldx #DEVMGR.COUT - jsr pDevJmp - ply - plx +CloseTxtFile ldy #hInputArgs + lda (pData),y + beq .1 + >SYSCALL SYS.FreeMemA + +.1 ldy #hInputFile + lda (pData),y + beq .9 + + >SYSCALL SYS.MLICloseA + ldy #hInputBuffer + lda (pData),y + >SYSCALL SYS.FreeMemA + +.9 lda #0 + ldy #hInputArgs + sta (pData),y + ldy #hInputFile + sta (pData),y + ldy #hInputBuffer + sta (pData),y rts -pDevJmp jmp (pDev) *-------------------------------------- .INB SBIN/SHELL.S.CMD .INB SBIN/SHELL.S.HIS @@ -307,18 +434,21 @@ CS.END *-------------------------------------- ENV.PATH >PSTRING "PATH" CMDS >PSTRING "CD" - >PSTRING "SET" >PSTRING "DATE" - >PSTRING "TIME" >PSTRING "ECHO" - >PSTRING "TYPE" >PSTRING "EXIT" + >PSTRING "PAUSE" + >PSTRING "READ" + >PSTRING "SET" + >PSTRING "TIME" + >PSTRING "TYPE" .HS 00 *-------------------------------------- LIBSTR >PSTRING "libstr.o" -MSG.GREETINGS >CSTRING "\nA2osX-Shell on Dev=(%h:%h),PS=%h\n\n" -MSG.UNKNOWN >CSTRING "Command Not Found\n" -MSG.SYNERR >CSTRING "Syntax Error Or Invalid Pathname\n" +MSG.GREETINGS >PSTRING "\nA2osX-Shell on Dev=%h\n\n" +MSG.ERROR >PSTRING "[%h]\n" +*MSG.NOTFOUND >CSTRING "Command Not Found\n" +*MSG.SYNERR >CSTRING "Syntax Error Or Invalid Pathname\n" hLIBSTR .BS 1 hNEWPATH .BS 1 hExecCmd .BS 1 @@ -333,10 +463,16 @@ ExecCmdIdx .BS 1 .OR 0 DS.START CmdBuffer .BS CmdBuffer.MAX+1 -bEXIT .BS 1 +bPause .BS 1 +bExit .BS 1 +bEchoOff .BS 1 hCmdLine .BS 1 hCmdHistory .BS 1 CmdHistory.IDX .BS 1 +bExitOnEOF .BS 1 +hInputFile .BS 1 +hInputArgs .BS 1 +hInputBuffer .BS 1 CmdHistory.END .BS 1 DS.END .ED diff --git a/SBIN/TCPIP.S.txt b/SBIN/TCPIP.S.txt index 5bce549a..68e74dae 100644 --- a/SBIN/TCPIP.S.txt +++ b/SBIN/TCPIP.S.txt @@ -10,8 +10,6 @@ AUTO 6 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I - .INB INC/KERNEL.I .INB INC/LIBTCPIP.I *-------------------------------------- ZPFrameBase1 .EQ ZPBIN @@ -20,6 +18,8 @@ ZPFramePtr1 .EQ ZPBIN+4 ZPFrameBase2 .EQ ZPBIN+6 ZPFrameLen2 .EQ ZPBIN+8 ZPFramePtr2 .EQ ZPBIN+10 +ZPIPCfgPtr .EQ ZPBIN+12 +ZPIPDevPtr .EQ ZPBIN+14 *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- @@ -40,16 +40,26 @@ CS.START cld .DA CS.DOEVENT .DA CS.QUIT L.LIBTCPIP .DA LIBTCPIP +L.MSG.HELP .DA MSG.HELP L.CFGFILENAME .DA CFGFILENAME L.IPCFG .DA IPCFG .DA 0 *-------------------------------------- CS.INIT >LDYA L.LIBTCPIP - >LOADLIBYA + >SYSCALL SYS.LoadLibYA bcs .99 - sta hLIBTCPIP - ldx #0 + + ldy #S.PS.hARGS + lda (pPs),y + bne .10 + >LDYA L.MSG.HELP + >SYSCALL SYS.PSTROutYA + lda #0 + sec + rts + +.10 ldx #0 .1 stz IPCFG,x inx cpx #S.IPCFG @@ -103,14 +113,16 @@ CS.INIT.DEV ldy #S.PS.hARGS ldx #DEVMGR.OPEN jsr pDevJmp - + bcs .98 + ldx #DEVMGR.GETINFO jsr pDevJmp - >STYA ZPQuickPtr1 + bcs .98 + >STYA ZPIPDevPtr ldy #1 ldx #S.IPCFG.MAC -.1 lda (ZPQuickPtr1),y +.1 lda (ZPIPDevPtr),y sta IPCFG,x iny inx @@ -138,7 +150,7 @@ CS.INIT.CFGFILE >LDYA L.CFGFILENAME >STYA hCfgFileLen txa >SYSCALL SYS.GetMemPtrA - >STYA ZPQuickPtr1 + >STYA ZPIPCfgPtr @@ -431,11 +443,11 @@ DNSListener ldy #S.DNS.F+1 rts *-------------------------------------- GetIPCFG >LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG - >STYA ZPQuickPtr1 + >STYA ZPIPCfgPtr ldy #S.IPCFG .1 dey - lda (ZPQuickPtr1),y + lda (ZPIPCfgPtr),y sta IPCFG,y tya bne .1 @@ -492,11 +504,11 @@ CopyFramePtr12 dey bne CopyFramePtr12 rts *-------------------------------------- -pDevJmp jmp (pDev) CS.END *-------------------------------------- LIBTCPIP >PSTRING "libtcpip.o" -CFGFILENAME >PSTRING "%ETC%TCPIP.CONF" +MSG.HELP >PSTRING "Usage: TCPIP ETHx\n" +CFGFILENAME >PSTRING "${A2OSX}ETC/TCPIP.CONF" DefaultHostName >CSTRING "a2osx-host" hLIBTCPIP .BS 1 hDEVNAME .BS 1 diff --git a/SBIN/TELNETD.S.txt b/SBIN/TELNETD.S.txt index 9a156ab2..d65da292 100644 --- a/SBIN/TELNETD.S.txt +++ b/SBIN/TELNETD.S.txt @@ -10,8 +10,6 @@ AUTO 6 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/A2OSX.API.I - .INB INC/KERNEL.I .INB INC/LIBTCPIP.I *-------------------------------------- * File Header (16 Bytes) @@ -36,7 +34,7 @@ L.LIBTCPIP .DA LIBTCPIP .DA 0 *-------------------------------------- CS.INIT >LDYA L.LIBTCPIP - >LOADLIBYA + >SYSCALL SYS.LoadLibYA bcs .99 sta hLIBTCPIP diff --git a/SYS/KERNEL.S.BIN.txt b/SYS/KERNEL.S.BIN.txt index 673e5cfa..f14bfa46 100644 --- a/SYS/KERNEL.S.BIN.txt +++ b/SYS/KERNEL.S.BIN.txt @@ -14,6 +14,7 @@ AUTO 6 * X = hMem of Code Segment *-------------------------------------- S.LoadBinA sta S.LoadBinA.hFilename save file path + jsr S.GetMemPtrA >STYA ZPQuickPtr1 @@ -21,12 +22,11 @@ S.LoadBinA sta S.LoadBinA.hFilename save file path tay .1 lda (ZPQuickPtr1),y convert to UPPERCASE - cmp #$61 "a" + cmp #'a' bmi .2 - cmp #$7B "z"+1 + cmp #'z'+1 bpl .2 - sec - sbc #$20 + eor #$20 sta (ZPQuickPtr1),y .2 dey bne .1 diff --git a/SYS/KERNEL.S.CIO.txt b/SYS/KERNEL.S.CIO.txt new file mode 100644 index 00000000..9cb2b7e9 --- /dev/null +++ b/SYS/KERNEL.S.CIO.txt @@ -0,0 +1,201 @@ +PR#3 +PREFIX /A2OSX.SRC +NEW +INC 1 +AUTO 6 + .LIST OFF + .OP 65C02 +*-------------------------------------- +S.DecOutA tay + lda #0 +S.DecOutYA >STYA HEX + stz BCD + stz BCD+1 + stz BCD+2 + + ldx #16 let's roll 16 bits + sed +.2 asl HEX + rol HEX+1 + php cpy will disturb carry while BCD adc + ldy #0 +.3 plp + lda BCD,y + adc BCD,y + sta BCD,y + php + iny + cpy #3 Last byte of BCDBUF? + bne .3 + plp + dex + bne .2 + + cld + + stz bL0Flag + ldx #2 + +.4 lda BCD,x + lsr + lsr + lsr + lsr + bne .5 + bit bL0Flag + bpl .6 +.5 sec + ror bL0Flag + ora #$30 + jsr S.COutA + bcs .9 + +.6 lda BCD,x + and #$0F + bne .7 + bit bL0Flag + bpl .8 +.7 sec + ror bL0Flag + ora #$30 + jsr S.COutA + bcs .9 + +.8 dex + bpl .4 + + bit bL0Flag + bmi .9 + lda #$30 + jsr S.COutA + +.9 rts +*-------------------------------------- +S.HexOutYA phy + jsr S.HexOutA + bcs S.COutA.RTS + pla +*-------------------------------------- +S.HexOutA pha + lsr + lsr + lsr + lsr + ora #$30 + cmp #$3A + bcc .1 + adc #6 +.1 jsr S.COutA + bcs S.COutA.RTS + pla + and #$0F + ora #$30 + cmp #$3A + bcc S.COutA + adc #6 +*-------------------------------------- +S.COutA phx + phy + ldx #DEVMGR.COUT + jsr pDevJmp + ply + plx +S.COutA.RTS rts +*-------------------------------------- +* Mini printf for PSTR +* %d : byte +* %D : word +* %h : hex byte +* %H : hex word +* \n : CR +*-------------------------------------- +S.PSTROutA jsr S.GetMemPtrA +S.PSTROutYA >STYA ZPQuickPtr1 + + ldy #0 + +.1 iny + lda (ZPQuickPtr1),y + cmp #'\' + + bne .2 + tya + cmp (ZPQuickPtr1) + beq .8 + + iny + lda (ZPQuickPtr1),y + cmp #'n' + bne .6 + lda #13 + bra .6 + +.2 cmp #'%' + bne .6 + + tya + cmp (ZPQuickPtr1) + beq .8 + + iny + lda (ZPQuickPtr1),y + cmp #'d' + bne .3 + phy + >PULLA + jsr S.DecOutA + ply + bcc .7 + rts + +.3 cmp #'D' + bne .4 + phy + >PULLYA + jsr S.DecOutYA + ply + bcc .7 + rts + +.4 cmp #'h' + bne .5 + phy + >PULLA + jsr S.HexOutA + ply + bcc .7 + rts + +.5 cmp #'H' + bne .51 + phy + >PULLYA + jsr S.HexOutYA + ply + bcc .7 + rts + +.51 tax + lda #'%' + jsr S.COutA + bcs .9 + txa + +.6 jsr S.COutA + bcs .9 + +.7 tya + cmp (ZPQuickPtr1) + bne .1 + +.8 clc +.9 rts +*-------------------------------------- +HEX .BS 2 +BCD .BS 3 +bL0Flag .BS 1 +*-------------------------------------- +MAN +SAVE SYS/KERNEL.S.CIO +LOAD SYS/KERNEL.S +ASM diff --git a/SYS/KERNEL.S.DEV.txt b/SYS/KERNEL.S.DEV.txt index aced850b..d8cccd3b 100644 --- a/SYS/KERNEL.S.DEV.txt +++ b/SYS/KERNEL.S.DEV.txt @@ -179,6 +179,7 @@ DevMgr.DevID .BS 1 DevMgr.LastDevID .BS 1 *-------------------------------------- DevMgr.Count .EQ 2 +DevMgr.SYS.BASL0 .EQ $800 *-------------------------------------- DevMgr.NUL cld jmp (DevMgr.NUL.Code,x) @@ -188,7 +189,7 @@ DevMgr.NUL cld .HS 00.00 .HS 00.00.00.00 *-------------------------------------- -DevMgr.SYS cld #S.DEV.F.EVENT +DevMgr.SYS cld jmp (DevMgr.SYS.Code,x) .DA #S.DEV.F.INUSE+S.DEV.F.EVENT+S.DEV.F.SHARE+S.DEV.F.COUT+S.DEV.F.CHAR >PSTRING "SYS" NAME @@ -205,21 +206,59 @@ DevMgr.NUL.Code .DA .8 OPEN .8 clc rts *-------------------------------------- -DevMgr.SYS.Code .DA .8 OPEN +DevMgr.SYS.Code .DA DevMgr.SYS.Open .DA DevMgr.SYS.GetEvent - .DA .8 COUT + .DA DevMgr.SYS.COut .DA .8 CLOSE .DA .8 GETINFO .DA .8 IRQ .8 clc rts *-------------------------------------- +DevMgr.SYS.Open stz DevMgr.SYS.CPULOADI + stz DevMgr.SYS.CH + stz DevMgr.SYS.CV + + ldx #0 + + ldy #0 +.1 lda DevMgr.SYS.TITLE,y + beq .2 + + jsr DevMgr.SYS.SetCharAtYX + iny + bne .1 + +.2 lda #$20 + jsr DevMgr.SYS.SetCharAtYX + iny + cpy #80 + bne .2 + + jsr DevMgr.SYS.Home + + lda A2osX.SCREENS + ora #A2osX.SCREENS.S + sta A2osX.SCREENS + lda #A2osX.SCREENS.S + jsr S.ScreenSelectA + clc + rts +*-------------------------------------- DevMgr.SYS.GetEvent lda A2osX.ASCREEN and #A2osX.SCREENS.S is screen active? beq .9 - jsr S.GetKeyboardEvent + ldx DevMgr.SYS.CPULOADI + lda DevMgr.SYS.CPULOADC,x + sta DevMgr.SYS.BASL0+38 + dec DevMgr.SYS.CPULOADI + bpl .1 + lda #3 + sta DevMgr.SYS.CPULOADI + +.1 jsr S.GetKeyboardEvent bcs .9 rts @@ -227,6 +266,163 @@ DevMgr.SYS.GetEvent sec rts *-------------------------------------- +DevMgr.SYS.COut phx + phy + cmp #13 + bne .1 + jsr DevMgr.SYS.CROut + ply + plx + clc + rts + +.1 ldy DevMgr.SYS.CH + ldx DevMgr.SYS.CV + ora #$80 + jsr DevMgr.SYS.SetCharAtYX + jsr DevMgr.SYS.FSOut + ply + plx + clc + rts +*-------------------------------------- +DevMgr.SYS.FSOut + lda DevMgr.SYS.CH + cmp #79 + beq DevMgr.SYS.CROut1 + inc DevMgr.SYS.CH + rts +*-------------------------------------- +DevMgr.SYS.CROut + jsr DevMgr.SYS.ClrEOL +DevMgr.SYS.CROut1 + stz DevMgr.SYS.CH + ldx DevMgr.SYS.CV + cpx #23 + beq DevMgr.SYS.Scroll + inc DevMgr.SYS.CV + rts +*-------------------------------------- +DevMgr.SYS.ClrEOL + ldx DevMgr.SYS.CV + lda #$A0 + ldy DevMgr.SYS.CH +.1 cpy #79 + beq .2 + jsr DevMgr.SYS.SetCharAtYX + iny + bne .1 +.2 rts +*-------------------------------------- +DevMgr.SYS.Scroll + ldx #1 +.1 lda DevMgr.SYS.BASEL,x + sta ZPDRV + lda DevMgr.SYS.BASEH,x + sta ZPDRV+1 + inx + lda DevMgr.SYS.BASEL,x + sta ZPDRV+2 + lda DevMgr.SYS.BASEH,x + sta ZPDRV+3 + + ldy #39 + sta SETWRITEAUX + sta SETREADAUX +.2 lda (ZPDRV+2),y + sta (ZPDRV),y + dey + bpl .2 + + ldy #39 + sta CLRWRITEAUX + sta CLRREADAUX +.3 lda (ZPDRV+2),y + sta (ZPDRV),y + dey + bpl .3 + + cpx #23 + bne .1 + + ldy #39 + lda #$A0 +.4 sta SETWRITEAUX + sta (ZPDRV+2),y + sta CLRWRITEAUX + sta (ZPDRV+2),y + dey + bpl .4 + rts +*-------------------------------------- +DevMgr.SYS.ClrLineAtX + lda DevMgr.SYS.BASEL,x + sta ZPDRV + lda DevMgr.SYS.BASEH,x + sta ZPDRV+1 + + lda #$A0 + + ldy #39 + sta SETWRITEAUX +.1 sta (ZPDRV),y + dey + bpl .1 + + ldy #39 + sta CLRWRITEAUX +.2 sta (ZPDRV),y + dey + bpl .2 + + rts +*-------------------------------------- +DevMgr.SYS.Home ldx #23 + +.1 jsr DevMgr.SYS.ClrLineAtX + dex + bne .1 + + stz DevMgr.SYS.CH + lda #1 + sta DevMgr.SYS.CV + + rts +*-------------------------------------- +DevMgr.SYS.SetCharAtYX + cmp #$40 + bcc .1 + cmp #$5F + bcs .1 + and #$3F + +.1 phy + pha + lda DevMgr.SYS.BASEL,x + sta ZPDRV + lda DevMgr.SYS.BASEH,x + sta ZPDRV+1 + tya + lsr + tay + bcs .2 + sta SETWRITEAUX + +.2 pla + sta (ZPDRV),y + sta CLRWRITEAUX + ply + rts +*-------------------------------------- +DevMgr.SYS.CH .BS 1 +DevMgr.SYS.CV .BS 1 +DevMgr.SYS.CPULOADI .BS 1 +DevMgr.SYS.CPULOADC .AS -"|/-\" +*-------------------------------------- +DevMgr.SYS.TITLE >CSTRING "A2osX System Screen" +DevMgr.SYS.BASEL .HS 00.80.00.80.00.80.00.80.28.A8.28.A8.28.A8.28.A8.50.D0.50.D0.50.D0.50.D0 +DevMgr.SYS.BASEH .HS 08.08.09.09.0A.0A.0B.0B.08.08.09.09.0A.0A.0B.0B.08.08.09.09.0A.0A.0B.0B +*--------------------------------------*-------------------------------------- DevMgr.End .EQ * MAN SAVE SYS/KERNEL.S.DEV diff --git a/SYS/KERNEL.S.DRV.txt b/SYS/KERNEL.S.DRV.txt index 402fa0ca..b742fdcd 100644 --- a/SYS/KERNEL.S.DRV.txt +++ b/SYS/KERNEL.S.DRV.txt @@ -13,9 +13,6 @@ AUTO 6 * none *-------------------------------------- S.LoadDrvA >PUSHA push Cmd Line for S.PStrGetTkn - >LDYAI MSG.DRVLOAD - jsr S.SysScrPPSTRYA - >PUSHBI $20 Push SEP=' ' >PUSHBI 0 Push 0 for getting CMD And ARGS jsr S.PStrGetTkn @@ -24,17 +21,24 @@ S.LoadDrvA >PUSHA push Cmd Line for S.PStrGetTkn .1 sta LoadDrv.Cmd stx LoadDrv.Args - pha - jsr S.SysScrPPSTRA - pla - jsr S.ExpandPStrA - sta LoadDrv.ExpCmd + + >LDYAI ENV.DRV push ENVNAME=DRV + jsr S.GetEnvVarYA get value for ENV=$DRV + bcs .98 + sta LoadDrv.Path + + >PUSHB LoadDrv.Cmd push CMD for S.FileSearch + >PUSHB LoadDrv.Path + jsr S.FileSearch find File in $DRV + bcs .97 not Found + + sta LoadDrv.FullName jsr S.LoadBinA bcs .96 >STYA pCode stx LoadDrv.hMem - + lda LoadDrv.Args jsr pCodeJmp call Dev.Detect @@ -58,7 +62,12 @@ S.LoadDrvA >PUSHA push Cmd Line for S.PStrGetTkn pla .96 pha - lda LoadDrv.ExpCmd + lda LoadDrv.FullName + jsr S.FreeMemA + pla + +.97 pha + lda LoadDrv.Path jsr S.FreeMemA pla @@ -72,10 +81,10 @@ S.LoadDrvA >PUSHA push Cmd Line for S.PStrGetTkn .99 sec rts *-------------------------------------- -MSG.DRVLOAD >PSTRING "\nLoadDrv:" LoadDrv.Cmd .BS 1 LoadDrv.Args .BS 1 -LoadDrv.ExpCmd .BS 1 +LoadDrv.Path .BS 1 +LoadDrv.FullName .BS 1 LoadDrv.hMem .BS 1 *-------------------------------------- * pCode = .DRV File Loaded Address diff --git a/SYS/KERNEL.S.ENV.txt b/SYS/KERNEL.S.ENV.txt index dd738511..fdc8c29c 100644 --- a/SYS/KERNEL.S.ENV.txt +++ b/SYS/KERNEL.S.ENV.txt @@ -13,86 +13,133 @@ AUTO 6 * A = hMem to Expanded String (PSTRING) *-------------------------------------- S.ExpandPStrA jsr S.GetMemPtrA -S.ExpandPStrYA >STYA R.AX +S.ExpandPStrYA >STYA ZPQuickPtr3 + stz TmpBuffer256 init Expanded String len=0 - stz R.BL reset "in var" + ldy #0 -.1 iny - lda (R.AX),y - cmp #'%' - beq .10 - jmp .7 -.10 ldx R.BL in var? - bne .2 - sty R.BL no, save start - jmp .8 skip this char -.2 sty R.BH yes, save end - phy save Actual char position - tya - sec - sbc R.BL compute len of %VAR% -1 - tay - lda #0 - >PUSHYA - >PUSHBI 0 - jsr S.GetMem create VARNAME - phx save hMem for discard - >STYA R.CX - lda R.BH - sec - sbc R.BL - dec skip % - sta (R.CX) - ldy R.BL + +.10 stz S.ExpandPStrA.Start + +.1 tya + cmp (ZPQuickPtr3) End of PSTR? + beq .6 + iny -.3 inc R.CL - bne .4 - inc R.CH -.4 lda (R.AX),y Copy string between % to ENVNAME - sta (R.CX) - iny - cpy R.BH - bne .3 - pla - pha Get back ENVNAME hMem - >PUSHA + lda (ZPQuickPtr3),y + + ldx S.ExpandPStrA.Start + bne .3 already in a var? + + cmp #'$' no, found one ? + beq .2 + + inc TmpBuffer256 no, copy char + ldx TmpBuffer256 + sta TmpBuffer256,x + bra .1 + +.2 sty S.ExpandPStrA.Start save var start + stz S.ExpandPStrA.End + bra .1 skip this char + +.3 cmp #'{' in var, "{" after "$"? + beq .2 + + cmp #'}' end of var? + beq .5 + +.4 jsr S.ExpandPStrA.VC valid char ? + bcs .5 no, end here + sty S.ExpandPStrA.End yes, save end + bra .1 + +.5 lda S.ExpandPStrA.End get end + beq .1 empty {} or $/ + + phy save current index + jsr S.ExpandPStrA.AV + ply restore index in string... + bra .10 reset start flag and continue + +.6 sty S.ExpandPStrA.End end of PSTR + lda S.ExpandPStrA.Start are we in a var? + beq .7 no...exit... + + jsr S.ExpandPStrA.AV yes, expand and add to STR + +.7 >LDYAI TmpBuffer256 + jsr S.NewPStrYA + rts +*-------------------------------------- +S.ExpandPStrA.AV ldy #S.PS.hENV lda (pPs),y - >PUSHA - jsr S.GetEnvVarH - bcs .5 - pha save hMem of VALUE jsr S.GetMemPtrA - >STYA R.DX + >STYA ZPQuickPtr1 Store ENV for FindVar + + lda S.ExpandPStrA.End + sec + sbc S.ExpandPStrA.Start compute len of VAR End-Start+1 + + ldx TmpBuffer256 + inx + sta TmpBuffer256,x + + stx ZPQuickPtr2 + lda /TmpBuffer256 + sta ZPQuickPtr2+1 + + ldy S.ExpandPStrA.Start + +.1 iny + inx + lda (ZPQuickPtr3),y + sta TmpBuffer256,x + cpy S.ExpandPStrA.End + bne .1 + + jsr S.FindVar + bcs .9 + ldy #0 -.41 iny - lda (R.DX),y +.2 iny + lda (ZPQuickPtr1),y + cmp #'=' + bne .2 + +.3 iny + lda (ZPQuickPtr1),y inc TmpBuffer256 ldx TmpBuffer256 sta TmpBuffer256,x + tya - cmp (R.DX) - bne .41 - pla - jsr S.FreeMemA discard VALUE hMem -.5 pla - jsr S.FreeMemA discard VARNAME hMem -* ldy R.BL TODO:continue scanning from first % found - stz R.BL reset "in var" - ply - bra .8 -.7 ldx R.BL in var? - bne .8 yes, skip this char - inc TmpBuffer256 - ldx TmpBuffer256 - sta TmpBuffer256,x -.8 tya - cmp (R.AX) last char? - beq .81 - jmp .1 -.81 >LDYAI TmpBuffer256 - jsr S.NewPStrYA + cmp (ZPQuickPtr1) last char? + bne .3 +.9 rts +*-------------------------------------- +S.ExpandPStrA.VC + cmp #'0' + bcc .9 + cmp #'9'+1 + bcc .8 + + cmp #'A' + bcc .9 + cmp #'Z'+1 + bcc .8 + + cmp #'_' + bne .9 + +.8 clc rts +.9 sec + rts +*-------------------------------------- +S.ExpandPStrA.Start .BS 1 +S.ExpandPStrA.End .BS 1 *-------------------------------------- * S.CreateEnv * in : @@ -140,22 +187,21 @@ S.DupEnvA pha clc .9 rts *-------------------------------------- -* S.GetEnvVarH +* S.GetEnvVarA * In: -* PULLB = hENV -* PULLB = hMem to NAME (PSTRING) +* A = hMem to NAME (PSTRING) *-------------------------------------- -* S.GetEnvVarP +* S.GetEnvVarYA * In: -* PULLB = hENV -* PULLW = PTR to NAME (PSTRING) +* Y,A = PTR to NAME (PSTRING) * Out: * A = hMem to VALUE (PSTRING) 0,"" if not exist *-------------------------------------- -S.GetEnvVarH jsr S.FindVarH - bra S.GetEnvVar -S.GetEnvVarP jsr S.FindVarP -S.GetEnvVar bcc .1 +S.GetEnvVarA >PULLA + jsr S.GetMemPtrA +S.GetEnvVarYA >STYA ZPQuickPtr2 + jsr S.FindVar + bcc .1 >LDYAI 1 not found >PUSHYA create "" PSTR >PUSHBI 0 @@ -200,29 +246,25 @@ S.GetEnvVar bcc .1 *-------------------------------------- * S.SetEnvVarH * In: -* PULLB = hENV * PULLB = hMem To Name (PSTRING) * PULLB = hMem To Value (PSTRING) *-------------------------------------- * S.SetEnvVarP * In: -* PULLB = hENV * PULLW = PTR To Name (PSTRING) * PULLW = PTR To Value (PSTRING) * Out: *-------------------------------------- -S.SetEnvVarH jsr S.FindVarH - php +S.SetEnvVarH >PULLA + jsr S.GetMemPtrA + >STYA ZPQuickPtr2 >PULLA jsr S.GetMemPtrA - >STYA ZPQuickPtr3 ZPQuickPtr3 = VALUE bra S.SetEnvVar - -S.SetEnvVarP jsr S.FindVarP - php - >PULLW ZPQuickPtr3 ZPQuickPtr3 = VALUE - -S.SetEnvVar plp +S.SetEnvVarP >PULLW ZPQuickPtr2 + >PULLYA +S.SetEnvVar >STYA ZPQuickPtr3 ZPQuickPtr3 = VALUE + jsr S.FindVar bcs .3 Not Found,ZPQuickPtr1 -> End Of Env lda (ZPQuickPtr1) Found, Discard current NAME definition sec @@ -304,22 +346,20 @@ S.SetEnvVar plp sec rts *-------------------------------------- -* S.DelEnvVarH +* S.DelEnvVarA * In: -* PULLB = hENV * PULLB = hMem To Name (PSTRING) *-------------------------------------- -* S.DelEnvVarP +* S.DelEnvVarYA * In: -* PULLB = hENV * PULLW = PTR To Name (PSTRING) * Out: *-------------------------------------- -S.DelEnvVarH jsr S.FindVarH - bra S.DelEnvVar -S.DelEnvVarP jsr S.FindVarP - -S.DelEnvVar bcs .8 not found, quit +S.DelEnvVarA >PULLA get NAME + jsr S.GetMemPtrA +S.DelEnvVarYA >STYA ZPQuickPtr2 Store VAR Name +S.DelEnvVar jsr S.FindVar + bcs .8 not found, quit lda (ZPQuickPtr1) Found, Discard current NAME definition sec @@ -346,15 +386,9 @@ S.DelEnvVar bcs .8 not found, quit *-------------------------------------- * PRIVATE *-------------------------------------- -* S.FindVarH +* S.FindVar * In: -* PULLB = hENV -* PULLB = hMem to NAME (PSTRING) -*-------------------------------------- -* S.FindVarP -* In: -* PULLB = hENV -* PULLW = PTR to NAME (PSTRING) +* ZPQuickPtr2 -> NAME *-------------------------------------- * Out: * CC: Found @@ -364,20 +398,11 @@ S.DelEnvVar bcs .8 not found, quit * ZPQuickPtr1 -> PTR to Ending 0 * ZPQuickPtr2 -> NAME *-------------------------------------- -S.FindVarH >PULLA get ENV +S.FindVar ldy #S.PS.hENV + lda (pPs),y jsr S.GetMemPtrA >STYA ZPQuickPtr1 Store ENV - >PULLA get NAME - jsr S.GetMemPtrA - >STYA ZPQuickPtr2 Store VAR Name - bra S.FindVar -S.FindVarP >PULLA get ENV - jsr S.GetMemPtrA - >STYA ZPQuickPtr1 Store ENV - >PULLW ZPQuickPtr2 get NAME - -S.FindVar .1 lda (ZPQuickPtr1) beq .9 ldy #0 diff --git a/SYS/KERNEL.S.EXE.txt b/SYS/KERNEL.S.EXE.txt deleted file mode 100644 index 12bfac21..00000000 --- a/SYS/KERNEL.S.EXE.txt +++ /dev/null @@ -1,199 +0,0 @@ -PR#3 -PREFIX /A2OSX.SRC -NEW -INC 1 -AUTO 6 - .LIST OFF - .OP 65C02 -*-------------------------------------- -* S.ExecFileA (R) -* in : -* A = hMem of FilePath (PSTRING) -* out : -* -*-------------------------------------- -S.ExecFileA jsr S.LoadFileA - bcc S.ExecFileAOK - rts - -S.ExecFileAOK >STYA S.ExecFileA.DataLen - stx S.ExecFileA.hData - txa - jsr S.GetMemPtrA - >STYA S.ExecFileA.DataPtr - -.1 stz TmpBuffer256 - -.2 >LDYA S.ExecFileA.DataPtr - >STYA ZPQuickPtr1 - - inc S.ExecFileA.DataPtr - bne .21 - inc S.ExecFileA.DataPtr+1 - -.21 lda S.ExecFileA.DataLen - bne .22 - dec S.ExecFileA.DataLen+1 -.22 dec S.ExecFileA.DataLen - - lda (ZPQuickPtr1) - cmp #$0D - beq .3 - inc TmpBuffer256 - ldx TmpBuffer256 - sta TmpBuffer256,x - - lda S.ExecFileA.DataLen - bne .2 - lda S.ExecFileA.DataLen+1 - bne .2 - -.3 lda TmpBuffer256 - beq .4 - lda TmpBuffer256+1 - cmp #'*' - beq .4 - lda #'-' - jsr S.SysScrCOUTA - lda #'>' - jsr S.SysScrCOUTA - >LDYAI TmpBuffer256 - jsr S.SysScrPPSTRYA - >LDYAI TmpBuffer256 - jsr S.NewPStrYA - bcs .99 - - pha - jsr S.ExecCmdLineA - jsr S.SysScrPRCode - pla - jsr S.FreeMemA - -.4 lda S.ExecFileA.DataLen - bne .1 - lda S.ExecFileA.DataLen+1 - bne .1 - - jsr .99 - clc - rts - -.99 lda S.ExecFileA.hData - jsr S.FreeMemA - sec - rts -*-------------------------------------- -S.ExecCmdLineA >PUSHA Push Cmd Line - >PUSHBI $20 Push SEP=' ' - >PUSHBI 0 Push Token IDX - jsr S.PStrGetTkn - bcs .99 - - sta S.ExecFileA.hCMD - stx S.ExecFileA.hARGS - jsr S.GetMemPtrA - >PUSHYA - >PUSHWI EXECCMDS - jsr S.GetPStrIndex - bcs .98 - - asl - tax - lda S.ExecFileA.hARGS - jsr S.ExecCmdLine - bcs .98 - - jsr .98 - clc - rts - -.98 pha - lda S.ExecFileA.hARGS - jsr S.FreeMemA - lda S.ExecFileA.hCMD - jsr S.FreeMemA - pla -.99 sec - rts -*-------------------------------------- -S.ExecFileA.hData .BS 1 -S.ExecFileA.DataLen .BS 2 -S.ExecFileA.DataPtr .BS 2 -S.ExecFileA.hCMD .BS 1 -S.ExecFileA.hARGS .BS 1 -*-------------------------------------- -EXECCMDS .HS .03 - .AS "SET" - .HS 04 - .AS "LOAD" - .HS 04 - .AS "EXEC" - .DA #0 -*-------------------------------------- -S.ExecCmdLine jmp (.1,x) -.1 .DA S.SetSysEnvA - .DA S.LoadDrvA VCPU!!!! - .DA S.CreateProcessA VCPU!!!! -*-------------------------------------- -* S.GetPStrIndex -* in : -* PULLW = String Table (Array Of PSTR) -* PULLW = String To Search (PSTR) -* out : -* CC: A = String Index In Table -*-------------------------------------- -S.GetPStrIndex >PULLW ZPQuickPtr1 - >PULLW ZPQuickPtr2 - ldx #0 -.1 lda (ZPQuickPtr1) - beq .99 - cmp (ZPQuickPtr2) - bne .3 - tay -.2 lda (ZPQuickPtr1),y - eor (ZPQuickPtr2),y - and #$7F - bne .3 - dey - bne .2 - txa - clc - rts -.3 inx - lda (ZPQuickPtr1) - sec - adc ZPQuickPtr1 - sta ZPQuickPtr1 - bcc .1 - inc ZPQuickPtr1+1 - bra .1 -.99 lda #SYSMGR.ERRSYN - sec - rts -*-------------------------------------- -S.SetSysEnvA >PUSHA Push Cmd Line - >PUSHBI $3D Push SEP='=' - >PUSHBI 0 Push Token IDX - jsr S.PStrGetTkn - bcs * - phx save X,A for discard - pha - pha - txa - >PUSHA - pla - >PUSHA - ldy #S.PS.hENV - lda TSKMGR.TABLE,y - >PUSHA - jsr S.SetEnvVarH - - pla disard NAME - jsr S.FreeMemA - pla discard VALUE - jmp S.FreeMemA -*-------------------------------------- -MAN -SAVE SYS/KERNEL.S.EXE -LOAD SYS/KERNEL.S -ASM diff --git a/SYS/KERNEL.S.FS.txt b/SYS/KERNEL.S.FIO.txt similarity index 86% rename from SYS/KERNEL.S.FS.txt rename to SYS/KERNEL.S.FIO.txt index 1c0787ef..29d8cb63 100644 --- a/SYS/KERNEL.S.FS.txt +++ b/SYS/KERNEL.S.FIO.txt @@ -47,50 +47,59 @@ S.FileSearch >PULLA Get Search path sec rts -.10 sta R.BL Store Expanded path list to search - >PULLB R.AH Store Filename +.10 sta S.FileSearch.hSrch Store Expanded path list to search + + >PULLB S.FileSearch.hFile Store Filename lda #1 - sta R.BH Start At Token 1 + sta S.FileSearch.Idx Start At Token 1 -.1 >PUSHB R.BL push expanded path list - >PUSHBI $3B Push SEP=';' - >PUSHB R.BH Push Token IDX - jsr S.PStrGetTkn Get R.BL token in A +.1 >PUSHB S.FileSearch.hSrch push expanded path list + >PUSHBI $3B Push SEP=';' + >PUSHB S.FileSearch.Idx Push Token IDX + jsr S.PStrGetTkn Get token in A bcs .98 - sta R.CL Store Token path - >PUSHB R.AH push filename - >PUSHB R.CL Push Token path + sta S.FileSearch.hPath Store Token path + >PUSHB S.FileSearch.hFile push filename + >PUSHB S.FileSearch.hPath Push Token path jsr S.PStrCat bcs .97 - sta R.CH Store Full path (Token Path+filename) + sta S.FileSearch.hFull Store Full path (Token Path+filename) + jsr S.MLIGetFileInfoA bcc .8 - lda R.CH Discard this Full Path + lda S.FileSearch.hFull Discard this Full Path jsr S.FreeMemA - lda R.CL Discard Token path + lda S.FileSearch.hPath Discard Token path jsr S.FreeMemA - inc R.BH Try next Token + + inc S.FileSearch.Idx Try next Token bne .1 - beq .98 go to discard Expanded path list + beq .98 go to discard Expanded path list -.97 lda R.CL Discard Token path +.97 lda S.FileSearch.hPath Discard Token path jsr S.FreeMemA -.98 lda R.BL Discard Expanded Path list +.98 lda S.FileSearch.hSrch Discard Expanded hSrch list jsr S.FreeMemA lda #SYSMGR.ERRFNF sec rts -.8 jsr .97 Dicard all except Full Path - lda R.CH +.8 jsr .97 Dicard all except Full Path + lda S.FileSearch.hFull clc rts *-------------------------------------- +S.FileSearch.hSrch .BS 1 +S.FileSearch.hFile .BS 1 +S.FileSearch.Idx .BS 1 +S.FileSearch.hPath .BS 1 +S.FileSearch.hFull .BS 1 +*-------------------------------------- * S.LoadFileA * in : * A = hMem of FilePath (PSTRING) @@ -100,7 +109,9 @@ S.FileSearch >PULLA Get Search path *-------------------------------------- S.LoadFileA jsr S.MLIOpenA bcc S.LoadFile -S.LoadFile.RTS rts + +S.LoadFile.RTS rts + S.LoadFileYA jsr S.MLIOpenYA bcs S.LoadFile.RTS @@ -592,6 +603,6 @@ S.ListDirReadBlock TmpFileName .BS 16 *-------------------------------------- MAN -SAVE SYS/KERNEL.S.FS +SAVE SYS/KERNEL.S.FIO LOAD SYS/KERNEL.S ASM diff --git a/SYS/KERNEL.S.LIB.txt b/SYS/KERNEL.S.LIB.txt index 0af123d5..bcab0a10 100644 --- a/SYS/KERNEL.S.LIB.txt +++ b/SYS/KERNEL.S.LIB.txt @@ -19,13 +19,13 @@ S.LoadLibYA jsr S.NewPStrYA jsr S.LoadLibA php save error status - pha save error code/hMem lda S.LoadLibYA.hLibName jsr S.FreeMemA discard STR hMem pla get back error code/hMem plp ..and error status .99 rts +*-------------------------------------- S.LoadLibYA.hLibName .BS 1 *-------------------------------------- * S.LoadLibA @@ -34,26 +34,22 @@ S.LoadLibYA.hLibName .BS 1 * out : * A = hMem of Loaded Lib *-------------------------------------- -S.LoadLibA >PUSHA push libname for S.FileSearch - >LDYAI MSG.LOADLIB - jsr S.SysScrPPSTRYA - >PUSHWI ENV.LIB push ENVNAME=LIB - ldy #S.PS.hENV - lda (pPs),y - >PUSHA - jsr S.GetEnvVarP get value for ENV=LIB +S.LoadLibA sta S.LoadLibA.hName push libname for S.FileSearch + >LDYAI ENV.LIB push ENVNAME=LIB + jsr S.GetEnvVarYA get value for ENV=LIB bcs .99 - pha save hMem to LIB VALUE - >PUSHA Push %LIB% VALUE - jsr S.FileSearch find libname in %LIB% + + sta S.LoadLibA.hSrch save hMem to LIB VALUE + + >PUSHB S.LoadLibA.hName + >PUSHB S.LoadLibA.hSrch + jsr S.FileSearch find libname in $LIB bcs .98 - pha save hMem to LIB full path - jsr S.SysScrPPSTRA - pla - pha + + sta S.LoadLibA.hPath jsr S.LoadBinA A = hMem of filename full path bcs .97 - phx + stx S.LoadLibA.hMem >STYA pLib ldx #LIBMGR.LOAD @@ -61,22 +57,25 @@ S.LoadLibA >PUSHA push libname for S.FileSearch bcs .97 - plx - pla discard LIB PATH - jsr S.FreeMemA - pla discard LIB VALUE - jsr S.FreeMemA - txa + jsr .97 + + lda S.LoadLibA.hMem clc rts -.97 pla discard LIB PATH - jsr S.FreeMemA -.98 pla discard LIB VALUE - jsr S.FreeMemA +.97 lda S.LoadLibA.hPath discard LIB PATH + jsr S.FreeMemA + +.98 lda S.LoadLibA.hSrch discard LIB VALUE + jsr S.FreeMemA sec .99 rts *-------------------------------------- +S.LoadLibA.hName .BS 1 +S.LoadLibA.hSrch .BS 1 +S.LoadLibA.hPath .BS 1 +S.LoadLibA.hMem .BS 1 +*-------------------------------------- * S.UnloadLibA * in : * A = hMem To Lib @@ -107,8 +106,6 @@ S.UnloadLibA pha pla jmp S.FreeMemA *-------------------------------------- -MSG.LOADLIB >PSTRING "\nLoadLib:" -*-------------------------------------- MAN SAVE SYS/KERNEL.S.LIB LOAD SYS/KERNEL.S diff --git a/SYS/KERNEL.S.SCR.txt b/SYS/KERNEL.S.SCR.txt deleted file mode 100644 index 4bf9acba..00000000 --- a/SYS/KERNEL.S.SCR.txt +++ /dev/null @@ -1,304 +0,0 @@ -PR#3 -PREFIX /A2OSX.SRC -NEW -INC 1 -AUTO 6 - .LIST OFF - .OP 65C02 -*-------------------------------------- -* !!!!!!!! DO NOT USE VCPU16 !!!!!!!! -* !!!!!! DO NOT USE ZPQuickPTRs !!!!! -*-------------------------------------- -SYSSCR.BASL .EQ ZPSysScr COUT -SYSSCR.BASLTMP .EQ ZPSysScr+2 Scrolling -SYSSCR.STRPTR .EQ ZPSysScr+4 PPSTR -*-------------------------------------- -SYSSCR.BASL0 .EQ $800 -*-------------------------------------- -* S.SysScrInit -*-------------------------------------- -S.SysScrInit stz SYSSCR.CPULOADI - stz SYSSCR.CH - stz SYSSCR.CV - - ldx #0 - - ldy #0 -.1 lda SYSSCR.TITLE,y - beq .2 - - jsr S.SysScrSetCharAtYX - iny - bne .1 - -.2 lda #$20 - jsr S.SysScrSetCharAtYX - iny - cpy #80 - bne .2 - - jsr S.SysScrHOME - - lda A2osX.SCREENS - ora #A2osX.SCREENS.S - sta A2osX.SCREENS - lda #A2osX.SCREENS.S - jsr S.ScreenSelectA - clc - rts -*-------------------------------------- -* S.SysScrPRCode -* In: -* CC : Prints [OK] -* CS : [$$] at column 76-79 -*-------------------------------------- -S.SysScrPRCode php save P to keep carry - bcs .1 - lda #0 ensure we have ERR=0 if cc -.1 pha - ldy #76 HTAB to 76 - sty SYSSCR.CH - lda #"[" - jsr S.SysScrCOUTA - pla - pha - bne .2 - - lda #"O" - jsr S.SysScrCOUTA - lda #"K" - jsr S.SysScrCOUTA - bra .3 - -.2 jsr S.SysScrPRBYTEA -.3 lda #"]" - jsr S.SysScrCOUTA - pla - plp - rts -*-------------------------------------- -S.DumpEvent lda (pEvent) - jsr S.SysScrPRBYTEA - ldy #S.EVT.hDEV - lda (pEvent),y - jsr S.SysScrPRBYTEA - ldy #S.EVT.DATALO - lda (pEvent),y - jsr S.SysScrPRBYTEA - ldy #S.EVT.DATAHI - lda (pEvent),y - jsr S.SysScrPRBYTEA - - lda #'.' - jsr S.SysScrCOUTA - ldy #S.EVT.DATAW1 - lda (pEvent),y - jsr S.SysScrPRBYTEA - iny - lda (pEvent),y - jsr S.SysScrPRBYTEA - - lda #'.' - jsr S.SysScrCOUTA - ldy #S.EVT.DATAW2 - lda (pEvent),y - jsr S.SysScrPRBYTEA - iny - lda (pEvent),y - jmp S.SysScrPRBYTEA -*-------------------------------------- -S.SysScrPPSTRA jsr S.GetMemPtrA -S.SysScrPPSTRYA >STYA SYSSCR.STRPTR - lda (SYSSCR.STRPTR) - beq .9 - ldy #0 -.1 iny - lda (SYSSCR.STRPTR),y - cmp #'\' - bne .7 - tya - cmp (SYSSCR.STRPTR) - beq .9 - iny - lda (SYSSCR.STRPTR),y - cmp #'n' - bne .7 - lda #13 -.7 jsr S.SysScrCOUTA -.8 tya - cmp (SYSSCR.STRPTR) - bne .1 -.9 >LDYA SYSSCR.STRPTR - rts -*-------------------------------------- -S.SysScrPRBYTEA pha - lsr - lsr - lsr - lsr - ora #$B0 - cmp #$BA - bcc .1 - adc #6 -.1 jsr S.SysScrCOUTA - pla - and #$0F - ora #$B0 - cmp #$BA - bcc S.SysScrCOUTA - adc #6 -*-------------------------------------- -S.SysScrCOUTA phx - phy - cmp #13 - bne .1 - jsr S.SysScrCROUT - ply - plx - rts - -.1 ldy SYSSCR.CH - ldx SYSSCR.CV - ora #$80 - jsr S.SysScrSetCharAtYX - jsr S.SysScrFSOUT - ply - plx - rts -*-------------------------------------- -S.SysScrFSOUT lda SYSSCR.CH - cmp #79 - beq S.SysScrCROUT1 - inc SYSSCR.CH - rts -*-------------------------------------- -S.SysScrCROUT jsr S.SysScrCLREOL -S.SysScrCROUT1 stz SYSSCR.CH - ldx SYSSCR.CV - cpx #23 - beq S.SysScrScroll - inc SYSSCR.CV - rts -*-------------------------------------- -S.SysScrCLREOL ldx SYSSCR.CV - lda #$A0 - ldy SYSSCR.CH -.1 cpy #79 - beq .2 - jsr S.SysScrSetCharAtYX - iny - bne .1 -.2 rts -*-------------------------------------- -S.SysScrScroll ldx #1 -.1 lda SYSSCR.BASEL,x - sta SYSSCR.BASL - lda SYSSCR.BASEH,x - sta SYSSCR.BASL+1 - inx - lda SYSSCR.BASEL,x - sta SYSSCR.BASLTMP - lda SYSSCR.BASEH,x - sta SYSSCR.BASLTMP+1 - - ldy #39 - sta SETWRITEAUX - sta SETREADAUX -.2 lda (SYSSCR.BASLTMP),y - sta (SYSSCR.BASL),y - dey - bpl .2 - - ldy #39 - sta CLRWRITEAUX - sta CLRREADAUX -.3 lda (SYSSCR.BASLTMP),y - sta (SYSSCR.BASL),y - dey - bpl .3 - - cpx #23 - bne .1 - - ldy #39 - lda #$A0 -.4 sta SETWRITEAUX - sta (SYSSCR.BASLTMP),y - sta CLRWRITEAUX - sta (SYSSCR.BASLTMP),y - dey - bpl .4 - rts -*-------------------------------------- -S.SysScrClrLineAtX - lda SYSSCR.BASEL,x - sta SYSSCR.BASL - lda SYSSCR.BASEH,x - sta SYSSCR.BASL+1 - - lda #$A0 - - ldy #39 - sta SETWRITEAUX -.1 sta (SYSSCR.BASL),y - dey - bpl .1 - - ldy #39 - sta CLRWRITEAUX -.2 sta (SYSSCR.BASL),y - dey - bpl .2 - - rts -*-------------------------------------- -S.SysScrHOME ldx #23 - -.1 jsr S.SysScrClrLineAtX - dex - bne .1 - - stz SYSSCR.CH - lda #1 - sta SYSSCR.CV - - rts -*-------------------------------------- -S.SysScrSetCharAtYX - cmp #$40 - bcc .1 - cmp #$5F - bcs .1 - and #$3F - -.1 phy - pha - lda SYSSCR.BASEL,x - sta SYSSCR.BASL - lda SYSSCR.BASEH,x - sta SYSSCR.BASL+1 - tya - lsr - tay - bcs .2 - sta SETWRITEAUX - -.2 pla - sta (SYSSCR.BASL),y - sta CLRWRITEAUX - ply - rts -*-------------------------------------- -SYSSCR.CH .BS 1 -SYSSCR.CV .BS 1 -SYSSCR.CPULOADI .BS 1 -SYSSCR.CPULOADC .AS -"|/-\" -*-------------------------------------- -SYSSCR.TITLE >CSTRING "A2osX System Screen" -SYSSCR.BASEL .HS 00.80.00.80.00.80.00.80.28.A8.28.A8.28.A8.28.A8.50.D0.50.D0.50.D0.50.D0 -SYSSCR.BASEH .HS 08.08.09.09.0A.0A.0B.0B.08.08.09.09.0A.0A.0B.0B.08.08.09.09.0A.0A.0B.0B -*-------------------------------------- -MAN -SAVE SYS/KERNEL.S.SCR -LOAD SYS/KERNEL.S -ASM diff --git a/SYS/KERNEL.S.TSK.txt b/SYS/KERNEL.S.TSK.txt index e9360c22..aeea637c 100644 --- a/SYS/KERNEL.S.TSK.txt +++ b/SYS/KERNEL.S.TSK.txt @@ -12,35 +12,31 @@ S.TskMgrInit stz TSKMGR.LASTID lda #1 sta TSKMGR.SIZE One Slot Busy (Kernel PS=0) - >LDYAI TskMgr.Table Make PS #0 as current process - >STYA pPs + >LDYAI TskMgr.Table Clear whole process table + >STYA ZPQuickPtr1 ldx #K.PS.MAX .1 lda #0 ldy #S.PS.SIZE-1 -.2 sta (pPs),y +.2 sta (ZPQuickPtr1),y dey bpl .2 - lda pPs + lda ZPQuickPtr1 clc adc #S.PS.SIZE - sta pPs + sta ZPQuickPtr1 bcc .3 - inc pPs+1 + inc ZPQuickPtr1+1 .3 dex bne .1 - - >LDYAI TskMgr.Table Make PS #0 as current process - >STYA pPs - - lda #0 + + lda #1 ldy #S.PS.hINDEV - sta TskMgr.Table,y Make In DEV = NUL - inc + sta TskMgr.Table,y Make In DEV = SYS ldy #S.PS.hOUTDEV sta TskMgr.Table,y Make OUT DEV = SYS ldy #S.PS.hERRDEV @@ -62,16 +58,33 @@ S.TskMgrInit stz TSKMGR.LASTID ldy #S.PS.hPREFIX sta TskMgr.Table,y +S.TskMgrInit.Env >PUSHWI TmpBuffer256 push ENV value >PUSHWI ENV.A2osX push ENV name - ldy #S.PS.hENV - lda TskMgr.Table,y - >PUSHA jsr S.SetEnvVarP - rts + bcs .9 + + >PUSHWI ENV.PATH.VALUE + >PUSHWI ENV.PATH + jsr S.SetEnvVarP + bcs .9 + + >PUSHWI ENV.LIB.VALUE + >PUSHWI ENV.LIB + jsr S.SetEnvVarP + bcs .9 + + >PUSHWI ENV.DRV.VALUE + >PUSHWI ENV.DRV + jsr S.SetEnvVarP + bcs .9 + + jsr S.SelectProcess0 + + ldx #DEVMGR.OPEN + jsr pDevJmp -.9 sec - rts +.9 rts *-------------------------------------- * S.TskMgrRun *-------------------------------------- @@ -209,16 +222,20 @@ S.TskMgrQuit clc *-------------------------------------- * PUBLIC *-------------------------------------- -* S.ExecProcessA (Blocking Parent PID) +* S.ExecProcessNewEnvYA +* S.ExecProcessYA (Blocking Parent PID) +* S.CreateProcessNewEnvYA +* S.CreateProcessYA (Non Blocking) * in : * A = hMem To Cmd Line +* Y = hMem To Args * out : * A = Child PSID *-------------------------------------- -S.ExecProcessNewEnvA - ldy #S.PS.F.ENV - bra S.ExecProcess -S.ExecProcessA ldy #0 +S.ExecProcessNewEnvYA + ldx #S.PS.F.ENV + .HS 2C bit abs +S.ExecProcessYA ldx #0 S.ExecProcess jsr S.CreateProcess bcs .9 terminated, do not set PID as HOLD @@ -233,31 +250,36 @@ S.ExecProcess jsr S.CreateProcess clc .9 rts *-------------------------------------- -* S.CreateProcessA (Non Blocking) -* in : -* A = hMem To Full Cmd Line -* out : -* A = Child PSID -*-------------------------------------- -S.CreateProcessNewEnvA - ldy #S.PS.F.ENV - bra S.CreateProcess -S.CreateProcessA - ldy #0 -S.CreateProcess sty S.CreateChildProcess.Flags +S.CreateProcessNewEnvYA + ldx #S.PS.F.ENV + .HS 2C bit abs +S.CreateProcessYA + ldx #0 +S.CreateProcess stx S.CreateChildProcess.Flags sta S.CreateProcessA.Cmd - >LDYAI MSG.NEWPS - jsr S.SysScrPPSTRYA + sty S.CreateProcessA.Args + +* lda #'|' +* jsr S.CoutA +* lda S.CreateProcessA.Cmd +* jsr S.PSTROutA +* lda #'|' +* jsr S.CoutA +* lda S.CreateProcessA.Args +* beq .1 +* jsr S.PSTROutA +*.1 lda #'|' +* jsr S.CoutA +* lda #13 +* jsr S.CoutA jsr S.CreateChildProcess bcs .99 sta S.CreateProcessA.CPSID - jsr S.SelectProcessA - lda S.CreateProcessA.Cmd - jsr S.InitProcessA + jsr S.InitProcess bcs .98 Init Failed or exit? ldy #S.PS.PID switch back to Parent Process @@ -284,6 +306,7 @@ S.CreateProcess sty S.CreateChildProcess.Flags rts *-------------------------------------- S.CreateProcessA.Cmd .BS 1 +S.CreateProcessA.Args .BS 1 S.CreateProcessA.CPSID .BS 1 *-------------------------------------- * S.GetPSByIDA @@ -469,62 +492,24 @@ S.CreateChildProcess S.CreateChildProcess.Flags .BS 1 *-------------------------------------- -* S.InitProcessA +* S.InitProcess * In : * A = hMem To Full Cmd Line *-------------------------------------- -S.InitProcessA stz S.InitProcessA.hPath - stz S.InitProcessA.hFullPath - >PUSHA Push Cmd Line - >PUSHBI $20 Push SEP=' ' - >PUSHBI 0 Push 0 for getting CMD And ARGS - jsr S.PStrGetTkn - bcc .10 -.99 rts OOM error - -.10 sta S.InitProcessA.hCmd - pha - txa - ldy #S.PS.hARGS +S.InitProcess lda S.CreateProcessA.Args + beq .1 + jsr S.ExpandPStrA +.1 ldy #S.PS.hARGS sta (pPs),y set ARGS hMem (0 if none) + + lda S.CreateProcessA.Cmd + jsr S.ExpandPStrA - pla - jsr S.GetMemPtrA - >STYA ZPQuickPtr1 - lda (ZPQuickPtr1) - cmp #'/' - bne .20 - - lda S.InitProcessA.hCmd - bra .30 - -.20 >PUSHWI ENV.PATH push ENVNAME=PATH - ldy #S.PS.hENV - lda (pPs),y - >PUSHA - jsr S.GetEnvVarP get value for ENV=PATH - bcs .99 - - sta S.InitProcessA.hPath save VALUE hMem for discard - pha - lda S.InitProcessA.hCmd - >PUSHA push CMD for S.FileSearch - pla - >PUSHA A=PStr to ENV Value - jsr S.FileSearch find File in %PATH% - bcs S.InitProcessA.ClnUp - - sta S.InitProcessA.hFullPath save FULLPATH hMem for discard - -.30 jsr S.PStrCpyA ldy #S.PS.hCMD sta (pPs),y - pha - jsr S.SysScrPPSTRA - pla jsr S.LoadBinA A = BinPath hMem - bcs S.InitProcessA.ClnUp + bcs .99 >STYA pCode save PTR to Code Segment txa @@ -537,48 +522,38 @@ S.InitProcessA stz S.InitProcessA.hPath dey ora (pCode),y - beq .1 DS.SIZE=0... + beq .2 DS.SIZE=0... lda (pCode),y >PUSHAX Push DS.SIZE >PUSHBI S.MEM.F.INIT0 Clear DS jsr S.GetMem - bcs S.InitProcessA.ClnUp + bcs .99 >STYA pData txa ldy #S.PS.hDS sta (pPs),y save DS hMem in TSKSLOT -.1 ldx #TSKMGR.INIT +.2 ldx #TSKMGR.INIT jsr pCodeJmp Call INIT function -S.InitProcessA.ClnUp - php save Carry - pha save ERR - lda S.InitProcessA.hFullPath - beq .1 - jsr S.FreeMemA - -.1 lda S.InitProcessA.hPath - beq .2 - jsr S.FreeMemA - -.2 pla - plp - rts -*-------------------------------------- -S.InitProcessA.hCmd .BS 1 -S.InitProcessA.hPath .BS 1 -S.InitProcessA.hFullPath .BS 1 +.99 rts *-------------------------------------- * S.SelectProcessA * In : A=PSID *-------------------------------------- S.SelectProcessA + tay + bne S.SelectProcessN +S.SelectProcess0 + >LDYAI TskMgr.Table Make PS #0 as current process + >STYA pPs + bra S.SelectProcessDev +S.SelectProcessN jsr S.GetPSByIDA bcs * - >STYA pPS + >STYA pPs S.SelectProcess ldy #S.PS.hCS lda (pPs),y @@ -587,12 +562,13 @@ S.SelectProcess ldy #S.PS.hCS ldy #S.PS.hDS lda (pPs),y - beq .1 + beq S.SelectProcessDev jsr S.GetMemPtrA >STYA pData -.1 ldy #S.PS.hOUTDEV +S.SelectProcessDev + ldy #S.PS.hOUTDEV lda (pPs),y beq .8 @@ -658,7 +634,6 @@ TSKMGR.SIZE .BS 1 TSKMGR.COUNT .BS 1 TSKMGR.LASTID .BS 1 *-------------------------------------- -MSG.NEWPS >PSTRING "\nTskMgr:" MAN SAVE SYS/KERNEL.S.TSK LOAD SYS/KERNEL.S diff --git a/SYS/KERNEL.S.txt b/SYS/KERNEL.S.txt index 0b6e04af..66e50d88 100644 --- a/SYS/KERNEL.S.txt +++ b/SYS/KERNEL.S.txt @@ -13,6 +13,11 @@ AUTO 6 .INB INC/IO.I .INB INC/PRODOS.I *-------------------------------------- +ZPQuickPtr1 .EQ $0 Temp Ptrs for use in very limited scope +ZPQuickPtr2 .EQ $2 (could be trashed by any JSR) +ZPQuickPtr3 .EQ $4 +ZPQuickPtr4 .EQ $6 +*-------------------------------------- * $D000-D0FF KERNEL.SYSCALL Jmp Table *-------------------------------------- .DA S.GetMem $00 @@ -47,13 +52,13 @@ AUTO 6 *-------------------------------------- .DA S.ExpandPStrA $30 .DA S.ExpandPStrYA - .DA S.GetEnvVarH - .DA S.GetEnvVarP + .DA S.GetEnvVarA + .DA S.GetEnvVarYA .DA S.SetEnvVarH .DA S.SetEnvVarP - .DA S.DelEnvVarH - .DA S.DelEnvVarP + .DA S.DelEnvVarA + .DA S.DelEnvVarYA *-------------------------------------- .DA S.MLICreateFile $40 .DA S.MLICreateDirA @@ -105,10 +110,10 @@ AUTO 6 .DA 0 .DA 0 *-------------------------------------- - .DA S.ExecProcessNewEnvA $90 - .DA S.ExecProcessA - .DA S.CreateProcessNewEnvA - .DA S.CreateProcessA + .DA S.ExecProcessNewEnvYA $90 + .DA S.ExecProcessYA + .DA S.CreateProcessNewEnvYA + .DA S.CreateProcessYA .DA S.GetPSByIDA .DA 0 @@ -137,22 +142,22 @@ AUTO 6 *-------------------------------------- .DA S.ScreenSelectA $C0 .DA 0 - .DA S.SysScrPPSTRA - .DA S.SysScrPPSTRYA + .DA 0 + .DA 0 .DA 0 .DA 0 .DA 0 .DA 0 *-------------------------------------- - .DA 0 $D0 - .DA 0 - .DA 0 - .DA 0 - .DA 0 - .DA 0 - .DA 0 + .DA S.COutA $D0 + .DA S.PSTROutA + .DA S.PSTROutYA .DA 0 + .DA S.HexOutA + .DA S.HexOutYA + .DA S.DecOutA + .DA S.DecOutYA *-------------------------------------- .DA 0 $E0 .DA 0 @@ -185,73 +190,50 @@ Kernel.Init sei stz A2osX.SCREENS stz A2osX.ASCREEN - jsr S.SysScrInit + jsr S.MemMgrInit + bcs * + jsr S.DevMgrInit + bcs * + jsr S.EvtMgrInit + bcs * + jsr S.TskMgrInit + bcs * + + >DEBUG >LDYAI MSG.Init - jsr S.SysScrPPSTRYA - - >LDYAI MSG.Init.MemMgr - jsr S.SysScrPPSTRYA - jsr S.MemMgrInit - jsr S.SysScrPRCode - bcs .1 - - >LDYAI MSG.Init.TskMgr - jsr S.SysScrPPSTRYA - jsr S.TskMgrInit - jsr S.SysScrPRCode -.1 bcs .2 - - >LDYAI MSG.Init.DevMgr - jsr S.SysScrPPSTRYA - jsr S.DevMgrInit - jsr S.SysScrPRCode -.2 bcs .3 - - >LDYAI MSG.Init.EvtMgr - jsr S.SysScrPPSTRYA - jsr S.EvtMgrInit - jsr S.SysScrPRCode -.3 bcs .99 + jsr S.PSTROutYA >LDYAI MSG.Init.Startup - jsr S.SysScrPPSTRYA - - >LDYAI STARTUP.FILE Build A2osX.STARTUP full path... + jsr S.PSTROutYA + + >LDYAI STARTUP.ARGS Get A2osX.STARTUP full path... jsr S.NewPStrYA - pha save for discard - - >PUSHA - >PUSHWI ENV.A2osX get KRNL root path - ldy #S.PS.hENV - lda TskMgr.Table,y - >PUSHA - jsr S.GetEnvVarP - pha save for discard - >PUSHA - jsr S.PStrCat - pha save for discard - - jsr S.ExecFileA - jsr S.SysScrPRCode + pha + >LDYAI STARTUP.CMD Get A2osX.STARTUP full path... + jsr S.NewPStrYA + ply get back ARGS in Y + phy + pha A=CMH, save for discard + >DEBUG + jsr S.CreateProcessYA bcs * + + >DEBUG pla jsr S.FreeMemA pla jsr S.FreeMemA - pla - jsr S.FreeMemA - -.99 bcs * >LDYAI MSG.Init.OK - jsr S.SysScrPPSTRYA + jsr S.PSTROutYA + >DEBUG + *-------------------------------------- S.KernelRun jsr S.TskMgrRun bcs .98 - jsr S.SysScrCPULoad jsr S.GetEvent bcs S.KernelRun CS=no event @@ -264,7 +246,9 @@ S.KernelRun jsr S.TskMgrRun jsr S.DestroyEvent bra S.KernelRun -.1 lda (pEvent) +.1 jsr S.SelectProcess0 + + lda (pEvent) and #S.EVT.F.KEY any special key? beq .99 @@ -298,16 +282,36 @@ S.KernelRun jsr S.TskMgrRun .98 lda #A2osX.SCREENS.S jsr S.ScreenSelectA >LDYAI MSG.KRNLPANIC - jsr S.SysScrPPSTRYA + jsr S.PSTROutYA bra * -.99 >LDYAI MSG.EVNTPANIC - jsr S.SysScrPPSTRYA - jsr S.DumpEvent +.99 jsr S.DumpEvent jsr S.DestroyEvent jmp S.KernelRun *-------------------------------------- +S.DumpEvent ldy #S.EVT.DATAW2+1 + >PUSHB (pEvent),y + dey + >PUSHB (pEvent),y + + ldy #S.EVT.DATAW1+1 + >PUSHB (pEvent),y + dey + >PUSHB (pEvent),y + + ldy #S.EVT.DATAHI + >PUSHB (pEvent),y + ldy #S.EVT.DATALO + >PUSHB (pEvent),y + + ldy #S.EVT.hDEV + >PUSHB (pEvent),y + + >PUSHB (pEvent) + >LDYAI MSG.DumpEvent + jmp S.PSTROutYA +*-------------------------------------- * S.ScreenSelectA * IN : * A = Screen to display @@ -318,19 +322,19 @@ S.ScreenSelectA and A2osX.SCREENS Screen is available ? cmp #A2osX.SCREENS.S bne .1 sta SETTEXT + sta SETALTCHAR sta SET80DISP sta CLR80STORE sta SETPAGE2 - sta SETALTCHAR bra .8 .1 cmp #A2osX.SCREENS.C bne .2 sta SETTEXT + sta SETALTCHAR sta SET80DISP sta CLR80STORE sta CLRPAGE2 - sta SETALTCHAR bra .8 .2 cmp #A2osX.SCREENS.G @@ -341,6 +345,7 @@ S.ScreenSelectA and A2osX.SCREENS Screen is available ? sta SETHIRES sta CLR80STORE sta CLRPAGE2 + sta SET80STORE sta SETIOUDIS sta SETDHIRES @@ -355,46 +360,35 @@ S.ScreenSelectA and A2osX.SCREENS Screen is available ? .8 sta A2osX.ASCREEN .9 rts *-------------------------------------- -S.SysScrCPULoad ldx SYSSCR.CPULOADI - lda SYSSCR.CPULOADC,x - sta SYSSCR.BASL0+38 - dec SYSSCR.CPULOADI - bpl .1 - lda #3 - sta SYSSCR.CPULOADI -.1 rts -*-------------------------------------- MSG.Init >PSTRING "A2osX[Stage2]:Init\n" -MSG.Init.MemMgr >PSTRING "->MemMgr Init" -MSG.Init.TskMgr >PSTRING "->TskMgr Init" -MSG.Init.DevMgr >PSTRING "->DevMgr Init" -MSG.Init.EvtMgr >PSTRING "->EvtMgr Init" MSG.Init.Startup >PSTRING "EXEC A2osX.Startup...\n" -MSG.Init.OK >PSTRING "A2osX[Stage2]:Complete." - -MSG.EVNTPANIC >PSTRING "\nEVT:F/hDev/DATA/W1/W2=" +MSG.Init.OK >PSTRING "A2osX[Stage2]:Complete.\n" +MSG.DumpEvent >PSTRING "\nEVT:F=%h,hDev=%d,DATA=%H,W1=%H,W2=%H" MSG.KRNLPANIC >PSTRING "\n\n!!!Kernel Panic!!!" *-------------------------------------- -STARTUP.FILE >PSTRING "A2osX.STARTUP" +STARTUP.CMD >PSTRING "${A2OSX}SBIN/SHELL" +STARTUP.ARGS >PSTRING "${A2OSX}A2osX.STARTUP" *-------------------------------------- ENV.A2osX >PSTRING "A2OSX" ENV.PATH >PSTRING "PATH" +ENV.PATH.VALUE >PSTRING "${A2OSX}SBIN/;${A2OSX}BIN/" ENV.LIB >PSTRING "LIB" +ENV.LIB.VALUE >PSTRING "${A2OSX}LIB/" +ENV.DRV >PSTRING "DRV" +ENV.DRV.VALUE >PSTRING "${A2OSX}DRV/" *-------------------------------------- .INB SYS/KERNEL.S.MEM - .INB SYS/KERNEL.S.SCR .INB SYS/KERNEL.S.STR - .INB SYS/KERNEL.S.FS + .INB SYS/KERNEL.S.CIO + .INB SYS/KERNEL.S.FIO .INB SYS/KERNEL.S.MLI .INB SYS/KERNEL.S.BIN .INB SYS/KERNEL.S.DRV .INB SYS/KERNEL.S.LIB .INB SYS/KERNEL.S.NET -* .INB SYS/KERNEL.S.RDR .INB SYS/KERNEL.S.ENV .INB SYS/KERNEL.S.TSK .INB SYS/KERNEL.S.EVT - .INB SYS/KERNEL.S.EXE *-------------------------------------- .INB SYS/KERNEL.S.DEV *-------------------------------------- diff --git a/_Make_SYS.txt b/_Make_SYS.txt index 38e1825e..d4df1824 100644 --- a/_Make_SYS.txt +++ b/_Make_SYS.txt @@ -1,9 +1,10 @@ PR#3 -PREFIX /A2OSX.BOOT +PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 -BLOAD A +PREFIX /A2OSX.BOOT +BLOAD A2OSX BSAVE A2OSX.SYSTEM,TSYS,A$2000,L$1300 -A2OSX.SYSTEM MAN

VUT?ETOY6aUX0pR1s`7bVvsR39bQ)=j`wh)g3Q~qvstK zW1}{O@39)>MJO1~-moS@?^|cjAMIc^#71a_VHg5gu+QMUs7>N#=W7OXTVRVJuXtHE zTXBnFKE%8v@|nMt2+hV5lxQ7qXy@e_!aQD_1OrpPc7hHQ4Hz}BselVU!Rdho+x82H zY>S?K4nDlZL4jx>%DRvuPmQXQ4uc0=5K+MX*{v64n^SJ=o>R7(n;S=*z0rlqnQ7%a zpzct6F4mLM9qLT>A;MT!Jk%5KTRM&OLpI*~I^Z@2K2BH$quFVm4=WGi(@!2662Or= zqsoJki1yc(jO_uk3rX`z$8&#=9(m)+DZnzVgS{Du^W*LAK7)8?&vGwOr}JpX;OI1L zlST}NSA3@C6_uXqIhJx;-zj3f{;6so`6bkxF8qZkK;tz@$v! zXML@>hRUw=l!t}`NAa$iA3t?^e0o7FTpCUZx~@?>>wKA3AO{LN4pOnqQ#4^vaDwvY zO*$PbABOdvejPLzwqn5925y=Axpy(2pdC@W5j~o5F#)y^!LC}z6F3Uf^m%NbO19_ z+pi{OK6>6EPR0;}*JObQF5_EN_o=e8S%~1KGn-A7D3Q;h5|5z*18SHELJ$LhsE}=RlMY9<(%n@($ zlwzuH5%Yw~$GZ#k4!n`dkh$PycbR5Ry3D#ozm4C@w+YV`O$#4$_PrN6u(6`GniyQ8qpu48_2(o+2aNaXYBt8K(|_;^rAU z?$8TZPSQ(y2hJJH?cPyrYkW~bm;hxv7OgwwWXQiuxbR@8t49T44@75yXSa~Fb+2an zPs0LuwqKtEW^nWZ?jP0`f=G zUs(TkZKOqlTp+UkGr^Q#y)zWLM8wq{tKsc3#8h<(+LjM1rqL5)wEw$R;DHQ?sN#F4 zx>3Q1iDzxsyFul%qvx@;?Xfd+b2vlIHpV_WMq3!Xg$$W^5{lm|;9Z?^91_|)?r(YT zr}Gm6JMv*ReSo?ebC>UlEV*iT#B|3*P`Z97>x0sr??a$<^@k~aOUBwvNcH&$;;czx4p1H8UPc;QB@@w&*4W#IK~!s|O4ukWr7oACNCSqIhM zGpic1DlJtUH*~n94i**uKG4YI;7jw!HR{O8IO~~Q1o{VhbU$1j0~+0roSwT?_{aZ^ zKG4|r6AU%?r<4(hB#X+Qt5EA*;AQ9O$d)xqdzlXB;$LLhSih9+Tw6u?f2AiL(JFqO zWnU@ZZ_sD+Zz;e{8cR9{A<^tK5~nWI_f5+9Vjob}@6a38X7TUwFV<$NS2)uCL5P(4 z#sMP#m{Ak#rRGl>!+k4f$LH(8+ooX?cgC3m>@wy1Gp&KY$mCjo)iRcnm~usH5Oa~U z>1Y}asp_@()Cn|O?frIy<{fdxaQ&glgj7Kwx2@AvB1q%8AMR?rWA`98ucok-BjES> z*3{jz7!EB)LW_-|#ir0=b7*m2Xt5=<*cw`F3oW*X7NeoX&d_2kwAd9|jE5Ez>cGR+ zXrA&E4!INwg&X<*&L8fd_!tSbHR=Duccu+-TDhIn!hbW`p*np`Ylon&)Q$?>9i)ND zY=@Yye^-Bq3Hx`A4*_H!YJbiUi7t76XMYGz`%wGy%mX6XK1e&Fb0$3z==MR{WuHF; z!hMi-+51D(+y`lwy}!Z-ZI``2MC5&_{dwjO(R&}HUH1ME-1kA+IpcHpX9Z*r|6?`E z59R%*b-mI-%(^FW4`gd*_#h(_ZJd92kql% z?iQYe$f9^}K1uq{_nX+CLZa=_m7z}e%5nY>x!JtB=+B4-x0k$i$~MZ;qCazTEiRz& zkZk{704^@?BMn7V*9n5gb#=VEj2=n6ECz3fyDne8s@>@9#SJ;&>DP%@r~*N)97>vC zYY>f9pv>qZYoWF%S&*Zt4zINPZMAU=9^mNQMOm^- z=J(k0iL_B>xAVR~++5@R@ehOi1u+s6knNhx1mxop8bTB(D9j>oIqDFamt2HBEHqDcnJ1^*1I~`WSnv1= zQtPVRsI%icSK09!W3;`AM<9e_7h-4Qr!at73`JRS>9;1~!i--6S29$X#Rt>sK&2h% zHr&i5N2}^&I_Gn9SkCkrxFoY-qw*aBqxJXD9KfXxI-Oo(ynTk_d-O0W&<~zTZmg-U z8)0WKpt(Fe;w~kTd{Ab#9EM`zF72uxA!obba27cD?mwJ@G(wP$$OX@TRDTD)$MC)Q zvh)(I2LDC*$+s2CGknGlBKs}&RJHR@Zd)6C+*p38|Te(;bmKLhDPF? z->8bU&1r0lu93yUG5E3OLkU&2DDzWGO)=rDKoPPeROwmJiPR$c1M+yl>Qq%+i-C|E zV&e*bfKrb%geP#R^j!xsm0hpbsNUY z-iXlk?$j&R6M!T(1m(TuCHzD*-1{VRr+0U}6dRpG+E#l1f%O5555}gDK};1tnR;<@ zD{#JqqNm8vUAaiC+x7CgLzY+Isj|Ghnc4F06qFBjc8L!yS=_)^|88Zo4=vFXWn_8T z3Dcc>^&+WhO(@Eg<-&s^t*fH@GV!>dNP1QkK3#eu=TEkqR@O5B4JTj`bl;@U80tq{ zQC$SZHx5OW|7_DCB99h9$IWV>R0@m|=(?#XR;}cnfep0sJr5);c)qtX>#}L(ST7X1 zl)aetB~7+?uS#%ltZP5?p**XNs^Gl>9-Ioqd22()1JF>IC|e1~g*0 z`#ab_HJ+geMSlm4Xwg@~;rka@CW z6(uRrtgitR><$0d0Y!3{7k`tsKj-^60<{&!0Z(oyBHdr$zXZMGYKh3PbYla@22}BP zXve$THLAkzWnjU^5U(gR_ zx@0jio&7)36Wk16QN4tqS9DJr=GpqGp3k3oi&PPmj?JtJbcnq97r@_5WOq&imG?{Z z$AT$TjLZ8D8*P`R;VI>313#Q}Orm#9ID`Gz3z! z{6~zRHsGH$WBRi&rp$qjRU`Rq(H}1l?6e5NO+n>`MsW z>!gmMF~s{u)Fz}|A_%n_uS#TK@(={)4=(Ne7F~cmOva*xSC-HBQ11UO`%g}mo3j6; zuwE(q&*2$6K}pkMr%%|F!jw%vm&EilmrOsWXYkR2#V1|T_#)1x)PgdaKL%0^da zk*U;a&*nLjN*IF}zH(YsZPM$vGik#%a(RHN55)&McGP(<}3hr>>?92uPqL z%uEP}|2ZBHevmZRfe-NYF%S6YQquGypC>T1ksShxWr{q8`W-b?nG-zd(BH^ zR<_Dl1LcE%GZ8d8%wOE$$&UivB=AhZ*RT{$Tnx)56RZ>g9QhSUo8cXVgFPm+^8*kelEqhZt z2;b+%Soj{l8d5IlCsp2F)7L)bgML93G#GpkSpp15<%L}}BB+tqC^bUuXwpPYpg+*( zhg>fTpgIuF3n7-y4$AtiZJM}-Bn(jnP$7sIr|Vg5`e0}m7USCw@X!{ZE4KcjRNe&G zjFD|pRZ)jQId#HZq|JN|5P*vTpoIaHN4)^dG}wsvnh7MPfpifNIH^L?AseKUgck@e zk)nf{?YnjRB(=W;?L{6cIpl56GgX8uzUUX6K@|6T>k)e`>dUBR_3Lg1&`sW@=%)Qn z$WG9p4C>=`NY0g#VPyyhP`8QEQsA)jk?^=le;skY(&+Tp@*~byLpYs+CUDd#p*hj@ ztz**h&dZ>b;iU_$3vqwhHiQiBk5O$Q4Fv%oe>IQ5@h6M#R$f+OP=jWUHLWVVTu4*P zP-%(fKT_6`7|mXxZyL}N$U>y`&(%hqYA{$l4vLkJQ5{^O(z@wag(uQmTjR1mD^ALt z(`9;S3@-DbJ)ku$kNy)HkI8gMRgYc`0`8?-uXJE^FO#_^EMv)rr2nKCv9Tdy#c6?= z1qW+dqdAk&i7|`KpEX^?dQ{a_tAPSCRdcHWLE*M}2aI3}<64a=8=r|OVmWjZ*-2b+ zbw-#zFR%Ja-2p+Tztz`Wg%qSr@Eebcr{PJ-w0~Sy$ zU(O1JN>;MMK}qe6hD*1tTr+Nu&CS3J?}QEetAt}QavFB;zMC+F;NuN}QfLx7*3AG9 zk_T?VzoeqmW8}vzRjzd!X@fxLuuv2Qou~eu+fpd?&DgzUp)ojvAhxjSn8Mb#yXGdZ z9-n(4C#1@rKQ)?E8#mZ*0QGx$uw#y(7roST6q_BoZ9@*j&;K+Gd>u?_P<+@N-aF=9+~D1_sRsx zX-wJ=n%tBQ5i;_9dgI@p4r9~PU2TbW&&X(vuSL(&c!>^{9&0&*CJuVI#$emG#$pKkGa~?YW;XdYkb}DNowclm&sDsSWLPs zbw8znyLzVONjfT02IPN6x)Mv>&q_b(YuWmoUa0?>9a#S79U!p${6cmhzAs`b%DyBJ zGWbH^%Vx>o9*Ry zZA9Ae3%;q5B)CkEZ|OIcZ-c){h+p4#2*h`FZ~SLd6ROlvh;R^kY|J%yRfA8O>qg$(}o|G0|O~sRPI_-lfR;G|lbB-3d+#>;<0-^n}79Dn>B z{rP@N&32kzTwkFF=2YXweg+G*Ebv#- zMS9yJEjLtJ+!lE(px8<)rnZz)Ja^q1DE&yk>xcS^>+e$*(ub2lwI3P8`FLzo7VOf< z+QSDsGnKo34eV@LrE5}yH!i7MKjnfYt&Wu^#y4g8Ytrb$53`MwC)`~ChN%mzjneWT zdu{(;>;0kV|BA%_JH9vzv4gZ_QMI02z?0MaRlP?82!mY|Qxru=KT_Z237!kHpCzO@ z+^_bKHjoTh_-gCag(#<+r`*Slx^O$G3tcGOnDI%wA+7Ff zDITfh1ZdpXvP72D8ru{Gu(a$5FDYLUmao59wirE3m*Dpn(g}v|BtY&SqdMw8JBjDA zlQ=Eg>N2n??{jt2?j@`!vX&<|c|5_CYbg(^kP38QRq6wvO8A9qGqN7tw;7eHwwMi` z8ni~iR#jWgzFaY`ywKl_Ld!UZm&|R{d^@4_(wD#Dm9KjBYhL@h*T3P7Z+i3S@&C1j z^-l?C-MW8DwEqW4Q%2;PUCYxm_0SVTkB4N(T?M(a%9_b6dRZmdUQq|HaJXX+Z%4DLe{(&O)g!nB_K zgeJ!4##L<#4J3Wc#2MJyoQI9B6}yaUYPEq{HSNZWB!dJtJta_^^8Fgk$jbQXS#)yU z4K^MEY8sU90)VKvkgg+VwGXKFS%In-2WVM`5e?mAijJu2i}*rv9%kz7h``m!;B%gN zKKYW=9YC*)X&6qfq}1UlvrkTqo?-_%V?nQc7Xyo0#DQzcGVMeH48kx-wYO9Fpm(@K zv>NPDT)3eNNO8AdOplz@(?Du`adLrh^L3%e=6LqO3B||xh+{;_GXn<`*faT?Lohu^ z4iEZy$Gx0Yakl~4H+~Hrk1&r~pX3Y9in1<|8&2^d&*2mefu5uc)fWoqHLq6&YF_h7 z`V4G{>E;=)zTZgcE{PP*ZKQg@+YvwbBrrK6*p-}wfE>p~Rpg#gA~I`F=|*Q8X+*MrDgG zy#mDK%LLyB51j)K7bvMgvxU+l0HpGAYLLE>7(wNGq`E~RSpi=0==O(X1&mX0RQgCi zT1$^-#g+7@oC3hZo&pKu} zSl_FxGx8X}?P@{BMX$*2<*8BJNr=mVcV43rY*M+4PymRWeO533YtxqhNKEBlXNDKX z@UBN|dUgfQYG>~PDE%A@x2Gbc~tc+>C7YQvr29rV_Y7j$H(yUVOqVK3*#7%N*CrvGjt zA+OuOJy}?e^4}{f534!wG+9EP<-rO<_Ite_#E14H_vy~Uc!p48<1?8WU1w%N3h>Qm z>3hYNXY273L*rY*Ftnd%W~UG*VPRb5BI|%$CCZ+gg-~dutmkQZKOcnB@NeOVEhq;w zE)RhhW*eaOB0BL#RVg%snG{wVUg9QZ!ArexmH%Za`n^08Jd8zOL5J|73cfO{-b4jn zl|fXp$$B-wl1jKu6~9KdxNGMt|7-Qy1|NN0Mltwx;Pt|I+!uLV#^0cup~4%}n-Qb+ zzX=sY2tlp_+@slo=`DI<-|9^4+l1_eZ|8}{x)Lh~%@MW_JN=DCRb0pex*wx=sxPJR~O8-f5 zk02}{>!O+a@Rc;y)pgv3G=HDn|998@DUJI z3{FZviX|e}BN52s3nGtm3IJYuaD&&o6WG$VQEm9Rd-+v=!T|T~d=7$qSfw_~&FHkOMF&SoVBA>yl=s#Ktf( z2>_+6FQ6lcAbY-uf4!RhMs#@QIK<0QWc#Y+8AglUD)=QfKs$f713zoGcQCN+*cxAU z7*gI>G;y$MHhk4XC@3`D``<7CjO*$e=Ex|oOQh47E;xI zC);?9u$7|EuJ5ik5oTif*)9nEC}J3#UxZp^Y=T2*(B({#zj2y)0J5IKJaWuDnt}4~ z^M+@~`3UVLzC3O3*v_8CG^g`;R&t#iWMKGn?YZ>}4Y*NN{E}I5Dyj=DKRy|h^(!H$|JPtbVn%8GMsuOx zG7A|pT&P>E|DEO_HNVFnw4XbT9ttN68LPNB(T+c4sWZZcS}qOMA9Y`U^7b{L*2ChD zwPe+Q(QuBSFXC63UDfgZo3Q?`)^;ayZUYEjIqfT zK%of);-#+&;fE{87-rc34_jtmO?V1L7%$RS)TjE4*hmXYml_xlkX+RP$J(@oAKASm zt!xuD$Ha+X-r|a?V8OeVm{J?OWy$W|)y+A&8hUvcUeU2@Ty<12yk%)!r@l2SKRjUx zAu!hvoLketLglZo)g1WB-7o-`)-+()RKemkxYMMKuo+g*a7aztQn0q(9?+Wdrj;{r zVxOWrGZLAO(>jqcrKutz#8s83Tf7UgR6fK~2X9iRUV<-V=`PqkOXCZe_aYO=0_tE-e$ZLr% zu&5eprF$3C14}l`iqF?Qky;Yj`Ly%z2C>9d$EqW0o>l%m^e6&Y=T*2q0~pR}0_Gec zwuT0djx%zvhK5&^kU-nqK(8eP4On*2sd6TTylM^uYn;m|5;mVZ#rFgpG83Z|2@Anr z-NQYg@*<`aykj@wtpey9G|-xb2rAHqQt#n{olxAKz9O+6_X7)B=Pk&DnNdt=UbqIDD%RHE>fW&ix*)!L zUnC2`Gm~_z9mv}A#TlTLKdO6%g?eX3F?#mL=+O!UMCiIMEPn4x0^JAV8bYhePY62I zyPz=$9L$PCcSa}5pVSZ_7G9E3Ort-vhJ76I_#IYxJ>WaxJ2Cua73|FzKR-|e`m*-j zp8;Iu4d}ij*ld?(l%w;!LG%~7Qz$T$K>>&hdBX+mwZ61k}ncl-{uD~A;B2`$A z5->%hUNCgOIj-SUk7+ooOANUuP=#+e*0=!NdJ^Ys3M(xQaGXloHLB#4Ia1|{z*0fu zgu79;dy7^rlHQMvd8;PfEpGE3(iM-!T+n`QW8+|cRH(PFIy1STI;Juf%YWlQJ}q<6 zHZ40n#f>5l?LeN9#gJ-;V`|n}E1|10!2YcRc`gGO7OHO^FVDe+RZitI(!|9n=v2NM z)Z)ARs;BZb8GAzc7xj9_seCr0m@v5(m;|oNdNf~e_KFJJu;w1)c9J))5ovEzRVUM2 zNL*TDm4`KC?vTC-bYo4fVZ)|!OuWbOgamXfPgr_ismUBcRz$1;PpueNu`s)&PbkOi zdWs!0VGHv|DkKYY#(spDFjYQ>z1x<)cZZH4!YSs0wyq!3VeSNHWS4BYdX3{;Ly=!O zR9wmdCl3S{i@P>e0YZDwA!A;$vc#Z3cteM+*HN`$L@yM-xpN}OokT@C!IcG?lb*){ z!RfMG`It1YuI*UxSPv{D<9wW1Py!q}PxLG@S;3M}R!T7O{&O1nCRMOZ_7HSz+x$iVK+n@`-hH(kf3U~VF>Xy8<1rK z)-X=EkANTbl6{>BRS|3GjUsCb3@KDep6jbXNUA`->tj!{6AK1a&5M8WM#Z>G%9YCo zD7I%{lYDFBObYyM4>m!8d~I@lg@;+8+{-G9RNd_~X*xI|hav1dyD&bFi)OLZ*;Jw^ zVj*QG{AGK%wNdq&Nsxs7TiiTFhWHF7_3Lg5ZoV^)!&+b z%MuWU+WzC}1vm~%02i2l(Dk$051m)s`F;~wM8GeV93qYi0=9(>UwENel zjlj!zPeb>eyNT|~efTS{0DmEz2_j#q&6vY;9LHpO#s^do; zH$c+%U{22&$6#fZ2&xAHT0KWVZl+t47f}vtH=r*=;`+^UE%bt;ByeK|FjqjPVN7+# zEx7>mD=a{qbu$9H_%KH*SVdYfX{>ekgpTsVoSZg>S3c-CtQ3Xx4e5 zu+H*}h|a{i(gH510+?NRro_5fb6W(8Aw~_qFV~}^@Ein)p{P;dxEl~0#!14Wf(Q+x zQz+=C6^U?RB?MLtg@bW%uN(P!;z$xVA`qP49#uJPBKR|&8BK(5${dN+lQaxSgdTDk zGrX_hP#P1ZVEbeopeNFtDY?DQYg3=#RNT+w6P_k(ngYU5yev9KiZ8{H!siAJU9`sj zL1+93htE{nF^rM9VQ?hew9Yv?40~iK-v|;B6dcj|bu(?HM`2M6HKa4k6NnTJ(d-z; zN$nt>!@fb0IfJ(TAhJ<7354=2dW07mbO}Y58;Uu?Fl-vIV%VmEmV|U_z0fHU(xU>Vn|3DbOq9ynbq*5s3ffy!rnH`d7XC zJ@0+r`#;=efl$>{aoJvi=O{K?qkjW$GH73qh>+eWU+jkY?;FC z%t-0Fq@xAoR)cr4dCCPfI3_&0EnGsRmQDV%sfROr2X1paE@*(9+AxGaRo#v(P5Dmd zeQ{e-2rFl7U}|=ukz*$S%QI@=?Z^>0c9Fo5!rG|5aK;!6XDML9R!AGd&|Er=CHWgx zFDj3O4t|eE;w{J;uosah-joESsvv&IgV~A^n@-a0lAcqcQs-w%&N#%XLx>!#u7JFu zqK%LM$Znio(^ANWCWhw5CX4|en;^mto$$r;0qmR7fOYVIiXGAd+PCnmnddN#zhsSi};hi*O3_+C2T9-iEF3cHnVbqO!Y!pkX z(;(Wad@))DUD*&NS96Uh{VCI5D>ze6dkjLmRe8enk(S*^`48&l3z|RzQ;iU|XbE^% z8+TG4Iq z1eG7gtt_KsEe@dF-b?YD#jUpUr)Fp`m`x|U*1c1dZxAga2>7R?HF-LdwU7FpY{N74mKbPt*aV5(pBB-~sZ)0FjXS1f)V$ z_XxTR5C9D1e3zsKqL3Eji(})nc=@IU!qZg&*)Vf%s9af)5lLaX{tAY?M3%2Cv~Me-X3u5z^s4Gs^Tr)k_e@A`TydXp>$4GcP}(glJxkBwByQF9j%j^v>H-7Sp=`*KQ{WZix7CAMBlpqxIiJ5s@yqehD^CU#} z(=bdbSu~4L*hRcQLF#Kk01F(i1?aWxIx%SK8J#h`Kgb`p^qw?Zor}@qm(&t53zGV^S?$&d}X7nq<% zoysO$^^e!kk5FKXqY_@qgT^4z+wkbs=9^u0W4bQ8XyVeWs%|lO(iHUwBr|!1w;HrD zAp}w7J;C6OGvYSjo&Q9kD98CIev+$xY-(m6&kw#Qqt=F}IJLUZsruVZHFNiJazkNp zboCF}Nu-Nrb6`bThuGLq20ADytz27%944xtO5kacfm-;0OYIVGATVLcdZkPPBI_>A zzU~HE{(G1KldUZUP$d4u?#_)*OGj`;uTdmY8XG->Jd)U&Cr7aaK3 zmW+obwoLvr3|Qn2EPkc|3vz1mmW07V?$Z8vl!2kYrS4RxUd^S1K8#F22T zUYf?;0286p<|$kmB?}VW&C7`&xH>$qHoQXB-Aw`=ua8}?q*cvMjWmNKQNuHxEH&vT z#dd;&)3hpil_7)d7JmILe>D~YKV9*P7ZGxnB!PXeK_9}mTru?!tPCzy@RuAFQ&}<{ zIx#uNvER=gPXd#odV{%jy=lWOuR0P zRHUpou=S_%zmb|syx=!sffT*jDA)uT6d3t$!6AruoN7cQRQ|VW4hGBXw~;i07rD3V zz>n`h5orb^aQS=yumbNS4F|DU_@Ef7D#|oO4|x7}Ye>y%<9prsE9-rNThRv`i$@+9 za0z^nrfJj-5Yg+c4+#d=hqcM$M>Hk~WBgGdVtot%VLem(acQmTG&j!1TZT-Wv6QFH z_X#u#f07f2lAS;6<$97s!&rcll8eZzKajia8N|n``;=i-$e2yYcgGUZje@V0wThm3F7f`(mmS z32DG#7|gIHINl}&;3WEjLb0P{Tk87?pcj9Y=I5-N>dOB$J$(r6^>x(oe?#Vwj9b2` zDM1fO-%3#hht0PQUgog*jzJ2hJKr^fP1zSffQ3n}q9_IY==*&^1ZqJy-ox?1K2`98 zbku)HsQ)Mv^|BvhX2bmA?OK=^Z15){{#{SQ-5a?ZrZhA`S>+aC0SuEBsB0Ao;%)l7c}Y?8oo) z>F|5>i-4K1q{?jHrSkshYX2v9`#i7&Z^nSZ4D`s6+blEe~7c<+&p(d@jcf4o{5OF}p zV^#)iU(KGV&DB*Q*6_vB<&ZNoJ%uotHbtvb7R+5~nN-8bHMNRGNSWyG>q+*-wJ(n< z&v*5{j8|Z!1Ea7&^Qw4*!GuIjhOY8p!D?ips!c>N&)yNxB(wMmU{SHVa82Fad`}6l zu+g13dCtyELT`R@at`W<`1HaY!W$Q%VhT~(Zb+bl=T>c|0drF#XkjU6EO#i`m#Qde za5Sf}@|UG1qFhfzg-k?oW!gk^t*E>z2S>Gevj>f3;a8eqDhMl4mzYD6ybV6cmZCCa zL??X3ZqI|IsF}2K*oUUk38}364)?0f+DgtI8jYaOV9J%+Ak6~Zvo49MCmh&6^X z1~xH>P*6b4W=t5qzCIro@w(D??GTiFKTKVEIT#uW*2bS;a+i^@e9Jt zGaLL;*nFnLALvvC7p8Tvh0Q%NuQiSPxC4?5t{8(MI;X@7!s;^{cnfx)bQQ0GttSU@ zkE}#tpBv%3%}9R_35VJ^g^fVdP)Wp8K`b2;7=7xYwxnZ%x169h1WhNT|DeVI>P;Ae zW^_bmLNEsP?Ca7)yxlyjIgunYP{S!yVXtQwf*Gvu!xyrU-PWI0bdCknBx!OeZ>F*a zggE|7nF%l#9@LwENDL$==V+z%K}i%v(uOsn6n6MLF7@$Vvimf8Da4yc{5 z8YRt@bC7UHT}uc7FoofOn@)jc8=KOa%hNC#$xOr%ex&K#wLe_W6A_%)1_g>vzx4{3 zj*+n7nY$FnFL;z2d(2wiDCUC1~Xwkzut z))vCsTd)e`e_f0syC_ij5^(`QGo=oLv)maOKEIcb=b(yW30PHT)06`WnhUp)rx$uBDww4g* zVDhIn!nD#bWl(7Ynf|3D0T}wZ7n1VB;!k+63b+jW9Lsi<2V*{-pU6HHTp|NKLf3@= zW+e!tKBjnT);YJl#TI^Nm45}DkZ9Ma_S~2;UU(Mtj?P^P8?dpNIpmC-x3`1kY*+a= zt&wQ8H8Ge?ko znfpZSXz`(bl0Ma+EZcA2Q_>cD*9u)=S2YWAvEiJCN1u?y&O+=B9ahJP)!0n zjqphaTF7VeL6I*Y$g|S0E`4?e)^R%ao|BIBb2ZX%!+V}t;Tea&|M{pzZ)Z)&J)v=b zq2RvxMY6Ize8>nMs^Gz^c>uX%i-~Kn7``&^6cR!FpT)KGE1(r-CX;2hM2kY#e&fw)Dp7$;Xy7Ijnpi178 zWr8c;t68bJDPcDgK)##253M%7-+>FFs{9WaV&SML{-8{Pi*rJ?A_q?Khp}?BR}sxD zOOzkUs1HtSeUy$eoP!?&!o&iaFrObs*L9yraeY@85@a8E@{22DTJlLVG}2x4jxLN% zAQ#7{0FRU;6adIRO&^u-(**Z3KrQ2hj`y(iAv;)$#s!~s1}{XlJ}0B||ECl{d9myB zDGCz1h6;b&C0;xChA()|tS=gb&As7E8d-RWZ~ro?rqqL^%EFfGiVqEA-^Ka|yHx&H zh>)TrR=%&UxkClMMhJPfItlAvPsjfog1_}mp?T4_$fb=BYcoj&-E%Cb%m2Nm>u(Kh1!l8I<)i;YS5O7v|y|M+Lt~L&o~0 z=1ady1MdH|G{s6N_)S_P-)}L3jlXkR&<3jez1cuu3ef7hxe;c$Ccy!t;@HtU{@`LC zd|rXQ^z{$J;+kR-Kyi-?f&Y(s(;$f5pJ;9WIb*Ciual`3J#m>8Rqz)FFTJ+^swYCN z70JgO;r=yijTXvUyH?oqy0s$WnL1Vu6^y9@Us_||!`6ZZ|FM=G`ShEF-_iiv)FtcJ zvdw?GybfRE2_4dKj^9b@bx*`3; zN^DT&;W1h&5r~{VLb0AfWj##JX9_b+Bjqr| zRR}X2;mnxTZ7ZEacI^}*@*^VQ+{`t2G0D{+;h^SE2iXOY2tkNtW8`a)8-U&BjdWEK zDuq{i5_av0nQNvUn42_AybczicCb(YcjJMtfAClc4pn{eqX?5wq(K*J&?Tr`8K4`K zfR3z;4BNG5W*>_GSAqC{k)=w{l@b#;3o4n1a(va*4_n$GS#j|p$T+O>IhL~n;)#NpkN9o z#K}b!6*=!$G9;K&6a!>=37Npmx(zbn2sG6YZ%bZB( zG#V6IQalm1m9gzXDzr_?*i?F`D5nau=h+0qmQszGzk*E_c<<@d;ajTQlyrz9HuEq8 z(~g0g$T4u}^I!bZm;aYdivJDnpNIlx%VAT)B~_shJXxsH}CXj)FTE` zzsu|}9GDW1A!|lGs+(8q;v&1T<->JpTqG*ykitQjb1ZLrahpK z?u+%?KMboW4sgn}H-$Hm!*F+=EVc(JiW&MC)+-@^LzLspnDwTBuw}d9&8ZnLN@PH> zU}a6V{r>J0?@fxWR{15a6))>T+sKwv0AO!#rliMHLW9vIWxbvf(B)=rIIG>>3dQa1 z@br{9$a3NICcC%C!y+M#&Bm7%@x3brV#9 zBQ%37J>wlN1j(6PEiXPQ^P2Vm$$BkO(1T?xOwg?m@-%{BPml2(n*w%YOQ^DAWVSMP z9wriJIVL$vRtI1`cNx}`+&Y5~mz|N;2cFdUJXMr$o$ud|)Jy0JETNJ|iIJFtFsT=V zqgk<4)^R@fl{H4@Vt9!$E^;mcu#pY?CZym@@5&|&EW!A|Xm1uysIoMzuUp!=AXT`z);JkS#^4}Jc{~oZm*1Ab}w$BW?=CFGYX~`EYK4 zj7*?X!CD=ff|vU|wB=(^m#Z!LPAe#1Bc4_W|FC6)ySUL?+^is3nl8|~$y?l_ECe1P z)F|wLJ=~8m?pIq8c3^3*El#d5b%f22*uU8elnq`rA@IQR>CxF)TC>EjcFog!HdJ9# z_Gwt=;XQ^QUHI$7_|&Yesu7i7`QYf>ap?QuNj*hFgG|a+d{S4nAXEW*1%Obpt0N4n zyK6?z&fBnyJ+Y1cd-BW_^#U_IM2I`d{lXpF3JCr?O0kcHk`$xiCVg(omr$={H!FoW zD%@Rv|H{|C{*7;b>)YS??tgvn`#<>MkAD1<|G`@Nchi493dphu;0EGZ7Q|wd57!P= zR)HcB!OT+XnZaMGv@)%Ye6HP0O!-<{SEfvKw3(OaS$7WM26<;gLtV60m^U(DlOiH| z_$aKhoKHsvlf!ZP=A@PN;&4kU$TI1;hs* zj&Bcu7eP8CQ4RV6XG{OtNT=xEnna{`EYRRU>GyT+5OkOJ>#T}%NI6Q- zQ?TmiVM`7#L|{$LOFEq@(Pq+?k5 zhS02hSPLrQm6%QlGLM~$Bjx}EKNne?J4QgRcC6U#5CoIQp6Z-toX zUA{fZgMH)>q1O>`9X~M-fnk0w)=P zr6@w{Z;1j^kHR>G9XZnWjUTe9;05b0j1Vq$EH9T$XYW~+&1CBX3phNhY1NASF@|~2 z-jrAKac~w|Vf7+_3FQGm0Y7o zj_1=w465a<&`yJ=BkUZ!wNK$in^djWOp;H=xND`st_0qC*J5koZd!UB{zcH%6mrZ& z%C0w^h?NK|&ncN8&iWhBW&LB=c?FSu>an8bydL%LYiJdw>{Fw&%KunF4@Y^;<2>6E zrmaJmqa`{?5RHdPuM>5UWw7!sp{t5>NCzrb=$}(21mUoE1+*+x#cd0}J6wlF^fivd#`h zI5}1Jlx+Rt)y8)_TJO1oPlNMp=Enr!)edsNR9tS)vvV`>513bhr+Q%P%X-Tbx*xaJti=0nJ5K+Dtqi)_yjGpMcvf%MYVqP(v z`%E`_g{$>17r{=I!@bYEVtSaM^1o6`a8QuFN+318TBYq25n~Mv>BcOfv9RWuajLS{ z5cycF!bLpfoadZ!n9OFkzfLdO_V$&FaQoe7Bj4|S3KrF$5dPKR*z8A8SbZxy6L;`;*c@zHSpwiNquv8bkSt#g2y-^26Cr0AxhBl*908dx*zT%)ho3ke~JLIH^xVQV+h*!$}-L$oGC) znjfHE9R5KYYxf5;JC+m>Ub3p@4+&*lq-J}4u)z7VxI>)wOahYJof%gbeOTIfnIdEt zvL`}fHpoNsupGv67(HyrYl z_EQFj`@ds;X%D^dfAQ0qU#aBWrk*-XHM(C4zlQIXG6LFQKDgC)hQ z%{h$h^k0xGf%QeLwEPmLwEWAC%DP%ljY+`$6~M=Svc9UTe~qetof!_FC+_O-#QTO+ zU;j<64leR7;UYEPHeAFkrWN;W@GZgmj-XcjU7U1uTakMrWrS8G|0M)4)5i_`-_t9& zO_hG12uRUr1tBU2-TXhGgAe!Lo0RoK!DP#i3?_U)-jueK8-FYlkg?j_kRf_Qmct&v zG^)r?yr>C7gcxO7&O7~d~I`{G|xBWL$v@tjj- zzgh)QkYb4Z812tZ-NNggK^>0@JS^B$7kc8Xsft&vi(g;F^?~nLh`X{3c zcaZ|&;{J?jBkR{jRr(hhjk}zt?XUWLKtN}hR*>YKR-<$cnK7gns8X0&(9O@8J)-?? zRg%N@er_P>1a=r=9->NNeBoX_)QZr6Er!k_;beVolDu=dVt5|(uhAQTL{eNbb%eNv zJoDX1h4MTOHw5BYDd|u|`n~zC>Lf@rn8u9SEMp^e2p{pAkSW@&tzW+hzbQt1pa8B) zPF$(7~lk z$)0vm?F@n_^gzpp$;!6!!peLBD%+N}h8RCci5G0w z3x-0^*W0Jh;9`dx(kKTm1uHmp8s?eC_GBJGPUoPmUzj`%FDzd*Mp9Jc83_sAO*>W@ zMie(oRG^1O+Mnj#@Bjrc)AYxt+XbkFwKPB4c7#V3+-;1>odwVAl9GFn4P9VQ)@iBF zhKkz0*Gx-YU0v^C7-o0IZJ49=$6!|1g>T9i0v0}8^9`HAMNJS1}_#3I*OV;4@rQkl+AzFH1COz72tXJ&DEVyyfb)^tq zoQ?(>XCyLJ3}|k);Zm2krOJitrf{(eIB$Bx$O7L^cEc?sAI_s5_6F}w>Sy~1*qdmU zsTUnLNj}IUbkPydZ1T17=qi-8j`7yxJRbCXTlVnPDn3FF|8hNSr1Kzjijd928MgGl z9?3hHi*G>o4(EMc=VMwUZhR+hdIK1G>aa+NGm zH*U(B6St1id7-ttke2m=Kx)v7SF5GZWI{q^>uNn6*T{6NU(~eUdKNTxPEhb)!_GJ> z+isP6tuq_fJ*3&#a6Qk41PG%%4Ltodk8#ZenJYyzeR6XjiycO0?yC54X|-V~Sz{aj z8AAt=K1ac3G|uGqnf4?lL?O4&jH`Sj4wz-4tc1N;!6cQRH%6#w3_edrBBI11nALkr{Ua@*&&3<(x+n4 zLVxX+F_9$5eyW#N!q@GzPj4G)CS|6UCx3r4qLJy);F!R;+?Y6 za8?k1NKT)eK?Y1ID@C3Vn-?|&T~i7h^xb&gfLO6#mDk}3#F6kwM*WB&J z)_PB-3e?h(i)wp1BKwftX|MEF5)w>2eU&tb4&BJwe5(nBGinkiieSKO6P-be%0@3O z;DD1z_QaEYiGJm8BK0RfQdTyjnzo`!CpGMOOeO@_^AP0(@9iIntAeB6&7|^!MvW2#UxS6t}%Xhd9Y@sC-`|<#s(zBMN3&Q>Y-?GyJ58>6GciQT+*VB z510oBRdI??98IC8E{g=T_ z=6K<-WuUjLQB}^bR@Q{;J~%n z7-YqDuCJUAQ1b2pp8tAhZw77vK=E*tI^3c47{O!5V}%~{@s?FtE9_%dW383;YGrWP zUGfrx9d`Za%(_<<%P6NqC7u2)DtE;>Q^-69XUe7<4aJVkO~T+O_a=vAkIzQ3n_a|l z&XkHdOm zdN%}gV)uIyj`j2pVaY#TFZpL^NY4~ViK#R56VX*5J`xzm@MT`CanANe2M<9fk(#nstTJVds_d1-{PDu>1&jQjuaf&{?yH?SMM!Jf z3maeS5P-3LoqR5My=(kbkoyK_^lwZb{hLywe{=fi-y-mKyww>!#oR}B%q)W^TNL+A z5re0${clf={T-{19fl{_$No+|_IEjBf43l2^d4vI5SDLa6ZH4$_3=Jk<^2xcP8Hac z@R{>LsZ#SHr^+xM&~8c_0p+z*6w#X7d_>yp{;0G;z}lIy0H!jNo0a5g081O2h zC|Q2EJL8uw08`c{bZ?)O-ikjZy>-DSNBWDZvQKBd$HUa-GhV1&@f2JbeDEkfCvXG* zDR7D7^J~U=CLzo`xYie>R_Pa|7IQeRW^*+db8xjUOSS*rUG4uy?T4cO(fjV>P6r-|Nmj{J>cU^iagMg zmx0e3Nmd+1CrP#>TN=-df@QD6N+ZeAT4^yN#3;=SauY=!QQ|wEW0Mh zgFE2hfFr|_!@(Un9<h@{#lVS5<#$X1vGoc=tQt@dK>sue-Xty1Kf$x-O+RIS9d-b@@6C}##1)ypKuo!)xB>tl)ZrsJ~+Zz*+#A~mi*UnN$Z58SFGW7QtBK zyi1v{X?12scyod(M7SE>grNJ7D7QW4-#sRGM6bIzP-}2%RgKSs#Jomh5$H#G8S<#U5Ua&vfSXHI(&$!SKI4dat+p7{MwwuXo-T?I;&ZAoeFF2b3DV)MMuUg zS?M)5V5ME?ut4-J+>Oq{vARIGEY|FB#x*=47n_cwW;-cqFM)aI@(Q~Uo%ahE%Pd4azii@7xT=YCu zXDC^v%8*qm6OO8JeNIukq!`t0z+L*t3?8^0B8K>|Db^HAIwmym-ohEEr{%%yjx)RcW^-DM_yxBk1~{2w!}3kEaIlzR{RKk;!6 z%g)ffnYt*xFQpWNvFgZv-J|Iqp2IyiE4R^@+~ifkvJ{Ld+@jkdbXmjC%)&^3N? z@|5ZkDGZeYa_+Lfjo3wY4a! zL%2n#qS|}Vm*OU2Y-LQp6Ht)rV{j!u2J2ln?KH&g!QTvl;rh@H7YeG>s{`MW)7s%4 z;co|fMOaK#;yQ7OuJ|FCCI3p?C)_H(r>qs1{jCx|&pQkM`5T_UBdT&38w6^Btu1bq ze$wKUyg}S5%>h$}yCq*cQ)$xLpr;pKEi-)&;A+A7n#IQ1!aYJ{J6t08?7^$9oz*Fb z3xp6Ta`NEjAb;Ya&d#iy!?y>K{}IbBqDM?oR3seb46K=fNQgKJ8ZfjBQ51aa#4wN` zZV!gzRO14%7>{pHx}glAu#n_T#-cD6Hwr{T*skhLTq;-;s%{7C@pPJQz7g7n3CPo? zk6CO_MX@l8lFR*!NW|}ITrg50#1_njML4I#(F)4SeaaM#6r?=eZ#(S$)V6F%e>r!i^dk@sWD<(jEZr;N&Aeuj(TrU2yd$D zKx1#x7Dmk>mUdIh^@%lfP1=ND-C2AcPuI7W6ujP%9YZ&yeMT<x* zU=09XT5!Ed`OIx`)1h_aERq^COndx%0bEcF1#$f`^DMy)h@rrG(Zww8Le6*Gh4>2Q z`(ApJE|Rwp%C8*Ui`0w}@#SzGqS8~gXSKH`JOyzqe&>RfbEIu~G5i%DUaK>ZG|QESPJ;qKE0)k7G*?*ImxcbuIHA ziTjbwJGJdO30RK%kyjQI7FdSsk+MLvP@zuvWht&pend%e1#V9~>v~^pKHrLPW%Az$ z$+}0+qaxgzQa|C!Bu5mkNpd}Un$9~H*CaP?^@CdYmnuT!^1$~Zg-3UP80sxVWhVOd zF8>^+Ozi$t*!D^8%^xxYPDG*>S?g6 zz4^+U*H)C~QvKe6@L(byPRIvT+nJS3n+xn}pE}HcA*}X+p^?299;)rhs-TZV z?P|@PTFsq8_rY!y{d)gpPoOUbY46&KJWQcxB6SM!z9Fvm+{+$Ml`HAQ+H4rLeeD}J z&8%HlA}Em#{s#Wf2`mloK~Y1s;LZa3@3L~W(f0(FhV9dSSg;xkZa4|@rU<|*kk+l{ z)EyF7Iu>0X?AV*EpPf8D;YPxSi=Y69M;817$%1R2>@0Zl2@p8$QFaYGBS|s*@MObn zQ0wrjjadjLe$~Fd(Fb^o_QJ{*5%$73RpzM}-gUwQCidwjLlvGCoV%B3tn=9^j+FT;co4s8^O$H?`GZ{g#R0a z@kDP2h2ZC=mM8t;fyACLJEM`Sd&s?{I!&*G8+$^wO=pRP9iHKHqC%ye zZ4}&Z)&>6YaBK77PG^yCySCW@?cvb|*^lzCR?iQ6R@v9EyN0aawK|54*JZJZ;OH6I z6CHQ@fWuZo><1wTVlZl=8n^+Qu=qwEk+T8BuD@{1*B2`e4;#O_Bfv49CPPPkt?X?x zp4u*O3|%zBbxp_!s+ihH*8fl}$ABI^II20&@+UlXdtg^Gsbmzq$&`0c z)rl0uVQ$7cje>A-(+C=fNTowAnNq$cGKWEqxVZ^+!p)5(!R#kG*ql{tR?cPdwbC?j zluXgsR;q+Yo6HBffxU7QB(37pKD;P4;nU_J2VgUJi!+(>GwGAzekpj?S*MLpQUKn* zAXek%x>GH(X1PJ`la=g|M-hpYpMuu%Xorw<@K<9sP~di~MKFm?7I{ea$%1dSsC-G8 zp(G=8ML3 zqf@g9;8>>IM!KZRdsC{pd?pwEWsKdLItB+nvkc&J;9MqkqKIA~?q#0SKzkJTG7Iiy z%#pL7;ZVavN)79tndPM)4N;*-M#n6INfkb25MBI|- z?MCVqJV*_6A#75nFOXo!dbPIAeho_!-Gg16+)r3_)oZgjvON1UB9tZ0tG>ZK$!h*t zO`+Fi0c_%aw>;ieO~vqZb4#Fs=|h8NLT`nnp4E1njcxO4m+x#HQyCHYE_l_#{UGg~!3p4HMT+T{~4xYu_pD zvTpsB7QAz#+>1H~cv?0?VMBk7jk@hBMkR zGD_<|=E@HO&lNZDK#7AT|KnMQhsO}$?OvV9s!wDc?uJMIeP*hk#LpuW(?iFO*|Ydm z)&zj?S!+s4KCLC#J75=7k+k>Dp~M#FqK6$u6*w4lzj?oOjqIn2#Y|s7X;iV4=?hG> zr~;=)Iy7uSc4N-)h3}9RI9D>X**{9wor=*4oHXe*y7<0wx7PR@xXS%WQw$Cvxt9un z;o-EjRhpZSqbMP5BIi+MJHFaTBmzC=Rhr1EriBVdQWEW12~Eux95r=d__i;lPVN4* z-Z+^pcZGksA2d3U(x~#FNp_WL?Hi-)L&&SA67ba~+1E8IAS3bV!&_B%3Vgq>)vtdN zw*LAWtw@Z-!xPY|A$@M*9%dh0&^O42lwIA!h;E~SlKJVA7sUxwW|E1{(Uq4e40d}P z#R-%Uj+Gh8F)W67+VZpSG_EIbnng_!_UEWHu%at58lGTC>``cQs>f@w=43N0uH*?? zs3SLprIrhThhhNKXRqi;41@t0lhCS5h}3tK$ATEr^6Ak4l7;82NE{jnPara6LTq*o zFE7iL^2xOFJSp$z5a-_dHLDbk7S1VF0XQLfLd8V2tib7NkGE-Aq0^PWyvXUwS6)-B zaJ10vYLBO@kki$$ud7n0D}Q;J)0MBhrd;7@q1)B4r>jb*s{vnERZds_^3_gPzVezi z3P%gwt_Iw$O4mu1uG6Px;v7xNKIf`ssfRlfiKppV7^;zyfsXjdP!5nq!@l^K;4JIJGpGFX7={ z>BsX?att9CG%mcuy@(*iNtqFTh~k^O(+B$a3&dJ+2@yLIa&W9I@GF$EFYwTf&8Kz+H|C ziN0xflfdL{*ViQ&jxF_|F+6G{Ck(<(PmE8&HBm<_^W(PA79hGU<%O}~S)P9|+zpw2 z3s`$y6IDf4Tnr)mVS6mc{b$b^FbDvHghPCI)7#j3I*0Guu!e1Ys zztoKM5_F9C$_S09Nn&}9^Rm=-cE_PFIIa&I8<50m0Y%-Brd{}_rzg2RIehx?$;l&0 z2*Z=?LCihCB|q1k+|V5 z)^swZYTQ(Pd?XrKgwf{QG+4N)96ps&d5@_aK;_8dp4qXP35?a$ZkRH)J9LE30HaGC zvJ35sl{2OyU${o1ZCsHt)7?Ta8lCdkab4CSDkgFt2Pw{P~8xLXj*11V0T7_vJbl;^p$8Hs%tP=@H!D7wH!ZFt7V^COQVw1iKt z_lKnSX`%9Ex0JyPCZn--DnG}N)Tbj1!?XUqf&=7KxWn_I+xdVO_d7iw`i7+gxSieQ zDNP{vYq!8@ri#1qp<`q?-VyKZmZ=F&khK91lb9GDz0$v2z?Xep!=oLY{n|!=Mcb(2 z9();%XZTWeFTQk-_J(`#KGq$E$fRvrqev@!AHMYshet#=d+K`oJHujYoECB0}!s3!pX<2ziW!366YuBy6)G_f_Th8Wx zp8x#S&ht_evtZZ9R2zg*pZ%gKPGV^U1TA(3%RY4uf@L4SDFk8MXC43$$pvOg@~8p} zKY7^PtY#G1jmC_h!?Wo7TUht!sx2;`8AEhR822T?0g_Y=^S%W&pw$R{d~ZucJzKn* zt^Lw!#5^?+j0FK2!7Gxqo(=yTh9saiC%knnm;>_Bg8WK`VT{eIcYlW@#Pn`Uu~30C zQQAHcmt6%fIy2u=`8f#p-;Rh|z8s0H!U*f*ocb%;h+eUmE_x0rX(o z4Ag8+Vn&;jux{F^)=g|6$cAc4Dpo|X&fzkn7qYhytc-;h9Mxw z5t&60``M{E$%?_pkJztsc1+%nD`6Li2je7VU+-*4*aFHM@{MLgj=3B1)C^*rV&CY7 zJc8pkZM*q4>3?t?{Odh1i^tr3KsBXnZ-g;q*vZ8^Sx z<#=UZ17paSM%fVDb@?_TdP(~7iEQHGm~{}-(`w;m1U{Nmo@&9{opsDl>N@V!WKAr! zZ#oC%vUppZl0kT+cF)*sZ_1M83=33!?$QgS@>K8+cZo9@5Y{*bgdT~=cz5f3s06lz zY&hx}6f9X`Nr)(@h71LZ!y59&>*X0+nBfe|Mxd>QL7|YFw@Os2801j^#)hXFUNNK0|Lg*89I3^ zIWBq2DENTGA={qL#OUQq=w@+X?1Ut0i6TA6&0|wXL@6pc*N!0aPm*$;fiCz}KZfiV z5Bd2T+Ha0x(I2)w@Ej`V3EXiU+9e!GGJXY?_lQz`P2HwC_zGSG()l5~l>*PAm(k{D zv%xX=+PPbh?~B8?3(+KZGiR6`KYsco2Bd(Z&!PK$+h=qn)^LYp_u_;@uQUThH2@&LxgN#t0Hzu(cPo6%?xY6Be z6Kmj~umCNuP1|h${bqfgS%Wrg*4L-C=go@DO)sO^8#w)18q1L#>+XHebg1f$HoY;ctH%=XNuULbeNN+HG~|wWR3VGf|O4)9HL8`VP}KlL?cs z;gGtR88}nmQ4Db9JB4#3Df+HUF@>??*cRz~qV?Sw1_=8u-$oX+ptVgeZSOHWdh30x zheysZ&TL^YKLxuDFpi@~#%7O#;v5R4*!wUw-T^HSV3iaH>8LXV9S(HXp2ys3=+ZuZ}bV&-&35Q!sr%iAa;BAB6;A zOOvD1C!jB3PmA!!AWcNJC#w@PCy|p4sZhqNw`)pK%#CYpc9{!p_&92>m+JFJlLK0L zLFoQy8YXH+~xRy!S>OtE*_b{4=P)F|ceP zBM$FNsC3nF42L1Y%<<^Wykw|keOB?b_H#xmP%Npm(XotQf|JnaRo-{y7H=(D1g!1YD)wl1)9UXSHo%!zq02roIis&xjO^9D}$RFtyHf*;!S z-PAs?ZVPUjA*qX$@4Kn~d#0nUQDvrJj$^YpNkK4k?na>2?*k1pXFM2Yh!`7Q$Bvlv zy$5%?Jzz)erko!*z-jXj)0c>oe#$eRJ#j%F1%HHQ!YHWe$94z=FS;22+wGiNcH7;w z>A%p9*P=zIa)Jd~WFDD=aB$p^z~mHPZ8!gf2Xodlo90DHCUbcFxC#$Aiv&rO{Zp1p z`0~5)XDO_b$ps1fymH@es`|MZL{wIeWl}lekn)vQ{~~o+;0LJ`3S|A#AggVW8h_ST+S}^ zJEvXr_rMvl4tDE=4Tk~kfs;c{vxPbyo?;GJyTWZziJa3$i2fga2)9d3vn&$o*=bv* z)1D8H;|bV2+VbY2$t=zpkg`sgnJo>;ndtPFtcM^SH3vB#Ru1(xuzY@vi=F01&)=J) z2+^`ajQ7v+p?4Z7d38L{b?rRV;TGX*C>{U_1}}_*0d0T`H^9v8GOa%?9nr z?Z-X60DhwxcND6gIvF;tug^3zhX`DbH zuBR&CF? zRkvlp3|a8SV$KwT^HmCG;yLfoIfr)QYwBjD&@P6Ux)nGPndk$rzzW8g@Q4$RrEbie zPMaQ}Q;(;8N9UDY0MHEQW{<|n-kRN+#$)v;Er#}Fphe2*wL6SaT_1bsc%p2lE`}Pr z7Oti)Qb)nBuDEEttyX<)#YHXOS_gWo`nrHvhKfJEw{LK7-*kHWmg()=+FQ+cq&M7u z;$W+Tofl*gV4`YD_QjDy7X7L_OzwB>ev@?+`kt1vDXP<+vcJz=$%KBOU9A71w~Kx8 z)Gi?Yx*h!3?qCcP{x5gJKe5YiM*9 zvVZQ3IUUrUr9V!mf!@B$s7;j9)9TRnFoNq-f4kil9z&XOs2Du4y>2Gtxk@Rk(#} z&J67$EP2ru;!yNJ6*|GjUo)E5J~_|!XB5iMbZ-q5K-*qe$m0M9vCW7mP=w;VV*7oj zCX%F*60Rf>A7E?518l-0KnV3JN?F65!l>nL%H|)!l*=KQa}qV=_^LpQ;>y&k1(<#n zBz$Z-#0P|;d|i-Lj>3?Yq9@`K5 z&&&Rn;$g|2){O-vqr3(6!Og3CKbsL8N>B(U9qyKxfFg{^XH$bApA5}W#oHd%AD;Fw zy_NQxFWnwhJnaLGyqB76C6%TdgNGJnhk0{w-o?NcR4I!1`+-AIX*5$O$Xbi)hzaHJ z7H`;@@)o-%7{ubxaMHveNsrxK8`>kRY^L@}DsHy{xTb8`+nl!B(H4PZy(lp$WlDEs z9Bs)?ABPQN>gTC`7kW2w?!2c#at5gZlCY>u!b9%#IMwcU>#?1s*p}ic(o|ySIVyqW zhYB`{@p(XpG4C)1Ve4VeFG_nFntd1N`aNLBF8w?%kDI16D z<*0^pszf*^V~YS74NJ$N36l<>Q$1`Htoj@NKk!WD=xJ~kDt>NBNs*zNwWDT<;^I9W%3k&t%q27#GYyIA`j(IJ*+ug_BR~g99`^#Vs8T4 zJuKJUNhm}yxZRY0+A}Il4c6XbX~gy(EM4TEp+}~1ua{2oeeGGZBC6$vH^)g^t{T}l zNP$~1s{ALVzv{4N5`rBHl2sj*{?w8>bhxyNi+o;X@8#u;t+l00^L3ReG!1-kZL zRxTU*;V*Mz@HCDmc5?I?q{Y1t-8bIPgLgsmrv*{AJP{FTba9PbO0`eR)FroY`wTn) zpalCzG-a3^V~B5DG$aNt@5Q=Eq8O_kcrGLSdA3H|U{kqD$@8_Qudw(9=nz*zkCacr z7XmuJ1AwYtq~oz(tOiVhmjHh5OTjd^J;aN*i7cd?VfI-0GB10?a-F*gU~3W< zO#9(u8TP}+4NkEiK7syNXY@(4A3nu6{xrX^>v>`lzbb88pE0}Vvs&9S>1GN)FB?JG zp~S_qzMvG0cVL^dbNQX3So@-B{UxoF^JQ3Y4e#rO3m94dp=Fg{5r`ba!0;N#vk(st zbg5O3<_CMTC#osYa;}fui zz}X89YyGEAwfwt4QKpF&f6vgM*?y35sp$J8(KTZ6<-=h1V~6Lc;s^frcr+5qjnIZ4 z`oEa?us(E9_(x1-%)yso8=%q+ft96OR$lWnKP!G_jAwYrIKH$P@!i+Pgup9UwXh%$*eiVCW3a|lk2G9 z3HYU36OPC89kj+WpVL4v{Nj~Pb+#yhLsSRlW%~dIof-;oZO)|t%9wI;@mbhD0!-yO zZ5`Pdm*Z(K<6zgC zhq+6PvlMS{+Ri692JjR|Rd{*xy?A)W8^CKE^6$8>8hCq?du_7`D%6sd-s7pG%j!+P zwl)1Lldrm=)4I0w&v8bpI+T-zsD~^B79!vw7Ql1A3vSDTc!%R4Nx9pzOs*F&rJT!A zj_t)CDt2VqIXjKRAS5pKr-e6+!mZtf{#~e&n$KH+dp8B}+(u9I0~ zWUZs7!Z<1<_-g)uJMoElg7S}$MAL4BL+*V^b_uv0BTe`Z?ONh|h<|k8nsW zb{b%P3d^!A_^H!#awC3pot}XR3}5^uGmmA=Bg25I&t+s99(CTTJ8be82_s`+;7%-9 z@Ghnd5pn`|^8%iC_`wArICaC^W409(FZZH$&3%SA8DIl~XdtW_90zQ}a=fuo@P0JW zt)2Tct&Ph4WIdoerRc#l){^^lU23Tpd|*E1v8fY$E1x~9_CeS_qLpMs z(#qEfCrDD!>zVNEG4X>a1^?NsVJp?VQ9FGMJU71yB*m7y?iFg$ac>dPQl2X|B6sNc zvB@*+Ob|rqLqTX81>SGeD+-ccmiu-KZOWkFPGSf{W;ur#6AVHHHp?(#XvhC&hdHqbYo!JsO*Z zIU9<758k zQks1}wb>VZ&CHu){=cU*`(jG7z?U%8f-ig9Lfpy!4}Y`3S5T|)tKM3CCocF}3bfES zw4I*`lz&r?N)FbjM#CLD^)~S>Wp#mX1AOp1j?}&KKcyTh$?xi!v*vpl&m6R?) zu^)mzcog(ckJPnC89VPK4{@|8bxzuxLnV)s_Zc ztd}<)$f}Dx6Ap;Q6%zWnY=Sf*+V*>=;~OUYK~a^45}rZV>xUxp8dSwB8wE zejCWc$D&m!-7HXfKG49=#T^Hihxwt|w4#~<^8sPM5rn3DAl!pz#=g;rYTZ!}HaaWJ zO;rWyCCVxCV7VAQ=9f5F?i!mPBP(Q(S?WV3fYp~}Kqg{-388zDSq`wJ6)WU2D^NNp6MwvE70`h|5t-F*3pn01M^hscakkL1-k zc*Sc_Wj#8?Ig`>M-npryA+^iF^Hj3QvvBr9Z1!edyG@kW=mow$oC-lh{)>bl*Q_lz zRp~XWB;tW?->>qc4os$3Dr`bMynq04>! z+DFt5f8W8K+BYBEyFf3Y-JT8sMxU-%UE%f!(Ak|UaB7OeKE6U#FI|RMx`noU`kaa$ zhqCz617Q_Puw!^CBx{ehs_Df9ylu`wE%e9O|E*q0nr(vF_dyPf)Nzol5OL9kKSQ=r zDVqWWM+oZMHJkp4Ah(T>>|JGBTn_S}o(`>Y-n{H)kYsc7jXt^-X&rJ4^q~h&jZoVZ z^2-XYrbQ+aMzQmN5-0(@V902qmpG-n?7!7zI_P+&L9Z+qwRV#7D^%O9qlnSUO7o$x z%J+d^LRWJ~Ys^F-<*&^&hu}JA(z!6#QzO_7uobN~BSwCe8UV6tbwCz_ zVrn(S)IwI966C6_2FOU~q0w#%v~#O%{9LN7u0^Zurqx!mE;qYiM}}Rn6V>=)y^V5r z*}Gs0&3BvTD8E9RNs@~IY}RO1Cp(6-rA&=5k+_G6WOwnaDzlMbw*i3{ls(KjSchO( z0CxIHn5g0L4BVkl;oIE7x>7#S%DwV{3TD%<%%*rinGNs2^G1hLHfYKilXolA?Cm~C zIWR(FJL%3i-s6UyztL~rRqiinbw)5BE5SYDl0S+cYxnVRAfrUv7Eg}P*Ucqory;FJ z+YrPQ4-lL#U4o**1TFT=vAL5;?k?{j#)@dJ_#0g`9b$MhOMI!9U=l~+jCp$YFf?AX z2-tWFUPqx;jN`rWC|JqW+#fEN@X@`77k=jC46z{^qYIV5s`9SW7j*OMdY*v&&ALJQ zBI`z7FZPeYyXY{qm#l0EA34^H^<)5_Q>UoT3kO&5!=8!&^?ZEh7n0?8=Gy1O+ zyr-4&X3;C|X$lyr&{ccZM%nXhV#6A$ywi-`SyLtVX8Qo^!~u4ThxTBEv)f8}Px5v7WYc9k2k&9mOYZVEUzbnyc6qy}%WR}YZ&$nU1p@|W&myps zx8&<&8NW_V%07eDm8jEddHgWF;&&rCfW_`A`!3!qGbeEl-z^(}tn*6$|4Yp3|L^9{ zj)BLL|MD!n&LcSmJXa8wb?r+08tqAL>4*&_4u&~;>=rzJY|%V^j!Q@g(x0Sa=o^f0 zk*M2H98e)-L8r8D2qj1X=#~r&actQU6o()lIu#M7wQGo*TZj%S&w=@5LBh;duYvMWob$0fg=4J~;(Wcak5b!MRGYh4`p~lvqZ0P%*?yf0vMxA!+)%v>-bZv@Jjk02zBb;2fb4mYI`vm10z)52nIhtB zr9ca)HMdnSS&$mqDZh=Wnu)hI-i#C^0mzzULBizoyKEc!$4T6kh{mFA-C<6R9mRPc zfV3%cCYwb6Z1?IFXpVicKJSxD(& z(FqwT_81uL%P?SvtOOt|>IER7Qf{A0HX@+0Xv$~^LNrzLWfo55(%d>A(u!cbITC3+ zyL4c75~3HBnHc*NL*(cp9TD~tgnkoKKs4|{gBeJxf-#^Q!YWyiQTei9K{^%8K|r<5 z1z1Mq^w#zQLLQ}D2%{WmN*548eYScR5Yi~SL+AotlfHm4UO)((WI@i91%!kt!vTFj zycF3|h5^}9hJi;Th>_y4V1`j~l;t2^O&iZPX_P^#DmpBoEN`*bIaE+)L&s?YVblX1{gpjM;ciKRYbTiY!A1Q5WK}}ANI(WT;CGUL zLpYU{LIn0DTccuHj&%1A#d$$kMCJ1p;ygrDcN947A*Hg(L+PD5;FOkycloOGARxL@ z;d!lHZ*F!_T3yhU3f-d@8sFHd@LmPu))!BJ;`>v;;6_yTvS^zs|wEupxg~`}7qC9zlcLi^@=hA5=ce-fCthX3^1W z@w0s+Q7_i#D6c4aF3`YtG}B6+d~=>>Mz$3$2G6I9RPX|O3`07ozzezm7inotZ3{d+ zUaXzi|$B`JHf|o`s7%XRQz(thn_M-0HNZ) z_m^>U_2Pf@^IbfT57 zl|3t`@)yCV;oI%*5u_NOY{-9kM zVh*RcL7dgTzVR)6eMf*AK8F#p4^mA8I-OI5aC#6z{zdnb2s?j*5b|NbsQd`SfXZlV zx)AcOyl4N-o^kX7)qK?cF%pFq%RMkXg2~5>VDfPTH&rnC1b`NO(uNbeV94A06zW4f zDf~3Z6DC9k%`v=Fe?|#+$7h{J(eupVdD?%hu<|(-MhZT!#BW2Vz!xwa>)(yY@>n`080@ldhv|zZ48f7gu1{~tYWq*g-lwamL^t6 zO*`63vutFVeZCALSZIxRG&gs|TkU_7BjY#$=ArM{+O#V|?PX3YCdE5NfCY~+bq*a$ z4h$r_x{_UEXOq3X$y2A2i3I#8ktIcYh3&st&`!?ZCFy83(UwZPlm(A_S;yn8)#Uup zJgHWd0xMk&8yDm%f`3In0#?N(5z%(C*68Q5wJ?f7J}}doLGOyjT4~L?tVduRG&Hi^ z^99eQCMno@w34J?)e7dXQa$p=>;Gz3f;(i^|FL{JG_n_~YvRKEpHTu<6w%0mPS`rC z9fpuuZ9K9SPYfn0PT9mO z?)n@4DycnvQjY#F^^f$bf0ZSBK|~EHL{zldDX>+?!A3)la3=|;64BnF7!_=B+8BLc zL@BW>#@E;ss@sbO%_$8ETb%-k#|R}#!8X$=;@GvPcM9jVZB7%@>2^c@mxKJvcJO^T zwP&>2nc8ZXwn8!-HQl;`S%TT#k|&HaWEXYl&8`MNh6ell2D_=SQ;SgBlvq&uiK3@V zK^1p1DE)Yz@2xd4s)BM){;X||EJ^UI=0>@cz-p5fe*Dd8r1@3;;WIgOCix+W`KP9EWX;VWpyI{UFfo$Jm1hv>6_zOQBNKz+C?E z9a3<(C0|XCX#6!OoAHb-+9NnHTPeE!5xW$wl zwnyroE0lc%A~bH=2!egoz-Xb|aZexF$Fv4wa~*eTSQBP~lcuPdA~%T~%o#9napq9I z$w;F_`_u)(Z&{pMV8w^XZWK6yf!3QxZm1Gaw!|UG{k4xslx`}8X0lBJ`1-I_0yQNs zgJ%uT!hgs{VaXFyK1ZRI$ey)PY0atN?_{oNqmrBX@)Tdiq59Ag{I|JX8=#uNF{-%(DSJ4HZEpz4G-^$4~{O%{{tcEI7DKNId%$yt96rx z9PK!L1_p+zs4Re@lJBAM{t?|aR+8^dGgPqPj74Bma1pDgmMVcItcJC$_bCoy!ptCW z2h-A>tc`&>7FHv7876VJZr!!#dFvWhd$%lvPvdvN^ye)M+yj`!_wpCq?ne%=(n6GV zRrlFSR4wdOWp5Mjr?UHXN~Zc~$H=IZTTj!wSMUKthS+Bh0)7EhlZGyIrq(l1fNOl{ zAuk|glXj!@W`jO;|n(#ffL{1w?5 zP434H8$q}VpuuEX1H}HsC|`;H0o|6o!T|QH7ZttIsS4}zL~|E-=c}~d7H_>0C@c*~ zQx7X-z1mRbYYYV%9p$>$G6m|fd)`Q*nrj>DfKwmwO?deLc+Ok(Q09}i_-*bAO<LDLJAc;>OO<-^YGmi6&X;#(wRjXjgIFooKWd#fe@pN19IVOF71 z=|@~F2ssLFsr+9Z2?4nBe8~AXbSECacoq4mSzn~kU|Wcak7N8X`;OsV+2AM5BE_ir zQ~t>;_76EWT6}mEvf}@i+Pr?<${*CD&xiAYS$Kh-;F?|ct zAR*Nf9z;)#%~1K5fttD5bFv(AP>AQ+cB*4lAwER)B;J`sUSUNHr#fSEJZJ;wsO~FT z4L$IQ&EHz1G5yH(G{y;8UzKWPeNF$p{Ois#^mO)(4s;BI=Pb<0x!AL>zuyectb`uy zJTQbavc9R7*9G4KC_T@WZ?}BgR`*4FmNZ`uJVVbw2m>$TAp0;UL_lSkw*rPy%XffV zKGlF)s3KVo+xlG=g3RffI=0avh?hPXlE@0f3Ve^APG#S>?eKtocVgtEq-cR7%@45| zLqFo}bA%VkQ?2yJj?nIqF9f>aPcTT#f-{Ky6ungZ483g2MCgH^19rhLQV`ShOAlh~ zYy+1-30c2FWoY?W(<%S{M*m&+Tlx3g{NyRDGS>eXTLiLoqpS{Dzf%h^g57JzUBco)d#+GEEc)Uh6ub+|duV=5p>0#Iclj4uid zo}tR5vOIu@`9Og80RR-20wCW8fU^~fNm^UTKB(+mi*-%s6|144G!&cuF#^q{SP!=> zcR)CV#C8h|7}!5s5qGm3qBiLv;|DaHGWs@+j%R0%#de@eh1))q>?Qhla@_6d-G){3oop?Qt^6KR+Q_O`Tzh@1O65&joJtFD zPr$&$M;BpT(L-~D2P{P6AZTF>j@F!g%!>fSYuFesYLgy9y#j>QEH0N6Y{`NE4tX3C zYE_MHWm}ew)G!2{o}P0|gR(tKwgL*~>itfY?Y{bvh^f!_@YZPrYgiAxs+<5AnxE? zD3Qv#(qPHCUE8e{V}^3=%_ip{D+i#%Ktcc!EK2q;3|vf_qZjOsskGOOqIH>*L9|N# zh&fo(qqrlHtdr_>WL>E+3imP$IjAnE?`mm3m$=+tYy*&geSnJ{I*>O9ln!#K(LLPF z0Aj6eNZ{+1Mx9b?Si5YxN+9uujEPz%vTQ^eTT|f*JG5>@r_=1MBPoPbP}`g^)2;1k zU8?Qb37H--24|DKco-a?ZA`ZAu%?+PG)Ot|sGmnWk$F@eg7V#=Ghwobu zT`Xz;JtmLkTe|zVbPsn@$sshtMvW}@unRz(^#!#3YAtNxSZ5H4Y`HI~(cY4=jm?sq zN^dc)1lvG0*LcP`+9~6VEssvaWLEj@9F<<{sRD8P4u0)H_{ZxErC;xS7OH^gMAi-Z zt>Q-hCMv%RDHauD%(&E|;xIOU=m_sW-qpr*N330fN3p^5!k#;>u_Dx68jd`kJ;5r-Iu*0@~hBZg~jNJx`;Qzi&vYTVXpk4D5?RG-CP!=!GJCBm-Y9Hq(rIITO4I*`v`h|#o*|Jc@n z734IXbFhGc@A=L8y|sO5U|(W1+1Z_}ZHpx9M@AD3)OHJZfQQDRQB`mzSuGPE8W`vp z?80#gr2lox|aSgY5Shpu>!x^-akPS$|flwooB2a~rY2=C+lfbm~XHf|TtsODh zaUz}I_JY`?CtycnX4ROa+FMa?ZkmN8jsXF9b7RLi-zhqTO;M5)N!Vd_ik_UsBkG9t ztL=PqHx)g_6!n^-9xA;}ip(tT61)4B7?nI#idjE>LCae1q|)29Q092I7Ps9=7Gm-6 zHMC#>%O^-M7KnL^U@*hIig1c8na`rCxfc#T=M0X-RY?<6&QIV3V&QuI`t`JaS+~0f z&5IG-tsrvEF0NUK7%kyxk);CRewd@V4WVoa-Ivl- zG;;0trw_?(mfW=yT?tjP>d-T`z|(-9x(8DGS>#YSog4w}XV3K7pa zbaoOd+oUvv{piCQHw(%(WCr0E3}`8)lLx8k5%22m8G=%AQ7RpSvDFq-83Pb*5ZQv4 zfs0HPklyf4O!d$5BJdI|!8WXCD}`@(4z}OHoy>mgYa=n?A)P%9jU78#rQLXFCkLHC zcq7>kE1!qE2wRjzpO3{GpFD@%JO(XcvTx)n-mjpno8blmPQ|e>z@J7Ah-Q3_Hod@> zAl)~J1%2X9ItLGbqP`buP3Sb+BMJD}bT6Lbgx__JR2@k#t1+xAe+| z7~@Jp6G{0m<(jven*B&N4O-(UN_;sKx&li9MF(Dv@~Xd=`{X%6Tx0Uq@mXk3Ij8j4 zQL5qCNifsa-Ev@wvz2j$#w4=Yvd}tCfmbl>S1JnJ*;1o~R>B&~5M%v|jE3zJQ;11| zamX8;nHv@Uqmr!Dm6C#2qhq-naPyG^6nG5}^`ElLNFLzZmj|IsRQOtkVfqsoO|SDn z1qWUfO`c~6T#Ltmq0pw+D;C7YP*&~`a)t5{Cdbyv>FF6nFFQGX3$1;F8N|qe3#zBl zA%>9>2skZ$qoP6w%6mUCisH&Qo8iTlZCw?5W^_>1TOEK5L$lQ5Sd{p8Z*#u^kOWbz zH{YzctMpXDL6@9GLXQAKfp-F58{Va2YOG}mB7O2|URvHaJZVX;3%u43&H!!(d82r1a=}5i3HZC0<2r z8?!^G_`^<-^E$BdBfNvzs0y)_j+~sN;*Vyf95okc$H&YZgrUP|pLt79&ywcj!$X~j zcY3>0bso0*!Nx;;e=hsD+qSn4Z6VsCEd@RS46gg6`KafWtW8a1S@w4a`*3_pZ@w1d zEXg|*;ww?~v!;<8P~t+sm-8@At8m{CLgKR@uMxpZglEET)&xXlR!tIVsRWUhQZ~vW^?ZdX5t9@OJs3VXAP+qYeCV8J zB6qXF;rTrx{0 z6#Rx#2|ELQ6BsM`mMBloAvvx-PRbO%jW0#tai(BXN#}p+6~e$5Nd}yG9)ssNCCtTT z&z>4T#aC&W1aIV{W1u#k0j)=%r{^kd%t7vm$9D?3HF6dL?uB-J&mlz9>!Rny%2_+4 z`8<9cock#Fw4g;d^zQF_2FUmYW)=pa`W{E9Z?^Wd@p)7mc?OKP2@3px=l#R9d6)jk z1NLBeq+8A!D*AEiSgHBHgr3fIK;d>os0~yG^dJ-sq+Lj=7_Pyd4JGgsbXxFJo7xAv z&WDk8dDYKMfmjeyGfFf#p}&Z6}9%5)BfF({R~F;pu5gF%Qcvf933SY(j~ zgelBgVGwPeO(_pStVAAveQl zq%aI!(h)m>|0c#ELQ0eM2xTRz-P*3m5(KW~4#ciu0dhwYB@o~_%$3@~nRMQ49srsY zUzmD?xf16^D9~Vs%^C`ZA)VqBVF;)PWhH`LQFrzVr~=pw+nvM6fqoo|Ne<1LRL;kT zk7Oe-^oYs`DGfuGlVCBkP=*6i0Rm$&ld?}7DngJfX6tqVOD`NBE5h-yVAsdx=Ki$k z`FndZDm%I{rdym=BY2iR;Vq|c`z8d?Qkx2ZP|nC_`U3L+jXyXydj#QQAwgs55K4=g zt2@JX%hl%aTs*BzDNcO!g}~bwx>pA2*c$_7BUR334=vM=8_iz#0^GJ zE@~>}kXnA2B7}Ix-~yFkU91Q9&Miib2+rl7bIP!eLJlxf-cpe|Wf_<|1+MGPIDpt* zNIASh9<=13cTV-PHM+hjhY+n}c`0C{u=cpP{AWGLdPydFo>bbIBLaZSK5HQ4U zg@~4d$XQe!6KA6Vx5jC3DmgF)8t;!AWq{M2VbYwb#@eV&yX)*tYPcnI z(&^_X7e%^e261* zDRCJB+UzWScwn$UuE&^eekMF6ZqKb@prdb)@q&YZ0tiAz^&EK&Rsk*?Y{CV5rj2Hb z2&&Iv$%af=GO3(C0_K)!BVhL9831#2djJK9XJ#ZkwVa8eZq7+_%mJ0;aD(`g1^8ZdRaH*L1I({c)4=eII9}= zdgRyFmY+a@JEFMY4Cr+#cV{T3<_M0;aS(L5EHyz*Lmj1D|#-~+Hk>W4#!U3GIn;3b)j?E=!{m_OI?p1 zpuQVnRSEv5eziAbD70==t`rzU=aq*&o$_M3uZ5*Y&=>|qE`7=ZmK;rk3B~DnhQi8Y z9@yO0gWf0u7|7%Gq6csw3|GQ@sdK;31wF;Cp{lnEM|Yk1$U5Y1Rq267`ra_fouJAc-0tg`u*Ir}#^V;!i+iB&k zsKyRHrBCw0;Suht-PTE~pX_hUAHWujchFNzt$C`iwSIA%-)@>$ zCVkEMSdspFBD8)X1%mnL0$DUbtR+RrpWvae>hUnG>hHr#2Hdcdl=lSu92!oxwZ4I_lmK)Iem2@PcBsRdWn zDvIwLNgyr|Qd14?4JU@XySo?zOrM6JcA2+P3IYTWciN*bn_F;@4Rh z*sqVXFoMsn(C>KXt<=9T2HvFhP!>gp&_6zPe13wWRayr|qv2kh!rdcIy#@1TXy!L` z>=*g|9I3#1ML4?8#!9>>h z2!<&UbnDO#n%t~fEklvkTHQQwY1;&&XPB|d<7HCvwv)A9zpkyOets+ucXf}#S5rbf zxIbxijdmJY?#9(&=$HbsVbm&&^&80DiFd=t2YKVXK#_gXF-VTp$J;dArSz{vjOw`Byk~`v!Z4D95;OLBB@jouEL> zo7VZG)TEUwp}Npa;(~;<@T!GYVQybSbn9c=%Xdj*jl)1`KUE<1cr!H`l5$yY5lNWwFV5u!EsA;2SYlZ zHN#}%L!uHWY&M!7iMCPIRj^IPTx!x!Qp$t(6&n`nEP@GR?~6b}qdI7O=?K$g>WAm@`#S<+swxt<+qSXY6!4zVSH5{n<ORXa>fB=_?L zoBx1m-4TP&qo(G#)`X*0oGIu&Dm{+8nB0+XdbDN&#e!3ao7elkVJS-|@s+P!z7G;G zO85obwPf{9YHyXNc=ebN+5K3!m`#kqDFU%RB(30}C9P((RW9O4Jv=KjH)GO}S!$YNRDO#=aC>CgHjzCtF$N{)87xrntf|@V z#wUfA?@3I-XOi(=%6YO)FEB2CirQ>*@ogw(BT?9ENx-MP+d(`Lio&i|aLk93O@uToz1R#q%#ENQrgpar*yy%YbS?MFp ze>U|bK(6=MNPiAig^d${qE*lJ^b2>J=cz9SFlIg9kjo2{GKybFGPwJM`uj(^hmiE? zMfwean&eybUSVjx6oeO)y;v{h-k?p4A>!ZPX>Zv2L;d~XeZv%dnduN>|I1B>NXX2F zK8U{L)I-1uj2AICU&(NxJMA)t2xP%;iD@+eS0yTfYZ5Ow-p%dr0eC4PosrFZAmw-W zLn)O1TCHj1e#(EH0_N|%_+I#W-*+hE*-?q@+-&w8y z77U4fl|;$fyp0Oprd2R(ezyS4za2F~@38%a>UEScelIV1RO^~DHbulE&O4d9p+tqt zlK3RWC*k(KkUm}SQ+)hOwa|YwA(Z?~I>`!orJz-FvG*tB|Fj1y6dF}>DW`CNO zkz*PLKclk)Gsyj{;=4w6@#lQIxcKwwy8%g!F(jx3|6SKJ=Zj_{ICq0zawcMZ*-)d& zWxVPu#CumyY!EmcZiLqNQz3k9QfTrUh9c@=$2=j)}(Z=*ctJKPLZ4FpPWeMhf8T;v~uG1!)`Y){6QZ>iHwh4;ci5_5ZI^pdJLCHD5^5J$OB(ZNK&XT)&pvdtY6b}?>nJZo< z?AUu zQCOjRHnO!vvs_vcG=lp}Fa{iGz!lqLq@cwiRNWuJR>c$IP!_eZi3#K0<@{T-o=!+u zi!I1Ov6K^>rTlFQ#o+|ob(G2p5HHJkgP8ApT*3cC*c_Zcm;)E?RtV0fChH0vJiC6_ zyQ)m??7rdv_Bx+lv+MEZi@9?E+R%6b)^7iDnZ;P-v&N`ta~7i9x# zYE&@jjKZL7$VC}4&ZeU5Dn{8z8p;w1#X;F<3d;8Rz5`{22egKZq5!-g$U3B$3|{Tx z=^AH*4xX-MJYDDF>3YRe-VIsi9?JLneK%&wlHSMBv2dAfm-}qW|Hs3wwuB@2Z>#*bEgZprx5|J2XXTW0I4j=!Om(HnIg%CMZ~o3dnxz8h zz4~p{cvk$6kN=c0{yWl+ZDAK}$kLA)`YEI4*UB~0Vjk4BFiww3z%ML1bnBB6T}Iy-^s*tN7ND|H{Y!N{j`ED6 zWm=AGXQCxD+SLWl9A#&I<0r+AlcG-;r|fbYq^tBrKzKR!LRA^nXRGyV;To1TMC*aj z_?)I})mmpzFy^A7bB+J_daZ573HZYxM&4Ujxp>uM`R+@V!M>*~{!xmsP0P$iNx?Aw|k*COt<6*jlcTHq|srHkI#$Oao-?RG*s1`HkSEW zoU5ZJrYNTcg0bkXAepzasNJTb_5@mrE_LnJl-6horElliLHG)GP)@rIpq*B2=c=R7 z4b7m2#Ilz-L_3VIu8H$>Q29Hx9~-TqUA{`tB=FGlcc;|4!dJ^qmKx^5Ji5K_yKGlGZF z?m^lBttku8yck!WnpuRR$vKGw+mH~_TZRqy=r~+CN9Rrq9G^{&!nzP) zSj7rhO-m8lD!i>-{JabHD_UIC9=H^0t%G_uUwH^ahI=%pYH|`#UZb0@=33r-I1og@ ztBE!*&%?5NjuqRG^hembyy3c(4&pRCv^xrnqebYL zSvIA5o1l*?>THTCpGfJqcl-=bje?VQhngrV7wTBy8qww?m7Yv#CFr2wDYwlOhEOIy8v3*#s z*}sQLNgZ-W{$T}dyuuyvcrk9WKX}sfUh#Xlsw*7g64eXdx9ST>^m$2V5P4*EI&%J zeI*P42`z$t08nD(7y!Ax>YJOXB+pmE0H8Zvb=gJpLKVor>>>pV7$Bote|vIzFiJ=)7I`*TD5i-PxOxc~PL?codi|I7P7TthS6 z|5xWz-{A1R(J=c%c8`d4+#;KRMcWX^#V7!(kn-)4N&;i_m0!%Kk!#S!3E%it&sGwc zEB<3B3Cz{M=2A)mqXK~Qg}K}7>E|d37CgpVED0I|nQ@9%=w0fMR~}TF%NJ!=*?(C^ zJrG)xQF&l2a|$`wv{!jBclzdA&YZpVFN$XWoP#y?Uw=-Je_60rxvC*i9#tzrfp#6` zQH@ii%A;DNACQgjC=Zkk)NC*xhdUAp1cmQ9XX_5^0xH>vDv93ieuSNX;z9nRZ0G~{ z7jEzMMwV^h4J*n6`*NXGD_J$*HSK~F&6hlg(USaHZAS8;1P}>)LR%F=8KAdWTSm`| z*fKHl%u_v70^&<17Ykz~C619CC}(C~?Mvn;5845R!>u+#2>{vm++$zzvXM4frF*MY zCkK51Cg)tvB2@JMu=gJDaTVA8_{e0FYprBStKM8xEZ4QVEfWLMYGo;wC0UXi5P~ep zmar@-l8kL2z^WKRZ!usxp+g8Q5CSB$5C{Q68tJ{)m)?{A_nb3x_ujiJ!~gg467uri z=LLE1v@>VU%$#%P6zBs4+|6Cc0Y~Om0q6kS5U1CfN;WbBP!6~&`Hlwrp2W%lJo&&r zAsadY7rwMu1J!`xUZ4+9Sx^EPM3crv)-xYU09WIv1m|yvb^xt_nh#9?%Th4Q=^a2& z1<1XPOFUqYYv%q(=TG>G2L zjuZv0<|kblttq%6yj>+h5|_wMXa*TvWkLFOz(l!9ni0!=+}#aaxNVl<^jwqZupSiqH{Z-GsEkBTTqvU!U8F}9G@U!qv;Q0l7C#mt%QMm`WnJv**#L8i7Y+VP zv0jq4nr*VOF4w@xBs4^nT#uGv-upl-5PEorsFXu8wc|U8>r|;%N>eU`IF@ylR9@xk zD(z}#BUJMp#*!k>o{km+HF9WVc!E;!(EB`090kp}Hvj(le5?IuIninHy(ev2Hl>_mHb`J~CfgW*<*HtM?#y<4|SX!P_u z^kV8-Ab8)MD9^f!V2WA#yEUZI1LYpQJ0PZiK)TGmH|Fq`WA=SaL-VHs8bO6AAI;I)w!AVNF+$YPyoU0--Qs=JXNo zoEATZWgZ_o80sQ>)t<=EAY^I$3!b+KFR7jTmG!vHChG|oxSGC-KI-Xp3cBb>EA^yp z;tM`zW;_E;F>qDgl&nZ4lE{>LV(aSA=EK>eY5bq^wvgh$nR+A;Y zV5`a0l25vXFplQu+#4*F(Z+dE*OOhV12m?8N(~sM=6rd1PJc-a7?Aa+)R&cTYWi_H z@fEFyQxwdabaB?Jvey4z{Pmk0+9UdZS(actf39k6X$W<0@8}M0Y^)(>8yUYKgjcJ) zL{|}ITjvmQusrv>N;Z%7A%X%2d0e9wCb`O*29f=6@U;H=X_o9E18B>D06f7WT{LC{ zZWNnCa8J~k;4@Pde-Bdf@^UsDfQf0E`B=^|>F_0>zck1f(!S|0A^8G(v<&^FQNFYn)+6HN>UPQOi_j zt}Z6;J`T}QS*xtPe?39Jq4m$?^O^8>CT@|=;P zN|lptin_W&^=&e7>~@np?ue-UwtDd@-yP~`>7Y2-!Iq9t(|Sz=1xy4|h6g=I zS*=>cD=uYiVWhYTZR`j(;gv7UUc776B3}1s1^i3OMa2srXkPzlh0Tqw3YBUh(?PTX zAmjmrvZ~c0riW;GeW$Afz{rFVtq|^Rc7lMcuS^3{p$i*dx4CL#mf`2;Z zSy`!yGCeiyiHJWl0L}8$Ff(CP;I=5r_EfN^B3-N@2V^%G_FT9|RkME}(R|}z}Hsu)BQ;u_| zELz?f-smaE4WYHz`AZdb-_hRL9YikQws3csTrSYdE>i><7hwt)(qU3lrE-@$J~xLt zLI`%ZDN?&e<*slSbVaiVCJj>_sNGgJ%B;E!!64dE=j;| zpes)U^5@X&Q2OLs5u~0XPlP-19M;>9n6rJVyvp08t24ZbIfBwBeH7I`g5R4FVNiyE zf3tUp`p^blUovgLK4C+2fchG5gZ2$9&XiVQ3XvwxA0M4`WC?Uy6NA0v58Q|aS*o&X z?GBou&E)f#e6rYyfyYmYTMPhMM!Xs%B-_XS~|Ek1dr^s_Q#F&T^pol zB`7{h-J&x*=5b`UETDaz+_idIbE^5LNYQ$NYSm9 z9AnpPY^R7vOdHi}P_N2a&xhogs_-~d`Er`xh9Kw}tN_dZ%Bt7WVgoAScHu)n6C7V+ z2x}3FEegV@u8}I|2prmYX-4br(N=Ub)3d7D?od{&S9chxJSYJmYC9w+Zd(_WaHi%Q;6NdO_ALzZ=16;)QZvYM0ll1q0q9TqVpbdR=%52)W$P* zELJrV*R*tOsb10C*txEzkzW7D)uJ<`DW``E$|j=QU{VjFmb^zQv^0j>x?7rBLc9#r zx2}S9eDW>js`yN)2k~zGMpO+pwbqksf?W^7|5aA-r<=8cXyBTszp zjMTs;bU;d)$AeOUJ?kvMK01d^m2;{xqtNE9j@-E`@+Cp;OaVZdS86o0wUFCAS9jNsRIrs|RheBelfnDOR z^>Q;R3J&QqAlO|7apOu|CREA?rUq%nRl3M5CtorG5tAokkbv{8Z)goG-_-yx_AZF{98?fu5ifN8`#9#Oc9?J&RIjbbi1oC*wEP+f>1#e#gc%Ue}}0M zYJm{gsR@aZR;lLSX-c=pl;YmG%anF`OR;C?-)&0Q$CP3N++#}dOzs|+SlQ9vFqM$iOYirT zGZ74O;?-&F2L+J9Ggb&H zfDgs1Q{TIrDYZr|d^lctTaT32s**?ImBT8tzX!=nXpGgW_`~t)v9H4CTBxc@QnE!+|6A*vdErKCKJu z+q{K1dtcRs5NGLW)6sH`n*SNoveR3LS^7Q;!pi!bRM9t^J`AnT3t44gpFS@?76w0hXjmrI!s|XS(^ANQv@5` ztFDrb+xY&*PRje5s{m`uO(1dRf8AA5-?p7gXoDd$wCtTtEQrELRmM@4jyRM1EmVL8 zB#0Z#dBdv(-_`{oDu$X&V3#wtS`~c9E+&5{$I*^+=DT(owR4n#Z7lqrU5JJv>q)10 z6D$0_U5H?ZjgFR;r|LEne-F^|y@}r^&^9qij zvmK|5I${U_yz_Ag0Hmj@;H5df1KomG%uTTikf{>~t`t$?c~PKoJw9$3CX@=V+T_CHr7wd&w7=+%F#tr!wUJ{(4ZET zI|~|hL8JLctICD7KLIZ-!n#5jAv$5+A1!Fs1sfQz583l(kyWkqEZ{8V{_T4y2m2mfoUd z-v^H7f6JCfT-aV@mDVP>>!kg>V_;Jy!y~grKGgciM2bX-$S=9FYvKT6)WW5)@VHu*aMoRnQ_po<(d~nw=a;Y?i zLuz@LYBoB%8jr%|uG&OZTcv8Xj%sU9!Bus|da8;vlkp~tOni~H!5x&!u{n(NlXzc< zl!oKi9YEwTXXQmLRCyqNW$LX6ZxWHxW~m^kam7c=|g4TIc1SL1oObBb5zD=wd`PN zd1c>JS-JkG^0&~pirVq1GO{2HH?41OIc4|IR9QsjZRP3}72}h388p!-LD&U8k@C0e z{d*C@QPBRdc^3-AAO_XYjGv%ufs^irV+04$LzpAtamWuM32q#cCM%+n;ld%AtPsjD z8QvQlT(qdPNTtJngKFuMsw;#Hr6-&66H!iH8_x1dmApe75@=iwb2~VEK&4Zt1<20Q z4;LlErvn+W5Og50Q-ey8+RhstI-smwWL}PD12N64L4BY=vri5nxw}nc0CyfmR_v&! z*AkTs9}b#!aZ#j5rNW7Wd;?HMw*RVZmjwstv7e zR1*p*%!0UksAM>L*cdEFI0cF28trVw{z(MuLtf+o%J$V0Dcz3*cYF3glXR@gC+81J z2)<_KK>zrP2swsg-w#eK;>fw=Y&{?DAQGPwAuuA6&vys`Vfxu?VFlbmWXZ~lrs2lW z6Dh}k_w3n&|Jw9QE)Gaq?1#Sy4_2*`;3dK?0(CPg8J;52MO~3fg1d+~XU(Vu@EWPQ zl3iU&%A2O6Gw2)KH8_Ek%^b1vAh}ThV)CIVI#ZA(>o5(pW0Cc$M3y1jyh=SwY~Lwi z{5aAnWWvn^f%2pi^Dz~kCS)KlzpGX1r1Lid(@fb*O3R%)%|S^H((A(xN)l}Pv1Twc z+(au5qCK22G+0u+CbHaAgtAk<0l<`VTzxM%*VA|J-mx*#1qu!*0&uivl>+Y+O=|=g zMFHlJ#5L-;3sg{2cxfPnBuu``fu26({L{Visk&qD;834I-LY!vh3JYjP*p-GuoA$1 zxR)sCAHw^E_aU5KVvjOEykN{egx8C`53{d}*@u;g(CddM3|B|U z1^B>lECaZ~=JU&co^Tt(UQ1;H91Zrx2s5n~ZE94xM@`M{Mc&kuANeezHjCA;) z7+9W)fhGNE153jN25HaOz@$GL(;)D1-JsDRIpsMad~hXjm{DnPG@<)Je&U@d4eln6 z50xtI1=j~K1fRq(z$=l&`GfotA3q)|sFaf<2RjA@eoEz=}yuxWi8R6jnZtncW*-_?J=Cx7RC-__?2 zV)_jHQ1{tvz)1O#Y0|JAA?(wC9MdNKC#Fra4aZM~>is{nk&^OrS3lM-guqk&%k??^ zmoeQ3exZizFR&|<8NA9+h}#Q> zCwdG`s;qTi<%?~I_tWzI2OA<84+Qb<5S6q z4Q=08$%qGSk8U9rG+largoD=Sq(2Z16Pqq!V)HWukd8QjWZHmaA<%Oy7#2c3)3r@; zo;5g$xdbuawTSK<+ax*P2`-{MN5Ms$XFk>u;#q^6xIlxetc3z?@uCE{R2c^hyrnL2 zi)9FEP*{X2EZ9PWPJD19JE>>HdIz<-AN5CNbM zd8}1dDauSo2X!OFg1}d>pk$0SwQg$9vE$>*)V#8UWtXp;-qXJf+2ECb3ID>s)!e1> zPqhd^pqFHij@%#%hUc3_oBa zV=8M6Q5WbJA*h+UU<0`}{(i{PQK%iwAzxW<*D28vk=jtyF%+$t5p=9Z&~X|;&;rIs zP`w8Sh73r{RM6llbRsCE5!A>CLjQ3P6pn|WCJ%zhFB*ZZ2^kgwThs2!Ks0O5?&8SS zyd5`agu%kDRkmZVE#%{TL9}Z|N2SU@z-!8nX|P_23q7lyP~`19t0QKC2*aBM8mm+9 zU4*{Yn6?o0nleLJh<1&fx+-H!Ob04)YXW#=UX5*nt9jcKL<5VE=*X&yz}GS4<3|W= zeLQ9%^tA_20_vUmR60qcp-v^f%RZG(j@Klu2LZrwiE#X+q8@O~JJ6Q=^ARh(*OaYp zm@Yc4h(9;ZQT)Waa1vGOA%!34?-^SW*^YnhfqXl#s*kqKl=PD~Ew>$Y zalV6b1}8m3aN68GnE8XQ56Gl*4xtNTO%a6R)N`qHzb)wc->VBNA-~&2B)=z}uNMy7 zQ^f@wo?a9c1Sj23q;X(9DrI#Y*(p%#jP2Hi=$4q*izKf7!i)6+tS+DFK`wcyQ?$eX z>hf_UocCV>Y)T%0ah(r@Tf0?{ag7^7^D*K`TMGa7QO|v)214>O68V z9inOUXmJN&CgiR*qD=Bty8EJ4;CilhT;$1zH7XcS*VxEl#hL$FT?jy~vx^8%S=aNp zQ3VX)N0r@x`r~8#H5N&1{X8}X1>22$%5b&ls^{F~KsS&JyO#)2!=jr(UL#`%M+c$j zv3upr+_>=3o%MbmRav*_zqjhYx5?j>+ugXi!-JbUQH@oHgqypZxVf833=Q35BS3KT z0bK~(+-nyRZt_3q#?54Oj>-4w+#n?tO^8?FhU)>>Yznk+&0cMR1`;LL$AH9+AyNJ$N?LhY1enW_r~10h{R~PDDIr&sGrecoY#& z*hRdVJ{sLj$scph{7I@8rPilBEAlk;NXlFUlt_NYxgyUx0r|K+ngH@#6p&BYMFdF3 z^A3X3cu9W2091vg_@o=47d=byDZ!!drG#b5dRcyiUP+MGLoY90F-eC6MJ^xJ)>1{o*jf0j^#I3?vXL>t6wV>jyFmG5(?lJR*#x`Qi&Dgg%(NiKCN?=`-g z4sJtpD4yW|q9>*TUv#r2xN*N^-x3*L_7vhm&iyK#X;88q3?o1^vTh2da2|e54+s0z zuk(tjl5fZnYC~1Ibc$Nx#uZHLcRJo_XrxH1%KDz zR_ZjFJGK0WsrVG~k*6oj!RUwRMuf_)k`zrTbLQ~rfq&DKGLDj*<~9XYEmeWHNYZ%2 zNh9Q~51Gp&>7e>>2nt1CSOThtd%XF ztz1dTos~DoO^*keea%O=w1*M$0En~kBz9r1#_@z znfqTT!{slshZA}@D03_?Q~n}!D~wG_@f=~+@oY+nETIyR3@D~lz)xIEJ#(P4GX8>4 zOG{*k!liSbOk@iJ%03xs+T0dmW8nzCDr=ckN?VT1?W{rC4vTO+)aI|C4{_}bmaIh4 z_7(N(Vyq01iN%;1l!L1e>N&2OqkFzg(jpj&fnZinWJX7-%Bi3kxHgR_ekwKU@lIMb z$D#PCp5xG@)DYeeD1WWJ6#ms9YQi-DStEd?)mh2eJGp6NF>R$J$fQI!-p3y{mY_R{b1NF*WFkuThC1 z!VRmK8sjxd4m%OkcF=@o z%jwFLlP}WO-#fUcXNccxaon>C3syGUq;1OfIhqT+jMlqC`V*-uc9PSZ+3J2!;) z)A5PDV>>8NC$dBA8yJMm3ZRcb`c(d%1Q+k7#9g!~qeG)AZ9o=IPw{|C8=S+kYV^Y? za=6ifg8LgR`X&mcT3dX4f1|IkJ0bt4nh}U$Lyx)*IUeMAG2;|Y5@H83LI-S74 z!`T@afP~5S=)Y&`zh}wcpt5x$wGSsbYD3T@#-F=P2j9|994 zbS6OXE)E`Sf^7p-^2IcD&?Jk-mk@^e%n@PZQjA9&0esUgn-g4pB|o~>O%KsE!rcOu zIhSjo)=Ue!dWQD(9Du>d71FcdV@jq^r^8O{lNAx2=uw*BvGskrmpWB+$X+{wVv6d^ z;h_&Om2xE=NVc9n@hajL_+j{J+6g#3u#o=4=#jV`m@r>MtnCI{Uz?#XjZqx_YO>;CGCI{Eev<(iZl=lL#7A~R@z;zGYJFT?fQU$?s0vnQf2oFhNXwN z-BL;k>x0S0BTGCuql}l{^dpz!JP596ASnP&@!IzeuD=3quy^-YQ>XIs0_lE zM+bJShxHVlqrEEdw4CEMNGjzS=M+@hv(8QlnvZ*05b~aLwxJK7aJ2%w&wE<|i!ZoZ z;ln3gt)PZ~(c7v@rG3iP3b=on4w?Nb?G+5BoxLgl z=dc~c>Lcy*a&`%3Fem>P^i~C+uer*=f_^bt_9a&t0RA%F;I!cdGUfk@t_+I&s^0To z(|i8wSXR3IzahJL-Z#MulEBERPOWcYhIA2qTmSuz{`+0|oBTb;MU?z~`)r2Y%MbLt zFpVDy0*Y%@%8zL4+9#CtV*&!1M}LArG3|?OI%W$P|1a#Wlm83f zDY-0LBmPom6Zq8}eo{tWa}H7trux@XlJuK7RPz$%v3@H@Rp#$7D>`Fz9xm=G_4mRQ z>O5S^`h!N`A2kC1q!IXM={WH(b96}6#eWsHx`|8<&kNRfO|C5J+0oF~*xDZ+XdY}C z@0#dFTA{x=YH=vm+`mV^z-*h_4WEc7>wr2+Udz!T+fJ!P3Hpn+5jqF8BP)yghIcGq zzI@+Uk+S9-#czLUM;)baiOVE3YU*3)1DF6E2erU=l+YdjuAb3cA?(EVBa^Z&!|A|b zRIAnUw;d%64_B|5flGe>@W@`+7~^6Xz%qirtEyzaver6E$WTVAn8Bbh#zR0Jxq%}~ zN}jZu)>Q{9>#BowwX5;B2G3}71@M2Y8^Ztf_AkP~5&geR{MVGZu)3CbaR}XI`+2SO zEBoX5ygxTM;{G7e>9S}XAQ)nh@fxeODDWHw2wMr$L<;pP^3Xin77a08MNOBg4UM%& zR|?X+Fc=&pOwC1Rm¨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�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≤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 z z$WI%*8vbmoSHqvDM2qHM;E*|V!?j;#Z0^ivp)$lUHIaaeR$iSg_JcMz#@BFg(r&9Y7>lWa<*|em&r-; zV7N~8wrX7*Ivd}8jnCQ4gW>ZSJImX8F!ONr&FF^ePpH_|Pi$tYvq8>graBWDJ7b%K zbLB0037lN9HJ5D6+mxKmyacu|cE&b!tcggnwuNr3VsjIbx{|RcE)$Vy!h8kGhDmLL z?17giBFVtk9(ZXYGTpEBieSt58#S1SY&_OPWRsL8+^gV_k7CGNIB%u^%b-j|HcuC` zs>(!U3t^VS(nMrSp_aqaL}V*RJ%?rkG^4>pWF`zLd}>pA;@dhUikD3|v>cj=$hJ9~ znTX6{?CgPTH`b_Q`-*Lcl8rAKcFftZu7HMe3A3qO}V`8^)(n! z%!grs5A8|=ik%e=1$Y-6Qhhg|*wq94S=!)dH^$D?-yP>Z=`~XbR@FT!wmnNWPI?z) zY;HiYkg+qiew;TLP%Nt021+(gdiToM+<;CJOrrwMIOdD73&Q6>+AmBh@%B7}atC&)z<3Tw00ZM5QaIhkx z#2kV{PniRhLlvNuIT)!QmM->`iM1UrOet%~djwO;QeHjQqur5-tY|(8hfLXDz#r`a zR#stUiC2=xGyX>jmzlitXgYHq0r>DLI?9 z+AnDE0(a_IFL0+-Y^NtSd--}s#^zq&&TQ}kch*=haA#L+=ag)06VJ`r?B(lu4PM~R zAL|9~g%#TciOpV@zGxI1b-S>^3*1G1#lPc4-M{`#K%@`~gaV;JC=d#S0--=C5DJ6> zp+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C z5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S z0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;J zC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFj zgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfo zKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q z3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6> zp+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C z5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S z0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;J zC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFj zgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfo zKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q z3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6> zp+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C z5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S z0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;J zC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFj zgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfo zKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q z3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6> zp+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C z5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S z0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;J zC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFj zgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfo zKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q z3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6> zp+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C z5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S z0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;J zC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFj zgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfo zKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q z3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6> zp+G1Q3WNfoKqwFjgaV;JC=d#S0--=C5DJ6>p+G1Q3WNfoKqwFjgaV;JC=d#S0--=C J@C;Dk{{S3R3cUaT delta 166866 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 z