From 3c534a25fd6d19cc712af077e205f0837a13f58d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Fri, 21 Dec 2018 15:32:45 +0100 Subject: [PATCH] Kernel 0.92 --- .A2osX Issue List.xlsx | Bin 40142 -> 41123 bytes .Docs/KERNEL.md | 25 ++++++++--- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/HTTPGET.S.txt | 6 +++ BIN/MEM.S.txt | 2 +- BIN/SHELL.S.txt | 6 ++- INC/A2osX.I.txt | 14 ++---- INC/KERNEL.I.txt | 11 +++-- SBIN/GETTY.S.txt | 2 +- SYS/KERNEL.S.DEF.txt | 10 ++--- SYS/KERNEL.S.DRV.txt | 49 ++++++++++----------- SYS/KERNEL.S.FIO.txt | 89 +++++++++++++++++++++------------------ SYS/KERNEL.S.INIT.txt | 8 +++- SYS/KERNEL.S.JMP.txt | 4 +- SYS/KERNEL.S.PFT.txt | 55 ++++++++++-------------- SYS/KERNEL.S.STDIO.txt | 18 +++----- SYS/KERNEL.S.STDLIB.txt | 2 +- SYS/KERNEL.S.TERM.txt | 52 +++++++++++++++++++++++ SYS/KERNEL.S.TERMLC.txt | 52 ----------------------- SYS/KERNEL.S.txt | 2 +- 20 files changed, 210 insertions(+), 197 deletions(-) diff --git a/.A2osX Issue List.xlsx b/.A2osX Issue List.xlsx index a4b48ddd9ce5c60d3817ee6e4efe6922140edb26..46d284ac3239ad66c75617a7469a5174bfa5a459 100644 GIT binary patch literal 41123 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
    XIc^de z5~DN+7|iEACC{y>u;Z;oI1B0s2UANX;57KM;OCf&mIMUyplp3_xNg1rS}UeB4VV(~ zX)IhtfF|b0%StS)MM7!j?b8<<$UNaTHU5Izy9FeKj00rVh^NQspgKo zv=v&pa2@mgZ(Ek-JgD3fA^?DzDF6WakH>#xz|qXu*vXOZUq1~0=s}^jrY%(~tPkDH zx86%0-QZAmq^)_v;B6DM6+kFCs_x7u&*Sl@S07JyUbdD` z+sW4N&rQ5L|N3Ir3UuJ#YRd7ks>ix=g`I%yOO}?8`zK@C^ASL^^v=3PDGFOXWfQyw0_ zDD5rn-kw*F!A3onYn00x_5iSeeKZS|R$maswSgZ2T6C-1(5<&;&fiMH0Rf`Fe$*@L zH~j^p-iJ^f6QYfM-yD9GcNd*upnT*<0L3kcMRXx@`;ge@BJo-WHwN$qYx(wKqqPOg z=}mSeXJjL+C1j8HkP<-^EqpK*Wl2`oKtFVscpTH3Nz~L;yNAYd%tJpj2P<$C3L2jE z4wFE?F!9nc&)!Gza}~mjUWtERSlXMt%TSLB5Kl%Sp^e+p!ldskOR;!a<7?x^=d+B#QzD<9Y$ZHB8lY z9z)5hkwoCbq3?5Qx1o0%ah$$4Hl#&SWGRUK+8MYB5aQV8aCYUo!v!7n?uwH2docBg{#(Nh*`-}%qjS~8%?Ut(xI! z2#U22i)hlM3rR8as1-4e5hMC;_T zG`PZ*d&{Gx<>qC`)6`HZqsqNrypT&@sZN4YrbH-%(;5KogM)!=IyFJufH9tt=Vi#? z4fEX2yGo+0nQdugtda1~arO`#Rtr(F_f?ssU<;EH9b5#QA8$%L z8ysXGkC6vr$nDm-P9dV9PUVE7L^es5Ffk(4WvxVsbTlQ}^Ma}(Z{1idZSkeMmgDwF zLYIT3QxHpx(H>=q4u$!!(S=%j^p73{Ad^U->ZU*-NAIu5s4${}F3S`*Mde@*sC+Q? zOpJ3%(mJ=5aQm|u14(PCd&)2yTwCg1=qh-*QRyguE-j^XZFg8~3{I+JM{46QJ~ez= zI*;3sJbTeDLDQF(L?O{d9+2-eqy;v%go7#~S)!?miqRlCC9N{Gr(DuJGsc!c9!?h& zn(m@tbwmOp=Xb!QfURO5Alvy1EIujgT6}`VVG93Gy&;)~;12cz)M_3>j+Qu`lp3HHP! z<$~aFL+ai0n~WR?V}-CI6%VNF>Lqq-vur_t(t?7nZLdinaZbb)TS{TeoetHDdGOOj z*L^@GG=_1P0|y(9!T1Y|UM65c64Sm9ChK59j7QMKfUm}lXK^68QfqYsdA~qND=YV! zph|d;)WL#RWRrT}gCOi38s!C7srj!Vy4p}{JP);Mg;3@0sC$4EvF-+Y%VJk&N{d;M zdC7w%y2PxLiaTI|R|S0ds?Ov}eq&I-DLHG-@7&wy?}i;(Ozr(q=v|qtqp*7Zt-UZ2 zyi6|KDO(BsWg}3zCErQGG}Gy@g;sWb-k*GL;l+bT!3gEKtGD6Kaz{OW4_XnU=F(TF zLM{@;h`>wM5E_x`3M_{HtU)N2riCJgcZcG;NoC3+G!tkqi)SBbeVtGOhnhx>MR>7# zKyu{fzo18nEen;5lk`1Bizs6VNl`A#p(}CDt+cVH@;^jM87K<^n zu@weFJ>{|-Ca41DlVKJpNc3CRzz2PdTyzytVUeJKKfRIQbrug=3R@n#qR0vsf`UdxR$J za$%UA4UAxZb39Evt^(Lx$VYy$)1g@W&t;uJ^`3elC~2b8fTfL0Cwiv3PF+^968E5H z0W!l*P>zUjo_w&&!xE;&Fn>%u-ThL^p(h0=oC|rP3qx0do_`t6AclU1(M|anlzeIA zt)m=%(iGkq|JO_}GovrOr#vQyLWm>n&^`Et@R%Lqc^#`h)Ya?G_1Ru zqQd$ORbS+QL%3IiKUc}(SMsEnI^4dsJ>s-`jl(A9_)I%obCw|TRQ^l~hlhGjh+XF2 z{D<`yx%uple82M=(_g>>M2Z{Y$e?9>CuAI4bCG|eA_To*PD`@lC#zEerwfL*uIa<& z$@~Fva7;c1S)u6MH4V;pR5k%7p`)uo2wJN_tedjo5H1tNHyv4)uoz!M@}&QXk3XA9 zO^;D_Fi-ZUq5AoI`CaS(cyr)u+W%B+-@|svNnX|3FhrintT!q9p{cj+w?UO6<2m8u zV3>E{xo!z^ixwC`H-ZH}R@vmQMUc}#88A6P*4!aSYR!8qP6AT=HS7pl!fVpaUyVO@ z0>Ma%7laT@8Yh7zcc@&m9Wv9&=!I@P2X;^v0Qv;WzWe03M)cJ0(#PZ`ZWk?R^>tUN zEA9?Huy!oHq%US}+?Tu^IkV}YauKI|V{EJMAC9HMU14`-Xp)qPU_2-rgAc((RI{c( z1$P)HHpXdiD*VVm zjb4x8_QakjK7X3(&(g}Scrx6e)M`F`Gk~{Q;Fe9K&dlREW$p-P|ip+=E1h)&Y z;854r5^$D2V8ph5h;#0XM+LDdy3B2z;+s-DN`%JH296^R!yr9eZYw(-M*wZqY`n)4 zIsYvedM)ta^2m^1ZQx#2)!QpwZMurjfPtti;;1?*{=K0-u%`t1nXv8NX~8cN?<9sy zC{VgAT54g=xtYDrMghM#S+{cV3_C)R4}Km;nWlT6Tu);I`Y|;uI|XZkk@5*w%v2e9 z;tc~X8oc`eK!`j9LM8P>sv5q6QqRMv8Af9k47Z|9!52|@@IQaD(_n#;+{XB9Lhu_W zMms@+7(<|tSD+t9!o~>WM z7>-Dct)|ig=Hz^E-Ga#}k1fybnZCpUlJfP56OdwolbG8F*_S&v9FKJm8+uGQSJEK> zlWfO&!Cs1=M}OZJF_cE2#tk@5FZz;2B^9p*r%VlqCG`d;`!cQf2@<=f%_D`!ugK&u z>8c8l;}DVM)mx_+OggtLfwIpI961G81RF5ntt-dRI6ja3rY8j~Pm6tQQ@v7e7Exkp z;!tdaKQ$GH)4u7Cqyi!E;g0%KmkDyB7aBk2P_lA0J8~&>=mek11h;r5&|;WqAB=yH zr?O@Gbn03JDyHjW>M@sB8_wtw;4o)OAT~tZ7rJM7e9+A>2?4e_E&U zWtv@%U13h<+%U!kF3iKu-+gE5Mw;LqK5d#G^{6M)MIFSaR2P2oFc3m%u1qr3NeH1G z=pKv`B=;Ljxik-`kxJJi+ld@L9|kib$6QAZf^m^*O65;}T9Hw3E#kU11W@)qFD`5< zv%xM7XpxIMw2&v;X>DsP;}WeG*0!Kr`;9eqi5R!GB4Dq}9(J8|@*pZg0s(Ow9o+)#5cd)8W8^r)1l$TofcO`!kQ!;J@)wJ>W_XC^iHJn2>79 zt0;aq(B{v$1jnA$1m6YgHg>fzAf;y$CL`ux7!uk_#!;9mNH)qh zWz-A!+j<+%@-nNpn7~hdz(|xg2XTpQ7X~eJevzFj$aQ-9y{a~Aqti7zcFWuE!I#~xz~vS@Tj7q+|NUH;OO?3j2n+y#mB{~bE{yS?xv)Q4>kj*@h~C@f zpWrFDPuA4&$P}ZNTr6!Sqyxjb3 zn9==UqwRQIxKF*uA5L2+HP3-JCd?3b%htDlJ-xf|KF(tw+fVV?b?cXht#mt%o&#-P z-EaE)x4&JUi`cz6yANJT@I#jGKX(otIJSO;9$!lOj7+f&GWZsCbEA|9x#a1}PWRv6 zCYi>*754j}M~j}`#9iuulk{Jf!TtW3DO*1pH+Xj$(WN69rPww_JNte$cI8&J3bn>- z6LNWbaPexP`Sm;hzha6Z;=OIEtZ1VhLm6J zmu2i|vZ+`GxGCO8N7Eq<`ps48e?L3T`fhKMe7DK~8t@FfbLC1I0ew+&J92s*~+vfezJTa{q;dr(rom7h2GMIgG%EW%L5LCoI z*>!eJN8;>(6!V+H-+awSvHADHdF<~IZbaazm>IhyE2iV5=yr&;375sm zP!$aGOoo3KtPuK^@I0~925pn$j4lhfH&zVso6avrUB?;M%T)7(sQI$HRtAzHqvbu= zyUe3p+kOPu+1ASxDHvdHw&(n;fH_-^9&_%dU-o+?xTq*G#!e@>S|+I%yH`qHkmNNp zwK=irV{^MS&Y~jfNk7@3rE9+|ahDGX!FEQriP-NXY{eUR5IJFzPMn6j-MneASmHkd z6TCGfD2r8xNSg_zh7AfBnUnIGC?6nZW@jOV$*XE2ARJ!IMaEo5kGc~vR#9kSAqHR4 zA#Rw7L`E2kyo^yij^B40nyLPiNyLoooVgG2L9Dlj!7kA!)hkazntlR^wK<_TvBVNO zMr)DFc7-qv$c%sD$J`~)RK5v##(fDetc70Q+UrK^UrlQvwYXU1v;=`IXOLii2w?Z1 zv6G8@mS|-W2lZ~pYz~1C!Tcb{t{_>K07spp$|RX}2p-0<=WYlCs9Db7x#e* zWCAqrLZNRbnv`Z#Tofnacm7tn=I|V5+S8#R=yXKd>eh+D2E_jI*qZmFbM%0~E z(pEDcD~wk3c_^UScntkc1|#y%G=Ve_&R0W_@kd(RA{8E``{n;VVup#{rcdOOQQs7EaYff6D<|TC%6ep z=Y3imV!2^KdBlRXsGr43;S&ZG4xm;G&k7Vs%E<%BH`I_F*P7;-E1Sxq@#F>ja_P#E zHX+eNO81PB&)fnnAo1nnfF_4nL$1R4&WJB%<`GmY7YU{bJ8aa%O38;7i1G=QsK6E#$Pe-t8JSce z2Iq9phUBYsH6wyiMxKAAgbE`+$K=NJqa!u!T7=`2p+-hqTcxJ;SJPCBdY4zAjJTrf zAV-#>J2piHI5jbnw^S-*iK%ZaT@0)7*FH>$2s*Qz z3bYuNF))lfU~OhV)l!wPYU+$==L%5y^;_>bpK}(vDCy89+_H~UQ5>OttpHV z!J)0dy{mc+WNUtAUFSP%P<9hkJ&Ods4!L&ma`It)BBFIGCzL>%nCFp0gmzvS=a5tK!ov(9Qk;!0q3@APd@eJMj8`B#OgE!9I0i9@c*p@urR)xTc-{fl@J20IAI zXCZ13R6@$##p|rqZJANSPLJ}>pA;X%;nDLC2HJF-^U=@^I}j7($$4PP2hl!sK*lE$ z4wE&MtzrEVe)uTQAW%h_m(L)HmN0_d;3S`~p(Q`RQfmkIIxk2L@T|dR5w5|)7%Ng1 z9-t&lLcUI-lvL~GAAo$V)xf-j;!LNm1aamlT3#Wflhh`ojlRnDxKd?F5~iRW9gc`f zj6FabY#0vFR0`M>2J0vZgkky~m>QMYR`vAGJQP5$yjHbn?dZMq+4Bqm!ZIysKCo2C&2I7w&))tk}qV?qSNyY2m1&S_|Qfd?I2)J!br4U2Ffhr1tY!(En0rc`K1_URWSSghV&}qy{PTC#K@QyR85Wm z+p(bHi2Gkp8@XP?xf)0U6AZ;XY@@?dUumWadt<>}q?3>8U-{?_Sdbv_NOFYnu;ASl z)$sJ%m#9JIdg5r1mjN?=TF1jyrkVhCV^v}x;Z8LEgjB`e1=@rBqAeBM1C`fRXUl$G zhVtj)_{Gt}af_l|1l4LMcxGDQ14K_s0(fygII?Nk97 zAzRu7(z-&#YJ+bPa4ZPIh_z-U8h+%(#LY9?_=+8A(qcz)=OL(CL8G0Kj18Ua@ z12D676{n>Qb=x<~r~A4L{zl+GZ6J0B#UzF#CHH9*A1J#1J!{CVk@}9nue^`Q1#`}X z8dr|(f{K)iP{qwyV+%Va1VrMRmU!KTsz`RQjD?3+p-~~1CV@8rL|BLeRcN;mX%Vh| zThj)ZH5Gu^*;*0=(RbGbVF|9#Za(XJx~Zro+{Fop{xkq$4trEK=qqU$L&Hp(jxn`O zHRxQ|y-U0Y1B(#5mHx$aPYV9Y3I0e5-iD<1`L4*L>^hNspVKgZfAxrcaY_PvyDM=TOBm+OK{4V&?Pl+lBq>p6s*r7trUYjxX)Q zaZPV6_eErFV<7&V4!U*yqF}7}4_RvwAD-lPuHoG#{#J`1yi#n{LUvL(cRDp8KUw z`|E4Tc}xA94&Sl+zFd$uk7G{e5k1bY^9zpcqQ_kB1JAed;z}2Dp>7q~{x`Y9(+t@) z>(DPVWH?vzI@fiGc?raV4XX(1oYd8E+HE%LILhr}SZ&`=E$lPHMr~5a7Richy3mTs z4IJ_T!#bJ_JnRK$msO|7M!Jdzdr9|hPyGyzYn0FDQ!4f`dK-$%h)T+Hhj|$CyV_0@ zuFp|BMyUqcgsg7zD70S{A5C&dZcvB5mkAxEk%u_}pt>-quDuI(%JZoPJdWQur@pFA z4+|}`i(wZ2zMNl|e9uQ7+A}Z}m47I=CpI)~+wMBzxjI^ppx!D*w$HYvV<<<4>p!Z$ zY6uj=3uZ(tr3szz`_H%rwwo}}1A2w#Hgvrr{ojwh-mob#7wCDXsh|`iaBV@L-wDWAZ z%9|guVr_><3~iYqhmZ?xd`f{}!jn1|q+93rvVSdvZbHqrNoDQG-}_rkIxakT$UE~GXkx$3!a)M?QE?cV+-vFxGRS%bI|dX zK%iU3L`mPPMsBSlDDTU-idx3vYsKwS=rny0A!z@rB=GsSJVhuYvDvEa>`VAYMI^nI zp~w|6s$V9)=B%2iOkH`Iqb1H0T3u}(VrYEZO##HBV` z{T)R`I-K+#O9=h>n}%aAUd|{&lFe1MW^2{R0&0_sOaeK*@Kxleud=O67)*wCsHtxs z&&+U$OFI@VHK&mHhKiX((lUn~UNMVFfTt>A8vg%XrVOD!Xv)N@ zh$CU5%o0Swlyy^5TZ1Y(Z0Q%AdWvnjwFMwmlWVh*?+VZc1(6Ly{C?6q(0qx z32esz*T`^!wFzMRhG1K-Ij;y|*6TISmVSLfkke~~&1+LK=S+^Mz5{>z#yNC-9>}Xd z)GKiH2py;^Pv>DgRna6aLR6`eV8)vZ&>}Qv&)^C5kO+>Dq*+g)?I0o? zAWpD0G81CE?`h=G7-}p8~Kz;)M z0o5M%UlIJ<(8Ff%kB6DL@BtRXe}c?y*@|nCsk{o9MynqGm+>CROQ_Qos)NLc2lVj1 z$X%c-Zwr_C9X5Kz0{AX^<&2G)a6Z6`sQK;3@{`T5Djy-DpWDs0w?yL687(TTVffEQ z7CJ zO;)9sJk~z&TEa%2M}Ie8k#$ES(+f6SNu%ro5U#YjXVKcEFO;vNw^+`d?%Y|~%JLNJ zHum!lmvXyg4%-2jw7Z<=y|V9{8f)X=*ULJSw+=}OPiFz(re0>fRZMqWRK$npRtNT< zdP*}_K3@>yBb(C(M&}e;^FZs~eE2ZM(+_A95Yr_)RdzLrmZWia?o?1Qcx1gm=6J3zko6A7f}%QEQ1b%?Ud1Me#4A>PQLkeRFg9=y3On`IL8txGUk1s ze0(%{GOpWiN|1Ahb36tR%KSW;rLfvle`hz0l)@%5q!?xuB$XDR+1hj`<Stn%A0Xv>Y*p8n>u@ zp$@d-yjWkaS0>abt|9t!q;ppyXJ64MgKGPw88Fb z8RwS&?zeF$*Rtz$eb_@yBFSp1T+F zo;dhX+%Q<=pJDC=BXk(vUtWFtD{N#jz*66ef6pvy8>g~uYh=IX19ola)b3%|htJyG zvTx1W6>If5=^3Mk^gc0fxIst>oEsK7&@kx-MTID`VbyfgLb(k+TG)Y0KDT6l_sd0+ z<$|?fgE^qLc5cmZ@;eiB^j=y)f-bbc@O#%?v`nRl^r>^4r4)=iG)kw=f6hP%e3}G( zI`rjYKaS0=D>T}s7R);=Q2f5GKFZRbaMr@^H-%V!}LA>T|wCQ!LLTVN&<39E3&nGHa659{?*2$IuE zAZ%n%Erht723L5PVqN?`Yl6$S|AvF4kqT%QAa1l~h6SV$oVSw<+u$YjcM^1T{v9!+ zH7Pc0Tn#mK>?{ne5X9QgLm`-{FCH<2Tv_UVM-N#zZ#>L+rCgia zc>`&G5fKY(HPq}ic)%**NOY8$KOW47?QRu#NvcH^f4bEI?!8waCqZ1&j>G+EZ)SE$ z+6aS1uy6{-X?yt|SmA8~fg$j$#Xa(BLRy$Wtq`Z5n}d1attqZZA|yC{lAv@UZ_t-VzD82qrLILIJ$nY?8lO9?Mz!GZW0@1 zC1E!;U&yO4F(!0iApwzaJSvbE7NrW>@+8gi1H*Pc#6l7`p5o1tO|B4C9TI0+Nocsh zM*jZlEGc=;_VKuPx}EDx^Z1%IU=Hu*(=HCFZ}T>@FAGGkWKD4W2=;&m)fl3-D$7I96m&#hG&s3 zaH-btb3GX>eh^|c0(&pd2H}|FYzzj$F%wrJS(1!`~3v;3f;#)-@EPzLOZF zEto)o&IF2S`8e2$3k5|fHA1#Sji@U|UI0HJ1!D2N(Los58HoD7k>ngZ1M4L75Qw%R zh@^Udl_+2(lwWFi{lAKdBAV$L3zN0=!qu=8p4>9;`*rJEnJ( zw};QfTVByhR02F7Gv%u8DXd1<8Xv(%AchyS_s%JH*9k@8RJ03)9WL`Q?n%{#KU~4r z1cuF%2s!AHD9|rpa(7F3$V1ub9G{658yCf0R73Vtz^Q zumBz69YoGkEQ6lVC$x8qpGQNeo2Gi8UU_NTQTf<54D0D`@mzL+V0c+z;6JrIO~T7t z25{?#KtREuZ3cv)d}#@1RcKgUC1tK;vcdr)i>h=YB_2c%PKVc%eYlR{x&k_afyQdy zz9(^Jk{cfj`!_&7<563Bm}PJD*dMXu|zn7cL>+seXPg$nlYYaU;JqlQ) zcX;`akzU`OWXpEc9WoIlU5$edwhOv?gLKSBfzy|+%eRrWS^!QFzGSeZQEwy>(d^rk z@{uvF#m>NJ2pMno{E3iyRB~e?%{43xb*4henW=i0xp#|=o|iFgt!&FEg9c4_b)(RV z7D|;UKGER0-l|$S_c>8=RZj&YU!6zSmomYUcSe`j{UwO3V;ZEhnyxnMq&6#emYSy_ zYJUhtZ;gWDcKEa-(s>vvuqF^7fgZvaJTKSPo2Q(QpWsB7|gr{Ygm` zX9l=zUYjf+S}2K_EnksN(EFF&z*>nGG|}=E|GHp^XWP8E>Zf3!)rSfvacU*XjDa!4 zr+Fp~(CE_mCc`q%V&_{^srte5YV2q5Q{iRW!#i<}xH0w;nTKqm%V*2r`R^)L+kKS} zZsSxEuVVLg;zh@H0&^a-Arz{q(NTfNg!@GXI-E^1_-EFl#2>!8?&*!0Eq6rBaU{hM zaYo9yB_pyXmPt3|v;i1c}X7uKr({iVk13z`jZnEJmjyZyvADI>pQl2e1C7y%ujtTk@fO6w$ZU@0`BV1?P2H3UZQX!Cuo~WME*91HIl@t z7rBwB9u2YG!9hmz?L%P&zA3RnlZ2_?4X+fakcZG*5$uAlGX7bsb>>V7x1$#?uk~yG z{0&e`e@4W`yk>Zr_G|u+&LRmlS7LpgawJQPl0+Vc(MdnX$#h8 z?k7H#q23{dw^0|svqgLJ_ka7f@?zmwlbiT4aWppals*|Bufyyl z>i|4-2!udV2u00*iH%qi3KulaGppaQd5wB^^2qNYh%kq#|fX&j2qo3y-8Sl5$n02FYZGe6Zt{ zZuXpo`O~2Ai@4FfWB2glg}wu4Kk7!=KPfue06k?gqB_~bko^5F{G1~oh~lyGFT%mu zdKy6H1-4=BYbQgLIeP}O_|OdWcyW@*<6x$YxC>-At*VMkdvFx&BQ!@1Od?~5#-Hy3 zHwxXRs6|r~v9vGv(N-pKPPMtHEz<*pW*e_FHdo_t0NaUsA+4efS7 zNaBIn1bsg1wf(=t@t2Hzf_R>%<|79-Da)t61u?XX1v89i+AG_jOJc7CRD8Wrwqmns_oj!&8 zfwg5vOAi6wK|-+gMv{Dz+(txjl7if2kGjQdieR?_M(?(>joAv)LYU{!gqX!F6G&yY zUblb=pp7o?cm?k2+p+5c>~L-Tu{9EI7BCzd9`|>o|BzFvqMh|G)R?UuZ*m)6h@`Mt zR@#D}tJP3N_m-?!Fue?II#M}wcC1lbH}MGU=<66kq=Z-YztEZ(0VW>Mgahqmf{prq z6PXF-VC#af5+Wnk#a9iwNVtk{O^qWyN>%rov@zSDnNFG1&REJ_y+6E%!t(9zL9vDY z`PTs}K5#dL;IKt>09a)3dQE){vKO)$u?i?=P`%OHp>C)fP)QE}NaM%Q0uh#x%5Br{ zZ0XhV?WJ89l3x{iv-u-jYPnIOwZFqd4}_6@h_B8-t<6Y^fkhi@*{kplEfVE-*c3VlgKK7!VkfTEK~H<*Vz+sTU$l% zboH^8?^r&f!+dp)eX3M}U=3hJBnU0<#Bby1IoIwp1QUVzP%F}NGJ%$&J!;P9{&{Ez z?wCT3L4T=}0!*0TyyHVc!Jl6-#9!k4h^up#Lyc&NL@4zi537xL=BLi7pyWDb@1 zV7WhFdg8y2pVvHQOBrqwp9B@g!nbL0Y&XhrYxl}oT@&$Ki-EmHWEFgxDiH~#txzbb zp1~W*wz=4;nf;P@xMcs9eASxjdd+(p8BKxoyLfIa#&%!z5ry>m@CxrsCkHe)DtPkF zXLO8SWQM)QY}gsRJ8dAW3G`ct9hsTO6~AMAKc%p#fcP{7}={2&DCVas!K z>0DVsa%P#os}z*tX0OP??NrmEGL|uTN2~B8nwzzd3&!`m>0sLpp7M7N24#S7=QY7( z*o)VM86W42#H8`nowb1?0n`iqOuwGm+9TkuDZo_+JXup**K_b1lsmuA`tP95mFEpg z|1L^%YdEJW?xzW|Bb7*PW9Ms=mKl)!cC(ig44EmlrR%Pw>cb(-SkIN5`QebFD~3&r z^YM(E+{@~Pb=R5Img`xhlQL}04^hv7fVt)FRZMWZ`W<0aya|qNWbc5BQqVjyRCVxO z9~80dqY>9-K=;*e^T@$R-AZ7*`l^qz?psT#735|$E#D&RuLyxhEY8`k;+bT)?mo`m z=9lgHhb<2;hXsEM*-3v^;kTZ-l2~AE&oo|M&XmeAxbM^{X&rlu1f2VzEi@6VBEUaY zQVs@=H`9Y@G$}TWFB6=AE*R}an0Kby@!(T(DqtDA8Nl=CXTZNz7k&$6@}9=%^i?l& zYg0%@BxKDO?mQy&5p{I`k|7J9Li$^!tfn+O1a z{2#?J(|0g7Qgm`Kw=w;f@CFlwio?^2N4P4M+A;j zkZttn7s(YffXJm+_9Ks3M!3hss(W9CW0kEx{*$Q=5I^JLnlaFB+!aIW2sIl9Q1?zjqC{;LW!biE+qP}n_AT44x@Ft8ZQHhO%>BD(Vq#|cpyF8tWZZyfmUDmele5*w7e6#qi(nX41&^2`DRy?}% ztG?&^%ukUa!`OZw9zOBCGfg}^&wf6d^iUMYb62aecMKV^#MW$L@RP}hbYlBRLa+K| z%p}#;{5{pggRPp6s_}?Dbxm?fJeIdhGjALqZGB{Me>dV9HZdl9qPb@lQ|FQuI~?GR zJ$bdu;w^b6pj2|_#wuMjNksFyQBL9C`}}md$Y}_nMr&Mu8{gOWv*4)WF-UQ*ciI1Q!Xz-V0ahP(`b5w^`CF6UKa*=lS<~3ot?Rpzb$Ynn^V5TSyr%r<1qbk1 zOrcYWLBbIdq>&Sa-MUSXZuBP-#)z4=j_cedmUZL~7k|Uhl7m^pB?&ldx^iZ*Rzo#n zyI>CdwH&+T&?QIB9_lro4|Sg8Wzj|HE>MSb#J%eIEtJ(f~( zYrL#)tmNDv2kskzLNUlO;|Sxd%waKlHse4tlBL7)Qw@ntngP<+Sb)davX;*%6D|?w zz~2?aY%R6RE@uXvlg#2HSU+kwZNRHBt@bKl5&8-ta{Jl>Yqv-F`e_yP=!*nN|Ax7f z0WCPNHgh-j2JO!U)7CAY*U{AR+OvLLv>nF;Bk>Xd2cVa9(x9xrC_O$)M)YIS>bwD+ zSM^zA+-0uICVE2F>&$9ghm|Xx);wRk)aY7z%>e0x_S5nO2>SXPbjk}~(3n)d1F*80 zBajLtnL(P9T^O8I96D#`mHug#(gJ95sPC#|Cu9iYfS_3Q1g=s^t`B z58f8}AE5jRXz>0)AnVS($lNkmhjB*)YdNl`M6mFvgXD3GNX%Cuc04b|9Y;368+m9R zDL}$wH+e@%+i5a1TM1Z>QS!9XAJs!B@qU=I35}M;m*JaIu}`bk67a!)sposMUWd_9 zA4w1rcNSf5SN3&voQ1g`Y%?~6EqWbQE}+kj!-aQ)azZc;5PX$Cy?GZ+ovF^;n6P2S z;ajxJB5D4V>|S+LX->4vr|gO0r9m zW)POfKQF7l%P^bY_I}^H8#bOeR})@kvKqw<*-B{&okGXd1*4!eQU-&2Dtf*ocbH8O)FZ=Q}olVG-c;d+`jS0OXzc{ zgNlsU%4Z%2JelOi?7A{`1}O~WZZ+8$n>%(z;~hRQ2@knEb1epqJG5jB1XzV`{bzO= zhTz8cR2rH%eja10!?BJ0*l(AA*K9+ zp-Gz~%o9Z>>=w} za9?J;St8U6d)qptqc~9?!Fs*kuRlW1)2J6A2LQ!&m{O))s`cHYcBfit8gMqE4`75j zgQ~m!P<@kE>7aLbap991L-am5w&i8zV7Do9?5?X$Lt;9W_-*6stLj9&=hu6>t$8sZS_$=+Br)prai)+57|x@zgk_m|vJ4}_rV;qD+Mwf7@ETYjL0x^!Uqj@O z&SVL&8o|8K44=_6(IL!q@&vGRNH=0$!DcJ``K@1U>+RK#0;2WS*nQgX-w4}Pn4wde zoqn$Lv3RD_%6^vr_XU3bCu7&KQ=n)HzN&@-=EeltyNC`s!v`;Lb&m5dJoc?Kppjj!z_L7O%+2CSye!}{D0-2pnx)POKGqwuL^ z(?+mxGxj+&u5v1;)x2q1+SR|8B*LY@@sADpTlP*CF^4}SrW|7t$Ol=hKITM!`oq26 zAH@-}WWF}*Aa9nW@aaTQZ;tDZQIlZV>39M|217xaoSlBbRC|fx*!B#9ow0lDQB-i- z=rRJ$r$hV&mlBLnJ}01JZkCV?83-hrZ(KM?;vDiNN|>5rz|Ggw5RnhTB@!W~HAKr?jSV zU8V$JO@_R@9tic~kOFv+!?FZr@ED`_a3Y}VV2D)uWe%;A;B<@t-4hgdDfn-Z52`5r|j)gZSL^ZS*>r#cSQ>F1pR z#9sv4tf{XM>-aIW0x9%*p`9CdC5^CUj%>~@z4d}^*>(KhM}Y5|dKB{Z4K_dSp5vv3 zwTY3v-_N_ms!`-2B@sBJ+=>jS!I?5|p}Y#v&>pLxPrrS$sr+MbOMM20Z@ojyG&towtSQ z;kwX%$N>Z@d6ZScZQ6~CR!<}>**_!LUv<7gam&o^%N(&^(0r1L7wiKq0KNpl2t-lr zu}MZO6kFn1S2J($1|&S>)$cSxYxCzxOLR^insw3&XHExNz%uY`fOTv%8sTo_cl<|x zkI!?_>rA9mLA+v0zmShHI;_()A&MbwUn;T}W8go`z9Y1zJ-XX!diDA5l#k&1>hU@z zZVoGP163$}ak24ML1O)T_t2mMe#kx|KbKw#i@Rg@66HlCNrZsk8VnWjZ^aj&f9zP}wG_l}uVk-}mV}abqi0;U#uyBH- zPHTLOVxes>4;9D<;;(=PS$?rApdEHCfRLg6GQk#9V?97%n883dZ3_odTTI*>u!y&^ z(#8h8cB2xW>=Fk#+4c+nMJ?w)4&fR>eiZp)g8lapUY$5&c1jbssye<(UIWkh0&tA1 z_=?YiQnKQo+~2N|)pQg&XqDMQ$Q9SK&zOC^dLC#)e8VeM+`>q$E^`e2+>I|%tA`2u zji!0L#?@}+f7eR}S|=oJeiU#1TRoHxKXg*vtCH-0OwUIM7zOH<1iTh{Ez&=haMUi* zPrN4r48+J%;>vnjq)HM&3xwttI!l@4?{lJ7`1?q8RO+G@6z*h!jc>F~>1U4BzJ4Yy z)iMquQjU&+Z>fMyk8SxcU}Ir*m+(0;iIBbFNS^AC`-96*$5#Hj0rtFe)1Th=x1*oKnJ*7aa^tFYV&~Or#V00Lk zfHWBPEOB@@D0{Esqs*fkmkL)Zjy!8E=DZ5AZ$hOzD*+k+gbLc%9H-v=?IUe)1%Mqe z(oQrYp{q5gZ_7YvNUnu~aA}r!Y?i*g5uFrtWKM-Jjkult3Z=RwbHMcWP!nhwkR$A>j_g!2VGW z_WHjf&y)s)Up@k%-Dgu^`}4vbQ3A?c zKls~3_@(b%rVu%De<5qu{v4lb@VU#ogtCWyd-QpLFnb!ZXeP@H%SQkJXiEeRKrBWOLvpx43R1EP|0yPYC3IxN)S9I~@|(Wpj}Vu!-XC z=>p;K7k|^(-Q4A7Kn%+n9D+lW_%r|tV(b%q?jGc&LJr2%yFglA|a>#PT7Kq6( zPIMlx#NQFJpL`@%VH;^T$Ce%CdJw3xLJs$(w zz=RT<;gl<;Ncubw26^el__nxI+>x_4M_5#xn%0X-O5!ZZ^8 z5r3gH{qtW3rNYJT_t4H7MX^*AbTOqh4TT_mrr`HUY1O78Ty@s7gdkX9nxlz384WU9h%`V8J)U)k{U4qPw|O+81c8FaNkiTs77 zP5#bEn}7e+Wl5GQPEQOU5DNN)7h`?nJNCigbl8gKW9-q9xX{}A%tu6CGrQf?uPEt& zgnjr&u+$m8dU_v5`G5nMUMQK_e82yo`lVc#Vv9@w7$XqSAN_lOBf$+gV#rl4A|DZ2 zD|!_7w0CMp^aITQB)8K&Fs=InBl=6a z;~r@6`CT7k@{V}R+<{vvE&+Adep7tgdSI|_RNGvs~>__JGK;8k0$+(}x{Z{O{{9f1E zT3RX;nmeTYv(v!^oOv06LY6JA5YYx0?lj1|C%SiJU~AZYO=vHsT;MfZN(A2cr}2(G zubB6HCh3qTv-PO1-_+1EqeG2`ML{!~G4TzBlWyj>4Ufk_(H8R|ZW(PjJm7n*IPh7~-eGW26v*TY&c8*1lb8r> zei{#?f7Js_)xo2Tl=;F(?v%pVw@Q%yZQ>qcl#%6&Mttkr9X=Q($7{%#V>AHh>MndAIYxN!?5CJ zG6Smy5PVI4MpG4`)J*>_Bpxq6Tf6O@$VW*421f;OJPVj*;hHiezaStLOvW7}eRKyA zJQxDw!Pr18KuoiEysa1;vT488nLexizBDPf86UK?r^|RmMv)sjF+3zjlG9iy}^lE<7DeO^>ReuBX2z?%V zo!}Tz%Z82& z2E)H+fN^<4k|mmI0+40HRhziQR{(U=;<_~MNJB01KspDZiHhsrJf_NGmgRU(Jh;Zb z1Q)&j=ZI^af>)~DlfWJEYGVCBjNLzJ7dXlmm8}D0;h&>)Ap%RPN>EHt zMHxkWo8;qj7vgzl2FJC01rmqj1l9FTs4Fz&EepLF(FAl)q{Im7HLY_WNFOqB#c+^Q zSrU31KmoRT46tmqirJW?om=*ZHz!~QM}WW9bN#S1E&5u#X;$cUYYe?>F`Q%q?62b+ zS8g>=pgA~&PmhXvr~#k0kj#6b9R$8D#v4pG^d3NW!Z~1emAa^iyVtY^wfWZio@4Q# zHk4GL?u9Ag-yr9)V}%4sDBOE*5e8Ew(6)8!fsj1;o)b79I`oiIi*y}LVb7e;qmE$1Lj5A zq9EOTi{^kZz(ptR?gDNA>&8qP_Yu<^5t0Spjm;5jIM#+Ij@nCvPvy#Ge_Q0}Yg%Hz z-tzCr$6<1b_gGMPja>B?+(C4qU0lUl$0oE^1US0JqC_R_lVaGqWu#STYefLM#U=kxDO(G@It0%;C7xTB1bC$;GiGZAXH-MM15jfK4Qpd# z0?2VF`=kLF$cWvKpz<0BT)IYvJu?I-^y+LB6JDp@FF*B)%O^r|LTursart zSNN*C_F=8a{&H7SaV=PG7NHj(Y9HNVy;#PpBN7{Q0p#M|VZ$EJxMLpT^xoug^f&%F zo25IHLbxo?4Uztwd~;zh)q$~ztN6T>Wcaq_-Ww|DvC=eX_C1A0`rMbtz+C&}aAH;c zu2>KiVBtIhCXLF6+ITx_nQpb_&#bxwsW4yhj7VndT~*~oCBm*6xOEAWXhZmyz-UKQ zJ(dTRL5DboGWS8Z=bvZaEuO_YQe^sDMl_94-+UB||Jew|3FRiY5IjnvQ>|CMdY4=I?VwVLKO73S^{|~& zDYQb5b&5!A7jgpEtb$h|6U_vs{UadB)DR}=d^F%Cg{3i2D0Bpomp*5r0|fShJ;Qomj2weg#G`u*}z3E)*5xj`3Euz80d=M_I0* zn(sE>*6(#0FX&lhgRp|x?W+p|IpXSk!@s4ht!D>6dW}hk&I-Cw?8lyupvq}~Hn3+R z^xnZP*LIRqe7Ox?4|w7$7rVO0q`WRQq#PTWK48yNp0u!MxwmBXT#Id$Py1CtMBJtV z9G#=Ef4%OKm9u402M1EbVP(umSiYgnq%ya!J766=*`qwd>-Krl#HTYgLQ8 zj?;RDek0ki7p#u>TxkEQad`2iv;la$0AQfs2%np`Om6FF@E>nA3zjd6H~O&~KF`GR zQy?%o7M9hlu2x!rl9+Gh(v1zh9qzDBL%C2Nm*fD>CjSPm5<-Vq1b9VV=oCv12`7|K zknamza}-7;S8JX@EA?;K+@>MD!y}QsZ%=PlD}TYGB7FWzj%V7N$ae8ZDZmv!r)? zX{I%S3XMS-GbBM428O`HhqVMvp%c^16SIVIIJgk_UeOK+3lb}l6F>t}EmHx&zvNg1 z6xJWoeck{up36xtR9@YF_r%htZNDsK0K^MG4)lTXXMmygh?nt}U*(L?7b=53)zaUK zUj^>+gR$k%1zRuvl(Q*xS$Xs$mt0e@nm#`*Fi~a{E5)-<#)LSeA3PsLfgbmR`WmPO zXAXbCPwRkKLlmrm?GreuSM~4?9I1Cu_q$VFdgNn3IBN}(S-FVJFqV{crZ?5-V{3Er)Er_1+?!-#_7AiL*y{DO2F3wNpod{vAVbjG zgcHRAPfV;dTcJnnDeJX-$-QJ7t+;|;;glfp{HD@x81#0B?0-IojZdPZr=E2e_P*Ss z(?t>T);6DXAdB;Rz8fuj9@y9m_-*HUV0ZW`ySjf~D85O^)_@(UMpcIg$Qe+MUmUZj z0h2-mBdQ_`!U}Lnpnon-E5`6d%>#^qfJ^wv%f&*eCK3Uw1uQv(nENu7tos zJEbE^JRllg#s`}@fHVg3^TG$55de&tOzG}_#&1C@h?3J^B^AHZ&_+y^TA+aB5CGb= z0$;{@M>t})b^bwqD0xGj$M&pUxo2=OL?XN5j|FVmIi`#RS;c>;qCrYk^;8oL#VtC} z!Jo9nzJ+MM-P{^fHIwgjTW*`#*1>(us!QlT88xbunXd3IUL4ouyzu4fu*=2iKK*UY zNc|?RC?(#e*RoWAA)*QvVmLW%zE2+%#GW2bJl4)HoSGu&3l$d@Y%4WM(MTaxJzPfE z!#>m=&qJSy+>QuHb5ELUc5P!*5l4Muh2Bh|3{>Rpu{XmVwv5csotz)bJjo@j*kOp{#(&^yC4%sc{IcC6weO51Q0Fff=cKhFM2&5>f#iqO)Ike0w- z`Q0P$0ij)y=~Y4zx&je72302n#m@%o6xJ@si>qBq|Soaj5o3 z0p}Dl*#f(_e9qJcOoY#>so1qGic!?fi=iX%ef-YD3lh@yf4x;KNzoXYV4kyagmv`c zb^&ty1DTe{_hQC@4eV}sfSA}^l%qq6;1}I}yt89ybAphNfbimp3I$wW=^?3v(1i$3;b*Rb8G*K=A!1KY4{1ukbbAVpOt6`XYMJ57I zF?0G}bG6w?riSOyoX>};gST;y8fw^_5WS?H8*D)GDInuq7Xr<#IM$?|OgC_nSVg&1 z{%uO+hpZe(faio>sYzX|H;#Ye-0NL_ zV5}S<3a^F%t-^H-Ft5hsjYm&w&p(7rgF!2qpQJopR4L*26MiD2oxY)3v!I@H5~yRi zxwWc&1%?FO$@|E)6Jk0KkG0wFiJ-w+mV6UEQ^2@0S&E zRsfdH7pVq71&7r9_(T}~6_P>OX|Y0SCh$(#_<8Mpb^gJ*1&$GvVK44TU6$1OF@MJG z5s~K-$8rSK3Sa^MYjrTKli@l4(1KV|02_7}cu!R@{ntB1>54Q7=z}f|RIDVP#IvAM z|C7Y4t)1WMIdV3x<^#FOvlZ*9(M9VFAyQj4*Az8}f3P)*s0mYIRCsUiQ>dmXHc@HV z=nI_5E^F-VYl5p8TcJ-KUe4#!&JE1$GAoCVmtGrP#&^(0RM?;?y+B2GqXe&<* zLcmM&u0Jn0@ zabe)EfwZm0Fpy8~IwSs~G^6`|FbYALLJKGuMUTDj2G_Zy%z5!ZQhVh_BMovjJJ3@W zJ3KdWf4KGcjJ<$YPPK|#!flFVg4e>?nV(Ei+;xH78(g1gTKtJKV_+sVC3SXc_l^px zX=(3gvJ^>N()ZI?yyyXoquC`r{5@%T!Ul#~jp;pqgDt4HYQjC{6&mdAH#clke&x7l z0$SiCV(}qwR|cHBPCwOfjqxLj$9B7gPAXY(l@P}e$8W%_Ed?GpSVE*A z6?w^x{vrGCfGtbny@kkp9_vpp1SkFalDmZoqwk$^`CV zfpMuK>eRo04u3a#LL+JRt36cTUAa={{dH<%cU?;jk(03Fn_>;_8^JPs8* zvW3_k$*jklwI9Sa?C1`9CsWfNwiqY?mh$w&^VQ4CIA#Fb#^T@4pi~mWwLaN`MYrXS$jagIq_89De%Nv%qQs+d{iTb^9l0SZhNtU(#3hcZawk|f--GH7 zS(JsxzW{x3?0+37r9(ve(EisOoVS-GmdTrPa6dS~%cH(0eTEPu zPUpUftpfrKqG!<>495zWU;KDDI0~&BOhcO;v;!sY9U>X6C>n{-`D*NVe#dCi7B;Pb zD|s2yRLS)###ROLRxc^o3PH&&3X!p{8NjK{ebe$F`A|v|0k?m8D)TCrSa1vTeiwG| z{M)Zz_5)z=*&&ChdhWPV{ORPhru}1(52QdU=JEHAqw3Uu5SN?zJ5uSboa$SC|0>@1 zs`9hVRlYp%Hk5lS&OibszjBoP`0;|#$4BPrnIRUW>3&n>GbLssQj|YfBJ4Nho*abI zp-ByHz4RJEkN~e<{)z=+PN$b%@|79GI+mHfZp&R3G{i8kZMr>j4>KgLW>#qH+e zBdZ>z+(;cCJu0QvA)OUkv+)&@G$9B{*ktL8{^b^SSC_z)X8RI@n@x8>lyU$ z4;HNQ1XT&4z=5-z-tu;WkvYT-lHe*SeI>+ES)}=L<~xoK4YgsBb&lwBUwjyJ^8M*q zO1ItD2guz%U;1)a2!}zxdQ6Ev7;6Rn9PL}oCvVxe)|*z7?3#qxHyrKDZwRJwTm?ew zfX!NDxD#TAJsF;=QWa{ZdvMSXXiQvT*gW3X;petj$+^?7ofs{8sQ&Y}=t$)H%IINc z>LR2Nz0NNZbh320E{EtVu^wLesj)b>QKU^FT6n&PZ0Id%<%w0!NvjQC5uAR{Npe&* zG-atXype9~Iw+W$pt45NCA05Xh52D%nES(Uw3}l82cS^78xjOBOmL!hN=kq@t$?4n zP7bd7_N^+QtO#`MzBpd|g(9QX5VFS~qV$`w4%JK#Q~@pCl-mlDpwoCdvw5tf!FKFz zXjs>A*#>k*B7$Wvvl)J{rYNNPJi+G9YVCuXs*QtF zX;Hyvs30Ns(i`WrD(un9FT4J?&z z96>@#$pQvpF`@R&S%%xcWmrS12nSa~h$8^Ev3Zs*y!uN|qcL!BQi^wwRv-0g?8ida zkSm4d`a;JTtdW3MFJBmLeC!Jo>HtaJ9@(FY1Ec}=BNWIuF@<;3*9nNXz3MT!+K#z^ zN%OW~av{sYF(}T*rXmCA&s{|vOMIW`<1?1{(6P7!f0%yc39JEvvyll|M|{Lzi7o7r z4ntp}!f=X2FLtf(rsYMhz;Tf`+GJO5k)FXWr&Nt^g07Y2ZVku+v>M_NRc&Pu@U zZxzGi8zMF&VJDjp0$w4f*INU?y{6`Z(&(me3?^T+{u#lq;Xm&@i&$j)$ahBpKV}-wS^-3RK zd(!S3D+I2ug7}?9C`a$IkX;F*Dx7#2<0S*J0;nUcnR^Lt8qY5J2$BmX+`CWynpe9+ zW^4l)lfFI|HKa-)5NqA*#!3f&=QU9D02%^A(DCn2aq#M|XfSjm*~)yHtwY(s8VskI zzP_yuld9WHV=d=u{$Z(V>VjPUFVa7s5Ov{rZnQ)?V`u-!ol|F*Eo5=w9A{NdxUN93 z7h>hr;^$j&ZO=BSv>R$vN{m_k@pXvBjUuI?G@sTitp9;ng5Xn(3n9_PB_0N@1|sz6 zdqf19*`!riy+`Vc5E6Y>e)jUs`9dZF{G@xed7Q?t6dSM=6OW=&TzCl z*XU>8`;|l3O&2#)Veq-yEpF?de=}o5z*a*PGH|>Lw(!z%IFHH z1n?%lmY>L@PxM!x4~ZatEEk*nX@}}&b1pa@dy=ax8G){wWo3wQ49Jint- z$oQeOOobbK*YO`;{SaWK<8EKH?VgvFUE#DCzKY&u-OEXNxT~bL1Eu#|?L0 zV}OPvZqK$bc2FH(f!8W|>5S%Eh_bh--ZIn#P(sLY5R{q^>^f5X@bt7X=#sv)Pyw-Y z0fQ>06qYoE1qTA4tM#63B(HBa=&aV`+xFcIo7LfA&Aj=>$zp>!3DPXVGcLH55Rbb{$ks$NK{ zuOz&xx)%`6Essk)bo|yXoV3p2Lh25OS0Q;lK)DFfRtg6R{WO5|4>cnWjKXmYJuEa^ z%f!<~>6!!Pg}%{kO}1XE8P7c0OjSNUj5wM^U&43!c#Vvoj%>9-<6 zR%ZCz_}<_`2pUq-7>DR*K+mBpM@1|Yji7puVKr(i0~%`}W;ZBXC>R01gDa@lO|T&S z`VsN?WhxR5LP8#8AoYu4s4TWX)k`mgwuMR&3s9wfr|xEMvyghd0f!vspLX`{ZtkJB zEqzUb`W!}jvNC@d@y&Ql9thIU&X-t`$W&|8bdL(@&>JTy!!t<04^&}C;O$Tm>W(@> z)pzWmO>Q6>AHYbH!%VVO&5d?Za|U7wQ(}}9 z@j_drmT)G0D|3hK8z$5d3lmY-hNiS1s+WC8=cg;t01ha(e&Oq`u~i23+~=)5^J8*& z7w8pFXsrI)M)094Kuh^uur)~s~NBlrb^nV!qNBV)?aMuRy`AL zSGQglQpSBoDF(j4mD!<#W$VLrPy#nwzhJ7o-)e@25cI-{t!i@3WlBqFI5*% z&fPOcnZ^bPQMH@LR59M%T^jI)n!|Mp%?%ef14M}n>n<|wi3E_d)=`Fa)9ts+p3!Q! zZ>Wu-=3^5BjNqw-TrPKf^i)ySC3JM}I8bbHvPe~-VfkhLgrd4&Fm^>>!sR9Q*$FYQ zZ0xSkeqF5G$gf2$h=Tb8(hi8Jlz!L8F0qA|Uem`Ppyu#yJUhyZAGYEo$Np@U zGTHpMO?{H>kjx)(mEV*(q0@|({HWMZ;r_O&{pHl=EYm*yhyoxwmYpy1dC{E@Bo-i9 z(_@Gv?oKwlvRjtjl03GT;hUuF8=(g z`9|p5kl_Wrzfx^A!_xF{UmIo1tWO9>2Dn84`Weu~!rD@7wxG|}B)wLP#0}xsXQdMf zvg5rN)PVeJTi_y&Ii;5E-0bOl6RonMjY#!p4_x<^ZeEHoQW`ap%Ftx5MFg^>S<$f^ z69Pb)>E3N+gVVGb84ZH_N+s-g?eDt{C8bE`#cjoMV5kaF*B(>{qoH%CqzFZ_XA&Td zQ46BB_rJZxg=SXoE%ekRPggv_^%Zv#LT(;RcUh9Pb+kx8pIwHr1{8l+O6s`3kScIh z9cj|3TW)uEdLRJTNv`w_Xg2p@+}q^d2p+L4u1+%@IUxvpJxZckrk{!<5awCsx+Uk; z()O`#k?Xza*Y;6?viaktg=yTbr`TVo5A6lw=Xu;-{Jqs535G8QBYtx-!gi<}cX=|7 z378?l3P z9=s<cx$@gb)pd#Na1#P+T2ScqOOjxhUcvvJc8n5A>Vyil2Z4Rb*1`dc7HEj`y3sg~F zsnH|PpsjT;)To)T4Hcdw+jQr^c8pa-yuXnFwQx{b+R~i@%a8Gh7|}J%XMrDp+>l<` zSSvcoYpqMr5qX2JEVy7t2(Yt9DYIYW3Qf%2Sn$G}?rpr?kkmx@@#BIZrzaZF$*k1m zz#U)U9u(Jd7~YsX>eeC9ZRr-g=Wao55TPqfk5d-go;-tmWx~kuKmm*+8`Je(snqWH zV0(cIn62n+1Nv=}hdJoBki;|14@Tt&CJL{4A*zcvh~(n zs}uhjX6u0h(StE~4h#wqZhl~Dcn=_4AN@Ucr3fI~t=SNoc(#c0G>OEoG5?|cDInrW9>o=Qo1m8!j@X9!`lD4qnC zSdArv^E}-$#dtS|R{RmL|hB+Utc zat?T@md?!>U#TshEdS3|5^h^2>HdEKZXrMb0OJ1+a{tHr{C^sH|62q7e|viWO9CAn z*B?2+fFk+|{3Gn)m9!E9Bdp9$)TVk0Z1k}KwwW6Lit_E%h-2D!eC#lL%$E7dQ;uy0 zmq4@B0Tgm%jBZhP=e0rGD_GBQv4sLj%M)+7NY|4AEGH)wF&eLd3SA$fNb-#_=sUDt z9}8I?&v&ve8S#f<{5=YLuByVy_CX)KiC(VxmgdMuJ&21}N%Q9_)(4-*uCRAT;$b#e zk~7|buRwxxO!WG}-$?M%{UyiR2M(mfc53qR1@eEYBt#yfK_2+u5cn@U%l}2dYLEdz zwf3?YzR(Or4ZXU0nXt z>OlYhx@M#^vb4KWo|GCCK;e}XiKO@d)NM!qkg#sGMIuc^A6Mx(Bg@bP5mH(}samjq zVE=;X?fdJON3J?Aswl`F`08Xnv*pFXytOaKI1EZ6r4pTH9VmSwbHe0_jr%lbWY4A=Gj+qxs`bQIZ`;pH#Bl?NZx=oCn2UOJu587Rk& z!Fs{4ONwP6GUIO{k~1t7_Xl_MU(E3mfSPLK-9|BH0jD53)izkogbQxukJiMWm}sKO z1F3=6|D(M#kA|}ChonWtklhSfMm53=#WV&ZTe6ku zeUWLQ?35n6X?igc!;l)vGFcv?<+)9rcXH=+ynnpsyyv{#*FUq|zt4T$*YDbX-#>mA zGxeWsg=Lm_=}6f)lqbI8RI-0!lO#?qt69gAq9ko41jE5dyChoEO_{=e8*(!xdt5bK z1wv}O777FpiBW?)7@ZG1fVTc|O#bKI(D~(!{~>Se{N;`Rnm2g-#gUF{AP_dNps#MG z+QspP!+v6iktilafp3>wSya>z->f`o_=$X^sjGoXVl67uUVqqt0$tzhbLT}=#E4Nv zRD9H>19%nD%^I~4@$s@eS8td~$_NGJ9Z;y8n&|Dh(UbmuY-e49-2g6rkAKd3k&XAy zw_8x1-7G~(q_&VcWiq}zDLl=DBX(8wZAEoH0weOCDEYcrO%Ct zGcOg#X(w|%+yc^G=Z`f?2^1rVj9AKbcKbb-V`*;p&X`39Whv&mp=8Pw&ZY~yx9vn1 z%g$H3*o~ianZDA#@v4q(H)1R!9Nu|B!u;a1^xjpt3Exen#Hjryz z-TsR6VTmvWWoDz`21QAXrjqSotS-qWeJ-qe6e_@ek{KKD5%*XJTQ@V9k`!eiMyyYs zjk{Ueo~J8(RuB71UwjV?{Rcf!s{d}G*T}iga2K&_v;1TSGlAFcwZD6$W93l$(Nzh< zuH$ARK6{UM(EDti*?n<49UY`@Ik7?m6Jyqn>EiuT0=2P>+JTo7pZ#XH?}=o@yJ-20 z9iM+c>#lRYj0q&loFC2FTRr`mfu~>ZrKaMBA4v$$_~pZ4<^}XrwafnyIQW!yAx*uz zM?T9Y);%?l@@9Mu(R(|Qu2@2?)93vXED*lpwC(3k5|IHGQB{5jMD*(-ig58on0UH) z`7dprf;t)AIJjuc;I#3iJaClcM4Q_pwt{9%$*GRW8CCNX-;rOvNKUp)od{K!Hy_%! zQJpCJ>P&xq(t@gE$-rheV_)(^;_bLor?Zd~O}Dxl=^N~YH)CQ<8y6M|d_U6m1=kRj zCq?be7!}kFbTWDUP1{N@s5YhQQ0vHxiP}llh zfz<(pxwww~eNkioSoE2}b?+ix@KAV9306VT3_}VdJaBg9BSRSC``k_fO_>ag^oznjOwiHVX z7pe3|4>Kg_WTn`U#W`|zp{(4nvK|Yg%Tj87>mbqpo97PLH3czT6Yrle`L5s1v_8B% zt?&c*8{GZ+TFjkdZ<=G&dua=)mUrSZMR!yiVq|mNlu^*vPo49v z&N7Zn2DHy7j`JLJL1V4%TEkmW>u27@UJ*lC$%nTH1bJXwE zDO564M*l^hpqy#&?<)uud-~~v>!Jo>;!a9SR8wApI!5e+BDFrD;nA+Rfld3`2+ESV zK7B06U^%n|xlfJqz8+Cy&P$xf4G*ViN+g@c&mn5YJ9%5>XKJ4|5uaqLdks?=S9RCi z*PNNVl#Bs-)sLI9(jZ@>4B#I}AdC|IzDv5GP``R4cNAul27G$qqKyNBi?Ubyx0O4q z>}XQk!5BH?9(jxLKsnp*@G+eVyv1KHCVe|Pk4=|6>c9}SvKQrpLp?Ec6Jtpe`C`fP zCb@2>3OmUmuetHJ51JCJRR~0$bpd?hp$o4BOD*nUO`&iEJ|f!lO2xHg&uyL}noiIn z2kp|B`E+lo!j@xY#E=1FxiAvzkryYN`%?GNkMJkKu?=r7t;^Rgio|$WYewbxR&Gz;oT;9FyT??8|X+Z2PPaC|15U{rN ztydQ|KTRj-654mK!lIw3K&J7GvfidE_hRmkYB$uFSS}p3*6N0csx|Z52MV)Fr@J*~ z1J#+#Dil1;$VvBLpWal2VIjdHC=#vr+jc4C{scQ#a#cW)Y>66Jl#1AF8BZ2crzYdT@=?qtgD z$>_nTtlP*u3R3dJ?Mxyf#eQnsWTX~w&e#6Tvql3**(U%I0)CN)=(Af3@j#E32BPAn z%8DuAt*?}xdz5Qs)11oFe~7;L_L@AAEQ9gxKJ-{#+TGImz{z$^@b ONB~6z_>_>c^zCnHaa=_J diff --git a/.Docs/KERNEL.md b/.Docs/KERNEL.md index 6ade0bab..bafec611 100644 --- a/.Docs/KERNEL.md +++ b/.Docs/KERNEL.md @@ -215,8 +215,17 @@ Remove an environment variable # LoadTxtFile Load TXT a file in memory (with ending 0) + +## C +`int loadtxtfile ( const char * filename, short int flags, short int ftype, int auxtype );` + +## ASM **In:** - Y,A = File Path +`>PUSHW auxtype` +`>PUSHB ftype` +`>PUSHB flags` +`>LDYA filename` +`>SYSCALL loadtxtfile` ## RETURN VALUE Y,A = File Length (without ending 0) @@ -224,11 +233,17 @@ Load TXT a file in memory (with ending 0) # LoadFile Load a file in memory + +## C +`int loadfile ( const char * filename, short int flags, short int ftype, int auxtype );` + +## ASM **In:** - PUSHW = AUXTYPE (Handled by.... - PUSHB = TYPE ... - PUSHB = MODE ... - LDYA = PATH ...FOpen) +`>PUSHW auxtype` +`>PUSHB ftype` +`>PUSHB flags` +`>LDYA filename` +`>SYSCALL loadfile` ## RETURN VALUE Y,A = File Length diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 7e64f8f3731a9e0224515550152bfc2a3369ced5..8d732b4e85fd0181da4143ef357146e8a3b7ce3a 100644 GIT binary patch delta 58672 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 Tz#o7=0fzvG9k-cB92fo{+Jsvx diff --git a/BIN/HTTPGET.S.txt b/BIN/HTTPGET.S.txt index 8d28ee16..a7914e2e 100644 --- a/BIN/HTTPGET.S.txt +++ b/BIN/HTTPGET.S.txt @@ -8,6 +8,7 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I + .INB INC/MLI.I .INB INC/MLI.E.I .INB INC/ETH.I .INB INC/LIBTCPIP.I @@ -167,7 +168,12 @@ CS.RUN.HOSTOK >INC.G ArgIndex >INC.G ArgIndex >SYSCALL ArgV bcs CS.RUN.RTS + pha + >PUSHWI 0 Aux type + >PUSHBI S.FI.T.TXT + >PUSHBI O.RDONLY + pla >SYSCALL LoadTxtFile bcs .9 diff --git a/BIN/MEM.S.txt b/BIN/MEM.S.txt index 96cfafb6..1852b766 100644 --- a/BIN/MEM.S.txt +++ b/BIN/MEM.S.txt @@ -132,5 +132,5 @@ DS.END .ED *-------------------------------------- MAN -SAVE USR/SRC/BIN/BIN/MEM.S +SAVE USR/SRC/BIN/MEM.S ASM diff --git a/BIN/SHELL.S.txt b/BIN/SHELL.S.txt index 2371ee3d..ffbf2960 100644 --- a/BIN/SHELL.S.txt +++ b/BIN/SHELL.S.txt @@ -181,6 +181,9 @@ CS.RUN jsr CMD.Init lda (pPS),y beq .1 no arg, continue starting interactive + >PUSHWI 0 Aux type + >PUSHBI S.FI.T.TXT + >PUSHBI O.RDONLY lda #1 >SYSCALL ArgV >SYSCALL LoadTxtFile @@ -381,6 +384,7 @@ CS.RUN.BATCH >SYSCALL GetChar >PUSHBI 2 >LDYA L.MSG.TRACE >SYSCALL printf + bcs .9 *-------------------------------------- CS.RUN.Exec jsr CL.Parse @@ -551,7 +555,7 @@ CS.END *-------------------------------------- MSG.GREETINGS .AZ "\r\nA2osX-Shell %d.%d\r\n\r\n" MSG.PROMPT .AZ "\e[7h$ " -MSG.TRACE .AS ">%s" +MSG.TRACE .AZ ">%s\r\n" MSG.BATCHERR .AZ "^\r\nLine #%D:" MSG.ERROR .AS "[$%h]:%S." MSG.ECHOCRLF .AZ "\r\n" diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 461bc9a0..6dc4bd65 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -7,11 +7,11 @@ K.ENV.SIZE .EQ 256 K.PIPE.SIZE .EQ 256 *-------------------------------------- K.IRQDEV.MAX .EQ 4 -K.DEV.MAX .EQ 32 +K.DEV.MAX .EQ 28 +K.FLT.MAX .EQ 4 K.NOD.MAX .EQ 32 K.PS.MAX .EQ 32 K.OF.MAX .EQ 32 -K.FLT.MAX .EQ 4 K.EVT.MAX .EQ 4 K.SCR.MAX .EQ 6 K.TTY.MAX .EQ 4 @@ -228,7 +228,7 @@ SYS.ExecV .EQ $A2 SYS.Kill .EQ $A6 * .EQ $A8 -SYS.GetMemStat .EQ $AA +* .EQ $AA * .EQ $AC * .EQ $AE @@ -269,7 +269,7 @@ SYS.GetMemByID .EQ $E6 SYS.GetMem .EQ $E8 SYS.GetMem0 .EQ $EA -* .EQ $EC +SYS.GetMemStat .EQ $EC SYS.SListAdd .EQ $EE SYS.SListLookup .EQ $F0 @@ -554,12 +554,6 @@ S.TIME.WDAY .EQ 7 1..7 * S.TIME .EQ 8 *-------------------------------------- -S.PFT.PATH .EQ 0 /dev, /mnt -S.PFT.HANDLER .EQ 16 -S.PFT.DATA .EQ 24 8 bytes OPAQUE data for handler -* -S.PFT .EQ 32 -*-------------------------------------- * S.STAT *-------------------------------------- S.STAT.MODE .EQ 0 diff --git a/INC/KERNEL.I.txt b/INC/KERNEL.I.txt index 4e8898d6..ff3e5f97 100644 --- a/INC/KERNEL.I.txt +++ b/INC/KERNEL.I.txt @@ -4,7 +4,10 @@ AUTO 4,1 .LIST OFF *-------------------------------------- Dev.Table.hPath .EQ $1300 K.Dev.MAX -Dev.Table.hFD .EQ $1320 K.Dev.MAX +Dev.Table.hFD .EQ $131C K.Dev.MAX +*-------------------------------------- +Flt.Table.hPath .EQ $1338 K.FLT.MAX +Flt.Table.hLib .EQ $133C K.FLT.MAX *-------------------------------------- Nod.Table.hPath .EQ $1340 K.NOD.MAX Nod.Table.hFD .EQ $1360 K.NOD.MAX @@ -17,11 +20,7 @@ PS.Table.Stats .EQ $13E0 K.PS.MAX OF.Table.hPath .EQ $1400 K.OF.MAX OF.Table.hFD .EQ $1420 K.OF.MAX *-------------------------------------- -Evt.Table .EQ $1440 K.EVT.MAX*S.EVT=4*8=32b -*-------------------------------------- -Flt.Table .EQ $1460 K.FLT.MAX*S.FLT=4*32=128b -*-------------------------------------- - +A2osX.EndTables .EQ $1440 *-------------------------------------- MAN SAVE INC/KERNEL.I diff --git a/SBIN/GETTY.S.txt b/SBIN/GETTY.S.txt index e0660d5d..fedb97e6 100644 --- a/SBIN/GETTY.S.txt +++ b/SBIN/GETTY.S.txt @@ -29,7 +29,7 @@ CS.START cld .DA #0 .DA CS.END-CS.START Code Size (without Constants) .DA DS.END-DS.START Data SegmentSize - .DA #32 Stack Size + .DA #16 Stack Size .DA #ZS.END-ZS.START Zero Page Size .DA 0 *-------------------------------------- diff --git a/SYS/KERNEL.S.DEF.txt b/SYS/KERNEL.S.DEF.txt index da055033..4a5af890 100644 --- a/SYS/KERNEL.S.DEF.txt +++ b/SYS/KERNEL.S.DEF.txt @@ -84,7 +84,7 @@ A2osX.SaveSX .EQ $101 Aux * Aux $3FE -> 3FF : IRQ Vector *-------------------------------------- K.S.STAT .EQ $0300 S.STAT for internal kernel operations -*K.S.DIB .EQ $0340 S.DIB=25 or higher depends on dev type +Evt.Table .EQ $0340 K.EVT.MAX*S.EVT=4*8=32b K.S.IOCTL .EQ $0360 9 bytes K.MLI.PATH .EQ $0369 64+1 K.MLI.PARAMS .EQ $03AA Main, 18 bytes min for GetFileInfo (ATLK needs MORE!!!...32 max for now) @@ -163,11 +163,11 @@ S.DCB.TTY.bTITLE .EQ 10 S.DCB.TTY.OUTTAIL .EQ 14 S.DCB.TTY.OUTHEAD .EQ 15 S.DCB.TTY.INBUFFER .EQ 16 -S.DCB.TTY.INBUFFER.MAX .EQ 40 -S.DCB.TTY.OUTBUFFER .EQ 40 -S.DCB.TTY.OUTBUFFER.MAX .EQ 64 +S.DCB.TTY.INBUFFER.MAX .EQ 32 +S.DCB.TTY.OUTBUFFER .EQ 32 +S.DCB.TTY.OUTBUFFER.MAX .EQ 48 * -S.DCB.TTY .EQ 64 +S.DCB.TTY .EQ 48 *-------------------------------------- MAN SAVE USR/SRC/SYS/KERNEL.S.DEF diff --git a/SYS/KERNEL.S.DRV.txt b/SYS/KERNEL.S.DRV.txt index 12d1267e..4835b2c8 100644 --- a/SYS/KERNEL.S.DRV.txt +++ b/SYS/KERNEL.S.DRV.txt @@ -8,13 +8,12 @@ AUTO 4,1 *-------------------------------------- DRV.DiskII cld cpx #IOCTL.FORMAT - bcs .9 + bcs DRV.RamDrive.9 >STYA pIOCTL jmp (.1,x) .1 .DA DRV.DiskII.STATUS .DA DRV.BLK READ .DA DRV.BLK WRITE -.9 jmp A2osX.BadCall *-------------------------------------- DRV.DiskII.STATUS >LDYAI DRV.DiskII.DIB @@ -35,14 +34,14 @@ DRV.DiskII.DIB .DA #S.DIB.S.BLOCK+S.DIB.S.WRITE+S.DIB.S.READ *-------------------------------------- DRV.RamDrive cld cpx #IOCTL.CONTROL - bcs .9 + bcs DRV.RamDrive.9 >STYA pIOCTL jmp (.1,x) .1 .DA DRV.RamDrive.STATUS .DA DRV.BLK READ .DA DRV.BLK WRITE .DA DRV.BLK FORMAT -.9 jmp A2osX.BadCall +DRV.RamDrive.9 jmp A2osX.BadCall *-------------------------------------- DRV.RamDrive.STATUS jsr DRV.Blk @@ -69,14 +68,13 @@ DRV.RamDrive.DIB *-------------------------------------- DRV.BlkDevice cld cpx #IOCTL.CONTROL - bcs .9 + bcs DRV.RamDrive.9 >STYA pIOCTL jmp (.1,x) .1 .DA DRV.BlkDevice.STATUS .DA DRV.BLK READ .DA DRV.BLK WRITE .DA DRV.BLK FORMAT -.9 jmp A2osX.BadCall *-------------------------------------- DRV.BlkDevice.STATUS jsr DRV.Blk @@ -191,38 +189,32 @@ DRV.SmartPort.Cnt *-------------------------------------- DRV.NULL cld >STYA pIOCTL - jmp (.1,x) + txa + beq DRV.NULL.STATUS + jmp (.1-12,x) *-------------------------------------- -.1 .DA DRV.NULL.STATUS - .DA A2osX.BADCALL READBLOCK - .DA A2osX.BADCALL WRITEBLOCK - .DA A2osX.BADCALL FORMAT - .DA A2osX.BADCALL CONTROL - .DA A2osX.BADCALL INIT +.1 +* .DA DRV.NULL.STATUS +* .DA A2osX.BADCALL READBLOCK +* .DA A2osX.BADCALL WRITEBLOCK +* .DA A2osX.BADCALL FORMAT +* .DA A2osX.BADCALL CONTROL +* .DA A2osX.BADCALL INIT .DA DRV.NULL.OPEN .DA DRV.NULL.CLOSE .DA DRV.NULL.READ .DA DRV.NULL.WRITE *-------------------------------------- -DRV.NULL.STATUS >LDYAI DRV.NULL.DIB - jmp DRV.STATUS.YA - -DRV.NULL.READ ldx #C.EOF - jmp DRV.READ.X - -DRV.NULL.OPEN -DRV.NULL.WRITE -DRV.NULL.CLOSE clc - rts -*-------------------------------------- DRV.NULL.DIB .DA #S.DIB.S.WRITE+S.DIB.S.READ+S.DIB.S.OPENED .DA #0,#0,#0 - >PSTR "NULL DEVICE" + >PSTR "NULL Device" .BS 5 .DA #S.DIB.T.CHAR .DA #0 .DA K.VER *-------------------------------------- +DRV.NULL.STATUS >LDYAI DRV.NULL.DIB +*-------------------------------------- DRV.STATUS.YA >STYA .2+1 ldy #S.IOCTL.STATCODE @@ -255,6 +247,8 @@ DRV.STATUS.YA >STYA .2+1 sec rts *-------------------------------------- +DRV.NULL.READ ldx #C.EOF +*-------------------------------------- DRV.READ.X ldy #S.IOCTL.BYTECNT lda #1 sta (pIOCTL),y @@ -270,7 +264,10 @@ DRV.READ.X ldy #S.IOCTL.BYTECNT sta .1+2 .1 stx $ffff SELF MODIFIED - clc +*-------------------------------------- +DRV.NULL.OPEN +DRV.NULL.WRITE +DRV.NULL.CLOSE clc rts *-------------------------------------- MAN diff --git a/SYS/KERNEL.S.FIO.txt b/SYS/KERNEL.S.FIO.txt index a8b6385d..ac25b2b7 100644 --- a/SYS/KERNEL.S.FIO.txt +++ b/SYS/KERNEL.S.FIO.txt @@ -4,38 +4,44 @@ AUTO 4,1 */-------------------------------------- * # LoadTxtFile * Load TXT a file in memory (with ending 0) +* ## C +* `int loadtxtfile ( const char * filename, short int flags, short int ftype, int auxtype );` +* ## ASM * **In:** -* Y,A = File Path +* `>PUSHW auxtype` +* `>PUSHB ftype` +* `>PUSHB flags` +* `>LDYA filename` +* `>SYSCALL loadtxtfile` * ## RETURN VALUE * Y,A = File Length (without ending 0) * X = hMem of Loaded File *\-------------------------------------- -K.LoadTxtFile pha - >PUSHWI 0 Aux type - >PUSHBI S.FI.T.TXT - >PUSHBI O.RDONLY - pla - sec +K.LoadTxtFile sec .HS 90 BCC */-------------------------------------- * # LoadFile * Load a file in memory +* ## C +* `int loadfile ( const char * filename, short int flags, short int ftype, int auxtype );` +* ## ASM * **In:** -* PUSHW = AUXTYPE (Handled by.... -* PUSHB = TYPE ... -* PUSHB = MODE ... -* LDYA = PATH ...FOpen) +* `>PUSHW auxtype` +* `>PUSHB ftype` +* `>PUSHB flags` +* `>LDYA filename` +* `>SYSCALL loadfile` * ## RETURN VALUE * Y,A = File Length * X = hMem of Loaded File *\-------------------------------------- K.LoadFile clc + ror FIO.bTXT jsr K.FOpen - bcc .12 - rts + bcs .9 -.12 sta FIO.hFile +.12 sta .99+2 hFILE pha >PUSHWI K.S.Stat @@ -66,48 +72,51 @@ K.LoadFile clc >PUSHW K.S.Stat+S.STAT.SIZE >PUSHW FIO.Mem - lda FIO.hFile + lda .99+2 jsr K.FRead - bcs .98 + bcc .2 + + pha + lda .8+1 + jsr K.FreeMem + pla + +.99 pha + lda #$ff SELF MODIFIED + jsr K.FClose + pla + sec +.9 rts - sty .6+1 +.2 sty .6+1 sta .7+1 Save Bytes read - jsr .99 close file - bit FIO.bTXT - bpl .6 + bpl .5 + + pha set ending 0 + tya + +* clc - clc set ending 0 - lda .6+1 adc FIO.Mem - sta .5+1 - lda .7+1 + sta .4+1 + + pla adc FIO.Mem+1 - sta .5+2 - -.5 stz $ffff Self Modified + sta .4+2 +.4 stz $ffff Self Modified + +.5 jsr .99 close file + .6 ldy #$ff Self Modified .7 lda #$ff Self Modified .8 ldx #$ff Self Modified clc -.9 rts - -.98 pha - lda .8+1 - jsr K.FreeMem - pla - -.99 pha - lda FIO.hFile - jsr K.FClose - pla - sec rts *-------------------------------------- FIO.bTXT .BS 1 -FIO.hFile .BS 1 FIO.Mem .BS 2 */-------------------------------------- * # ChTyp diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt index 5695a202..2a54d548 100644 --- a/SYS/KERNEL.S.INIT.txt +++ b/SYS/KERNEL.S.INIT.txt @@ -270,6 +270,12 @@ MemMgrInit >LDYAI Mem.MHiMem dex bpl .1 + ldx #K.FLT.MAX*2-1 + +.11 stz Flt.Table.hPath,x + dex + bpl .11 + ldx #K.NOD.MAX*2-1 .2 stz Nod.Table.hPath,x @@ -294,8 +300,6 @@ MemMgrInit >LDYAI Mem.MHiMem dex bpl .5 - stz Flt.Table - rts *-------------------------------------- SysScrInit >LDYAI Mem.XHiMem diff --git a/SYS/KERNEL.S.JMP.txt b/SYS/KERNEL.S.JMP.txt index d773222c..3b256360 100644 --- a/SYS/KERNEL.S.JMP.txt +++ b/SYS/KERNEL.S.JMP.txt @@ -103,7 +103,7 @@ K.SYSCALL.JMP .DA 0 $00 .DA 0 .DA K.Kill .DA 0 - .DA K.GetMemStat + .DA 0 .DA 0 .DA 0 @@ -142,7 +142,7 @@ K.SYSCALL.JMP .DA 0 $00 .DA K.GetMemByID .DA K.GetMem .DA K.GetMem0 - .DA 0 + .DA K.GetMemStat .DA K.SListAdd *-------------------------------------- .DA K.SListLookup $F0 diff --git a/SYS/KERNEL.S.PFT.txt b/SYS/KERNEL.S.PFT.txt index f835fdf2..5bf2f2a4 100644 --- a/SYS/KERNEL.S.PFT.txt +++ b/SYS/KERNEL.S.PFT.txt @@ -6,9 +6,7 @@ AUTO 4,1 * In : * Out : *-------------------------------------- -K.PFTAdd - clc - rts +K.PFTAdd *-------------------------------------- * K.PFTRemove * In : @@ -16,59 +14,52 @@ K.PFTAdd *-------------------------------------- K.PFTRemove clc - rts +K.PFTRemove.RTS rts *-------------------------------------- * PFT.CheckPathYA * In : * Y,A = PATH (C-String) * Out : *-------------------------------------- -PFT.CheckPathYA stx .71+1 Save SYSCALL # +PFT.CheckPathYA stx .6+1 Save SYSCALL # jsr K.realpath.I realpath in K.Buf256 - bcs .9 + bcs K.PFTRemove.RTS - >LDYAI Flt.Table + ldx #0 + +.1 lda Flt.Table.hPath,x + beq .8 + jsr K.GetMemPtr >STYA ZPPtr1 -.1 lda (ZPPtr1) Get Filter char.... - beq .80 + ldy #$ff - ldy #0 - -.2 lda (ZPPtr1),y +.2 iny + lda (ZPPtr1),y "/FILTER\0" beq .3 end of filter string.... - lda K.Buf256,y - beq .8 - cmp (ZPPtr1),y - bne .8 - iny - bne .2 + cmp K.Buf256,y can be \0 + beq .2 + bra .8 -.3 lda K.Buf256,y +.3 lda K.Buf256,y path is "/FILTER/..." ? cmp #'/' bne .8 - ldy #S.PFT.HANDLER - lda (ZPPtr1),y get hLib + lda Flt.Table.hLib,x get hLib jsr K.GetMemPtr - >STYA .72+1 + >STYA .7+1 pla discard JSR return @ pla >LDYAI K.Buf256 pass full path to handler -.71 ldx #$ff SELF MODIFIED SYSCALL # -.72 jmp $ffff SELF MODIFIED +.6 ldx #$ff SELF MODIFIED SYSCALL # +.7 jmp $ffff SELF MODIFIED -.9 rts - -.8 lda ZPPtr1 - clc - adc (ZPPtr1) Add STR len - adc #S.PFT - sta ZPPtr1 - bcc .1 +.8 inx + cpx #K.FLT.MAX + bne .1 .80 >LDYAI K.Buf256 *-------------------------------------- diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt index 51a35abb..f4012aa7 100644 --- a/SYS/KERNEL.S.STDIO.txt +++ b/SYS/KERNEL.S.STDIO.txt @@ -193,12 +193,10 @@ K.PrintF.1 stz PrintF.Cnt stz PrintF.Cnt+1 stz PrintF.GetByte+1 - - ldy #0 - -.1 lda (ZPPtr1),y + +.1 jsr MEM.GetCharPtr1 beq .8 end of format.. - iny + cmp #'%' bne .10 @@ -207,9 +205,8 @@ K.PrintF.1 stz PrintF.Cnt sta K.PrintF.PadC .2 ldx #PrintFTBL2-PrintFTBL1-1 - lda (ZPPtr1),y + jsr MEM.GetCharPtr1 beq .99 - iny .3 cmp PrintFTBL1,x do we have a %x command? beq .6 yes, jmp to it! @@ -243,12 +240,10 @@ K.PrintF.1 stz PrintF.Cnt sta K.PrintF.PadL bra .2 go get next char... -.6 phy - txa +.6 txa asl tax jsr PrintF.ESC - ply bcc .1 bcs .99 @@ -262,9 +257,8 @@ K.PrintF.1 stz PrintF.Cnt bne .20 ldx #PrintFTBL2.OUT-PrintFTBL2-1 - lda (ZPPtr1),y + jsr MEM.GetCharPtr1 beq .99 - iny .12 cmp PrintFTBL2,x beq .13 diff --git a/SYS/KERNEL.S.STDLIB.txt b/SYS/KERNEL.S.STDLIB.txt index 9fa31c95..017c1684 100644 --- a/SYS/KERNEL.S.STDLIB.txt +++ b/SYS/KERNEL.S.STDLIB.txt @@ -84,7 +84,7 @@ K.StrToUL clc Unsigned bcs K.StrToUL.rts * clc -K.StrToUL.Exit adc ZPPtr2 + adc ZPPtr2 sta (ZPPtr1) lda #0 adc ZPPtr2+1 diff --git a/SYS/KERNEL.S.TERM.txt b/SYS/KERNEL.S.TERM.txt index d172528c..6143ac0a 100644 --- a/SYS/KERNEL.S.TERM.txt +++ b/SYS/KERNEL.S.TERM.txt @@ -1207,6 +1207,58 @@ RESET.VALUES .DA #0 S.DCB.TTY.MODE .DA #S.DCB.TTY.OUTBUFFER S.DCB.TTY.OUTHEAD .DA #S.DCB.TTY.INBUFFER S.DCB.TTY.INBUFFER *-------------------------------------- +SCR.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 +SCR.BASEH .HS 04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07 +*-------------------------------------- +BUF.BASEL .DA #0 + .DA #80 + .DA #160 + .DA #240 + .DA #320 + .DA #400 + .DA #480 + .DA #560 + .DA #640 + .DA #720 + .DA #800 + .DA #880 + .DA #960 + .DA #1040 + .DA #1120 + .DA #1200 + .DA #1280 + .DA #1360 + .DA #1440 + .DA #1520 + .DA #1600 + .DA #1680 + .DA #1760 + .DA #1840 +BUF.BASEH .DA /0 + .DA /80 + .DA /160 + .DA /240 + .DA /320 + .DA /400 + .DA /480 + .DA /560 + .DA /640 + .DA /720 + .DA /800 + .DA /880 + .DA /960 + .DA /1040 + .DA /1120 + .DA /1200 + .DA /1280 + .DA /1360 + .DA /1440 + .DA /1520 + .DA /1600 + .DA /1680 + .DA /1760 + .DA /1840 +*-------------------------------------- CtrlChars .HS 05080A0C0D151B CtrlChars.Cnt .EQ *-CtrlChars *-------------------------------------- diff --git a/SYS/KERNEL.S.TERMLC.txt b/SYS/KERNEL.S.TERMLC.txt index 6249f154..757dfe2f 100644 --- a/SYS/KERNEL.S.TERMLC.txt +++ b/SYS/KERNEL.S.TERMLC.txt @@ -2,58 +2,6 @@ NEW PREFIX AUTO 4,1 *-------------------------------------- -SCR.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 -SCR.BASEH .HS 04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07 -*-------------------------------------- -BUF.BASEL .DA #0 - .DA #80 - .DA #160 - .DA #240 - .DA #320 - .DA #400 - .DA #480 - .DA #560 - .DA #640 - .DA #720 - .DA #800 - .DA #880 - .DA #960 - .DA #1040 - .DA #1120 - .DA #1200 - .DA #1280 - .DA #1360 - .DA #1440 - .DA #1520 - .DA #1600 - .DA #1680 - .DA #1760 - .DA #1840 -BUF.BASEH .DA /0 - .DA /80 - .DA /160 - .DA /240 - .DA /320 - .DA /400 - .DA /480 - .DA /560 - .DA /640 - .DA /720 - .DA /800 - .DA /880 - .DA /960 - .DA /1040 - .DA /1120 - .DA /1200 - .DA /1280 - .DA /1360 - .DA /1440 - .DA /1520 - .DA /1600 - .DA /1680 - .DA /1760 - .DA /1840 -*-------------------------------------- DRV.TERM.CLRSCR ldx #23 sta SET80STORE diff --git a/SYS/KERNEL.S.txt b/SYS/KERNEL.S.txt index cb92de5a..55867ef0 100644 --- a/SYS/KERNEL.S.txt +++ b/SYS/KERNEL.S.txt @@ -21,7 +21,7 @@ AUTO 4,1 .INB USR/SRC/SYS/KERNEL.S.INIT .INB USR/SRC/X.PRINTF.S -A2osX.MAIN .PH $1480 +A2osX.MAIN .PH A2osX.EndTables .INB USR/SRC/SYS/KERNEL.S.CORE .INB USR/SRC/SYS/KERNEL.S.DRV .INB USR/SRC/SYS/KERNEL.S.TERM