From f2c9526c79f036381eedc63f54579621dc299ccd Mon Sep 17 00:00:00 2001 From: dschmenk Date: Wed, 28 Jan 2015 12:42:05 -0800 Subject: [PATCH] Huge update: memset() now matches C library for params. stdlib renamed cmdsys so that dependencies have to be updated. Version now 0.8 - getting close --- ROGUE.PO | Bin 0 -> 143360 bytes SANDBOX.PO | Bin 143360 -> 143360 bytes src/inc/{stdlib.plh => cmdsys.plh} | 2 +- src/libsrc/memmgr.pla | 8 +-- src/samplesrc/dhcp.pla | 8 +-- src/samplesrc/etherip.pla | 16 ++--- src/samplesrc/hello.pla | 2 +- src/samplesrc/hgr1.pla | 4 +- src/samplesrc/hgr1test.pla | 2 +- src/samplesrc/icmp.pla | 4 +- src/samplesrc/memtest.pla | 8 +-- src/samplesrc/mon.pla | 2 +- src/samplesrc/profile.pla | 91 ----------------------------- src/samplesrc/rod.pla | 12 ++-- src/samplesrc/rogue.combat.pla | 2 +- src/samplesrc/rogue.io.pla | 6 +- src/samplesrc/rogue.map.pla | 9 ++- src/samplesrc/rogue.pla | 10 ++-- src/samplesrc/sieve.pla | 4 +- src/samplesrc/staticip.pla | 4 +- src/samplesrc/test.pla | 2 +- src/samplesrc/testlib.pla | 2 +- src/samplesrc/uthernet.pla | 4 +- src/toolsrc/sb.pla | 32 +++++----- src/vmsrc/a1cmd.pla | 34 +++++------ src/vmsrc/cmd.pla | 36 ++++++------ src/vmsrc/plvm.c | 8 +-- src/vmsrc/soscmd.pla | 32 +++++----- 28 files changed, 126 insertions(+), 218 deletions(-) create mode 100644 ROGUE.PO rename src/inc/{stdlib.plh => cmdsys.plh} (97%) delete mode 100755 src/samplesrc/profile.pla diff --git a/ROGUE.PO b/ROGUE.PO new file mode 100644 index 0000000000000000000000000000000000000000..a1de91da2c2d98a141a5fedd0f9ff111d6f254fd GIT binary patch literal 143360 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�A&oq@zo+rU~{z<{8- zScsC{2FptW=~6iUN`C{{A90)If%Ml@a{@BO{6Z6XZqU%o#knQwdM>cthnE zANSj(3Kh`G7+SyCQi%!#l=L@M{WS*MEY z)WJVfl0K%Bj)$NOfDwDqC2yd+?32eg%NGXUPzV2j(ARP_4Z(_?e%!U+S@L`Ay;9zm zn`Zn*z4ljQliq+d1KQ64L7JcIlP~4Cu9iNd*1Z8SL%9kEBCZu)`=Z*A*xAoiBzF1@ z4Wm2zNyX?+3wT%i8}wl$j_Rb0=}hWWW;Y~tV(+XXsS_2YNs#k5Rha8g?TN!-@lCaM zotmMg6_27(Nu4I~542`zDvPvEHJ{~oANMN|i*>4#LPuc43f1!5_)hUHwc)x>D7bQH zTwy+B*bXM5PfBmm&RveqEfpT)4rN#!ME!pNa;(en++s%lx6lcH)`dxAa5xoNrU*lJ{x8N}@G3 z&t~M~wJ(7a9aa_6EWHCg455AoQ??L`dD6RTXJQ9zA1@3v=sOe~Yj#CDJ{oYpR6#oE z1QL;Aq1s^Rux2XION0J=iY##i*}D;Bu8F`jzOGPhk)H$poS1i2`9B(>JA|x;m=4D; z2WajBPX`o?q*GCBj=`r-#SYe=23l~eH+|3_2h85Air5bC;)=Kq*9<3;X#9B! zTwQPP&E8>`qe4X1H)Z=c$E*Py4aaEJl+DKt`gc+w6#n=%!1(~2>tmX-fpwgrqr%XU zlf(aTz;!#HJ%GykNHu0@FvVs^oThB3iR!W(8nYzgG%Z2<)Z3e~(a+Bf_)|d)Ff})O z*oK6T$`{nY+iFEZ2j&in#hW8IP_&gUU>uW&l(*@T_Yi|~@v_dZ@i}Zxj2I9MPY%Cg&>u6* zBQxbue1|iVV5bSO!wDnIgG{jLKF02gj-iVRk6oDGK+qmoHpoUWM(c~ldI75nVX@)a z4G^{sjIf9j9$9DnUF;y~al!A%9y*J|I_SyqnJHdO{%wQ)WM9xB4I;&3_r?A_I?A^O z2ycsU{@Znzp07OVGWeF;B8w=bOE1%T`FxwxGYM-J(t)j&i#}ZqMH8^Ah$w2oq;{D~ zdvQ&Lz5_EyE7u((vsR|U*kNTAt@Mg2*L7p|kJuWI4xQ{JbwV_@ZV<9)ImI-@ z4_)?8;d>8CZv-o@>wsv(Xf)jyu1M^_{yC|5o6Z&ZTTZx=?35Q#9XQK<*A;jpq~$@o zK@g5WKdKWuF_;(&D&spTAn9;xsl5T*DpoOr6JJ)V>rgQc?TbV?rdUob0hTZl#Vzu&IPX4G#8)0>7!Ww66oZtbQ+EesP_y7677?7Z=Go|OTUa^)$mskFG!9RqKx zbWK;OHjL>Qc!w_T#6PMrSkjq&4o84HL5q_;+74OkVf-fn5i_WRI02ze}qXT3|X z{}ZwLxXM%Qz?5g_4=Z4@TW3QB1}fFE%x38;b>NTiIBq$Cn%lg&sJW1f{n2F&lR7Ml z$tJ$9Hkdj@w_5wQO1oiQrRpq}4XBv10%W(;JIZqXGmDjREzR;7@6z67v=$s{(Ytif z66N5g;7R#BJY)?hIgX;!+bi?k{5K{8+~U}0z&wl>fxeFvR`y`);GDtcRmHhQ5&t$ao; z&Sn)2j1+x=XVgxN06JL%1$ElV=ba8buU3ri2)sa*79bHlfLMOoX}lp(mCvg#9dZE% zNrO-ykv`}gkwAV0gpiF0VJ3gu5atQr5wY{9(2aU%rKeCi(knm4(S;oOO37MP6fha> z_eaxsjS|DZdd8J#=WjWkhw9Qe^k07K8UG1>+>rk$B8&wQz4@&m^=4xVRZ|8n3;j?+ESle<|tMsHp^$PwKbJk(7jYHinRFtP0Od!7B~N6 zi>I9VC+$odnbNczn%pA2tzK(xKKD|plizv9zkqfu4po5vR$7IdDB;y06(mPUr<7Bo z<3Mz52fqe`oFhBZ9~tPD^g&n1N%PI4jT+ryr#UO4J1}b6QSXYFj**OR(wm(}ap6Ug z#G_zLW%L~lh7O~FlINuB^YN5gGlC744m#DbbTo|X$R`!!Xgav9$mfR@ys!W^5LiMm z&6rR3VhzvIo(L6~YN=5e8_Xgwjub~MRPxPY9i0b5AvavtvHgvpYcy0B*5cZ;eg|JW z6tQBln9D;NF`M2i)v3x&PCn+We+I1-3|V(w@n4T+6SzP+hKtAg1WNRqiJh_mYSg+0 zYSiNN&!DK}>3=T{#b{|UqepNbvryy=)Nt=XSBzudS&&tyQY+<|VfA^SA*mxnPiwkb zX{XM}lw}w7k4!+CM@AP^qSB6TAfKZ%v~O(+J}eSpj;LL#ZqLDdbK4SFks|hv{l{T9 z;NR_`m9lieumaYKKT$n|cAlTAeVEi3(S(&S#>gicv>lN>6HK?L?Is5Etz{7_$#|MQ zsl&RaBB=wm4@^L1EuDa3IpAjOsJ_mUhdMd)MrILCUoNUk)wlm_1Y`ZkNO6?*!b89o znUF;KFZ%5{x5fia0hNHjc@K+DzyEDma%BsQStBzXC1khXhZ$6Dq>@- z$|yK&uL^T`GUZ2nm0H=J2?hrpxA?u=_3fP}j@ne;DUNYEi!v%h% z(yn0XxcX-mlHA-^j8X8IR3DiN00Poa=ZD=F;lDO3dt1#e7@m~Tkc-Kh!K4T$wmF~#!3$A z4a+*jW5p#tt=h2`6Q9DA7=S-k^RUi?gp5pHfWaN#U{`ehuTLW{;ATs zU^agPW;WCU?~eJK8EX&_K}|%Q|CH6DVDQJd2&19GIhu|*HXecb({%^z*cSeVi~dot zZ#Tm_A+MoS#dn%Dbb>{fmV1o~Kk=eJA7c(yDlnSsvG~RKfO8W3?2CwiRWgGP7(*1# z{NcF$q{{$Rp)2uGgMF%O?291pvp8#g6p3w>54r%wnd_*1wu>4`U^>}t>jv8#zSD%947aiqw_emkv0qHRzkMJ)$JzfwQ2@e z`&Q5c>m0~h46^9#@s4Xvi=hfeWIK+?fzSd>l5^?Ieb}Hpp6&*G6xj{%M|!ma%Jq(` z7b&mBdews+n96#rfG%Oj@h|G&Q7X%=M^%4p9pFDw`H9E;9J)GmE<|BFwVbvtR9hFQ zkYLzPYx1xl3^8=gD*ah~F0m6UTIpl;xzU|i&|>gr&|-7ufSb3s#h{#M0%X ze-`X?*zZW`!din;ENZ%_IWq~Szz_rLpv=0q(Bh*IF=8w{;*6|H?B$V(Zc+!%7$$Y( zRp&X;zd}6D+|Uh}OjlH7nc&E|?1;bYD-buS{I4$ie^k3k-S&y9JmAs8cmeCtIG8Ss zuwPVuuF{iGNRxY;!HrK<8e=|RRI*9+=t~>ueu9uS;d52l6!?6E_5}W;%l;TjuA#00 zz?~WII%_{soB8_7{&O_?6haDyoGu}YmU9T@L~8Ada`G=+_V1(=ZLi&+Hp5hcJfG7% z0ffJkr|#Q4W~W4nqZzF<k00%wApaM(#`plY;0m|qz|6E~75#%{X{y`s}7XJAw zw>=P)Q;#f>&s>Wb_du}XfgoZ|Qzc6}OchZbHQptaPh(BtyAQjDfv1Avb~W&HP;6D5 z*k>{lg-3He9jtsRSl0?8!Z70OFi->2iB?rUX>k@0+mh_XScySUyvstY%U}1EikV

+EJK2j%R8^&7#oMl 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 literal 0 HcmV?d00001 diff --git a/SANDBOX.PO b/SANDBOX.PO index b7d62492ab8a882041ff24d0b0dfeed1cfe74898..ae6a3c30e29845917e9faef01c690142ce13dfb9 100644 GIT binary patch delta 3473 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 delta 34301 zcmb5W349bq+CScNB{P#uGC6?ZE<%6=0V4>8`wUFNkc)sEuC^#TfC#SWtL|z8rn522 z#6ecMM8<)R>5vH>5g}yK5H2$jLUYOC#R|l5B(x%U%l}(F!FBh2fA8o0N9pdWdg`gC zo_gx3r=EIhmR~S0zhIX77tyupRSWLvnOTb51KT-U_3<@iq+{DNym7*4~ttWf6Xuy za>pl;BaGIbciR6h?1(cr>)wy)l^ehJ^gi{NQq!^%AIf3++%e?gqdLo|A@>g*_CWgZ z5j%7*eXo0?F>*)bydMo~9(rxft~HPAjQVa9;$E=XpJ3(?#W2gH>#tj;e}Z}5(Eo6X zzF@-I9Z%?bg&`idXb{GBh-HTUM>Gia30+^^gk7DU)I}L}mv;4Dq)XQ8CaiTX*3Cfj zoyEEdI^CtU|9o0E9j~EFbPMp>yhN95>hE9*_N;AKqDw)}H%oLQ@EWjGH;>YiZG+=c{KHnT9&{(Qnhi~acy3#07McUow&Ki?T&%u)c{>V(d? zZT0~Sne0krp6K*al>LbgFIntQB)k-9&y8ki*_|&FX_q^{WU_16`$x<}Vc%FgFc)lC zdw!|THoI5cJXb$vAzoT$LKRC4Mn8@EmwLtJesZVpUNmPeSdsX`Ub}m* zotfn7!r%>j{g)T)O?)AS<`!&8Ov@d@^zFTN+%vi!x_j0>@{Defu6k|hGrH`FW8(^{ zvG?Copi4kAmv;61 zv+lGm!j=1ETN_yuXYRG5-}67~y8g&Vh&}m8k>M|hd-;F*f7{@Naxm|zz{g)i^(H|daI;I>yaq`sZ&%c6Dey3X#`&Ziz~-sy*fjuD_`^2`y=pt=ly@AmFu6^=XPhn`6rkj^9J1E z5}((H6AKq44PeTRe||z=P&XzGWBvr7%Gb=>F&tIj-jS5}uQEHz!r(hj?07vQwp?G3 zIv_3AhU|H$vt#L=IeK0Bj*o+Nan|XXb20{ynd4nEcD&J4*&o?sf2@y=aZMp@ZQ~=S z7mUv@n2`(459h=Uyg^Lnb>KR~>;1jU$wA`Ri861%huDF%{z?jeBlrGHX8q#tBr=<3 z?QK+k5|4Ri?G?v*7VQ=9c%ItpS-jWt^j`6RXUX0Gb0OqX5(De@rV`cWH`H}WdUIH# z{RbCw!QZcLY|^Hbh(`POp6?8vn})RCimN$hwSJxQL$j{g(5QUFhCWw*4%lUWSRhX3 z9|)xF^`s~HbylygrF67x?ccwDYNThB?63Ff1MBx@WjVdEBD3BuuP1WJ`Z#%gFS((i z#jSiTzQr%&mwJAd0~_|LeF(GnqmfClH)Wn50JKR$xq0h%-q2P=5Hn zBs>p2kfaO^tk9>%s)H(8N-4N!g`O6pdN;fe_DE6^t0GA0u%x;OvWd|*D&LC%52L53 z3{pfGQ(#zm@Brq&f0OLe~|2A;C*7NIL*OoZ5F7Z{q z=x@cZmHd5`r}TC2>NnQ>@vs!BJ=5iUNS!%l(&c;_7rHdg4X}| z)7_t>yO+@~U7^=4*E1Cr6+YkTruzLy4*5S=)mbyhkX0%PlgWoPM$k?>d;Z2 zPXqG({->NccJSEAc9`Vqs-3@=95|+&I}!S*;gqjlQGn4`U9)>fpyqun2@mNwXCRFZ z`F(WA2UB8)fLJ%{XUI#Nh2cjZkQIY#%Ld_rqeEr&dFA1w^EWG`bgaCm&Y%m$EBDqJ zb)mCLir)zE!2HcsV`bOe-A7%r$0aL{kVi=rk`+_H5e$tLJyIl#azGJg17sVeu>$vP zNKhj^<7LWP(c=_`dxpqDx@WK~Jm9%c7KVA!WVbVLKc#UfrEwUg@d1s-0TX3=1bJe! zYx_ou(M~aTLmIL{__6`h<+La%u5z3#7W*01K$dQHc{Yd!Ppr&;5ttx{bY?Nu!~J8g z$ap5no($PDS@wJ(i$};(S&An{pJYSHKlakRqsT)alg~`=POMLxpH?%|DA-{e`&2gYG{2Ev4^=&7{)?O2wWHAacND*=}$x z;x-MKL_a#djozds3qwMms~-V6Fh&ODv`@uK6mn(NP@-NHi_wMEDO!4DfZ1n{3%#n? z&_4R34ENagsrQr8P2{P!r9NoFYiz7z^p@q|M~U(sCE@f2aK-)^OM#qkd%q_;x%WdR zCEm|$O;#es&-o!@FGmenb=H8WZ>4zTZIg&_l`$Z3B9RT1RL zx1|#-ut`VQz&Y9Th%D+n=VY;wvN1aFh>S$l85xAI8lG^$&A_L!+R?H23@2CA-O;6T zA)8_jJSeBy6*t zp2)>WgZA@bvdM$hPGI$XB)h$zN(RxC4sJl%b`0Kat8Pxv6CbRb8}uXu10gw8R{^@x z+d2kY_wlM`EAx8D9EQ$>b@)Kzr~)^!SQx}$?e z!#A`<;I~@OCo=kYRu*qiZZe?Fb4F${s-Z%q6J*IVRsLOU{Zu4fOE+t?kV@Fx-2kkb zDx>!yj~df9RaQ)*9lgN(V_O>4C@Ktmnbb-+&jzg)YOfk6ZylmW7psQ#Z&QhubF#F>bYn_QI0fSpw=DvFMD%u#3A=`VPqsBu+ z)HKY>t&pWVqR0C-B|JkGJ<1SgV3KT`EOU0VFvMaE6{>yQsL=h;5T!Gk2~3mKm@qI% z#Zrh_hJG#E;088ByMEF0L)hjT#n`-C{lR~yXh_))8wQM*)1LJ))w|RBsH7=VRyqqy zFF%dt!Ahr}(??UDOqoK2M!3jXo*PnLW7wT`%cI+@F#Hgxt-#{lo^(0z^lr~^S?Mn7 z_#sLs5lty^>s%+^Sv6i(j8Ip_Viy1HI$)r)e4Vm`Qn>|6t?W7Bd6L{J`sm{A*^usP zd`G;f=rujCPFcll@r;qdIq;fJhpMq0o#t%m1dvqs=j%r^mbHdR)-^o#=73{_0~KtES52lg)|=4~xCL=B+(yROM88y-rVu z{W4qk;T|bojmW}ZI@^L2B&S8W(vlkMU?G1#oss}$=j~nYcCUkk_?SSJtR_O}R$)4P zj7jH&^kvCzN$0>c_es43x97`R;YrUIwZbyb*;;7SbG5=!&p&GcccGTN<^x(3hVv-| z3csvP$1p^CyIj$rpI*Sw{AHJyatm}v&(%s=?lRyIo&^qmi9^+;2mV>hFTDcEuLbm{ zwZhX2be_*^g#}k4_%Xu5D-1tYSmgPvHgLZ7=$EzLF|FrnJ!jBX>-pN&Gqss_7U++j zsr4EHXK1lx3Vd0s;UeqbEqjXm?31F%eeVX&bG1P2-6lq}4q?oKNPdi0-#j*Bkz%|w zR_z5b8PkwA#(t@KjQxVoSUu+G`C9MUqo3AFCrI#JZxaiSuJ#8KeBZv8s(P?OZXA|DB;=5BRs8i=tg?lYRMy8L?#^op08@jmMxHnU9~jH zFLNv~dM?(o>6*wmg=J`a7EjQHp&3K*^SjbyCj@MFErp_W zdj)pYQc8B!0)=9SswOkHkj;L4EHHY{H!3Y0KB*mHgAV;y5!gLVwp!=Y{-9I4YXd*a zAZR$hjKZ48ZNIk%P}3%oDCRE0vT*Hm>R(J{-U)Kst zT3c%&BvjN!3yW!Dgzz*SduW5dZK1;)iMKGybEUR0Jb4WHkvQKK3f z?YDdhgp?_h{Ca1Ne$S?OeQ~4xwtGNaFgMee9g0vpgp5i*@q{N+A9z7u^`f4PE^|#1 z#QJasss@lp%EUTPmOijl??D4k>#LUNeUky{clbt=R|H?zz*G9F#d;1|f&bE{?hox( zO=5*dr}y{r4XB%=&+^!Vb+h%()SjN$pc}id{@59H3E8BMo|vF@aZC`eKx|Nr4A_IA z$G!3E(yv66`^|OJ_t1WUV7Bfdy|ZpE4A#&nudakR%0#WmjSL4eLRK@{=29eGaWQb9 zytpbR*wWHccTX6_^_ZY?Qw#vzdXv5wZNZ2cUFKNuII1ngq1wGavnOhdH1uYWI4_Je?sGu!6s9a(F4oqKLkX)`9WaEPAfVpDzMj)rn z8f-+l==0}n(&-!RKe4d7rpqGn7=xnOV+xYg3c8mVFGXe!R1K~v<)o%o`hgn1QGtoF z5<%Yng|3y1XQu3VQ1&>2p5^+$DB1I<92hNo=E;z;i?vnxa!X68DHte_)rUE2+QYzV zb|Pgri623ixKmVTXaFqVH{T203kz<%cW|S)5+r1S0v|&LRur#-m8L@@HJyU%m+On| z-!~Fxg<|&p8CbHUVIV9pT@FPkw_RoL0lV538n0%NjBTsTL0`fuOVBrN)l8W@ElO4{ zut*M>y+cHOI-BK90vdIHxHX@S#8ea)ufk5)fTpw--t)#$2p_p!E-AFhx1<|^M`g7> zWR~gz^JH~5Oq~xvL~5@r)k67V6l2p_@3_DWIn}5R56lF47FzCA-S+o#Iho}-iheFS2 z8L)6PfH=_hOhAVTyFibLvA9z(G_FFlOAl9e3YK;XHWsH@Y8=5$j-YE(IlKkhC-xbz zqAB;I)S;n{>U|-zIxw(YU+!3}(}%0~gmXcwyF$Nd1*dnNqm}8mK3o~fB4eA+a_)4E zI<(mSL#RNLG|@N^@D#krV()$5NPb3oE?Fv`lFdOg}op*VWFn zjiIzCNQ(wZsdtO~`s?PPYOb>e6-T3Tv(gg8=lWSPo&JDvunhGGkfJKinUCNauUW(e6FEO?Dw z-=myYpZZA4QDacO!G_Yj#?T0_F&)@aW1WHMV5p0f1V@cE=xntA2z`P7{fxu?vNgEL z8f+=aG$=Qb<(3i_TdBhF#yHxdf{M8fYQ`YmNv9a2fiVVyV+>6RW4;oR8tXTpn)Eq* zW1LN^$;McNgQ9|iqJylzXX$iJ_yz*eblH=SU4YNLDqpVKzuO*>$`v=|%N3Bj&%fHO zbZRWNe;1w_|ETfIkn7gecnZMx%6z$Lx?D9~RvPh6cSXRwUu6xhiV9-2VFSD6&@bwX zSV^XYI3pCz>i0u;RC8#DY7}khtdq>!i7h>3Y?cf!-@kl(I{5g&#@VtvbVspcNW|rk zCeegB>Ka;=PI~?(eeYT?k+`kUbDz{!U9D{_T1Jv8t3IhMS|&Y3=6^z#ZxtD}15i(* zP7usl&fAf6uat68$e$%2R$|XWzT4(HaRyEcZPTJ@V17t=lL&A`J!1Z-iq#_;@E*N-gv0w)02o z%O?(DMH8r%dKB2&qQw&SOCY)-bEcES`oHLFyU+QCnsI0iP}utLS~U(k=3;_hfOOYpIOg z3LU#Fald536c_7}2h|(cC8v(E=+FyS-fpDD1GZgqI7L}uOjnGwns`_`CJa%#W2N*n z-1SaDHLA`Lv@E9^OGQO4{>Rqv4m=YM)_Xs#Duuk>djk+hjW>bWlydY#j0kfs+=m#- zt0=T9MTmMOL5zU$KcPzck&LZ!uuq+Vy7xy=iD;>sC0EXtfj7-w#ns4_d*msRvz1#VGvK#LgC$t3acSxfPSnmTKEt+NE)7A83|2oV=+)rk>#@3>qdZ_1Y+B zFT^URv|;pq%_385L`E_tsynTkrgjX#Tht&2;FM{X0S#K)E=#c#FcLKkWa4hu_uH}l z#*4rHLB=SbvN21gO#iQ(sHZ#`PBv|)!gC)?S_l&a5N0iA37A}Yy|(IFEiFvcd|+Ym zG6T0{fQ*@)nAGkRR=k9IBCX?N{3h1_tEi)hzov*WtG*0C@-*DonZPo3EZ!qi{M^;r zLz1_%isOaWE43A{ny=QD(+b;x+x6yl$~5ta5-m2uiSaR90^lH(KnC`Z8i}==T4uII zFb?P#j#K04u=c96(|KMON2fS>NRnbJjX{Xd`e6)YXZ-^VOEaVKy@`vHQLxDlcgQRm z#{6s<3z@&ybR2%2EvAy=0<-`2^WhEj>y_Jf)hvO9h>~>kSMi1BpRfhv3z#@ZU*& zF#}c8(FJWbr|zv?%|2kD6sN_6mkq8LiMQN~`D zDlOGewNQ3n-z_W219!=4Z*1B<$7ConxYQe{3XBdYGTfMOprc1DUD`w|EJ657e*>aQ zitq@R5cFEhS9J`wg=G9+>`04T93S+4FMW$`J6J-erPMj>G>(UZmG0kEHQ1Dh6~3uM zkbNpwCa-@W^&gNe+j~*QQO7`-%y3;(;3HXi#fb$K-UBf)oel5c7wv!@4E@3x!;3EY z5q=!4GVMm#dyrgSVzn;5SnH(z2P6Cs%sRLp{@``+>KHdR6tvg$q(JMnH_}OR{b;M| zm|S|hma;%|=7KiQ3Aw69E`5X!S}7}&xgUre=Q$~hA#{=|7K3UgZ|w9MTsz-~`ke^% zixt5h<;j+@vAbPMI_zX6YQv}M6f+KJyzQErQKPj?)kIlgzI$N7nrYIOLOZQ79|}2z zT4}T?JM=0muX=)uQwcArMf6K^l|?A^7nij^xLkxR?u(mnDjL0(m(t%kK=+tG!x z5`b}=fSy!BSN#E@OgXu>T^1t$8&@dLV^tk?fD1iS;G;qN7i%}&pnTf&eQg`{y5O$@ z7Q1bVylHkYl`9YR@ao0x&<&5s)WOfnaPYU(EZ5^ze0YTN9k`^i#7OrU)FsooG+Qnj zNf~zH10}MIemU4OxX7+jcE-WEP75qxakk9)&B_HaKAjD>TQ@rhvQoLDIH~OYd&|__ zf2WqZ`x&j}&*uge6K(t3aMNl&<@DQNd|g{D1OmdC)~#}y?5t_4g~YhmYf|H^xm~;I zHd42#`wHShPntL!f#&+D^hQxX>qHqex!I;^veuJm^dvm+URCp|%J84insmWOlWsb_ zPRR5y=Haja6@(0GZmJFvF<f1hjFPsmTt$EL#D$pLHqVx=ZP1|f;c zoP9T>nPL(>)zM+8TXjw@#njPsm!`JpB$7-R)Jf1av*}`}mFaL!L=ov6>P3+KAId@G z!tnYEbP!Mz)d^spm3*^Px<=x6NkeI-9uq6DQ%a@Z` zjiYn;vB05U_CNN^ZluZ&6tokDUV0NldQQ1^L9c!tUeqs;3m;0K!UYa<5{`2joymX_ zp!3)pokGfYNQsyyik?XcV+OmzXv4Mjsv#MtK3Xmqk4m z0?!Ascu?uUfg`f)*(-bY$)0*D-pD@y@qQ{@erkk#?}j}a(%yM?qq6DQjqh#pRc`;_ zgTs}TA0Iz``t#2ZYk$jEtbDbw{TROUACBSIt>4f)WzL+LzIXjwwhH&ZS1$J4R>@Rt zm#W|2@xjgyckQlWY7^>YZts*w9BCcuMyJ@uliWg^aq>dfLqmn71LNlpA79*U=h+F< z$Ir~j&zwAaf-7hIqzqR^LB@pH850qE<;t0olbezKV18yn#;lBq`5EI2GA8F|OfSgE z&&VD>En`CdjBHoV#HkaV<1@2+Pj=0i?gY%F+??r|1(`Y7In#2obMv|0x%nBBGiOb7 z|wxLz4-;b(%H&DJ~@`vXuCschO*uKrObIlIV2P3w3 z-{szw7kE3cH{cCa2mZRFLaN-pa%bMQam&Xof73`q4C117-{~TCMxAkBVz22Iqv<=_ zce-dDqeGd+*lXfIF42a<)kXuJamF|C>}Ajy$4|&`O`kM5eg=igp{9eO69k-9vvMY5fPbSiL;sX*2Ji2bHUsv zmOS^|D}^PiH%f+fa z{Y};n^@b)pm-}FL|K)!=xc7=9o3Zcn6}0JIBIBNBdXx;CIgz>dp796AFyk_ZKA9b% zbhDarw8FWQVwsNGm-2YpZ_I$k`d4U*y;JQ?zErzS-EeW-^T}U{{}?b)HGg>U!raOU z2ghcP5iWM?Y3gRUQh7PBMrHRXz*G6v8QXke+Yo# zXar2976Id`@w-f0wCeslIQFbzURlqW81XRO-CiuFvC_OWt36Rmx` zx}LE$?0ZGICBDLcDY|ef9Z1OY95+-Y=9Qi>AZ)1grhzQ^87e$_pC@LYhuKGCxi|!K zt@(|-_8XaJhV@9|dy$d7(uIFs{?cx6MZ#(OQ|fR0S5C+LFZl~@$NUTYKZUQd_=|st z{?eR43@`B&{5DT)4nLQF$YampIet0+H@=v+@~`nb_&Pp@j|EIMpTKwEyYoFfck*$P z{k5NCMBgUP)^cIF@&f|OI2&0qj;K>$Oit_Nxcu;JXDnyxk7ZwGc_T`)B(v98l7-XLFWI6lcpVQ}hZebm8Y<6-mtTo2`Qqb0X$=Esn+U zIbK6sVosxS-II`06_=yNIu_e=Je?DA+7fd7Ole#W>cOMk0UWIBn8QCrkoKTeXC6cZlNi<=_mcA4_cm8Fd zF(PV7@7Gbjkm?sevn_{+|AjHH2yIkjLVH!KIBq~}PVQG+N$Qu#_8CCMCr4v*)QC1) zPJ{9dLJ+EKIi>a-Hek=OI^igr%m1kXkB8mm)qnEHNey`JO(J&)>(^n>Di*MQJr#sd z5{X*KiY}r{C0%BaEh&lVX&kbL{5<1HnyPgPdAr}UiY2mE7DG-%ybIH4NrCmaWY9NDVwE15kUuHG=U+`K( z{nQ?ze6@?Rkt1_vNu*3t?n0Me)maj9mK3kpoM`4eF>|B@m#kPQR8kzyAp32#u?h9iaK*_^ZkU;}1Lm6UoQ`Z7y; z7ef4nV8!9Zo704=sY@%!!k2{epv5p7#C3OgZRDM4s0B2O$t83+(L#md_ddTlSDMk@ zXS8A>DYK;vaw5yy8{M{`+i|q!5KMb>4&jXBrBrV(!3yu?j9IQ#eJDS=-sJ}{MN@vL zCuvVVp6J@1%#v;eyhuo7&MaQYl z0&cK2>X2kR={AQFdVf2iCuzfj|0qfIwBZh<-yCvk4#@#nfhJ=c=SuI93vvN^QlUpgSi+#lh+G&_}4<+OHTuemB4Q>C`dnm|)e(Zo(_XU{a16J%q zM4FAd1^>~n-4yVfw1r6=K~f8-S_@C?;2h#^pVeK-sJWE0pZAl#B5nPo&&hB7q_ZSC z)y0@0K|5G-)g>hetvG$rWBY1TB1wN|(TiTrh_S}ru9woe>_yTxO^O#@(V zzD>Bsw<7!l3%*-9!;tH9$gu+Qd;u1`tRGoEN$kY;rpqp-3oC3x{3_;=gHo|+D*FCd ziV{uy?O$kAYbcbj7|V8C7{|7Y1=lVYELr&=W$VlBY&DRLbLr}9Z6CAYsge;x1}wjK z-El8jkwz*s2B7yTe<-qRnJJhd;L1b`lpreZn?pv0fyYtcPIE}o9KsEp!)kn+0*M?w z2Yu~U;D#3IEoGGZhC$Fl1UeV0L2eDYrR86ZNffa>Vm_SyplHgk&aOEn| zzHu~V^6f*a@KwH?sHxI3<-)60$-d4>zP`shQ5^+71zhi>TBRsteSc47R<4WVQnl}` zl}?mycYF0}$3qo}Ev`@#pi*PqPBL%+H0h)PZlPS+=GHJqTP4$~tXywQVWniH->zJ* zzOV}71b0$SZn*JVNIJ1J#*(}NhhwD}x3hx0HC>8udvbCetXoXMaJUYoa-`5KloNA* zEYAqHObBgMx{%cc>8wSf5rKa%N@j&}?VHBjAuCkvHHUUfMw%4u6p5M|n3~IrWKDl~ z4W{OngArtJf9Xb;o@wnxw>;BO*3{i%i=J%h^Qr8#6D6vN}%WFJYVPkpLt z1Lvc}6@Ep5UFbi`|E)9|j3(-wz@%J_f#kb6fsFRgALaxmYoFY&tDec+DxdCS` z$Y5bX?u$^(HIs7JL#%FM9RH@Zk%=}OY&w6+K^Ac`m=W@Kx*p&gY-Y%T@Xx zd{vD+Sg0m7D6Izzm9D;V#W?Bktw+)An*KBJZa8u+9|6_7vshw+WO1s=Nxm_=)A@>U z22I~Wngs_{1Bn^HI{nP&eFmuJmJ3GjZHJq!OC6y8sN80Z(XrT!>zwPzya{|^QK=j6 zLxqa%QmFz#6uW`z2(V+tF3K&SsJm}(MT?tyD)~};J5!e)Dph;CIRyWe#VUQ<0Z@{v zq9D3a`A$qx>hQ0|jdF;a3YQyPp;ebEl}=^bF9npiGE9;Sv8uJKiZl$64BkjMuZp&@ z4!=(ML8#D3U*{~b?Bkb;zwt{jcb7QQbm{JL+z`+!dcUz~2l)#(kUFFhme`@Ndpaw0 zS1dm`MBV&ue7Cb?Z2`G4;PBr`K^oOW3FNNAK@HGSwJWc*ARi2_*`2q3Mm_>*s(#Ba zibKzJ|0C?$yRhr-!p1{9xSlD%D-tYXPp3hjxhe)iJ%Jck`M@vJDVx)j#G03J!uBEeEldDr)(mQ;To;d`8#A}&u}p&Iek17uM;8aFAqILq6v8Vl`;x!KdQ3y1CZaA;EI_36_D3r{Nz#2@v_D{wU{~$P#r9gsZTc|pu)XQGe56Zv zAqzaYixQ#^l)LkQlDt>oDoCT4BC3|XlMJ-l zkUZD8G_tDz+`&wIM2!HG8G;;r=@^CFAZ>qlM*%IMBiH%hi~zDc<#ET{5Ta z#WIkfMAC0pxBF-@g8UoPkf}xp+@a-)AGbcjvTUY=8bJ)Lq8f$es$SqMI;XHQRHvBS z=$FB58HY_DQ7r;^m3xzPx?srP#U_}jgO2e^LV5SQk-C+we zKzxwY4VE5&eC$Y@PrfX`wi`wnEuT#I0?8pr%4qW39M@a-RgeR&5={^D@2j(DUgyCf zonnDOCruXbfMSkO?+GnO!~>Aody++SXwd*XH2K?MkA|QH4iR{{(0ra>-YtA_vG;lvFraS&mY@}VO>yOy#RBmk2COVz7pZy^h=(i zbBn&!3mUoNb%azmXoHWT7y2~31Kc+Q$w%~@rFL~>K$!lpif@yto z)z6TxeX(i;vZ%25jlyLm#*b4p94;E6+Zi#YXg>c03x;N5QIL!F;<=B^b$Si1*M^XQ zlYHPL6@vpt&YpT9bU{gL-skICJ)b}1BX}P6^}_R`20R)tEJ5KT$Y6u|7vYd&{(OEu zTs%(*dk-~u<1syhLj?KIN8U(PuiSK13=#GnI_$ky8=BGpGhKbH?bm#aXw$FxcL#NN zcu)sxgG#uAPS;0+(K=H-U-dQ1z`a)+i%7C>i1fNQk#xM@TkP;gi_4YBkW1}efi>0a z)EbDP{5Mv(OJF-fKoCeFaB!?pu`mjW>QPaLNRV-gLUE_YdVbCW52~;KoQFW+>iM`@ z1$HW&iYX38Y6)nK>iM3gY+nL;{s!&-YF`i3-A_##zFOnT9-3WCCe4HaOwsZo;R)U? z%y%r%@lS$!H+k%SZ<_EiztS;3#2@uB2SaLH^^+CroLg6x(D7|(Ua4FYnbl7Ug@Azn zY4w6;obp!voYz>SYz-9`p1^8+tnfJT-tX;@d@{{erffYycHHkZC!e$%bG5~UoVs7? zUh_*HCR_rXNwKNi@h6qY23k$I=wJ(*V7>sPD}?6XKrW#PG~n8Ce>z*@1WCuavSXJN z#TEuk0rO1N72G-_#-pZ#axZXmX`qZI##T{C% z&ZGFC*=FQ_zAj&x35++36;+)IkSQphs5J-N?Hc(OMRP0{rqhi4P3!Vo0Dr4k`L?8- z+#D)(TZao7M~>yHR%l<8Hh{F!wfQhl9MC+lS%stNmm5{i=2-l59;P048+xf_{>Sul z96mpHuq^_oMB*ImSgz8kXl0-vKmGE`kX^FTuhyUQXhCQ^8+a?^_vdKbCZDa}Io9K-R2RMSrLcA^{Pae|7_U!xeMj3WKA zu|t;bC!fs_b(V2hQ=%XOJIEXNd0}f(MR|G>>HeTl2P1j>45|!G1<>c4XxQ3+{ZYbPH%ZXTfI&pccYb9@}jneRg!_zr1!k#Wv}iU7QpR&X~x{bG)r6Md!?+aY}E|3iAj85l;mI*Lbd{E?13WCk$?95;NSp-*se^ z>xbcJj=E3iO`*F(OULv*U7!qj`g?*rKW6>tkJVF^vI*pPB(rykQm#0bTWZEbQ065&8ygf=v1e>X;Q=R)jW)pAvh=D%P8|;U)59p!w#*p=zDkCyRHJqDG`E-x!;4tO>1YxiaFjd zfC`;Ugg8f{gWe|5>O|TAoNjbI%)@wy@LlorIv`t8M>2CL;%R5x#pDTN3QbX?L)jp# zvtkTc;OPYi4~IEOxY;8h+FM-|>qWX$w-vRC|MbWDY)Tw4WR-0$YAf><-4HL9z3tQS z*Na*URexmB6##xy^lj12qVN3sN}o5AXU%NYfV|3qc}33@{<&&UUgf=cMb8#4quc0l zs=4}^ z_1`|UsU0&e@N0OL=&Ig%mC1RE(O>9GC|Xju)WPzv3ENal^ENVXq;${WZDn6$uI-vC zwR!EtH4*{}o%7&GQa@7q3`GXAcqD1cASW|0Dx7B|CS2)M*Beub_W8{S*N-E@pI>LV ze#)rOzKhneMe8rEgG23`5#;PhFI|tfVQ{}@h1WpqYoT#?Sn0=d`WR0iFqnbSShhjY zmu(DxZ+%J8Z~Y5PF+>SpL+n{@lK0zmHdS494od@8^d&IU3`B=G#_C6Li4EKCzWmDO zmE!jG=kpu1(paeDC@i>-D$&SOuO3_pa~2+@bhhl9OK&OWvTrZFNqvko7@Wy)t2T%5 zkNL0i{}9&9U&*g2TXX46?O~Fv{;K@Q3IZl&RESsW4HUGJJ8U4^mgZ%6$3c{_zeU0XdR#J^}z$L7NnQVkt9gYSk363Vp zX#SKNOMKDUhU(||mDT@cTB%se&Z=?y?x@3*ugSI1-Uu50-h37reU$TL^+?53c;3}} zbm2Kaqp`o}w4^WkglrwD;1>UAjJP-wK{MScWMuPa0{59KZ*=pg!lzi@E#wWSWcS@s zUKh?-mh)%O|4-GL&@@$rf~g-(EOb;BtzJU=`8`{9>OxPoFWlUoktJ|_%sG6+Xp+Al0bZ2HhMB z^!)P+bo>h-;5q)k*s`-NMJqAP)_vIE38$1vszo>j;aNFa&0FV$nW1%C_{`-PBYbLI zy{N?MlrVrQf}P?PVOZSw2ZIj}-RecnU})i42MhDWP`${3JG848c}>N%sHB|wi+l_s zQ-7d^hc2nzy!Q0VmsT&5009ibCBU-t=qIYJ#3_7=0dSMA zMoDwX^JAqMTDQob#zHrrsmSttg6jt7DI9*GWmz8eq7BJg{~UEK&{cSJCQkY{&Y&l~ zSE{CGHx^y3D#$Ln=KrW2)3cSY*j6peQ{!RrzG73y*KjtNkk7%=Rs(nPu_fA$YeY2J zk6M8lo@IG$Xp@0bdydO%ID(oH)sJFZ{teBcW!kC%w<)djU0B@{M;2}VF7@CjEEFAL z6Ie2JHt8{5vauvb`!LdT1e9WsD-?@xl`t<#_hBWNKVIrj4@wo2$T++`F;aToz!CQ} zDX|%A!ZaLI<948#?3o}L$j=kZPO^6{shx{$ooL`E2v_-uSeMGnDzII1ILXfOg-^q+ zxtOY_cNc3`D}z~ue137^)8vD}MU(gpt+|N6-}m8vQa#?Yav%HDVumTNvF~-(#O;MA zl=H7_Uq8vd@u)@KpXkG-z18!HG#Dow<{YJaRb_5tNouS`T|M8gYp4t4;%61+w_LBx zRlZfbR_U4h7zZOTCump}{*n=RvxkY--w7x2jAH8W?9aq9x(gkc2}}e+#atPKnFL0s zcHo#w#yTludgheuK?So4m_(Y12&Jej{9x0d>9eO7WK3ghs5ulhjWm;q1ISQRGrPvm z$e!rLuaeP9Lun;f=ERKb=@}H$#AsBSfl7v){3%*nGiXyZifx((z}P833aUj;A3qHg zO{eXs&(U^fPD>li#AvBX#za#Yh$8BuSdi8hypK+Wo<>?vKvLOmwi+8M%lMTs|9cRF-CmS>98G9;8nT%8ApE9JLq+B~4Hv+&;rcTB+ zoP|>)YWRlZtmwC6o4$HL7!3vhtah4UlW$Rbk zvSQhKv2dk-Ic46OEZ5x0TCt86BYTBn)rxgRkztSxSwbXG&!OsiX4c`AX^DOVRA$s< zn77E{ClhY{WbbF7JQ6$2erg2$*$bFU7FC5r;7P7d#_|5y3_%Z}utFF*2!=y%NwLia z#VqJys2H1J{V)hNFbfvdXtjD{=*lEq=FLC~g#|QvpT5u_Sm1EApnp~+Q_w3Jf&os~ zv4VwDM_RojtcWex3hhumfBnx;m3HMed|8$pnvtqDRp#0%bK5F&|GTzuuvS=QfYfR? zUCR$#%Ma_7hMMd7RIAXlshjZYG_0Oa(SqeQn(-E^b_Dikj&si{y&B-6xh0h0r&hL2 zLBx)43OO-FvQq0#`17F)%5l0(HN)H6Y=Z0?A@Wnm6SKjCwL(Oe6bX0=ijgup77C_? z{Odx*Lf*?lUcnk*Fth%PV=*nT{UASQ;zwIr$*xTQ zfxGJSW+r(di#VM{FR|FTkmcGpZ0(Dgh!^=Z6O%rQ4s1deSxSo}L(z*4gx+X-nKpkz z7)@ClTlQknRq}9_9}$jXqvv@u6)c=p(Jjvn4zuxDvt%Hvoov}(0QW=~?qlT)Yvo%p zh}YYff1oS8>equ*Y>oWKw!Y}{IfZMUN3w}7TD_wDW2yKWDOv8ztO1R-Jp&YKntXx6FYicgay1N5exgJ+8 zPIPg^i?!a=HZ7O__zY4?NA1Lqv{!S5t4+%lZm7m`oLrL$_jse|?V_AqGUOgFbGQf0 zKT?v(w>98N_hF_seAi^3`8_w`IXtwDFe}l!Fo-0<+jI0s~KaW5K z8GFSdIxpxx@%y45iheBm37g9s$ic3$=vEQD#!L}KrwqlZKhFM@fmMC-D*NUseX2NZkBKEQF0V2^PwCLUBeb>e2u)=RTDC5Pd2-frqm3n`3Zf3(bnP>QC8$ zhv}x79%^3WucO9{Y_4)Qco}f^EfB7FJFkyoL?eH|MIBI$thQa1O4@&1K1kEb`t|qE7WX z5wf&~CNM}y4#%1o5$Xs2tAltev`>oC8`e$Ffd2)xO9|o(O22!t=nI%Z{@(b4dvxDD zI4hws1~^CPhY19gpDS2_WvWkil%%3QUV z1`^0s5&;6ufZrYAXr=4z5uA%x-Nkxoiu0ZA+svq0blud8LYx`+TmayMv<{T)X(Q^cjPk_CDz!l!@BCu?h{wqQcz(U1g8b{G_hc*Swz}wauHBefMV%5dsdI*1>dx4T>KgWggGg?XN$mR}OFo4a%vrMqE=c zDF^E#a91JnaMLOC;bW&P`|EdD57zI9I-?wpK6&h9EG{wFPbdfDPAH+yxZ=g_!;*be!&HYUvb0XH(YVJgF6n4&-cFXWVQ}>9rU>DV8Cq$Bd$A` zaNi-K@if;Ii5m}QTzRnI&Vv<~9-?sTAsW{nn2PxoPlEpTU4WHgdgb)bxi@EYPF7BS zj%jAj-ou|9JkIFYoQ;fiUe4Yl2M&H*f8waJk+D3FvI9p>9Nho$M#fm2v-jkQjSS<> zVd|4YNq2f5>${>~ebVuy(@8%k_2hbw>HVkPYkKeLeY|(aha!`slHX0P=(Dd+eBbeX zU+CNMp)-9y?fY=Qjt{Nq7a0{9X|_h$Y_`}~TU=~M{3Uel6=yTsEO+zmef5k3f5|<1 zC-nUzyfHE+-rfm+iQSUoW2_hfnlMKhBe|%kPLWYj@tqib2Q*+c+oB_4ZJjzrTCMTc zcw3~kqb=4R7aJEFNq0YbCN`Ea7z}0u67*lJUT=uiGbScc$8_u3jl!6WMxDiC0aVur zU4;Iqjy_N7?%WlHe}BVU`G5Umv|rq;3jg9J6Mg#Rp%V!Eu0MU`)JgkxrT)aJQ2h~l zx!_>v$|n8UK$~{{OVULO++hkt^qB<>uuEa?j^q&wnm&NM1rdvpa7_ z{<{2M^5p+VBmYbGf3(m1FQEUoBF1;>{{|R_`j7U*naqF3z#KSuqW;MLQ1IVD|JR)V z#PC11|G#4J{U?h59r}MP{TGVg+y7VA-5OMwnWBUIfx`X%NYZDzP;ZeoWn~KoO$SW- zaRb?YjTL>3_Uo+Afd!{N;$YtcefRgRPZ#R1SiMHRzWHFWauxP)T~>C;rx;q4+ZPOK z7avXIh%hS~M}*()py$~LCB)=$UE76Yr~z;yEZbZj_}PcO462GTqo7Ws-xf5X)Url^=Dq3LDC z7gned{$G76!d9bv98>f_;V@RqHC`AGPmTv+EI3#w3BMTJU9qucf1?eT#i&sxavSlp6)=W;6rkM>oz!mG zj%r_w?ypMAtGq8y8PL8+CAS;0-Kw0~m6@<1(~oTT&G4LJB*wFBubT$3y- zlt$cD9M_pLn~te$I)dxYERjf>?n=6(yQ}Ex&cjjG&;7=QC{9+zC&>Qi-l|RqWVZ>` zx9{VebMJZFbL*bE)h>LDJ9jhsAN@=8@C3pL3*X0@7*E!eHm=9jTcl@#r~iD$rRGwD z|HAE$+|A-)3Sg#?U+;TZ=;P)Y;>I@+g_lsJFE)FNTJX$A9(KECmH;<`8rPMMuBWnJ zZ-D>z-CCkAN1R;_`eukw>f-2Iur3u z;P~Nn@S$EMl8E!_Jm68MwJdgl_{-XI#H{sgSd{_HRTFKYbRx{s9IhYdvlX@jlOj zPKtFE&R9$6c3lOOb1@ipDHDdvXvi+d#ijlL*U|?n)O^aCPgw;2wl%%CuMr~^g!e~l zdhcNAV1;k>n%+AptuCON-e)`aDne=6TJLk6|Hu>1bhfdCl4GVTLQ8pTMZ3hzQP#8N zutw+!7ls)KbzQR#BxZvvEUjj@EGE8_P^>=V;>=sR!RZA$v2+8|^y%OTqOVV#ZO^2X zN~tX3(r=iQV*B#oKH6n7zZ8o~UE)I$G4roW)dE6@4H>l^E!5X=v6mq^WuN4fg~B;y z`*Uddfr8Se4XByPYC?qR=^Wfpp4(a2fk)a%;IS)8&=!jCoK>^v-dA(6n)iq1Zjgbk z(ac)fOQ0z{Vk#H)NHOYkuB7zje1Vt9cJB6Yanih!1g+ zDdyrg>nMkzgTR-5xk0@O>v<72YEDUKQR|-0!q(l)Vw}TcEvK>(DF{jzp_hwM?axqc ziG%}Vz9Wl*=Mf+JF+!DU(6D6&L)#ABN&C9D_{^b*X=D-lX1! zD2v<8>zR4D!z@A&*dlec*t-ccjQSSn=(Ho0xK4h?Krm}(LjgcxqC!nG*Q)7enVMn# z6bAgqYNlk~iNKoM)#>IfYPPu&7X3z8^c!H&uSEk96&IpnKCJ(xsF#O2xu}z^=Hfoa zEK?9yY^LDY60vo&+9hsV*U(*ZsJpEHw`JX`%6=X?Qr5iZkXhEen+UiL1S|sqg@7vp z?m|_{1n?{XpPmAoLLO$C0)wh>Fx_R%?=i6S+tqz&Z(0AZ%Mjo`ZL`?183Ffn{fb>b z-^3=!Vi(xZx*2Sv38Q@pqEjGr?GU>5MfMzQejpx@-25?#EJR3S+Z?7D&lKRniI)(A z$V#yPj4X)Re*8o%^w>m>9>xEc%o8w$JP3aS1SLtvcK|J<;Rt$?SHQ% zQ%=rl)On@y%gQ-bVwLo#Rd-fZRy|PlcUAq!e74G4^}DK2)w@-nR!w)E2B23e7r1Uf zYVzO5l{fvOEaf+q+~sn)w!7M0Z@W&p>T2q0@~f9rUtfJo^-rp+tG89}t?sDaTzj@A zP<^Vpu4ZY?Ej2$!onO{?Y7$b-=QWwNxwSXeHr2M&K3n^%+VR@Fx-08$sry;o=}K2! zW8H3ichq&%o~~@EJy`cvomMwocf9V8bzjtdSC?CVU;ShCJL~_xzODXO_3icZY6@!R zS1+u;wtjW}&+4n{>*^0yzg~B?_U&4{AK-gG(gnGW`}u!=cMEta0e^+StCnIfbnKTA zB;tBlkL#L6AiAmE#Xp;qMN=vc>R~OW3~MnM{~y3)#qRFs9=L3w#NTi5 zA8&vXMsl+J;)x4}WjY1RMe2w={Hd zY890DFjSglDTiWO{4IL*#u05ukM{AF{8b!!+~>Qno<9)K%y=JRkXS=))UK#Si4Uef z9%6$IIiYcNa1gANpM(Ok64#>%jRBj41)M^6H)jd;!3NkTM75D5_&%(~B_ri$vP0DM zln$^)jJY@Pt1WMFJx?W+W7{JN_d^ zB2MCk`U|+B2>WA0oKp15F=j9LpG%uB$+)j(>%J0AM2=`NfMV7N!WZ;MhqM^jE`!g> zdKTI+5#;qPC1@y7j3sadLev^Ow+F`-gVaH=vuuTz$S5S@CMXVS!+HP=XGYM7>JVJT zh=#{xfoz}|!wp_2FO77Bm!iPVWH9aVVJD0T+^pJkrWi6z4`iHC&W)6mG+kVU1Q=)jPyn9dy3r-Vvd+SJ*p?ITXPRHpigUh`gQXZ{=OBCUdKaFp$Y}B4 zW=uo3t38jE%)=S>RCy-*mB*V8J2~R&DNXm`}#ihmv?PjzwPmDf817azkL5|_m@0y^nn!*Ha_^mgPR`u z?4e5^-u3XqkDPd<`)?k8^u8lp~N)(y^mt zqT(UUz$in;h>-{frRb}eMKvV^b?HUpL8mccC+;$*MCme2jXNF|WLu`AnTGXX!XM^V zRP9xgBqtlm{$al!X78UO^=6JqQi*$@HY7Jvk4!hedzc`hTF*s%jvkrIOwW0K1{3v3 zdF@ruhhe7=wqd+jFGfN}SmNfza(ZxHlk@t(Eg2C@Bv0yw%q?^e?<9v|_1HerWZz^m z0^9^Ssx2AOUf4E=;_vtIl&**t4;ew3xEe^n0z~w8i1UtKlhtHajLU-UP)`A-_R36t zrZ|xSL$Vo69O9zLh_uZNNyIUSHnJ>~;fS`PyoFDMTqY*vAm|W2sG$!sfx}b{tFC~} zB(F^Jbc^H-o}53d2W5Cw68y;?s{Lv>3?cNxP(mCv(-x>eB4!yec|=DkGu6hhhL@UQ zrGR>vc+9YW4AVb%&w$wCo`)7hdjs}}K}M5^KS-o-CFzk#9bm7NAx$D55?%=gaH`HJ zN5*94RM9w75p(>MquLl#6EK4HT#s^@VBN4Z3l)hX!72wD1Vu?5ImakKP^45h zA45mYr^=wyO-qSt=qf5e4B+985Me3k`RItc`_D69fn=yh}6Lvjr z!7f-j2AVoS69e8iht&gvOj+b8K-;5mPr_sk1O8Z0QvATFfxY-PP%9?G(<08ce6 zP)<;30J*cJSRtIp#!MV@Vpwhu!^-DkNII=E;7(f>mXqLij3Kv(&G5=&I>?6=lr1>A z)a^+o5*B;>nH$HTk}YJ8D0)sE;T7bhF(YRjwiw(wG6pHL!hS21%5Tyb(iNC%a(-+r z0WJQ3L@xiN9(N_}JKn;l#YZ$PD$~3l1zL0ktmBS8QNh<2B#-8dMkd-_PbSXWC+R0TZJAzQiCm77-X-#Y*7dw=p&Z zQSjTc{IRiQf3052zl<^d#)3TAeM+!??lw5M*E{GB{5)v)Jof$u30LzdT zCD~`xcG;qslr+_09aWVrQww1I6W|@d>V?UDvNA>zeM^MH4pP$Z^F&o5S!F!YE$Akw z$7+d2){%J&x(*4%L5f_uWhULM1u>V5vNjqZ%k#Kw)&rI2f=AY)wrI2xUZ%qXYIVLufHs z1j%qXXdP@c<&J7@xnG1&iT*6%w^nipNCJL)G9w{&h zQ)XHMg=1BTwQz&D)&&ikW%+br$jlBf$sibxzT3=z{6h<5ZYyaxX?QGJ^IjlJFa|Q_ zV=_i5NGB&@a!%ObI{wzA7CI_8#Uo*+irr`-ra|RtPGM>flkB&!P(bh5oJ9=6pC1;N z&G=x4W9L}ENiXRx0HzQ>*)9`0M{^oY^CYDF#tKth$77OVsmYW|7Im7NQqXU!I9vn9 zY^;AVE!yxvC5C`#!~ggQ90nLzaDC9B#ljTK-m40!;Q<~>7nll18MFZ(SyLJywiuKV z7J_Uk0btdN#H{^#*anB8G zA*rV>!2a@?#_5}5h6$yZd)DPGl-IevMe=&Lc#m7W-K}ICEO+DHJ)Td&sggH}ThAh2 zx%%KH_p{6Jo}H&Rx$!2@mp8d_`Y_Jz@;~Xub)eOaXno;uXs_G6-uHrAe$g$zLcowG z9o^@~)+_cqv5AZ$6u*01Ty+llVa08xW2WOQCPQ8z)ctzg1h8xsEEP|{g*p(qp zp#TUuCFfI+?G{%xF2gg<>G_fiJ8hZjwWW(1bwmuSS0j+l2Pr z>=6gIuPOAnx|csFFY!FpyTo&iDqLe`^*=RGy0)=@_dx$Y45%Y5@2EeQ3q5!oc}b)9 z9qcr(YAUU3^d4`q)b1A3CwgdGGmcR^<~;@ws3qa6UmoaxdY}vc`}Yj&%ge;F{p&`t zwuyq`JL2K1Jp0qtX~^Pf95Ih{SoE}IV%`3Aqi?ZCF7iZ+JfJ=ezX|Tv?fXCRj+*0? zp1ytm2Ok2TzNBrpDwGhuT?3552A3jAyC&`h*1T_jk}y9XXDPkg{8TCDNgrNCE$nJe z@L$iHD>@S9#N^LK9f^=R;S|o}iQ{ID18CyjVwZBJ`P~rSFZ%ApXS^H`oO1J134t|) zUVol2wfvs_xTfVj_FeSeizC9_zu%Sj-(BYKc(vnZZ?bVmzU%3g#H2`}XX0Lj{ug_E zVA>Bo#iwreOsvHF&CY#Nh+*3DU9`{>DfYBw_=-Jx?*6o{VzFSy!JjsPJ(BN-o_tZ< zaj=4ZeNyZ(`|+I*ILkAxnYGf>-M@37ccsTA&bHa4o_qP3f%ozX7WcN%?!RKAVat_Q;DZL~AG$0sQXDS`GmZ<}X79K&-B@8FmQbHbIj zVp*YhWx+!FJb2yG#aG#B-y%=Tu(A`Jjg>yq)Db6v?A?I}jc0o(`6oN14`be#p4avV z<&x$Y7v&e1dUoY~Nx-!jOD$b?;_SDLSfjOgi=6pI;IE8)DVUDj*z{}N3 z8=7V>$jI9X({ccIE2!*8(y?sFL=pxD9~hr=^oL4G1;^W{(aw=|+#?a$I3Y^@cmm)s- zud)%a(1;UL&onfY3L+lqq0c@974yA)epNRhglxR@CY)}AM;SBOAfhcqRl7 zIlOJhNOx|>)5$x`tjGk0Jo~G=U4gH?%mW>TLT?aO_l!tJs@c!*YMrrFJgqW01T+xlgl~>HV2e0CL zN*`#;T>hVC8U??F%nw|b=F9^Q2=xJp=pcbTrRQ z1XOsX!jePrY}|om8}1F=4P8hfC@xd{HX9Kz-)7^Cw&|44#>Isrh>^@;Nnv6(K;{5s z7C_<@Hv$J}@7vH;pK+jxC$n*qow#U*_%$B5%NDPjfwwodE}`flmsDb2(Q={$d-Vv( z!YO8FOJACSkP8-Vu`63mrwBWJ^Zr@=+6=v5B8#H)CUV*f@Z~*$Kp8Zm!;bS^1@u{v zmYy+f;S~jo3JNaCE0|kQFgIsr?(ECw6f7-RoXu*?zpS9((t?5_`f=q|xMbje=iam{ dI}fC#{fn5L*7(>j;o|264Z{|iPz|H%LV diff --git a/src/inc/stdlib.plh b/src/inc/cmdsys.plh similarity index 97% rename from src/inc/stdlib.plh rename to src/inc/cmdsys.plh index 886e59a..4928ded 100644 --- a/src/inc/stdlib.plh +++ b/src/inc/cmdsys.plh @@ -1,4 +1,4 @@ -import stdlib +import cmdsys predef putc, putln, puts, getc, gets predef call, syscall predef heapmark, heapallocallign, heapalloc, heaprelease, heapavail diff --git a/src/libsrc/memmgr.pla b/src/libsrc/memmgr.pla index 30a3177..a0d6191 100644 --- a/src/libsrc/memmgr.pla +++ b/src/libsrc/memmgr.pla @@ -1,8 +1,8 @@ // // Handle based swapping memory manager // -import stdlib - predef syscall, call, memset, getc, gets, putc, puts, putln +import cmdsys + predef syscall, call, getc, gets, putc, puts, putln predef memset, memcpy, modaddr, modexec predef heapmark, heapallocalign, heapalloc, heaprelease predef isugt, isuge, isult, isule @@ -163,7 +163,7 @@ end def get_info(path, infoptr) byte params[18] - memset(@params, 18, 0) + memset(@params, 0, 18) params.0 = 10 params:1 = path syscall($C4, @params) @@ -609,7 +609,7 @@ export def hmemNew(size) // Allocate a new page table // hpgtbl[page] = heapalloc(PG_SIZE) - memset(hpgtbl[page], PG_SIZE, HMEM_AVAIL) + memset(hpgtbl[page], HMEM_AVAIL, PG_SIZE) //puts(@allocpgstr);puth(hpgtbl[page]);putln // // Check if we need to allocate the memory pool diff --git a/src/samplesrc/dhcp.pla b/src/samplesrc/dhcp.pla index b8d948f..7bee64a 100644 --- a/src/samplesrc/dhcp.pla +++ b/src/samplesrc/dhcp.pla @@ -1,8 +1,8 @@ // // DHCP // -import stdlib - predef syscall, call, memset, getc, gets, putc, puts, putln +import cmdsys + predef syscall, call, getc, gets, putc, puts, putln predef memset, memcpy, modaddr, modexec predef heapmark, heapallocalign, heapalloc, heaprelease byte MACHID @@ -187,11 +187,11 @@ memcpy(@DHCP.dhcp_clientha, @localha, 6) // // Clear our local IP address // -memset(@localip, 4, 0) +memset(@localip, 0, 4) // // Set subnet mask to all 1's // -memset(@subnet_mask, 4, IP_BROADCAST) +memset(@subnet_mask, IP_BROADCAST, 4) // // Prepare to receive DHCP packets from a server // diff --git a/src/samplesrc/etherip.pla b/src/samplesrc/etherip.pla index d48cbe8..3504c44 100644 --- a/src/samplesrc/etherip.pla +++ b/src/samplesrc/etherip.pla @@ -1,5 +1,5 @@ -import stdlib - predef syscall, call, memset, getc, gets, putc, puts, putln +import cmdsys + predef syscall, call, getc, gets, putc, puts, putln predef memset, memcpy, modaddr, modexec predef heapmark, heapallocalign, heapalloc, heaprelease byte MACHID @@ -422,8 +422,8 @@ export def sendIP(ipdst, proto, seglist, size) hdr:ip_chksm = 0 memcpy(@hdr.ip_src, @localip, IPADR_SIZE) if !ipdst // IP_BROADCAST - memset(@hdr.ip_dst, IPADR_SIZE, IP_BROADCAST) - memset(@dstha, MAC_SIZE, MAC_BROADCAST) + memset(@hdr.ip_dst, IP_BROADCAST, IPADR_SIZE) + memset(@dstha, MAC_BROADCAST, MAC_SIZE) else retry = 0 while ipdst=>0 <> remoteip:0 and ipdst=>2 <> remoteip:2 @@ -431,9 +431,9 @@ export def sendIP(ipdst, proto, seglist, size) return -1 // ARP failed fin retry = retry + 1 - memset(@dstMAC, MAC_SIZE, MAC_BROADCAST) - memset(@remoteha, MAC_SIZE, 0) - memcpy(@remoteip, ipdst, IPADR_SIZE) + memset(@dstMAC, MAC_BROADCAST, MAC_SIZE) + memset(@remoteha, 0, MAC_SIZE) + memcpy(@remoteip, ipdst, IPADR_SIZE) opARP = ARP_REQST writeEther(@ARP, t_earp) for timeout = 1000 downto 0 @@ -500,7 +500,7 @@ export def recvUDP(localport, callback, param) if !portsUDP portsUDP = heapalloc(MAX_UDP_NOTIFIES * t_notify) if !portsUDP; return -1; fin - memset(portsUDP, MAX_UDP_NOTIFIES * t_notify, 0) + memset(portsUDP, 0, MAX_UDP_NOTIFIES * t_notify) fin // // Look for an existing notification on localport diff --git a/src/samplesrc/hello.pla b/src/samplesrc/hello.pla index 36f52b6..fe78b6a 100644 --- a/src/samplesrc/hello.pla +++ b/src/samplesrc/hello.pla @@ -1,4 +1,4 @@ -import STDLIB +import cmdsys predef puts end diff --git a/src/samplesrc/hgr1.pla b/src/samplesrc/hgr1.pla index c9361dd..c0e7b33 100644 --- a/src/samplesrc/hgr1.pla +++ b/src/samplesrc/hgr1.pla @@ -1,4 +1,4 @@ -import STDLIB +import cmdsys predef memset // // System flags: memory allocator screen holes. @@ -13,7 +13,7 @@ end sysflags reshgr1 // Reserve HGR page 1 -memset($2000, $2000, 0) // Clear HGR page 1 +memset($2000, 0, $2000) // Clear HGR page 1 ^$C054 ^$C052 ^$C057 diff --git a/src/samplesrc/hgr1test.pla b/src/samplesrc/hgr1test.pla index 82a1b2a..ed707c6 100644 --- a/src/samplesrc/hgr1test.pla +++ b/src/samplesrc/hgr1test.pla @@ -1,4 +1,4 @@ -import STDLIB +import cmdsys predef memset, memcpy, getc, heapalloc, heapmark, heaprelease end import HGR1 diff --git a/src/samplesrc/icmp.pla b/src/samplesrc/icmp.pla index 78b0a8e..cb5af9c 100644 --- a/src/samplesrc/icmp.pla +++ b/src/samplesrc/icmp.pla @@ -1,8 +1,8 @@ // // ICMP service // -import stdlib - predef syscall, call, memset, getc, gets, putc, puts, putln +import cmdsys + predef syscall, call, getc, gets, putc, puts, putln predef memset, memcpy, modaddr, modexec predef heapmark, heapallocalign, heapalloc, heaprelease byte MACHID diff --git a/src/samplesrc/memtest.pla b/src/samplesrc/memtest.pla index f424a96..e055a73 100644 --- a/src/samplesrc/memtest.pla +++ b/src/samplesrc/memtest.pla @@ -1,4 +1,4 @@ -import stdlib +import cmdsys predef syscall, call, memset, getc, gets, putc, puts, putln predef memset, memcpy, modaddr, modexec predef heapmark, heapallocalign, heapalloc, heaprelease @@ -50,13 +50,13 @@ hmemDel(d) memfre=hmemFre(@memlrgst);puth(memfre); putc(' '); puth(memlrgst); putln memptr = hmemLock(a) -if memptr; memset(memptr, MAX_MEMBLK_SIZE, $1111); fin +if memptr; memset(memptr, $1111, MAX_MEMBLK_SIZE); fin hmemUnlock(a) memptr = hmemLock(b) -if memptr; memset(memptr, MAX_MEMBLK_SIZE, $2222); fin +if memptr; memset(memptr, $2222, MAX_MEMBLK_SIZE); fin hmemUnlock(b) memptr = hmemLock(c) -if memptr; memset(memptr, MAX_MEMBLK_SIZE, $3333); fin +if memptr; memset(memptr, $3333, MAX_MEMBLK_SIZE); fin hmemUnlock(c) memptr = hmemLock(a) if memptr; puth(a); putc('='); puth(*(memptr + MAX_MEMBLK_SIZE - 2)); putln; fin diff --git a/src/samplesrc/mon.pla b/src/samplesrc/mon.pla index 04be5ac..3b49838 100644 --- a/src/samplesrc/mon.pla +++ b/src/samplesrc/mon.pla @@ -1,4 +1,4 @@ -import stdlib +import cmdsys predef syscall, call, memset, getc, gets, putc, puts, putln predef memset, memcpy, modaddr, modexec predef heapmark, heapallocalign, heapalloc, heaprelease diff --git a/src/samplesrc/profile.pla b/src/samplesrc/profile.pla deleted file mode 100755 index 0fa01c2..0000000 --- a/src/samplesrc/profile.pla +++ /dev/null @@ -1,91 +0,0 @@ -// -// Include all imported modules and their data/functions. -// -include(stdlib.plh) -// -// Profile commands. -// -const stop = 0 -const start = 1 -const dump = 2 -// -// Declare all global variables for this module. -// -byte profstr[] = "PLASMA Profiler\n" -byte optstr[] = "Module to profile" -byte ttlstr[] = "Total executed opcodes: $" -byte hdrstr[] = " OP COUNT\n" -byte valstr[] = '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' -word cmdstr -byte opstats[260] -// -// Define functions. -// -asm equate - !SOURCE "vmsrc/plvmzp.inc" -end -asm profiler - LDA ESTKL,X - CMP #$02 - BNE + - INX - LDY ESTKL,X - STY DSTL - LDY ESTKH,X - STY DSTH -+ STX ESP - JSR $03E2 - LDX ESP - RTS -end -def printb(b) - putc(valstr[(b >> 4) & $0F]) - putc(valstr[ b & $0F]) -end -def printw(h) - putc(valstr[(h >> 12) & $0F]) - putc(valstr[(h >> 8) & $0F]) - putc(valstr[(h >> 4) & $0F]) - putc(valstr[ h & $0F]) -end -def printl(lo, hi) - printw(hi) - printw(lo) -end -def dumpstats - byte opcnt, linecnt - word longptr - profiler(@opstats, 2) - puts(@ttlstr) - printl(opstats:0, opstats:2) - putln - puts(@hdrstr) - longptr = @opstats:4 - linecnt = 0 - for opcnt = 0 to 63 - if (longptr):0 | (longptr):2 - putc('$') - printb(opcnt << 1) - putc(' ') - putc('$') - printl((longptr):0, (longptr):2) - linecnt = linecnt + 1 - if linecnt % 20 == 0 - getc - fin - putln - fin - longptr = longptr + 4 - next -end - -puts(@profstr) -puts(@optstr) -cmdstr = gets($BA) -if ^cmdstr - profiler(1) - modexec(cmdstr) - profiler(0) - dumpstats -fin -done diff --git a/src/samplesrc/rod.pla b/src/samplesrc/rod.pla index 0d94fe8..23edd46 100644 --- a/src/samplesrc/rod.pla +++ b/src/samplesrc/rod.pla @@ -1,4 +1,4 @@ -import STDLIB +import cmdsys predef syscall, call, memset, getc, putc, puts, modaddr byte MACHID end @@ -38,7 +38,7 @@ byte a1err[] = "Apple 1 not supported.\n" byte a3err[] = "Apple 3 version mismatch.\n" byte exitmsg[] = "Press any key to exit.\n" byte goodbye[] = "That's all, folks!\n" -byte stdlib[] = "STDLIB" +byte cmdsys[] = "cmdsys" // // Screen row address arrays. // @@ -212,8 +212,8 @@ def a3grmode(mix) dev_control(devcons, 17, @grcharset) a3viewport(0, 20, 40, 4) for i = 0 to mix - memset(txt1scrn[i], 40, $0000) // text screen - memset(txt2scrn[i], 40, $0000) // color screen + memset(txt1scrn[i], $0000, 40) // text screen + memset(txt2scrn[i], $0000, 40) // color screen next return grscrn(@txt2scrn) // point to color screen end @@ -264,8 +264,8 @@ when MACHID & $C8 gotoxy = @a3gotoxy grmode = @a3grmode textmode = @a3textmode - if modaddr(@stdlib):0 == $0010 - devcons = modaddr(@stdlib).5 // devcons variable from STDLIB + if modaddr(@cmdsys):0 == $0010 + devcons = modaddr(@cmdsys).5 // devcons variable from cmdsys else puts(@a3err) return diff --git a/src/samplesrc/rogue.combat.pla b/src/samplesrc/rogue.combat.pla index 359390e..fea5868 100644 --- a/src/samplesrc/rogue.combat.pla +++ b/src/samplesrc/rogue.combat.pla @@ -1,4 +1,4 @@ -import STDLIB +import cmdsys predef syscall, call, memset, getc, putc, puts, putln predef memset, memcpy predef heapmark, heapallocalign, heapalloc, heaprelease, heapavail diff --git a/src/samplesrc/rogue.io.pla b/src/samplesrc/rogue.io.pla index 5d710e2..e9f2e4f 100644 --- a/src/samplesrc/rogue.io.pla +++ b/src/samplesrc/rogue.io.pla @@ -1,4 +1,4 @@ -import STDLIB +import cmdsys predef syscall, call, getc, putc, puts, putln predef memset, memcpy, modaddr predef heapmark, heapallocalign, heapalloc, heaprelease, heapavail @@ -8,7 +8,7 @@ end const modkeep = $2000 const modinitkeep = $4000 -byte stdlib = "STDLIB" +byte cmdsys = "cmdsys" byte[] initstr byte = " ( )\n" @@ -251,7 +251,7 @@ when MACHID & $C8 home = @a3home gotoxy = @a3gotoxy tone = @a3tone - devcons = modaddr(@stdlib).5 // devcons variable from STDLIB + devcons = modaddr(@cmdsys).5 // devcons variable from cmdsys open = @a3open read = @a3read close = @a3close diff --git a/src/samplesrc/rogue.map.pla b/src/samplesrc/rogue.map.pla index c2ee9a7..774a62e 100644 --- a/src/samplesrc/rogue.map.pla +++ b/src/samplesrc/rogue.map.pla @@ -1,15 +1,14 @@ // // Map module // - -import STDLIB +import cmdsys predef syscall, call, getc, putc, puts, putln predef memset, memcpy, modaddr predef heapmark, heapallocalign, heapalloc, heaprelease, heapavail byte MACHID end -import ROGUEIO +import rogueio const O_READ = 1 const O_WRITE = 2 const O_READ_WRITE = 3 @@ -173,14 +172,14 @@ export def loadmap(level) if not viewmap viewmap = heapalloc(mapsize) fin - memset(viewmap, mapsize, $A0A0) + memset(viewmap, $A0A0, mapsize) // // Load catacomb map from file // if not map map = heapalloc(mapsize) fin - memset(map, mapsize, $2323) // Solid walls + memset(map, $2323, mapsize) // Solid walls // // Set level map and read it // diff --git a/src/samplesrc/rogue.pla b/src/samplesrc/rogue.pla index 44b21db..be37d78 100755 --- a/src/samplesrc/rogue.pla +++ b/src/samplesrc/rogue.pla @@ -1,11 +1,11 @@ -import STDLIB +import cmdsys predef syscall, call, memset, getc, gets, putc, puts, putln predef memset, memcpy predef heapmark, heapallocalign, heapalloc, heaprelease, heapavail byte MACHID end -import ROGUEMAP +import roguemap const xcentr = 20 const ycentr = 12 const scrnwidth = 40 @@ -37,12 +37,12 @@ import ROGUEMAP predef loadmap, getmaptile, setmaptile, updtmaptile, lighttorches, drawmap, drawvisentity end -import ROGUECOMBAT +import roguecombat predef fight word entity, entities end -import ROGUEIO +import rogueio predef puti, toupper word rnd, getkb, home, gotoxy, tone end @@ -229,7 +229,7 @@ def status end def clearstatus - return memset($07D0, 40, $A0A0) + return memset($07D0, $A0A0, 40) end // diff --git a/src/samplesrc/sieve.pla b/src/samplesrc/sieve.pla index c8779cd..7eee507 100644 --- a/src/samplesrc/sieve.pla +++ b/src/samplesrc/sieve.pla @@ -1,4 +1,4 @@ -import STDLIB +import cmdsys predef syscall, call, memset, getc, putc, puts, putln byte MACHID end @@ -29,7 +29,7 @@ end beep //for iter = 1 to 10 - memset(@flag, sizepl, TRUE) + memset(@flag, TRUE, sizepl) count = 0 for i = 0 to size if flag[i] diff --git a/src/samplesrc/staticip.pla b/src/samplesrc/staticip.pla index d85fd48..08792e3 100644 --- a/src/samplesrc/staticip.pla +++ b/src/samplesrc/staticip.pla @@ -1,8 +1,8 @@ // // Static IP // -import stdlib - predef syscall, call, memset, getc, gets, putc, puts, putln +import cmdsys + predef syscall, call, getc, gets, putc, puts, putln predef memset, memcpy, modaddr, modexec predef heapmark, heapallocalign, heapalloc, heaprelease byte MACHID diff --git a/src/samplesrc/test.pla b/src/samplesrc/test.pla index e815673..e62d8ea 100755 --- a/src/samplesrc/test.pla +++ b/src/samplesrc/test.pla @@ -1,7 +1,7 @@ // // Include all imported modules and their data/functions. // -include(stdlib.plh) +include(cmdsys.plh) include(testlib.plh) // // Structure definition. diff --git a/src/samplesrc/testlib.pla b/src/samplesrc/testlib.pla index 7efb083..6a2e829 100755 --- a/src/samplesrc/testlib.pla +++ b/src/samplesrc/testlib.pla @@ -1,7 +1,7 @@ // // Include all imported modules and their data/functions. // -include(stdlib.plh) +include(cmdsys.plh) // // Module data. // diff --git a/src/samplesrc/uthernet.pla b/src/samplesrc/uthernet.pla index c894714..15d1008 100644 --- a/src/samplesrc/uthernet.pla +++ b/src/samplesrc/uthernet.pla @@ -1,5 +1,5 @@ -import stdlib - predef syscall, call, memset, getc, gets, putc, puts, putln +import cmdsys + predef syscall, call, getc, gets, putc, puts, putln predef memset, memcpy, modaddr, modexec predef heapmark, heapallocalign, heapalloc, heaprelease, heapavail byte MACHID diff --git a/src/toolsrc/sb.pla b/src/toolsrc/sb.pla index c04649c..cb5d040 100644 --- a/src/toolsrc/sb.pla +++ b/src/toolsrc/sb.pla @@ -90,7 +90,7 @@ word = $0450,$04D0,$0550,$05D0,$0650,$06D0,$0750,$07D0 // Editor variables // byte nullstr = "" -byte version = "PLASMA ][ SANDBOX VERSION 00.12" +byte version = "PLASMA ][ SANDBOX VERSION 00.80" byte errorstr = "ERROR: $" byte okstr = "OK" byte outofmem = "OUT OF MEMORY!" @@ -512,7 +512,7 @@ PARAMS: !WORD 0000 RTS end // SET MEMORY TO VALUE -// MEMSET(ADDR, SIZE, VALUE) +// MEMSET(ADDR, VALUE, SIZE) // With optimizations from Peter Ferrie // asm memset @@ -520,25 +520,25 @@ asm memset STA DSTL LDA ESTKH+2,X STA DSTH - LDY ESTKL+1,X + LDY ESTKL,X BEQ + - INC ESTKH+1,X + INC ESTKH,X LDY #$00 -+ LDA ESTKH+1,X ++ LDA ESTKH,X BEQ SETMEX SETMLPL CLC - LDA ESTKL,X + LDA ESTKL+1,X SETMLPH STA (DST),Y - DEC ESTKL+1,X + DEC ESTKL,X BNE + - DEC ESTKH+1,X + DEC ESTKH,X BEQ SETMEX + INY BNE + INC DSTH + BCS SETMLPL SEC - LDA ESTKH,X + LDA ESTKH+1,X BCS SETMLPH SETMEX INX INX @@ -1099,8 +1099,8 @@ end def inittxtbuf word i - memset(strheapmap, strheapmsz, 0) - memset(strlinbuf, maxfill * 2, @nullstr) + memset(strheapmap, 0, strheapmsz) + memset(strlinbuf, @nullstr, maxfill * 2) numlines = 1 cursrow = 0 curscol = 0 @@ -1269,7 +1269,7 @@ def drawrow(row, ofst, strptr) if numchars >= 40 numchars = 40 else - memset(scrnptr + numchars, 40 - numchars, $A0A0) + memset(scrnptr + numchars, $A0A0, 40 - numchars) fin return memcpy(scrnptr, strptr + ofst + 1, numchars) end @@ -1288,7 +1288,7 @@ def drawscrn(toprow, ofst) if numchars >= 40 numchars = 40 else - memset(scrnptr + numchars, 40 - numchars, $A0A0) + memset(scrnptr + numchars, $A0A0, 40 - numchars) fin memcpy(scrnptr, strptr + ofst + 1, numchars) next @@ -1616,7 +1616,7 @@ def editline(key) if (editkey(key)) flags = flags | changed - memset(@editstr, 80, $A0A0) + memset(@editstr, $A0A0, 80) strcpy(@editstr, strlinbuf:[cursrow]) undoline = strlinbuf:[cursrow] strlinbuf:[cursrow] = @editstr @@ -2035,7 +2035,7 @@ def emit_word(wval) codeptr = codeptr + 2 end def emit_fill(size) - memset(codeptr, size, 0) + memset(codeptr, 0, size) codeptr = codeptr + size end def emit_op(op) @@ -4026,7 +4026,7 @@ close(0) // // Set memory bitmap // -memset($BF58, 24, 0) +memset($BF58, 0, 24) ^$BF58 = $CF ^$BF6F = $01 // diff --git a/src/vmsrc/a1cmd.pla b/src/vmsrc/a1cmd.pla index 6e3ecf8..e817967 100644 --- a/src/vmsrc/a1cmd.pla +++ b/src/vmsrc/a1cmd.pla @@ -39,7 +39,7 @@ predef loadmod, execmod, lookupstrmod // // System variables. // -word version = $0012 // 00.12 +word version = $0080 // 00.80 word systemflags = 0 word heap word symtbl, lastsym @@ -66,7 +66,7 @@ word cmdptr = @hexchar // make it point to a zero // // Standard Library exported functions. // -byte stdlibstr[] = "STDLIB" +byte syslibstr[] = "CMDSYS" byte machidstr[] = "MACHID" byte putcstr[] = "PUTC" byte putlnstr[] = "PUTLN" @@ -112,7 +112,7 @@ word = @modadrstr, @lookupstrmod word = @machidstr, @machid word = @argstr, @cmdptr word = 0 -word stdlibsym = @exports +word syslibsym = @exports // // CALL CFFA1 API ENTRYPOINT // SYSCALL(CMD) @@ -178,7 +178,7 @@ asm quit end // // SET MEMORY TO VALUE -// MEMSET(ADDR, SIZE, VALUE) +// MEMSET(ADDR, VALUE, SIZE) // With optimizations from Peter Ferrie // asm memset @@ -186,25 +186,25 @@ asm memset STA DSTL LDA ESTKH+2,X STA DSTH - LDY ESTKL+1,X + LDY ESTKL,X BEQ + - INC ESTKH+1,X + INC ESTKH,X LDY #$00 -+ LDA ESTKH+1,X ++ LDA ESTKH,X BEQ SETMEX SETMLPL CLC - LDA ESTKL,X + LDA ESTKL+1,X SETMLPH STA (DST),Y - DEC ESTKL+1,X + DEC ESTKL,X BNE + - DEC ESTKH+1,X + DEC ESTKH,X BEQ SETMEX + INY BNE + INC DSTH + BCS SETMLPL SEC - LDA ESTKH,X + LDA ESTKH+1,X BCS SETMLPH SETMEX INX INX @@ -990,18 +990,18 @@ heap = *freemem symtbl = allocheap($200) lastsym = symtbl ^lastsym = 0 -stodci(@stdlibstr, heap) +stodci(@syslibstr, heap) addmod(heap, @version) -while *stdlibsym - stodci(stdlibsym=>0, heap) - addsym(heap, stdlibsym=>2) - stdlibsym = stdlibsym + 4 +while *syslibsym + stodci(syslibsym=>0, heap) + addsym(heap, syslibsym=>2) + syslibsym = syslibsym + 4 loop // // Try to load autorun. // cmdptr = heap -memset(cmdptr, 128, 0) +memset(cmdptr, 0, 128) readfile(@autorun, cmdptr + 1) while ^(cmdptr + ^cmdptr + 1) >= ' ' ^cmdptr = ^cmdptr + 1 diff --git a/src/vmsrc/cmd.pla b/src/vmsrc/cmd.pla index 2db94b5..b44f91a 100644 --- a/src/vmsrc/cmd.pla +++ b/src/vmsrc/cmd.pla @@ -33,7 +33,7 @@ predef loadmod, execmod, lookupstrmod // // System variable. // -word version = $0012 // 00.12 +word version = $0080 // 00.80 word systemflags = 0 word heap word xheap = $0800 @@ -43,7 +43,7 @@ byte cmdln = "" // Overlay exported strings table // // Standard Library exported functions. // -byte stdlibstr = "STDLIB" +byte syslibstr = "CMDSYS" byte machidstr = "MACHID" byte sysstr = "SYSCALL" byte callstr = "CALL" @@ -91,7 +91,7 @@ word = @modadrstr, @lookupstrmod word = @machidstr, MACHID word = @argstr, @cmdln word = 0 -word stdlibsym = @exports +word syslibsym = @exports // // String pool. // @@ -192,7 +192,7 @@ asm reboot end // // SET MEMORY TO VALUE -// MEMSET(ADDR, SIZE, VALUE) +// MEMSET(ADDR, VALUE, SIZE) // With optimizations from Peter Ferrie // asm memset @@ -200,25 +200,25 @@ asm memset STA DSTL LDA ESTKH+2,X STA DSTH - LDY ESTKL+1,X + LDY ESTKL,X BEQ + - INC ESTKH+1,X + INC ESTKH,X LDY #$00 -+ LDA ESTKH+1,X ++ LDA ESTKH,X BEQ SETMEX SETMLPL CLC - LDA ESTKL,X + LDA ESTKL+1,X SETMLPH STA (DST),Y - DEC ESTKL+1,X + DEC ESTKL,X BNE + - DEC ESTKH+1,X + DEC ESTKH,X BEQ SETMEX + INY BNE + INC DSTH + BCS SETMLPL SEC - LDA ESTKH,X + LDA ESTKH+1,X BCS SETMLPH SETMEX INX INX @@ -1217,7 +1217,7 @@ def resetmemfiles // // Set memory bitmap // - memset($BF58, 24, 0) + memset($BF58, 0, 24) ^$BF58 = $CF ^$BF6F = $01 end @@ -1273,19 +1273,19 @@ heap = *freemem // // Init symbol table. // -stodci(@stdlibstr, heap) +stodci(@syslibstr, heap) addmod(heap, @version) -while *stdlibsym - stodci(stdlibsym=>0, heap) - addsym(heap, stdlibsym=>2) - stdlibsym = stdlibsym + 4 +while *syslibsym + stodci(syslibsym=>0, heap) + addsym(heap, syslibsym=>2) + syslibsym = syslibsym + 4 loop // // Try to load autorun. // autorun = open(@autorun, iobuffer) if autorun > 0 - cmdln = read(autorun, @stdlibstr, 128) + cmdln = read(autorun, @syslibstr, 128) close(autorun) else // diff --git a/src/vmsrc/plvm.c b/src/vmsrc/plvm.c index 07a8ee4..86fbd8b 100755 --- a/src/vmsrc/plvm.c +++ b/src/vmsrc/plvm.c @@ -874,7 +874,7 @@ void interp(code *ip) } } -char *stdlib_exp[] = { +char *syslib_exp[] = { "PUTC", "PUTS", "PUTSZ", @@ -902,12 +902,12 @@ int main(int argc, char **argv) /* * Add default library. */ - stodci("STDLIB", dci); + stodci("CMDSYS", dci); add_mod(dci, 0xFFFF); - for (i = 0; stdlib_exp[i]; i++) + for (i = 0; syslib_exp[i]; i++) { mem_data[i] = i + 3; - stodci(stdlib_exp[i], dci); + stodci(syslib_exp[i], dci); add_sym(dci, i); } if (argc) diff --git a/src/vmsrc/soscmd.pla b/src/vmsrc/soscmd.pla index 73b9f3e..66ce1f2 100644 --- a/src/vmsrc/soscmd.pla +++ b/src/vmsrc/soscmd.pla @@ -34,7 +34,7 @@ predef loadmod, execmod, lookupstrmod // // System variables. // -word version = $0012 // 00.12 +word version = $0080 // 00.80 word systemflags = 0 byte refcons = 0 byte devcons = 0 @@ -67,7 +67,7 @@ word cmdptr // // Standard Library exported functions. // -byte stdlibstr[] = "STDLIB" +byte syslibstr[] = "CMDSYS" byte machidstr[] = "MACHID" byte sysstr[] = "SYSCALL" byte callstr[] = "CALL" @@ -114,7 +114,7 @@ word = @modadrstr, @lookupstrmod word = @machidstr, @machid word = @argstr, @cmdptr word = 0 -word stdlibsym = @exports +word syslibsym = @exports // // CALL SOS // SYSCALL(CMD, PARAMS) @@ -179,7 +179,7 @@ JMPTMP JMP (TMP) end // // SET MEMORY TO VALUE -// MEMSET(ADDR, SIZE, VALUE) +// MEMSET(ADDR, VALUE, SIZE) // With optimizations from Peter Ferrie // asm memset @@ -187,25 +187,25 @@ asm memset STA DSTL LDA ESTKH+2,X STA DSTH - LDY ESTKL+1,X + LDY ESTKL,X BEQ + - INC ESTKH+1,X + INC ESTKH,X LDY #$00 -+ LDA ESTKH+1,X ++ LDA ESTKH,X BEQ SETMEX SETMLPL CLC - LDA ESTKL,X + LDA ESTKL+1,X SETMLPH STA (DST),Y - DEC ESTKL+1,X + DEC ESTKL,X BNE + - DEC ESTKH+1,X + DEC ESTKH,X BEQ SETMEX + INY BNE + INC DSTH + BCS SETMLPL SEC - LDA ESTKH,X + LDA ESTKH+1,X BCS SETMLPH SETMEX INX INX @@ -1274,12 +1274,12 @@ init_cons seg_find($00, @symtbl, @lastsym, $08, $11) lastsym = symtbl & $FF00 xpokeb(symtbl.0, lastsym, 0) -stodci(@stdlibstr, heap) +stodci(@syslibstr, heap) addmod(heap, @version) -while *stdlibsym - stodci(stdlibsym=>0, heap) - addsym(heap, stdlibsym=>2) - stdlibsym = stdlibsym + 4 +while *syslibsym + stodci(syslibsym=>0, heap) + addsym(heap, syslibsym=>2) + syslibsym = syslibsym + 4 loop // // Try to load autorun.