From b1d463f4e433cab82758963a4f011dd71df3bc84 Mon Sep 17 00:00:00 2001 From: David Schmenk Date: Sun, 25 Feb 2024 09:16:43 -0800 Subject: [PATCH] Update images to 2.11 --- images/apple/ASM-TK.po | Bin 143360 -> 143360 bytes images/apple/PLASMA-2.1-BLD.po | Bin 143360 -> 143360 bytes images/apple/PLASMA-2.1-FPSOS.po | Bin 143360 -> 143360 bytes images/apple/PLASMA-2.1-INST.po | Bin 143360 -> 143360 bytes images/apple/PLASMA-2.1.po | Bin 819200 -> 819200 bytes images/apple/PLASMA-2.11-UPD.po | Bin 0 -> 143360 bytes images/apple/PLASMA2-A3MAME.PO | Bin 143360 -> 143360 bytes images/apple/PLFORTH.PO | Bin 143360 -> 143360 bytes images/apple/apple3.hd | Bin 5177344 -> 5177344 bytes src/makefile | 2 +- src/mkrel | 4 ++- src/samplesrc/testasm.pla | 4 --- src/samplesrc/testext.asm | 58 ++++++++----------------------- src/samplesrc/testrel.asm | 24 +------------ src/vmsrc/apple/a1cmd.pla | 8 ++--- src/vmsrc/apple/cmd.pla | 4 +-- src/vmsrc/apple/cmdjit.pla | 5 ++- src/vmsrc/apple/sossys.pla | 6 ++-- src/vmsrc/apple/sossysjit.pla | 4 +-- src/vmsrc/c64/cmd.pla | 40 ++++++++++++++++----- src/vmsrc/c64/plvmc64.s | 26 ++++++++++++-- 21 files changed, 87 insertions(+), 98 deletions(-) create mode 100644 images/apple/PLASMA-2.11-UPD.po diff --git a/images/apple/ASM-TK.po b/images/apple/ASM-TK.po index 1809af87c1a8d01f4efc0ea2d050228acbf494b6..bd1352317c9c1745641522a7ad486ead398c6b3d 100755 GIT binary patch delta 1492 zcma)6O>Y!87`7)V1c^yDl_-!3)lovoHUX9o!C{MpGxjnL9?!&{At|i{LPXqHt{fnN zUjVUG^-8GPYt_BCQq>Qs2cpuY3UEQ|g{s8Z`Q^Rkk_vhT?)Fi0$yqiZDO(Qh^2SP*WHL5scH$ts*BX3q$ z2Eg2PqID#lPG1J=t3E?7;{CE zlogT_nF4VvtlNdBW5Yf$By7*D18S;PNAy zi&PnCWOU@4PS(yiTY3i!=fquS=0wO$-t$g6uZ#r4Ib|dm5Sb@gS&^Rw`(RcE!drJz z27)nj!j85NHJMJcv>V?D6)dUiHfmvm=TY48%Oj}o$eAyoNuC08Irkh1m2;hG4!?vl zrnzz8%D3e-wNtDXS{(ef;tD_?u7E@W>+jOKC;$iJnLALC;AXa8AM~7XmCq8YSjl)j zg#Snuupsz9-WRGL(AC$9O5@mf8zy-yjPDdkZjZJno33+t1t8;pwII2FH+(sO)SYts zfB0;?jVC?FP^FgLTVehbg^z7^hWNbd0wx7MMdg`691(o75 z??Q5%!s-gGh$*6|yE_0eZ!~ZuWf~I6D4Ce7)j;ZeDJ1Y=B5>QoD)%z8D z{N>H^93R}aFhJG+PB~%x;-@nr$pE-pjw6m7B`Vz^3V6}GoI6+d;WCii<-!zzIxApi zV$ZcJRYn1rBP5|wEEF$40gY6b0_w}v);12e?!B16>yuOKPlg`j0I&ax?{9v;iI@HZ DQNe#R delta 425 zcmZp8z|ru4V*@7-EBpWd{||5G;}K_Kq&F{|6wg@i%)pe&z+fl92*iia9=Uuon1R(JH76&3 zrQiaAQ&TTYIiSG6-~)7wdwzaOQf2B&H56fn5OD#9m_`-`hDHts21W@621h9d!HJ3t zj1yHDm>Bhed_xAci55V-0l$ShIF$xlqNkI7TgL39 Tn30KbnHVEun*`%B2_^{uFOd&7 delta 65 zcmZp8z|ru4V}l^iWC13@%}PAXWsI_$)tZ9a7`3KXaWKkq9A;qfGZ5x?+|0<7$heG) Vk!P7WBjaKLCdM`i#$^&r5&%{_56=Jq diff --git a/images/apple/PLASMA-2.1-FPSOS.po b/images/apple/PLASMA-2.1-FPSOS.po index f4d0ce3bee36b2ce6ad81464aca00a55b24e0f81..fcb69e4d06cb8d7caf969e1ef1e856128018922a 100644 GIT binary patch delta 2942 zcmb`Je^^u38OP7Lgcy84ei$IbJU#(wj1<#Y(Z^BCM1F~cB*LLX9=qw(`=HNeeYQby z+QD$7Jk)NiN2OMWw6?T4k=%O|A)DRs2TGaNi9*4a&8Kz~ux_iHf2@-g_TD50$k>0& zANSsK&i8%K`@Z-65SPaC!>l4?T?mromREF@sM3oSru&1}Pf|D57nzXqYn7m*tM`H4{3K8^z8{gSkIq_kzea zyxtS#S{kW|?26@N*T*|YTvINMkR|vwx=PJwzsye%m#|E687mi!Y`?gY-4@p{Bt6U4 zi|d(FEMPl2o@WQ7DyEZoRv^`~gVHN3PCCL)IZv=5r@BaYQ4~ljjpRgMddFTkE$br7DpcR27^o<1mjwk{ezxw&W8n5&GCBDK?i%5=ylQ_U3CiLQ}*(lB@Tg?5!ar_ z2Gt5)e`t^1u$|r*O~?SLhS&27GUVhn)oNbtR=}0x)#)e(G6S&!Z8YDT;yD7F@QBxt zqjb?&uF~RM6GyI5=~5xyM<*_2;;+-ym&@=`dg$`1_=6I}6UWDx7oiqphY2%6&QBVtGcyV5FW~yA3 zIEf&MWQzKKJ4lDygla5K zCLFf$DYOM35#4=}Do&~KEa;!axC&T#h~0x7s;`|3Kw{}C5?&A*1(zR^X9QY&HkE$< zhoL;XNEs84u|Bbt-4{HToH1vluFZT>}i+MZG-oF*NN27_vyfkj3-ypMW8|%ut_57=7k$Juaf% zcM~IbyA9dI?k2n4q=??Ro4)V`L1rkIHCKEF41EU}YNWc+Z_S5!KSEa8IJ!jJ9D-0b zDG~r7zy5p5|k?|~SrGw+C_)`FyR5BP5h}VaTrE9u7WK=4d4;AF$ zxcm66&$+njnteaof8eDb*Vg@{{@_m=>@PRAY+Hy=dSW;$cK=PAs*sP*7F`_H)*eD( zC?age(FQ9`NMBHronKfUJlrOKj>1urGF0|NzO9s$1XXDAFjAnaicr~-d|R2NXol={ zG#@R9k!7{h9|TP(wKUt3H&gc(Qlc9Xq3)i{x2;}fdfJ#{&CQdYD&IqK2&DvNIyt*0 zl$K}CD=rPHkn${wMMyVWW@tjgr8y;qHWEDXqi@V{SU17{P;0vybKEPh!XMBiZr5Oi z;%CjjcnwBhVJ}{cr{;yxBS(FUUTnZq;Snvz-Z*~Zm#rt;VDg{1-Gt-9-#qp9JMA!> z!0owse(bvr<~-fu5=6=EIn&wY{gpTN`}hI4v*D@am|wsDo8NYyJAdI~&!x+~AN2hW z>>l8*A7bs|zzcj0YqwvWBibvFRCck=oHw1+wf`Xt$$elh8SJ|gws5RR_I4bsvG3ukchg~fHEgzR*wQBp^2>AcimhOrEgLJYLo23- zwBj}Irq{6$#{Iq@f|$fztys&=bku|*ft>oxZ&N@_Fq9Ld_maER$>eo zD?WlC)H6TzpqB=`o8Fd#7##8k!61mh8#s-%@weuv*)S+QP%{_SYzfwkL&H$B#6aG@ zg283-W3X=s3HKIC%eKJ_TxqlgFjS79)d=qjmR2Xby#?De;&u@$@Fy+Y8N3olQ)rSF OeJ76gW_02YYyJZhaIX>o delta 2877 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 TnsC)cUN>;n&;IDE%xnJzytSob diff --git a/images/apple/PLASMA-2.1.po b/images/apple/PLASMA-2.1.po index 0b25a6e5e96c2eec077e36185213ce485d8b175a..d21a5481b506b1c90eb1da27e6439a3d11d1e1e8 100644 GIT binary patch delta 46757 zcmb?@dq5P`7ysQS4|yyoy7(Lu6-;fl7g`ywC9n|))>6OUZ>=SSrhUz{6q5mCh|IM` ze1HXvD?==bEXJSsyM8}ir1ajM@oj`m@Yk)h)n|w)hG^He?VyDGTm>Ag$sGUrF$)oN<(hIh$ zOnu%fpraQEiNIaCeoF&)bq|^lr~ht9kdl@)4>pCo8e$D`!x;xR7Y$x?s%Y@+!NYw* z5_PW!C+W@xr|I_eovX|0pQ}3@vPfs_|CTPd|3=;WMKfm)(zNw|R`>m`WwWPfqB5Md zTK$rfyf>ap4)Hz$sntg4q~uzyVQ@s0O;6rlJFLNA`U+#4u*+ zYkhUrSy$$a34dWsj>%f|%iL+c$R~@(WZY%SE=rj^B05p)m&1M zH2+yYYsgrlyz5`xbCjl6i>54SP|Pj*eL)!R!(Z&Lc(o|<#c`Q!{ZXxH_aJ%)mrC~E zWR7wyVHgwGQKT}A2LtHjJDF%09_aIaA zU<3Frs{Zez5tBkp8-mBwo6ZIsQX;!&DH%!iZ~TqAG9>FiLF08PY;@YRXlCO02}MB* zhjZ)t&zl((sm_`igy*wKpLCBJ6f~Boz~6Xv+RU_jpbG|MWodL^Jj+WrYLE^xdu@=8 zy^CZHqOW6~fY_G0TLlo>FhV;vWhfy_yA|Vorx~X)@u^1R|F0r5vU&8l3%z;)|kL+0zxz7CEw`6nxS5*#l^SFPE#B0Sj~Zt-EDi%Zn0n8kFUO zi~d+JplE2WpT2zX9OWz(RBeWWWcJl9M*pwdPfW{;VsgiETLw@&`g$t6 zNkeY4IS=fD!T(pADH|>+sgN+RsVyf$#I{!}l6b7Zd(qo^G6uq@F zZ1f{gcq1{T4T6PIyyZhu9w1}Mj;xC+`ug=?)9*tJrlg|wl~ECogqSu_1HAwPop_sp z#towe8g!e1PI>()h*V<;wj0d_{h~GCyDSe!hBS{oOto1^q^kbo1mMx!kuuZORE`)HCih9S7al z#*`?{z)>{Wn|V?1DKPerG=i?qM0e28ZxzcpA3%8_m`3NhFXM!HpM zAJQG@e!0c@Mn$0d)%RmGBNyF0mtjcZ~g&u zuqlx>-iE4{!ELDG4$R4WGz0zr!tKV{$hxxucf*C>MvJJgfsLp;+1T+9m=S4-#wU%p z3GFvDJ?f68|L>1I8ckf%5Ow(Nm4GdEx3Uju>ibuw&nfSwU~FQ{O|oiVm5ONYAi6Q- z*MDe8YD!XUG#lHCsZ;eOzm5271slu$0dovH>%Q3No(`m}jaF&NqtGv0yBLQb)$|>y~YBW!EcU(;J^rTqhO>Ffd+HZGami+@}cnX_r zx`_tz>Se%u^Ufas2AF>p80th5Z%0;#p^5$Oz?`QVmk^hjlxB)%Sx+tM(P|CRdZDVD zl0agfYJ4x)1UH;|EU0~YJGHy-fSc%nyGN}h>>b)NZ=)haoAQ3UcI2qL8HiRpS|6SI zSQ@(Rrfk)mNjKd{sA+TO-wT0LL}+} z)Va}(c)Mc%1Lh#;81*tYD^;%o=ET3bm_M|Cb1}&JtBc82MLd@3vFM(*tJk83mA6Y4 zEN$HJ5166xi7`g1>^Cttf{pj?Xu$ve_(MBv;@>JwOfua&@ix?QRLb0`kSPYQzp*?uGzdt5;4NJMR z(m}Tzx4Tw#6Hpi3S!v2juYnKJ%wA8Gtr`IL+gl@w)E@yeiUR!wjBMPz(rXC!B_T|2iOC5 zv^-lyHmX9jhbr^D0yZih({?LJRx7hsFJYC+fsI~Oz@)qf5o34Rt zEnOqD=zbQ{C1rC)b9&f5`(A+<)Z(0q=kkv6$MbgayX{J81m^$G6&};6oE*?pPWsX! z-EbD`(~t4TtjezAPMUs>e-7z6P3hvC&J63(isO~XBt=0>etKSpxQl;I+|AGVT6~V@ z#W{SwT^UxaQ~2uB)A?om3Nd3Y;j{Q`FmC6one{8JDt6{l)XMABPWD?Vtk@9flT*k$ zIpk=4vJ+{#mgh_9tt{_dkrzneGBMv-xC~@{onmR>GN)KpxQr=owbqKu(7LSVW#TfP z6SMf7uuh$pIo8UwooFr=i(TE)KnSak&8xxMT3SrS5!R*ivgh!f?0yLx%{8aZoEDSJ zGN$Ml4sj^7-WbQk%w#;-BswlG)tHt>^y0g773nBR)0gqf zP?FVUmy})AA`da;cV?JHJO7?o%~!=&WxOZ8r>T+@=19@r`5rHd)tyy*rH$lQT*}`f zZsE(t3Z4=4V)>Dej~$mmSVx$x;{9iM;k<;BjfuZn`6y}03D+QA$9 z%=Ws-rN75-7KQXG-eyznDPO;}MfZzM*?;Q;+aM)1ed@*ZC0o~T6*HD>TfeQPMg9^6 z6Txx%R(^+_q;KOL^reQc#mjbnr=Y0a(ON5O9KP&_Ckkq7TX#6F3o6Ngp4wXNtli2x z@^{qMR2S3&BY$Tt2VhC(Yz%Nrtld#Pq1JG1`%9Lrwm&NA#@?Wb8Isr7pJ^hAFA+-^ z)dnaO8p2C~VVewn>DRF(`z4hfrcKP^ zvIH?Jp*Vqgd}U>`xUAGHh*_nxh0LlbCN>>bAzV zQ*D>puD5C0gWE^76Y@~|w03S*duIF6_JVeyy`lX``-S%J+cl>Lo*s32(&@)f&pQ3$ z>D<%I2*$`J#xus$)a2AOCNYUIB_yUX(P?SMX))|fGG+{uHa#{L`W-)=?agK;Kf)v> z_aG7Gsp!TV-) zVp5}%ViOqLA2X7enP^(CSQ3*w;607yz-63q23Wh*`W}E(NClMBm|3*z0q2oQbUfO| zOh_}`-VJF_O?Uv^{#as~r{NyZIOy%PM4FQvGnI*%9v=_PUQXP3oF@}{5|7R`_0|%f znmmo^5g_ToOiP?)BvU5de?Pj^l$w-w4@8zaGwn9TKt9bRX-^rACUE4@356S+nVtq& zMx!|tS&^Lj7&C2p8fRi+jLZ}!Y=Xf+9=P8yaRw6|2P>mJa8Hj)jiVR(Y=(&e&k!}^ z=>T*y14HyrOP-zz17SSbBm8gj-SfVM2%0Lg?TlSe25Lj?+s+C~e?hAZ>Z=a1gm52* zU{at`Y&#<;y?jtKppTmDCZQytx_Y-C*-onaRqx(TcI)+o3?f4a)(uCm?1GK*Vhgu!-*swS6d)Of9a!ATT{h1jbeB9(} zyKuJkz=>}zb{sw2c&vGH`=?w>!8Bvy^#9C!B0BYI*TCz4UUIVYUt?-S`<{ln+RZz+ zSK8hu`?ggGyZ0u=Pkr*~ul+SXAwxog6u}AJ=VoPw|C%*^)R+gRyqGcXmFy_e{ z=Ut`IYX1Tmp{B1dsy*esMU*fq_GG)uZo_le7NORF7WkqRJbxM`ss%8vi2vucQSpm% z$VS~S$^d%P42bQ$6rL-}eHDGK>9?V;QaiBGedYYa^;b&Xp+phWd;KFV?*C594IdqM zNYxDwbT~@+zv!gHs&1d?v_muGi(yYukdG5o^)b_G6I36@OmlgwhQ%Zu;u2JQW0C;Q#3a#@hM1&t z395ZDQi5uKOv+Jj)$o`T3981J)C1nCyJAw0Fl0nb>d_gh12HEPR0m_ykUSLgBp3*b zc@hkai~;uH*o0#_Yu}1ZIFa*qb1Zv^!CoGFm?5KMSr%{mZyuF_o&o<>22H|lkw@{my1V$4* zF0(18=$XVMG{T9wuQ651Ei@!@N#GhW0Ju(`I!y{vq)bgap;M%>=x`SscRwWJ#3mlhDaxLfb}(m6 zdQ!5)kOj#xExB)POHKvB7n4&z%3YO<;iD<%ZEk8x^mNE$?Xr}F0}OdJB>~V&Qxd=x za==wq3XA;ZDJ=3|OJR|}B85eMc1kj3B_%lp+4OToVU$sH>KR1W`xSDOEW@c z)~6YPwIR)Ts&U=^w8ugCa@wgVrIcnmp!#iNnhABENHak)t!XB(b280zB4&zi*FktBnaMHKKkUwJ1+@4>h$j{c&G6~V);oYJ7DRWH+vBo59aZu%&%GX`HPk^ z+m|wZmotWJ#-GEKL)@nuP}$s}w))8$o0h39v8m}zi5v4-N!ZJ}05O9<$`Fad9_2H{ z#hhk|tYUJOG3S?J<`QPrX>8t%v!rs-Ce#4x=B}4ztxIV=?D!_^Rl^{=7n4&=|1U2d zt8271F!PFQNTcpIyfC}6*l|m1eo$=>S!xMcy5{g+z$FJ1E^O(%+$YbtZi z%EtQqL|e`#c5XLjARH!3&x)V&X7MwAw&qjWo7uU+_6YOLGI0q%TU^YW!CxPmN07$` zFSCW>X`4ZBq(QS3^PEc^I_poMWLrhC-UOvpz}e3r(BFxOG!yTR!iTp_h$LeL?nwC$rF?VbsL03iTO7yS_VM6DzUBU zidA8*s@o&*=DOViKby9sZkJHaypUy229Q0T-smi?Zl_?=HVi%G!NeOTYoO-D#pP{7 zUpQ3k`em7!?A)bc+jI)^s;Sn{$Qzi|e#(C;em0lzpPdQ&Qg?}o%wmUTHE%KI zz&2z+>gebT#ZrKsSXMSNRli$u8e60v?EWlfhxcX`Cx~nLmjsP{3@R^>e$A{BUy*f9 zt7X5jfWGh>H#Vn{&B#K(_VBtYBD=cdajSwfoI1(3HME`N+lv!0sch?!kyE-h)mvOG z`PluLKQ~a~;h9yo0ISmG-9XxC3#FgGW_NCI^S_v1EG_~6OU{^qqP87_M##g9 z6DqEV3re`10%|PTC5W?2b_=4pWRF0_l6NJu%B)a&>!NIH$G+Z(|9hUv9_8A+F)p>&(dP(r3yq zH9jg`ac6ql`Y~6QvE0(tPnSFMj+rZt0n`;GU$-^p?~mw~?}8ZvWoY>&H+Ub{aL#(Y zBg%S(6<^Ccwq{5<8@^)O)8(s&lvC+Ynf<(NNO|L0i_K`-cudUb z64x;RI$?We*KDiSwcMeM_>3w@1HX%Z-mbNP_Sn~$f_LDu1cJ53lL#cz>#n-Wrn#bp8_xCinJ8!EqZwm~+B=5q_mb;tlqpgqUwxY#W#@*b3 zu7~9Qw{zm>=ESDT-@^Vkhu=E3gp)&EuR|nRIj&sk3RdOH`BG8f%TSyH=Io>S5*raK z=sMnT@v`J)i$zP2Q(aYe{~4Fg`Z)8`I%x;ensVvU2#rRRxxr$kPC;Bg*1j%3$&2}n zcMP*C9ake%bnRT94ou&(`~{$dtuy#D175d!+Y&&OeVJRo=~DiCsO;w~>8@2xTO7V( zIkH3nx5_OovQa!DN81&U?UY>bcav4I#3zR@VaV&1z>UyxRZ@^xu2Xgiq9A+OMu9X6 zK&V*OxM?w!In2%+aSIhZ1}dK(>5t=J<$7_O6cSdiQ-^)7^9wtO=NI_PG$|h-CO46={f7Pv)rDM&iuq!b^Y9kwN*K3)p}LrvztZe33&Bb`*TrFN zHAm!{){8lv8yspg`^6@9<;uLJo|Q-1K@m(>E@N70Q!zd(&pw!ot%VlpnyeEDIt)3J zb0sgD6X{UsJ*$!xOU-mujZHI#H5e4;1W}5-tcE{r|>ob)SpHiAK%c6Z_ZWlZ(0MyRdWfy%BmIL!t*V?Xr8O!c(b*iI2-S?&xp^V zK|SCRRBtz3H6su-DD`HGt`Rn(Zhke=T=_h>E`Uj{mA`6U+gv1l?piPTb*=3x64$!I z9p6}6U7R2Xx!#sEkr|nKvulmi7>}nrq|}>fP`SL=R&iU9>9R=IkcVA}^3E;QqHvj1 zt%~ei!Iu|zX7d7E+u6~u5LxSN47Og=o7H~(1`fXO;mNb+EY8Y#^WCy@zanhf3KfBi z94}?qqawM>QNGm;KA-V?gYRduky&?LRN zmN!6@zc?eYwFE!r-c*61xl!dN@u2KyQ0jbbdMYE<5@`T?LNsxbvr8mU}ZA~1a~GgFb{;bca)=+?p#@q zQPjo2QMa$XRN7JQ#1MLka{Jwyj&kbt582>aOLG>{=z~zV3Y?M90Dn2aH5L&C={i)B zv&boZW9JAGU5CU&E?=wK?!zB4^A%_&FVb6eK>?6KuaYn41+gNm!tm7CGkMYs>T_l= z5Au$sd}VdR2)@JH+Gk`%gx7@;ygXM@hl$d29eq%bM*6Hnf&Pc1k%R3-Ztd{yc|%>& zA=_YvbB`mHvSDE?${(>Sq)7~|(57@FDX_c5bn>u_Fza2|4%;nxRa2q%Xx)}ZqZt2Joty0DGX*Gz6cJ37Cz)({|jWAHeJajqN{2+X#8O)-zX z$pTl7Sv#snNev*%)Ro>Nh5-tbW6&+(` zZ@aQ1LRND2-DYTe-i|y6HA|zcVsqc9T^4!Spikey@35-79CA40y;4>dn3(4egFm4jQQ-&Y{7|1J!!N#0a!U_Q`+G7DdJU-l~Wo z%|?FXDs+Ia$UQIXpy|6MU)*<4rFRq*6j0CAZ|rsKy>)GqG(O6LLf%FS*x%l$wkxa$ zD7HNp(F}!jjg~_59MnboBQOXo(9}>e%MdgwP&h{N$8O&daRt9a%;p_t*GMSZM4Lhi zc7-9;Xyeq9w<}6Yut(Zd{CoLTXllxRuE|#AWv{099Ahf0I#jaSp>mHvxQ#;d9GVvC zy4-Hl<`<(q_8i(9Uz-acz7&Po<_j*VKsV>v1f5tu)#|6W{kdn$lG^oKF46t*SIS#- zzZFQGZmDn1;{c^CA0>?1Jjxa+ZtmPsE!sLAR&D-f-quxKAbp80HXcO_9Esh$L)?+r z9qI59k7|zaNA%*3^m3|U=>lBu-Q&jGGyLh-AQE~ldZusWo~n1m9U3=;hC+xtM!H`{ zdR~m~7tToEm?3ZORqT}?X&`%fJ};j?lXsTxWAf){hn%Nz&`l@X%?w@Xlhew}KSyw_ zyrjXa!&^L8ab9YUq;A6>-T&h$j4yw>8go@<&70O? zwxR5mWvI(FL-ut=TLWR0GZEGfU0GmNMPk@UaC;u4GtHH!8x(t?930W7pXSfl_s%8! z+2X=H@g4*;5t}xx1>B^PWnj=0@NF(mX zEt?X6^UmP&iz9EM{yn-ei_c4bqFo+nBb+@)!R2yH_gfBMu~^cg#8(cmg^jiOLAk`O z0@0hrjo6Qtu43M>7d|~oQbur^BZZt(EHC6l!CA<$GgeUoE)ZyfR|&*ypbtEZioNHp zu>A{Fto1EXkbK}?G`4t3wLC!-60jg;BMf)7*gZQD_eXI2{!CuTghrL~uZseoCur+z zWhJ}I3Z$RK*DZBrVxFa*&e{&`E(7ftOy&4oekI6i5l-Si-Z5l7u=;f+Du9VO<`>Nq_(P|j8Ixm98gdT}LMHT@m5VFlWd4bg-N2EP< zNIF8pPeWu@700Hmg4ljREtAA@4IPJa`2Es2(Db%N(rRX`LI;*3JQW;QL6zg_I)K3E zU^ppYR?*RUKZSWd!LHz+$M960$vvexsN@UFA3Xk7!vl4 zp+9W_#7q-0Rx(nTe+}eDGr?!%b|%1giu9=?EMxe^|`~XKXj<22Dm@q z>Cg}1YXId>M|`$d8Ht3m$iBC zPbYL+T`Li&UF39LXu5qRzg67AKD*LGR86NE1;ri-i8a(=)_{+8OD10fnbFCY&q`Oa zG#sOqD@pF_ikJGktJKoFeSl=jG*Aq>Ad7-oYrxzL&-T*)B>KD)T`K} zH7$aIwr~~ubx$RZXHm@%RO6WGN+^Lw<<6RK_Yg# z@u|n6pG+$#pgl<^vfg$-tgf)$R+M6GXfE;}boUBqj7OXD7utHdgHrXuv9(JbBdp&# z5reN0(EhnJqEkT@l?&O&-$r9qAVdk@V7R_k$B%TLymN!Nv$EX1e){Vr=>a!+w@ici zo$jZ96OVbWn-Zg^ocx6jB~w}MUTubeTBM&cGka(1)X}J!L8}pH`arLHWSy74N}rz3 z@w`W|EAkKXj{bFX_GxO?Z|cgwgiVBR5PL&k?ziS|StYAHs$PCNiO zi%mzp6Xbyr41W()#3Kr$|l;`CO^yOYrFi6q~v0QGE zj?#>~kg;EPfF=isf^N6reVX(`ZjFSc4f#E3GkQESqrv{CC596y>29o#(PtyS&RvtN zgfra@NyT*SlH=(F3JMm7u+lLeQKeN^xm$h!{2Z~ri6{_!7SI7QjLwP%SMHXy)e#D* z|0*AEtb$==?BuOC=zuz9tSxG+d-;pDjCksR{Y(EwC13PZ(m^YEoK`YIT#+DVQ`^hN z0mT(GjIONu*zn6REJi+3)@hb()KOG zbT=~NW6W$K)42uwf-_i=c29Ky&CV$jqU=oJM+MSv#f2Zi-@|lzrn?$@6xLv!g&#HE zobDE5z38JVJA;76y>#-t{UhOYB{slhwf%p>Y5rK=ai~{lwz%Nt@i_YI_y7fooJP`Hez2SX}3RLR+Cwl z{|1*Y@mSOsn-f3;f_Doivl>qb!=@gKdGPbnJ*yI!N$WDP-f`h6!5StH+xwJ|S6=#* z5ZPI-PgwD)Q2MHX1*tjw96qC|z|j||9ZD%kzrwvWap48Qp|L&8Mz52*L;!?)C?ALk0{w7~8`B58Cu~*k2()o%m?83S(L!md>M|18))OQfjyz3q_6*i@N zj7JmfIsgEeMkm8D_g6@vboq23jDHiq39$?EeK5X%Xuof)J4^Q>z3*C7iI%}6#KGT7{fes((0hbRZ z5R5dw>%+>em*kO^AId@K8Gpwh4Bniqp(`;L8_fG6J71zpUe&ZZjho%BXFnd4aBqDc=YP90aWv zE#{s|SfJ1?P>jE3F}rdFB;`J;I@z2s6&J&a8#1X_=#+P^7JHW9c2$C)g5mn+AG2u+ z>dYkmn736;p(6q%->~BbZHEHBOP5Gx=`v&-4{yN~`Ly+voxvKk(tbCxGchO2G$;7v z&|OaX59}A>4Lg|Xu9qBsEPSTk{!WWpWUi0tcum6Y=J{KCq&E7oM1GkdE3 z)>C!fnu?b)QN8!!wN@YeP+U{7hRrFiSYr<3uv%`0@UbS19nl5YIbfz0yJZKD5oW!P9rHQ+Xl4hz8eSeNX8bt3Y4N7`VD}5C84E<%a&q?>RS}v}^7E)HJ*Qyp z)xHVEy`7;<@rFYCZ3Neux~|@h^qgXBq*uu}E$ok0=B>$pJ3(A6hcfo!zleptS8!`8 z-!^ArCz-|Rc2!+NaYEe#q@z%k4>>F(c0mP3@-;j)Gp z!O~3WH6ARJhf9NtWnG6>3PDgBWMe#jlTuX6{`MdsdMcKF0)eHJz_PN2*=3fjvW92N zILmTc?0nTzMa^qv*fhqf#i|6DU7vR{6X;MtRgEq(U{6pEvYem@M_WAz6gq6bPGL^@ z!)-ZYgF(gGHuc72Z$yfcXQ$&b-RO7&v+Dw05X*EdIf6F{^UGGuFa7aFg>p=! z3v@TwAWWx`yt(TvKBvbNce6NWF5zuZ&CT?;4^M1z)^3i_%Xj7NqFDfU9^NHg_oQyS zvw3jWxUlKB88mE^hPb&YU9@#_8P=WdiZJ2rOFb`MFnj)hR$Yf1CULbTh|Bh4pSNyE zIX2&2|B}>pgQRs$mX!8rZ25X@-Lj+%LaS`7SyEO?8oC;FUd0JifK^?&aE2>An@Rx1 z`Y$9ZHp&lM-Yi?Qilg@ZMwz|AQUFt?0v>6}rvg60m&pU+82Y*rq`=#(9^53LOOexP zUfot^X)klj9W+--Do>ArisclgdzunDcGA;R9yYNx?}MLT1c+Ikf#$G-3pusU%b?UA zWG}p1+1voNWreY;HH`u%2apf5+k1U>5jg4YLJ4OK(Q7R9k|fK*h{1 zbt`*^+JR+cSwUJ_@(<)U-+~2O?D}^oMa|x6h^v|D@0uIt3H-5!7Xs+kchQRJLArmX+HLsWH7jR`9 z-&T`XwjigBZ?|KjUeShCgZAb&fwZ>C-j}5B-1f5yRl=OxN+FW=(ia3&2o_Kwc(6yo z*eN3jFcq|GJ=J0Z#J`l#4G_dzOTeDJ%){NvGP?pS_ORu}fv@4{PpA#Eq}0&{oJ$xd zKSn%v5PiJNzNlB=5VlR7e=zKTK?yN8v){avAeu|FaB`(|rGR)ABh0FVhAbQhYFLTm zK-iV}=>z=i(k={~MeberoST?ia?&^1cFfn`E}&NbPgb{QPu%r~WaGmfkrults` zCOFh#$8}y{CNksrC1<1BdO6Z89`Z5h%@Kk8VWHdEeAw`v>|K|$NWO-jRpBW?0RZp3 zMAO$JDKEBxa7B~{K^<9O=m)|PkKUL|&bXqi%EW~@)8V*m<~n?=3X(v7hV>Es8J2UE z91KbNLE(CTnU&w1iDO`%^Ice7`Yw}~5s==SmC5|R4-ukTH>CXO^78VIa>UJ>i3k&3 zjDNRXDw-D5g6Hx)8}UwFZcG%K1Vns+Xr)h;C zD1ePiDO}m8nBvu4B#axy@iX#g=FRfXj~+^ z9>SA73SPkmNg`QKM8$efG8gVIZ^(5bDX-Iv%>YA&;SOwoNY%%_UuWbV{f=tS6<{*ACSw3et!2LyOag@xy@b z_y#xYSGes_=sMgF!&&+uAqrXQNk|{L6Zb0;yXC#^q(4nx`ufT@-(LMr{(ht43&qbH zhHG{7M`to8)dB_#pz`L>W<8`Z?6&k!6xI%1uPDHcUV1L7`}n2RMCbb?s2vru?BCpo0z`RNw;-2m9qT5WAXr{R2#mloNPmhPG61&H>)N7QMPwE+Uopizs3cbjVL%@kR=sJi1i%6lv z_YfxU6!YK(%oulNV*8;V2-i64E!XO6T=f?2r+TJOon%E-pb$18+Ut+u6MyL2-Th^> z*YAYc`2lDI{Z@b1OCwSV6I_R>$&p&h94L?8tx$zBy9vX*&lcB)y=+i1g>=2gjLF<` z*j8}QfgxWz)AS66Xo)u$I4fs&B#SAMvSYN>9}L+!I7?>;Xqs*Hm1#&DyNlg$QhXXg`C~YXqU( zwLyoCa0cuQ2Blz}FziQZ%39=Vtx9`GVwCOC{D~lB>&~CZa`R6jiJlGSu^*k@m+y=7 z6!W#3j)wxKCv zusKmeuJ$iB7 zENJqypxy7+Q+H1$NH`|WnJ}hSss3WJ;uj*SG3(J9w2g|MSx@XP%zCs1QoEgDV|Rs4 z*&Q(dPaut)boT_uLs!1nsv}M-mBb9^Q5)P93{Lu@l52oae8K5PUsBD%N50@c#l=|8 zUhGm>{UraI`|EkXng{B6f7;>xXGTtZ&=ExTJ@KrU>Y%)cAd{f0Uj~hUA1Q;O3A+Ps z{BbuCiH+c#oEMJ0U1t9EUJZ`6sa+~bi>a<9Y9F)eJvSz6xuLQbTYgd5xmwGwDlvsE z+C}LtbC(kNx?Aj!Gqcj2 z;Fu?A0&LBHDAGqu+#>c;Ub(?~dC&J!>AJfkzX?CD>Jv1FaILCf**kD+q`OA+@@dsk zVh(8dlXC8T$KgI79J>QA?67ur(yq?VCNEXME<(T)bE=IQe}Rd|fpzKbD`!+!K;|pL zMz!BmpXb`yS?$as{02jM@N)FbAH04eW~9Fu%}utoD^&p>{qf*0gf09_IeM#KVSpF_ z#}wEcP!UquPolq1?w1#GxUZ~qbX*L^{hT=<7j}BEo!#3`xj+jhhd*>hdzseEKK1T= zFGa_FM=1b`!X6^*Q|$q>{&4f0Bp{0$y+^C)cqp{Jj4-)W%}4$3q0rCWFPK*PN~y@w zX^A*tbVuz&q2Id;+-8WGfiDwPA%);b$iwgU{D&U+ms5Y^?lVCHkl1$%+;`9k9quke z&jekq3tmiOWZ8>T1>IXe@})Rob&pnzob=1+$)g_pnJ|SMl}qrw^ID4d}> z$Bw_ys=Yk?gtjwm(q+XlN{Y=o6ETrmAkg1D>Gk_%Vg{9|P|eI=L;nTuoOg=-=6fODB!t$P%2xSV+9vJ|1>IucK!zaf) zankFzP@=pT7L-k18uJnnM_Dj_D+Wh*Gz1B zC&^W)n~gck)KThV1`=hx{XW86J%_ijNeb>w`%G%%_t0AsZtjr^Qygv=V?CQ`winPm z*j((c;GBkmP?A|*zxTmVHQ%c*>{t;ncxk;~=U~#HQ;>dSpSz!IYUc7;$Do>3_4);C z>Z@zss$cMSebp+r^#tSvf;Eg_Vz6aZz1Wwtyj345`gI0dR@aOEoqa8q`c>?Mb)(xL zz|Ve%Btd_wR_XUTssMd-#6HOftcUvU4ha4QCaQM^>7_tttzPy;_Q=Vj(J}pQS)#Y1 zS4HY4(a}Bq9M!?sKX7Q|d%*@rhvG}_q4;vW_=M$3z5S5o>w0MaH}#fp>zU9xnFa%x z2-}%sAFzAR^`vTY>cMeMZao-gGU}`vdobI*N9<==TQ7!Kit5q4b@i6_(L&4mddvSP z!4K*grcOFrQ&?}=Q_qa9la8_9eZYZfbUBnK@fWCV^hs_1nTl(84EuigPh%z#v)I2WgU^t?!~y*CY|MFaK-2SB(Rh}bdfq;S_E`K$ekAk4 zE)0RQ%{@ww)3#aE%`-2b$8qCjsGGZTnXog?QwGj?qftT# z)C?&%tHJ&x;@;RNPJk^jI6>^2z%-oCqB4LFg_30$>lPW5*0IPFb0kZuhrz zE7?QmUHvgI63?$&D$?1X&d1Mjg-8LwKn-m;)K8SsF_*XGRV-H&umPXA)RJGFLP^O; zKT~|Iq(`OBvqUM|6WnN=q|Rh7ozIl6xO^l{#vG*Sl45XXMY^k>Jkk}66D{HABh82z zhPd<)5RB>4d1O)fW#WQ1+5J%ivU<)*(o>R|m5v`P(#^0Fk2B~u@I%bPpz(GF3Xjz4 zdW^r8dOO$6JXq%lWws(*vAnR~vS7bu{(j4g`!Of}?|ycCT>?|^UM3WfHoL#8NDc;d zcp}U#aYRnz7KR?@ur4?hX4d`*)34HHwkji@F{2HO;lKsox_uWKRT!j6Nha3szQ-c} zGYCW!+et(IOgXHB^LC88?VAEJQ%4#~qV_o(hhsA9PD(!lH)>zy%r#N_sOe5=3(X`E z6ZO6%e6nNa4X@wlYc#3suUw+Hx7LyaCqMSx=10f@ zNoqQFSm#R&2QFUJ5#_<7#}6F#-F6oVJ9zRydlORI!bsAg1E&rgJ^oQJNkJ-@1ROek z^rvsH_9t0|WU6#xOaE;FcfJF2sKW}eR2b17aXC<_2#;FrOUH$Sn*W5*>c#_9R z)Tz(E_z{g5+IGytuixoQoj-IcNz56Ka7Pi-8IN#>Zez%k;SZe*JT)Yp@R<$v0?_BUYsXx>9j-kEj%$ze5+tSX9XWQDZwEySAwzihG18ww| zcHIB#r*=@{{`>$jm|0Nbc%1KVnP0*z-br5`;l2Imm*8FO&l6WMJfPxosAI_}GD<=J zM4aL3&-WJ<=>zxyqxz2;pclPq2BwY!*x(Wv3@LGFYvz~WxTD@|n*l4f?rg-ukGIQU zRYwHUBSB(+W@U*u0Q;GG&&1fw%q(G+m$a}!JAuv$C3v@9wGAF?>jP}&;}S-{iI(X% zS-)n6(xly=4{i~L=joWc+^;#j-rm56n#EvvlV;ag`5^N#S0X%`rxV8J1-Agos-Wa) zx%4@u7)kNm;Mb(n?rf|jm#|-!xbp_W*XkOG66<4fKvS^n2acO{(zooIoh^DhVON&G z+I0x0R!Cj|T|tEhp4AmAoG?koZ-`6_VRQPVUlTN2|q*Q<9jE~ z*ZQ7Ss%S9pH+j;?iH=3YuDv;z7c`i>7y1@7Dx~Y%kJMv3+Pgz(Rd)nRoW>pm#{xnl z9>kfXvy|3p#2$+u0^!M^IT;g{fDb24QfLubL?DJhwFouZYYEuYb-<&*lqS5voJbRu+P-l|>dk)$iIe+12mjQ*bxG*pY;fhomOP-ukje?rKieij)f0l&AM8~oVdV&*wutpOEqLCrp^3 z=S!Z`P048{GUNSsOQvkvRQ~mkj46vKQrw|Vd3}GIo z--qK4wbz54l;| zn?A(<5gRB4oO0>tm>P@9>)K<1886KFhp)_Q{r)_8~HPai3+u zzM8fB{fqWXel~1fm%g|Ui1J|MMLfz(EL*c^pXKF!HAVX)hS9hG?z1f1S5vrusyBUm zVV`CGz8dTP1W)0deU|innGqe~^H8Vd`F&IM3!dLs-6E(OII$#SUrPa&Sz=~#_(Gfe zb144w+c5NdJ=3BS>F0rZ-rZkH!Pm2r@QEA~{p<-okr3_AFpn@Z(xUO18TaQ;OfyrA z{=HdD^z<2wCyVTN3H8wQ{Vg%&X0<>Xx``mTBa=Y)6u|x%2jlmI{r;A#p4k8P83E#d zn_|t?`f7#}KTOZxI=N`r%40f!98_Svz$=D0Y({go?Gg*}GH4r=G<%8FI5_R+82#hB}R#U5F=DM24Z?MR*+Af^YfIFG$6an-E;@XRdDMFmNeu ztxlUBLy<`juKSDTy+Ai9Qu~;EE7$WaEDwe!8*l@j^uY9eZO>*Bo&Uj&GC(p_A1uT)m2Fw!3`7$l7x=cwN_y^*rPBUPqic{Yvii!-&aAqSY?Gh+LHkyHOTv+ z!v2UQQCV}T$^t#@s@ncll@Jd|n;z<#QXvegxmdNmlj7EVSLNP_z{dtGL}?o?j77QG zhK)C;^TIQttahUQpUe#>s-{|YiVai~hFNOG%rUqk0_A}&e@B0dL-bwX5b>y~6=koQ zouX@wHMltPvbGAx5Vwf5u`Rmm=7v*M2@NN!u=@P4Rk4csy23u07G)v>2YFYye7(U? zxI7z}C^+irU&M4MnpX6EH50mCFSA;BSunM9z9oj`_U){tbAAh2uu;;vC-89#B| zWu%|t4zmUw*FcCM5Tt+*BnV{64?nuQ3f;EWtu02Ytv`V5_nh};k_^GJ(*2Y_2#-7W zo_p@O=broH-FMHq_o9i43(wUl6{nac5%oY4T<4Qrot~FEMS5q~mdDKV>0a7(mCm+&a|%1w9TDqTRL-q`ak14bRKz2=ed_Uj|6`K`zU|e22C^+ z)Xt%c7tVkA#pj>>@eiMV^81fJ8oXhWe&U4j@o}+y1XPq}uBEidRxl5ztCd&Gvn-rj zRXVrIZmF8%u$7k;R+g6CYqb^5#EEx!SK03J`MUS@`FzQk^k6@y1y3z^3>%qZVa>G_cP#js#?kjz5c9CM8ht30Mcn zN{iOMes4-#@Y{i?V-pSpZz5+BIq_W+52OtCw+&*=+qtQH&12<*-~MIxAe~!~^;kBn zveM;b;sgizoA+Vnuc`ID-XFvOV;9ryogdn4P zHwE7Izs&TK+H(S%+H;*RJ>IicH+yXm+=1 z`YR#N@j)#XyXaj>tHJL?hF0NK`j=KUfff%p*?!f z+zstoK41hkr;Gy2;<^`rMiYaqo!w^tAs^nPqt~($Xc^SHv-=ytX(;hbe0R>m8{w`% zdV9Y3_Z?IsUfsgd78bbF)h#C#dt&@M!>8y!{nYd{*`PT$q`9hpF;|mXzM8~;hP30T z?Ed?rVn6@#{Dq4{8gG;%`g5qubvT0#=M#PAzdu@DewF#St}gvwT14{IHIJ)KeNB{q z#nsi}&{ed7Yoh#DU5j5|e%DO-uXY@`{p-o#nkoNZs100G<-dx4%(eeD(qB{M{|mH% zYp(pYU#}mBQ^kaRS0v4AuKZWT_5ZDmUxj^5mj7$?<56X_jS79GM6b#6eyO*DVDH@SxI+`L^=ox-5LTkFnA!XH znF7Yi^mOdiKeac`GjX4I^rA@rQapW8JaJJhIG-F`tXP-`9sURX9+-_jj&EH1qoQlTu=%**Y}_=@ zQ+wC&$sPJ*22aOcTJe(%U2VIAg4S(k7-&&1*UM|PYs;t+JEw7-?7(@VpV?27R2MP?>Mc| zpE}&*V}JvhPO_^qMrX)fGmE#@Zz2W1`mW7G}!ftT|xMxaZq_|T>N-o1T?0`wFD(} zcgJ9VuS#snGEh2Z82opb>OSvOGNsC;3LTsa)ZYU2{o#BE44$7E><=b({mkGQFa+X2 z{lSscUmHbTp0W%H1`LDGV_U_M{l^dWy>@K>iT%M7P>LKmef-Gjqx(<4ezGq(aNyMO zfj1BK9SFpL;F&}$6;b=a##1!2so>ZIdGne?tU;bNcDzgE?K=~(6t%x2zW+bF zV?bt#k~5aQA%U|nt2yKBYTJj0n^zFcOM~WRY|qD%%gm?l!uezG&3Z4ta~5zvR9YCC ze#z;2^M!j~6NM4cx z4Qctpijq0SmBN&pBSBYmgQ6@dOH=hlHw#=LCK!d3XUa7VPv5iVHrcP;v#w`D{oXwr zdN!Q@>5+twaJSEodp3Nm#aX$5VFO^c|HWCSG#s=~LWw2@*0<|(el@}K2-zvM^$N=l z{OWdNwMIPmGP#y_#G;+TLQCxb@UJ1&LO}1)yo&Xqz|GLCY-o>{*^<8dh9I5x(FNN% zv2>^X&0TPjM`e;DVS>)lwZ7K_^ByR2Fb-|mDyp7^wUe@TkA0C?Z|B|Kn)Vfx>uNIS zZfSp*7W`TVW3bN=Yx6_x=FXL{_TJO8X0R8=-7tCoZ`f?<#74Qter{`Eis$j3z`LH+ zJ+NGWeQImZ*{I;8{&cL4%79ljBs^D*vuqN0!iNAYw@m&a(Kt{YKe&?(v?W z_T1{8uAw2P-^BK@&-{cem^AVu&uqO}#J%G55512QmazPY)yPk=5f0=wXkMlLPM zAwPK2riY;TY+(;&5?z1kNIBQttg!91~jIoXuMd>!`cbdoSE*PZ6v=~!@|o|BQ8HN%`E(8nh9 zf7u<2Wm;o&%6I!W1jj#9EPisn?uEbxXaCyZcp1S36kJPO*at6=Dm|SPYpkG~SAuI- zpk-F>S<#cFK~WhN^DFhZ^sKC6Az!7!U^YF_hprq6+cO9~b-c0);V7GD%TKnXJ5uuX zthZBcLy>VEiV|iGAo2t8!eagW3fw|M+T%*x-eFTwNIM8WaS>*d6^RN3x@|;+DJUxM zvNB=EWi2+nwZw6^!Y%ts(#r%6^0&)X6*j%9q~_~-W+g3H0A#wKg~}Jcvqg_Pd{jL; zZV*v8NfW|~TVg88779!0!ughkB6(qYDGEs3jYv9t4~|lDs6Ink$RQcxGFH-nSJ%2ivB7u^BzdbNyk9#Gc$5^3-xfPml6vl{l&ETs3`v)c3SSX7vJ)N58H2W5HU_0F||C#o2 zhslkB_B5$7K`Rp8gql4;ulckp5w^|wovpzF(G2|=+Pw1e2smk%hQ{-;HgMMSdu_mm z)7popBbvRgGp~?Ytmf=EWtKprqTd2rw9Xs)CIn?&=cGQEDEa3A0^L@^h8nyCzMzqI z(hiKYzUWPLXD4<{+Eu5S;-0+TiN1Hv7_)2g2D0~TuM}_Zz>5yIB4GH(n1z8I>X?g= zqffJW)lYZ*Ef3E)_70|LJ-+q(+r2>h|W-J~Z-Lmo46 z6osNCcm^}HA=teJz6%pr#1vq!QlTOQ%sf*sLh#DWEMh{2xfn4PCuZ#ooJUO~M`##` zglDbX8<UJkU zbq-y5`#spt1+HKW_7A;*-5zZJdXyB{2Vd`n=DKK5j|5$B^!D8|7#*05Ns?x3+~5t+ zREfd(^_Jc1ABjGk@Vm9Mcdu=O%Co(9?PHYo@Za}#P)1}-`$Vq?w&e%to$3@aW*C1U zbBk3wDO`-VY#s4;;B79?{@?S@YoGDYzF+gt8y)-;+}7(f=# z{{k;E2lQRsDZKamINCDolhye&ezfHEjqCRD-?*Os)4rh3H_oSt9@6adX??PO9E>># zX`JSx7h>=my$=q3EGXX#l#aH>zKN9lH!y^sSn@*K>+=CwgV2brv3*gpFM9TFP||1u z(JvB?GVy~sh-%G-d#Rz(Eh$WcI=9j`PxCWh=3N7)Pr>5XX1K>cH6Q*{{ilxF3}*lL z?}9<|(Sd<-@u6>7{_(!IP94}^X;|j3B{-~=`>Y22#%2oaKUrv4_iwA=g|YMLO2aK1 z4;Gv{dFqY6g@(!R{4-%38W^ZFOxx%qKe8~1?`#}k_*?yzhG#b>7o805C+d}*57~fw z>gemmQFm#kS&j|7NlC>68*j~5$egM$e6rDQ*?-_bv0-!PtNEvZ{Myks9ER!swX+Y) zeQzD?D>U5DnOJc8WZyxKxW%v096Hh0#{rH12eUy4MKpVe@~#faHY)_xo4nlUescli^4HM_E8Hb}kYRBR__l4ITdZceCIY z7=GgaaX!As4)re(&-y#b`+8rc;phHt@}7iukN>3NJ!LZd)PFcXc<8O;r;pm5Tl}YI z!w*3@d;Mn!1wyfj*ZiN8|4`p?tKp=-wBY2a6EMe?gNGIvKJ>@TCZd`=eI6$CmPadWPRv_c;%9o1@+=nKn0WS|1e3ew-tu7i=_s;W<~SIxvL}!QyrQfKSD`BOO~XVfhHvi^$;ve_ zn22%yDNG~8Eoi{2Fs9j|y(9J!Z~;>XJ!V~V_?9#yO8_QNblc$fZMeRUZwAC12G{MC zl{ygZs3>G%B^k5GZ|49!6etb_?lj@Dq{?u}Od$mm9ttR!R$S2r)XI6~3Q1cw`4vQX zD4-z113XNi?pDG{g+>l3s7Y3%-da(HON3N1MS8l>Efg#=>WgfcDXL*53goD=v*%VJ zb6jQ^ZZ~|X5@uAmS_!ws@ztWhRGyOKP5eR?_`VQFfrcZre`QQKVIROepOB3c@kwu+V&?$#xBt`@>t(%8@f zNNZ!WE5}&lZb1#t5-6+DI6BJJP#ubrjiyjsUE_)jjf|(=pTDrU*S;^rz^9YK|+$%YinoLronyPDEre#Wu8kI3JN=>9j zWsV?N=Z07*p~7Oe8dXy#1Fnc86lV*^AxaTqD5^+}Dk-Z9MW|8Pp;U+pkqbo?DHS*= zVe*YP-TaMPZk=))y^7Sor@y`UHxraKq0qw6r?Mz^SAgA?CDje}?gp2ruBibpElMS? zXl$+#Xc!cG-y$lI85NwGWX@nWhh5ZpYLdioiQy8%CBXGeKoz1Q5wkIe39y@!BU7M| z0uo0^8SKwt7x1wt;EF^f%49c}T`RM|aEaj(!_oN1Ccv3zk}I2YIbh`sP3&@n#Bd4l zu~>i@z(N+g7ItmS0>dSSOAMC)ACmy*nx&NA!T}p+Ze}-&U4~15k3|6z2MgKk7O-2y zEHGSRxWsS?@G%Kc9~&Oy=)c5~P*Bv)d%#Bhn> z65wMJu*gioLT(Pbh2%;`b~D&zxCHoE6il3LCcC-pTA2lgOAMD7E&)CU0oiQgY%|%- zW!K8tGF)P~#Bf;YjYYw1=4`XrwXkbr78ouuTw=Hccq9ul^(ixFo5ik$T^qB&aEaj( z!zI8YDG&jPv(09=fZZZyf#DLvC5B6Yk0PLsiDrqj&1ScN-6Cdz;S$3ohD(5tq7drV znbeFj*v(@L>wW1WcT5CcC-p zS~+uuOAMD7E&;9*Q1e$=Fmbk-?B=p-FjInSVb{hiFkE7| z#Bd34A|Tf&{Ikn#fwRqG*TSxiSunH9aEaj(;A63X0T7vIvs=J!5wpN>iQy8%CBXIa z7$Y=>O`^bV0lP(W+ zq*=p=vI^R%VHYyoVu58hJ2}Pr#j9Ff3K`{nV=PL=ejnqoqhN#xL1Nj%ktRmF1Y9Z7aBT$eRvSAFV@GBT$jErG!vd5+|%uRNVK3(SdmZPyAw$7Lj zH8x)&CPhwTiAlj%$! zxRkPq8XB|AQZ(j-`CeSVe2jvsvY;GDG#Q12-?Y3LlWh4?>T1z|s1{e@8-+BFfvj*# zq>1?~86E9<_oN1qq|UqIqPElGZFSCWcJojrw;Pl>b)@`TxM{{|6)T*Ad#EkrB23jafH; z#%!pD$E@Db{clW^D``f5l2zrq+UkDDUE>_(vAWfS>CVBi%K`HaRe8B;HL zMq|hr%P)CGqnOO8mpl;|QmQHPiNMH6HAOy*5uSg}GG(S-@o*iJ=fJRLL#F;n3Qe0vWOJ6sAY1 z)Wx|ltfo#`)>7#x3xc#R6~<7O(l~yZYgvn{HCb6kqR~!fFL6J*7A`>yAESpd+SkcOWiBen(FHk_4Q(85K^HF+ohP|n?g8*fjau|Uz4jr8K_34A*_`2(Rk{Zgi;Q(qSla7 zRbJz5Iz#j~zYQz8i^?vni{5)~(`8y(xgw+#nzf=NVBVB#7QE8TS&L+p2;VWQSRljH z!*$_(>o(ogTWejdOTsLnZ>ZI~ZocleMO6*eiy=#hq7elWi79#bYG`dqMg=S0dK!9^ zAt>A}7$dQ&1+_gx)Gl3F<671zW^(N>MU%Vh{)WU9JsP{$_)5%w$QPiG{1(n$sDwT! zt=w**rQ&hl85gA~P!^5jG`~ryo%(3l!DHDRGHr6a&MeUb{KfM~&(Ng*Yt5Qh4`#ONG@Tic8Y%GE_oP@D){*&ErhS94CeHnCB>f zA&nlozCw|RgIXL56IEbQkqUJH!s^C6oUlamT~3@6k;qq(yMU+=;RF+6=?w# zm19_8DeH?%<~imF*bIrpVyd}BeX-4M#~x@X`xKv|b+i;fGs%30#Hp4NBC}g9V(MK? zi2@77)R}6)YFnTOaf=|Onmv^R3pr3sfw?h`3Q_)D?_{C-@ae&r1htpSToH4jGDDT1 z8lXT8GdV|TO^NzBWo1@GFry*=m9nZ34DlKYg_)Hv!!0oz!CFX_TVk=Zv6rI3rG^RJ zUKJXZqpGmb<{*_Ot8(Xp28&gd8ZBv|2&1J`Ff20`Qw7?k+EKWbDB4T1!t|I#IovlNvq z@V@y6U1G5$<`gY}4jzLPj>r*N6vSXySY|J)Kp1-b+$?_K;)mkcSFQ^g$V?mMS&HDnE z$`HYS{X$m}J@xhxFV!6%eW9Big;&9cn=-V~+B=d{yipa=7eb24^P6(Cx^)>^Lk4vB ziI{FLsdLw)Wwc_>V=pVa8`ODxbAV+`mS+p4#bF$_6~acr`>P!7Q{Mf#+IM5!P+M2m z*Lyo>Xup?GZl6Z!rjZ?ku-rL)1V1_)E(N0s?|U<}cgi%P@}QU~ieXKGvB+*Wr)A*n zl1QUoVfjLI28@~Hw^Ra{9!4W91qtS*iD;|k3lW@eDQ61})Qn!A20$xb*TS5Z27h6N zoXn`OT0#H-?m0~cIsFv0{`Prz)A;_OVTqokn zaYR;mS*dNue`aWJkJ4Gvj3%>$a()>T6784Xs2uIDytn6SYhzVx??2^g)8!fH(6A}5 zOe?aNm4j_mCD6I}lTqPcK zt)fW{YX};a1LtlV1c)M0+4J;zh!IvH-q*oIRF3zvTy1h3jsJ6O!t50@w0D#!vY0bM z78n>uvN}RCiEKuz*533A5qhyhXzA0adQ0-gPHTlNFufjm#Je;-N2hydmURr6Q;8A%4y;51Ul$MYV!_Z;f+1=FI;{D-F?Kf{3iAl5_g%u^`mEMgrwFNUr^mL0d0u1-~;jUc15S`Cz zvyYaH_rG$r-<*IhV#T)+HT)e>v$Wc%9SJ=#A76K`OW?W$u1ny$1g=Zqx&*FE;JO5^ UOW?W$u1nxAEP4)`1?kS)EC2ui delta 7046 zcmeHKZBSF`6@Kqmf*9eFaFdW+AR-?z0XBdxmd;iXf@HmfD|w|$DphReijjf^rHUFb zyR!Y7&Tik`&1`>ATgSB@wthrq+}6={XWiX)rght$?yT0Cw$rh;rB1u;bZ6>EdM*%1 zF6oc{ZkXZb-uIs8oadbPJm*a&C+jCC>(BMD9sVt7@lRKWR-m(a$nPo4N9YYScSEDf z*3P!N`VC8FO(+)?^XX>sY4*0BDviHr7|JIn43>DpUe{**c`;9`xKm<-&?5{Bb3V$& z8$=v=kBI%^>U)Jg{#m1+|G*gFFPZl6z2;;5NnwO9H-DMmX^!zPliq$ichS6yzZpN& z{|TSZ_bdC-A~c? z3gdmd`)R6yT-#$YTr@k~_@)_OG~)*H`#lw=9>L>!`iO~tA^4Y&%emJziHC_T+?fmO zXunG-!+qp);Wgq(VW?!xffUESkjrmG;G{tqOxm9dJE)W7-LPmG7RG3WMo&wBN`zb( zd?-jU<59xyl_?L|wzrA?hnc*%7gM9;?%wk9on{Xj(8RDx^ zbGu}PMZA;L4(MB^T^ihSbB|F&Q4*LM-P|(h=bVw^vwGM7oj0z>>{!k6oN5tXUjaFd{ z4J0Tjjw)?@b%L6+fsgBUe96?U%)QG&@Iq!)r#_p!PknOTz*fN{hse38qfEWqi15QA z`D5xkTrSF6{G8Q{DILUZ%71bD8hF5ul#B8cwa$nzAUu_ zI$Ip|wWML+>Q9cE!@UI?*zw*1_}u0HO`_6XP>mR%SIY)^15ZG2cwlLqb{E-5fk^HR(Fy?sTiUKa3AjCjC^?~7=Ayx`te$|l`;LaHjA z7r^b}MjD zZxjZdlV|iO)$`|&(-{W!jFS6D0=ck` z_B#~^sAtR3HP+L@kT_Nna;nO4Vb%MB?bK1nI(S*AI20OxSfCVw8u$zJ7$0&fAOaqb zrU=T3!7T`?5Vw$9N1Le66CqMbKemvkB2Q62CWj;2s21{Wq}diyWtFEGqzydX7#E$QP4n8s7Ul8sqaJ_}a1?62yDo^zX>iL(5ub8?AwaS~Y%VP`56Umuqd6fvN z^CDbt2koi2V6prpszztW|G=n^?}+$zu?N?XkD|>^QNUkUrFRFUSDzxiHKnTb_$BG> ze70<&#gbWiQOkn#rY*~)*Qk}=Xo~b8F{HMHTmsWBLDlAVdOIEM-Cl1~Inctd3iyT* z4;pc83EKW0CQdzOY1oUJnLa6Cc3A86^6C2t^!&A&y%iO0rXXy!g0qYtnNh-$jLiK`fKThIxbtt#s9 zN>W!X1e}Mkw`mGJIe*qJ9=b94B4=Bd7U~vV)7s_tbzyG+&!gGj(F`i4H6*7qAl+@7 zyO(f4?;g#f%&6qpml$h5Z*U57i8ZO;xu?V6Z$2Qm3Qou&!GjJs`9*EWBvH;HCP)T(Qd z(;1LXS?a<`m|D9-fc#?GehK-pSwQCbJwoyutdJj$QG#yv@~?FjmF^N?udA}QbZ-to z?n(OW1Vf<)Rf8$8nEY^#eacdValv|wH9gX)8cbd4hb7Qp%2I?`ySaP5z4)f`Ef&i3iKNg)S>Qq3b&Z-(J!N0)h=&a z!a>ke42S-z*C3}eAgxetRV<5pdfF4PDf8Su9Syjz!$*8yqO(3p8tr!SSYLG4SEZ7wSNCO}8D zLFK64)|j>h5yk@ZX)&Uzv9|!(tU-bdV&9DFi*x3FA`1BtRbc8t_wm=B)91ZL^wi~} zdYYP{U(!FO;*NX2&0exK$o4^22H8=NorKv*n4N^#Ntm64*-4n4g#Xu*@H+J$ReM6L diff --git a/images/apple/PLASMA-2.11-UPD.po b/images/apple/PLASMA-2.11-UPD.po new file mode 100644 index 0000000000000000000000000000000000000000..c054f02d7c449e04e7953967ae115557f5bebc7c GIT binary patch literal 143360 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 UF(3xSfEW-1Vn7Utfin#J3#swL_W%F@ literal 0 HcmV?d00001 diff --git a/images/apple/PLASMA2-A3MAME.PO b/images/apple/PLASMA2-A3MAME.PO index 6cb967cafd4b3513967b4e3b3f742dd602f1d41e..ba2e2a44285765cf61a88c0d34003043ecd55162 100644 GIT binary patch delta 2479 zcmeHJUu;uV7(eIIUAm=%ZFJq0P3hL|uFN?)MV$lcHi3<;>lQsDuz*e(H+50igIh|# zYz`>((R;sYd_;1WY1NT$+cf{6+YgR&PK%KUD}#!w!8lRos^ z^ZkC`cg{UI-|u&OE*pC;8#R}~umG7QT5YJCeh3<#r(068aTBdFSm=bI1EY9b$|s_L zy5ngkK@dbKzF@&!jBDaJZ34%#BF4u~pU4yt{5&V>)$MAZ8ddcfTA|X09y`6hcyx_l zql{?>*@$+8jcZ4lhkwdCc!b5Y7|Z1+*~Q3Nc7y-Kf_#*nzeMU>TH>3J@fHm;@398xB(*|Igmj5RA(Dn+1-NmsDL4= zpn!r}38W}!d24U$V!MdUkk=wiQxt^Ox=pC~DTpa3*o72iu63vCLmwH3ka?io`2e4! z`!y(Bl0RJB0}IlH`z+;5E3ppGl$7gXRpa563wv83F*&>UJi}MX9?wVDN6epCd<8~WPRYJW8i z;;2hdWYS3c?6$lh-)8M9KuSS}B6zY86scFY&G5gnTXB$HwdYBFYL`JVpgQ-pDMcVq zLqUo}#2C#hti`M7)Gov{HkWs_;Rxc_Uu!`UNwwXyK@kXKq{_;!}fU@%=G=X|2DjycuqKD4wEC< z5>3z&wU1f?Zrr1m_@B2#yD1G<$J5^_GD)U;&T!~>B03e7RM)gKd`;awx7S)U8>`Tk zvJF}(+o?Un###ivBbzECkcA@dM@?!XPT#?y8M3| z3btGU`F|bcAJ%t`KS_`Dm!ttW?Ew*bvETN%^&cKkNfJ@;fO|!vUIGxLWjt%d^N?$_Lir9rVsX1%81(H`t61(7@oc z*}FMxBTLC}=c2Y{N=D4&C?GrN=%5QnXm-Gk|DqKE2R=);1j-;|D3HJMpjv90;}hv{ z6f+h9hmyq!;-o^8{|u2x3@pMk$08E+_dvEoQhj$q-WS6JwwbhqL&xu550C*so32iw kO*B)~%(Gt-I^bnVAf74Szz;`o+AX|W+<#Ksk0(F;8(bKy%m4rY delta 3347 zcmeH}`&Sg#9l-DG>@KkE4ii9Gd6<#MvgN?Km>Q`@7E}nB1w3_36lsnS7-^D5dQK%I z?dcNZYZVgAHQK!F2HV=1b(tA9VoHzEb393XA7ZOU@j*;YtfY0*y1`f7e(x;nqx}zh z!VmX;@4esmeD`zc9EtB7iC0SXdJFnz8lIz{9~FA^GxE^Fx`mGFTE4b!el?E}GCYqg z==MZZU@vBK&=&|zyPnPBuk|ldQ-jTh-xzgNBxo}0bh^K$1sUcJ6{JkpsQ%7?=IFB|dhhfmoG zlRczeC}@xFKg1Re&$#q?xPx?d5z+KVRL? z7hqj(VM?v+ESUd`c~VdPML}n8(n6Q#K5c?~)UFe3yaS85IhiZe7r6FpBxJVa5i zcT@g6DQ)+^E1mS$NvG8(rLY>@ z@XFLEy=SdCWgG14I3wDwihP6IF)T*uJuDJ>mjb=v>AGm-vw+^uXJ*|ccUX>*`;17) zJ=TZ!txa133ioq5EXSC6kJDlKe>hzq zG)~|10i50gp7}k&U#QiD*{pY~yMqu?Ao;_NK_j(IW@D}BD7Y=)KG9$`^ye{Jh`+(O`oAaaGbWpGg zHbKvy^b6MZR3Wur535c{EkrCd?S71dYYpQo3C8CdYyBn3{7!s)Lp8M+XKtKHS@BaF z7f~yL<x)Gg467|)?4-zfYAXpCaJE%IIc0OQ*Gcn+e+ z@%-go_lAY={FXS*bB*LUai)7pKO;T*J>*NvG#57WJwabM5}US|&830>~h z`OMs28n#sK2sOTO0ea|IFXuChMs73JYu4VXM7oMY=(ST!*Js3CFY+aU3D<5C*}~75 zP#j!X;KH3~2y9{wMuxHjuY1T&yD1ZdWfQsQ=-yHvf^f@vXGV9{MDmCXWfC2d(NHqD z$rR%ut~0L9pcz9}Mv>(dN_?o>%lI04Gq`h9$jI4fw>1&gz+tAlJSlL5>7GMYHiKLY zGa!0M<>%WUQ<#$kP9IHx3ak*38%ltcNG$DkKw^5|WG#Bg&}Mb-NhC>;5>!1Y zfp&kacfY6gE)p7LCqxUSiCzy=^9D0?(S1M_Q&xi=YFLq?2r zVlwF%NigtRW{olMJ7!HB*M~O1NN627Wv;{)7iyeNg|zuXJryCyZsCal5xT z8dr{)%19LWgFsOMq`ff-m5odLV$z+6rEGQc`M4X8{7b(p;(9f*X?J83MQ!^J3~bhc diff --git a/images/apple/PLFORTH.PO b/images/apple/PLFORTH.PO index e868ad9164b0bd2afff4c8697e76786e98067f4b..193642be7808f0868e4864c368ccb4609bf5381a 100644 GIT binary patch delta 1934 zcmZvde@Gi=7{{NxTr|4Yp0RfcN$k!ab(+Q)t)(X0TCI&W?u=*hZfK3IN(j*nC;n_j zTHWS9?O=gdD(sI?7z{QF^H)3Qy1`m?g)y)lt`vrJ3|dB|qx)-a)9k&|NOCcdd*6HR z`MmG^gvZAjlIeF^1z0vLJ3$CNz{vVvWDC#_n(RBX=V} z>?owe`vZ*q`>x?NY$wFg_UY|>Ii2R?q z*|f|qTM#$GML1<0H?H&jm6ySJ*bnty_Oag2-puJ{NBIeMk?UvO{8e^>pJs32R=-)h z%6G9Z=P&wCXsbi_XVZ*BKTqn&ICO6^<2uZym9Q&KvuO@XN%e|uR%aY~XpEF!*T{Yk z$z$EnU1KCqu}?m`kAG>&*M9mmedQY7YkQM_Fq-`Jwh)B~Qqa~yfJrDxhI8AaO zdmT65&_fsmt5|&_19~)q?Zt~~(M)_$w>hj8LeTMXz4!{)(#TY1WOM=l)KN-Z!vA*I zUw3lD5ROseJQSH&TZ~eC$ncvP-OTZYlxI314Re1 zHAzm{j@%Z>p-dLcXxZW*n(>#NCrg|hx~8|@MvwIlsVa7s7FIL?@-KRxJKCOYXSa{O zP+>2}*;r}&=M>?&roHJglG-d|%y=4=~ih&DSz%A<^&0S7USYFQ$BG@UInvm{?* zW>(CHuvxyfHj|WHP$D8Oa!??@Q0WlBg&1YeY;-pYbw0P-RY-K9TO7KpM`1lWkP88T zc@14k%>^x4j8d*bf5C16E7gdlepL}V;b4vLjQ_2j3M9i;9Vx;eK=GF=e;bUZf`)ou zU6T*h$I-2N0+y@6^;FP^S}GFBt%kio*MLbSzH=Z&e8FkA=uH&g4-AZJRpP(e1FWq< zN#I2S4ywTU&4E`xN^V+CIPCGFqZRR>Nxmisxv3(t^tY@vp^Xtx^myI7y^erU(85GI z(VF0fqp9F)^=Ev@Bf8^zZhb*^yv?Y<^;EEkfTHJAoP(_e$bc!ie<$wf+K>~SXzAQA z9ZRw}A*EF>?a`{oNMn}f{;@>J@hj6!3s)%l{3WbBEnT5hd0B#z+9t23$zB;hNz9L+ zfzMQ5f$8X8q!L~N`GAm@)#Umfq;)$pyD0OBr1Y68rPHpflqxk}cV4BwaqNV5CpEk~ q>hRX!$mvr}Z+mOq@x7R*M5I=e{1T?4giQX*t<6)ki~9UKs{el*7tzB2 delta 1895 zcmZvdZ%h+s9LIlmz4C8bkHQ_bSM-F!u$JydH4~Oi5Q{B4%Go|L3az%JX*#!nqezsH z46^Y?_QK`S^Yz`gy*O zU6?!Pe^*6F^`)C<^q36%2t?onH7#hIlU`GjA zhap?63We~;!D`DC*S~96gqV0bYV#U_Y~tiT%EnIzMQRE^3R)@#xM4a*L%aM(I%-2? zj~K*wl)y|#p(K1f)I|Ty<1a#pO5mlC)f(m{7-nMz`2fTWvnBn8IuS_~UHz;bn%iU( zSwvy%I59-TPo0?FHo)0|uIf!kY1D;Jp8SS#!}d7L>zCMxM7H=DR~ZR&8$65Wn#$i zoq%qX`C^%SML=#SjJm1EtejS_Y(F3qo`_hhOq`?~0`%WbrBPi+R*NEKCRjk1EfUd; zA4U$NHx4c&V)pkM)WMvJW|Nk3M{c}RAA*Qhzsha?HFL2P@pZwoV^%XVFzR0pHYu%lV)QbvJA#SKGG&n-XS?_(&p8eDx8R?Ajr?BYV8A zjV4CG6zE~RP@^@K55Dd`>O&scm3`*w74pPej0RlJ2Wtr^dk$wgSe=JrxTtB&xann{ z(J##ha$0F4$1f?Kr!?m;shp=YzTAhst({&^r(=KiBry*` z2UD8%o=j~;X42b4J|g5NT5@>{(zfQz2Fg4pmOj&1nrxb+G}hdVOj5U{_4MxKr*}u2 p-XiQfa=7!jx7C$>7PCY|>UFtqFPS1_?%&rUDdr~Xt8b~n{{h&CyL12m diff --git a/images/apple/apple3.hd b/images/apple/apple3.hd index 363ad9a0b01dde13d67aebc0651fb7824f4bc7cc..f8b5ee5d278ea90c6abe13e430a11c47614c7cbf 100644 GIT binary patch delta 2862 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 iYImr{9opay)w)A vmsrc/c64/cmd.a + ./$(PLASM) -AOW vmsrc/c64/cmd.pla $(PLVMC64): vmsrc/c64/plvmc64.s vmsrc/c64/cmd.a acme -f cbm -o $(PLVMC64) -l vmsrc/c64/plvmc64.sym vmsrc/c64/plvmc64.s diff --git a/src/mkrel b/src/mkrel index 00093b5..395a377 100755 --- a/src/mkrel +++ b/src/mkrel @@ -222,4 +222,6 @@ cp inc/spiport.plh prodos/bld/inc/SPIPORT.PLH.TXT cp inc/testlib.plh prodos/bld/inc/TESTLIB.PLH.TXT cp inc/grafix.plh prodos/bld/inc/GRAFIX.PLH.TXT cp inc/lz4.plh prodos/bld/inc/LZ4.PLH.TXT -cp vmsrc/apple/plvmzp.inc prodos/bld/inc/PLVMZP.INC.TXT +cp inc/plasma.inc prodos/bld/inc/PLASMA.INC.TXT +cp inc/extheader.inc prodos/bld/inc/EXTHEADER.INC.TXT +cp inc/extdefseg.inc prodos/bld/inc/EXTDEFSEG.INC.TXT diff --git a/src/samplesrc/testasm.pla b/src/samplesrc/testasm.pla index 42b7e89..383f66f 100644 --- a/src/samplesrc/testasm.pla +++ b/src/samplesrc/testasm.pla @@ -1,11 +1,7 @@ -include "inc/cmdsys.plh" import test predef hello#0 predef goodbye#0 end -hello -puts("Did it load?\n") goodbye -hello done diff --git a/src/samplesrc/testext.asm b/src/samplesrc/testext.asm index 12f1448..7a2503b 100644 --- a/src/samplesrc/testext.asm +++ b/src/samplesrc/testext.asm @@ -1,47 +1,25 @@ ; ; EXTENDED REL MODULE WITH DEPENDENCIES, BYTECODE SEGMENT, AND INIT ; - REL - ORG $1000 -; -; USEFUL ZERO PAGE LOCATIONS -; -SRC EQU $06 -SRCL EQU SRC -SRCH EQU SRC+1 -DST EQU SRC+2 -DSTL EQU DST -DSTH EQU DST+1 -TMP EQU $E7 -TMPL EQU TMP -TMPH EQU TMP+1 -ESTKH EQU $C0 -ESTKL EQU $D0 -DROPOP EQU $EF -NEXTOP EQU $F0 -FETCHOP EQU NEXTOP+1 -; -; JUMP TO BYTECODE INTERPRETER ADDRESS -; -INTERP EQU $03D0 + INCLUDE INC/PLASMA.INC ; ; EXTERNALS USED BY THIS MODULE ; EXTRN PUTS EXTRN PUTLN ; -; EXT HEADER +; EXT REL HEADER +; + INCLUDE INC/EXTHEADER.INC +; +; ADD MODULE DEPENDENCIES +; (DCI BACKWARDS HI/LO BIT FROM REL FILE) ; - DW $6502 - DW 0 ; SYSFLAGS - DW DEFSEG ; DEF OFFSET - DW 1 ; DEF COUNT (INCLUDING INIT) - DW MODINIT ; MOD INIT MSB ON - ASC "CMDSY" ; MOD DEPENDENCIES (DCI BACKWARDS HI/LO BIT FROM REL FILE) + ASC "CMDSY" MSB OFF ASC "S" - DB 0 + DB 0 ; TERMINATE LIST WITH ZERO ; ; DATA AND 6502 CODE SEGMENT ; @@ -66,21 +44,13 @@ GOODBYE DEF GOODBYE ; CALLABLE FROM EXTERNAL MODULES ; ; INITIALIZE MODULE AND RETURN SUCCESS ; -INIT LDA #$00 - JSR HELLO - LDY #$00 +INIT JSR HELLO + LDA #$00 DEX STA ESTKL,X - STY ESTKH,X + STA ESTKH,X RTS ; -; BYTECODE DEFS SEGMENT +; EXT REL DEFSEG ; - DB 0 ; PAD BYE -DEFSEG EQU * -; -; INIT CODE RUNS WHEN MODULE LOADED -; -MODINIT DB $54 ; CALL ASM INIT - DW INIT - DB $5C ; RET + INCLUDE INC/EXTDEFSEG.INC diff --git a/src/samplesrc/testrel.asm b/src/samplesrc/testrel.asm index 09785b3..8153fc4 100644 --- a/src/samplesrc/testrel.asm +++ b/src/samplesrc/testrel.asm @@ -1,29 +1,7 @@ ; ; SIMPLE REL FILE - NO DEPENDENCIES, NO INIT CODE ; - REL - ORG $1000 -; -; USEFUL ZERO PAGE LOCATIONS -; -SRC EQU $06 -SRCL EQU SRC -SRCH EQU SRC+1 -DST EQU SRC+2 -DSTL EQU DST -DSTH EQU DST+1 -TMP EQU $E7 -TMPL EQU TMP -TMPH EQU TMP+1 -ESTKH EQU $C0 -ESTKL EQU $D0 -DROPOP EQU $EF -NEXTOP EQU $F0 -FETCHOP EQU NEXTOP+1 -; -; JUMP TO BYTECODE INTERPRETER ADDRESS -; -INTERP EQU $03D0 + INCLUDE INC/PLASMA.INC ; ; EXTERNALS USED BY THIS MODULE ; diff --git a/src/vmsrc/apple/a1cmd.pla b/src/vmsrc/apple/a1cmd.pla index 17a8ef9..15f1c92 100755 --- a/src/vmsrc/apple/a1cmd.pla +++ b/src/vmsrc/apple/a1cmd.pla @@ -40,7 +40,7 @@ predef sext(a)#1, divmod(a,b)#2, execmod(modfile)#1, syslookuptbl(a)#1 // // Exported CMDSYS table // -word version = $0210 // 02.10 +word version = $0211 // 02.11 word syspath word syscmdln word = @execmod @@ -758,9 +758,6 @@ asm cin()#1 STA ESTKH,X RTS end -def syslookuptbl(dci)#1 - return lookuptbl(dci, symtbl) -end def crout()#0 cout($0D) end @@ -916,6 +913,9 @@ end // // Symbol table routines. // +def syslookuptbl(dci)#1 + return lookuptbl(dci, symtbl) +end def addsym(sym, addr)#0 while ^sym & $80 ^lastsym = ^sym diff --git a/src/vmsrc/apple/cmd.pla b/src/vmsrc/apple/cmd.pla index c84d009..b68ea75 100755 --- a/src/vmsrc/apple/cmd.pla +++ b/src/vmsrc/apple/cmd.pla @@ -39,7 +39,7 @@ predef lookuptbl(dci)#1, execsys(sysfile)#0 // // Exported CMDSYS table // -word version = $0210 // 02.01 Dev +word version = $0211 // 02.11 word syspath word syscmdln word = @execmod, @open, @close, @read, 0 @@ -1388,7 +1388,7 @@ heap = @lastdef // // Print PLASMA version // -prstr("PLASMA 2.1 64K\n")//; prbyte(version.1); cout('.'); prbyte(version.0); crout +prstr("PLASMA 2.11 64K\n") // // Init symbol table. // diff --git a/src/vmsrc/apple/cmdjit.pla b/src/vmsrc/apple/cmdjit.pla index 4f96c78..33d5c09 100755 --- a/src/vmsrc/apple/cmdjit.pla +++ b/src/vmsrc/apple/cmdjit.pla @@ -53,11 +53,10 @@ predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, str predef uword_isgt(a,b)#1, uword_isge(a,b)#1, uword_islt(a,b)#1, uword_isle(a,b)#1, sext(a)#1, divmod(a,b)#2 predef execmod(modfile)#1, open(path)#1, close(refnum)#1, read(refnum, buf, len)#1 predef lookuptbl(dci)#1, execsys(sysfile)#0 - // // Exported CMDSYS table // -word version = $0210 // 02.10 +word version = $0211 // 02.11 word syspath word syscmdln word = @execmod, @open, @close, @read, 0 @@ -1473,7 +1472,7 @@ heap = @lastdef // // Print PLASMA version // -prstr("PLASMA 2.1 128K\n")//; prbyte(version.1); cout('.'); prbyte(version.0); crout +prstr("PLASMA 2.11 128K\n") // // Init symbol table. // diff --git a/src/vmsrc/apple/sossys.pla b/src/vmsrc/apple/sossys.pla index 930208b..a5d5041 100755 --- a/src/vmsrc/apple/sossys.pla +++ b/src/vmsrc/apple/sossys.pla @@ -45,12 +45,12 @@ predef syslookuptbl(dci)#1 // // Exported CMDSYS table // -word version = $0210 // 02.10 +word version = $0211 // 02.11 word syspath word cmdlnptr word = @execmod, @open, @close, @read, @write byte perr -byte jitcount = 0 // Keep these here for compatibility +byte jitcount = 0 byte jitsize = 0 byte refcons = 0 byte devcons = 0 @@ -1284,7 +1284,7 @@ cmdlnptr = @cmdln // Print PLASMA version // init_cons -prstr("PLASMA 2.1\n")//; putb(version.1); putc('.'); putb(version.0); putln +prstr("PLASMA 2.11\n") prstr("MEM:$"); prword(availheap); crout // // Exec command line parser diff --git a/src/vmsrc/apple/sossysjit.pla b/src/vmsrc/apple/sossysjit.pla index 56fa331..748deea 100755 --- a/src/vmsrc/apple/sossysjit.pla +++ b/src/vmsrc/apple/sossysjit.pla @@ -56,7 +56,7 @@ predef syslookuptbl(dci)#1 // // Exported CMDSYS table // -word version = $0210 // 02.10 +word version = $0211 // 02.11 word syspath word cmdlnptr word = @execmod, @open, @close, @read, @write @@ -1307,7 +1307,7 @@ cmdlnptr = @cmdln // Print PLASMA version // init_cons -prstr("PLASMA 2.1 JITC\n")//; putb(version.1); putc('.'); putb(version.0); putln +prstr("PLASMA 2.11 JITC\n") prstr("MEM:$"); prword(availheap); crout // // Exec command line parser diff --git a/src/vmsrc/c64/cmd.pla b/src/vmsrc/c64/cmd.pla index df158df..4ae5094 100755 --- a/src/vmsrc/c64/cmd.pla +++ b/src/vmsrc/c64/cmd.pla @@ -26,17 +26,19 @@ predef cin()#1, rdstr(p)#1, toupper(c)#1, strcpy(dst,src)#1, strcat(dst,src)#1 predef markheap()#1, allocheap(size)#1, allocalignheap(size, pow2, freeaddr), releaseheap(newheap)#1, availheap()#1 predef memset(addr,value,size)#0, memcpy(dst,src,size)#0 predef uword_isgt(a,b)#1, uword_isge(a,b)#1, uword_islt(a,b)#1, uword_isle(a,b)#1 -predef sext(a)#1, divmod(a,b)#2, execmod(modfile)#1 +predef sext(a)#1, divmod(a,b)#2, execmod(modfile)#1, syslookuptbl(dci)#1 // // Exported CMDSYS table // -word version = $0200 // 02.00 +word version = $0211 // 02.11 word syspath word syscmdln word = @execmod, 0, 0, 0, 0 byte perr byte jitcount = 0 byte jitsize = 0 +word = 0 +word = @syslookuptbl // // String pool. // @@ -651,25 +653,42 @@ asm reloc(modfix, modofst, bytecode, rld)#3 LDY #$00 - LDA (SRC),Y BEQ RLDEX ; END OF RLD - PHA INY LDA (SRC),Y - INY CLC ADC ESTKL+3,X ; ADDR=ENTRY=>1+MODFIX STA DSTL + INY LDA (SRC),Y ADC ESTKH+3,X STA DSTH - PLA + LDY #$00 + LDA (SRC),Y AND #$10 ; EXTERN REF - EXIT BNE RLDEX - TAY ; FIXUP=*ADDR+MODOFST + LDA (SRC),Y + BMI FIX16 + AND #$40 + BNE FIXMSB +FIXLSB LDA (DST),Y + CLC + ADC ESTKL+2,X + CLC + BCC FIX8 +FIXMSB LDY #$03 + LDA (SRC),Y ; FIXUPH=(ENTRY->3+MODOFSTL)+(^ADDR+MODOFSTH) + CLC + ADC ESTKL+2,X + LDY #$00 LDA (DST),Y - INY + ADC ESTKH+2,X + CLC + BCC FIX8 +FIX16 LDA (DST),Y ; FIXUP=*ADDR+MODOFST CLC ADC ESTKL+2,X STA TMPL + INY LDA (DST),Y ADC ESTKH+2,X CMP ESTKH+1,X ; FIXUP >= BYTECODE? @@ -683,7 +702,7 @@ asm reloc(modfix, modofst, bytecode, rld)#3 + STA (DST),Y ; *ADDR=FIXUP DEY LDA TMPL - STA (DST),Y +FIX8 STA (DST),Y LDA SRCL ; NEXT ENTRY ; CLC ADC #$04 @@ -823,6 +842,9 @@ end // // Symbol table routines. // +def syslookuptbl(dci)#1 + return lookuptbl(dci, symtbl) +end def addsym(sym, addr)#0 while ^sym & $80 ^lastsym = ^sym @@ -1078,7 +1100,7 @@ heap = *freemem // // Print PLASMA version // -prstr("\nPLASMA 2.0 Dev\n") //; prbyte(version.1); cout('.'); prbyte(version.0); crout +prstr("\nPLASMA 2.11\n") // // Init symbol table. // diff --git a/src/vmsrc/c64/plvmc64.s b/src/vmsrc/c64/plvmc64.s index 6681817..37c1deb 100644 --- a/src/vmsrc/c64/plvmc64.s +++ b/src/vmsrc/c64/plvmc64.s @@ -121,8 +121,8 @@ OPTBL !WORD CN,CN,CN,CN,CN,CN,CN,CN ; 00 02 !WORD NEG,COMP,BAND,IOR,XOR,SHL,SHR,IDXW ; 90 92 94 96 98 9A 9C 9E !WORD BRGT,BRLT,INCBRLE,ADDBRLE,DECBRGE,SUBBRGE,BRAND,BROR ; A0 A2 A4 A6 A8 AA AC AE !WORD ADDLB,ADDLW,ADDAB,ADDAW,IDXLB,IDXLW,IDXAB,IDXAW ; B0 B2 B4 B6 B8 BA BC BE - !WORD NATV ; C0 -;* + !WORD NATV,JUMPZ,JUMP ; C0 C2 C4 +;;* ;* DIV TOS-1 BY TOS ;* DIV JSR _DIV @@ -1193,6 +1193,28 @@ NATV TYA ; FLATTEN IP JMP (IP) + INC IPH JMP (IP) +;* +;* JUMPS FOR FORTH COMPILER +;* +JUMPZ INX + LDA ESTKH-1,X + ORA ESTKL-1,X + BEQ JUMP + INY ;+INC_IP + INY + BMI + + JMP NEXTOP ++ JMP FIXNEXT +JUMP INY + LDA (IP),Y + PHA + INY + LDA (IP),Y + STA IPH + PLA + STA IPL + LDY #$00 + JMP FETCHOP CMD !SOURCE "vmsrc/c64/cmd.a" SEGEND = * VMINIT JSR $FFE7 ; CLOSE ALL CHANNELS