From 8f4ff3ee4f8d76574b20180353fa2d89e073ff76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 3 Sep 2019 17:35:13 +0200 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/CSH.S.CORE.txt | 235 +++++++++++++++++++++------------------ BIN/CSH.S.txt | 20 +++- 3 files changed, 140 insertions(+), 115 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 5378ef24150aa8be3626ccfc91fb8c8506f5d952..0b9bbab5170ea649d8621218191c01556d187653 100644 GIT binary patch delta 18737 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 D=(!E^ delta 18026 zcmaib30#y_7x$fE1|FCh*84ESA`JWBG6L=v76K~DCZMKm5TIBH3RqYcjLFr^N-e$8 zYL;sowrG2{zR^l=yV+*FX4-<)Teg4y``l+1?ESv)=kJd*_nv$1x#ygF?s@KWru&b- zBf5dUW2T_gtfYrdm?j(WVc3nX;B-@JmNV+1%HWM5rh_D?>!Fjj@T5)Q)`$KcQTDi? zxw_)$nu?=_0~JS&XI&a`aTuAL85NaAz93F;T65cZL4fJNZReTmNAVHs%x89$rfv(} zcgTtV%-Vm0=IuwFVMXTPh@)NdR3rL^DGZyWrz|4OtibM-YiFLdo) z+2)+#d?};J`HgFXvAg`Jt4Ab>sx;+Oc)~?%T*?4H>OsC*6x8F5T zB?!tSj}p;X)So?&FB;G2zhYpl^Utge(c;@E=hU=5*Pbh#C9b}d+U*9>77L1?W8FVt z34`kfl~)FiJG=T^j#@F#Hp{+4dsntNOG{icwi%&{64y3^_Fog4Ah@Fz3+_20{(K>a zK=eL)zjGi)@D9IshV#A>ZS6rTFLDZ&|M&hTt$(|rJ9heZQ+M=sV|Vy=b9dPGpzh%9 z!QIB~A#6|#o(ASq1@nC9w{PM)=Zl$r<5qvy^SxMicK;cJ$xv#FAV}P~-W(ROV^C<; zp=mbS`6jQ~Vor@Oa^6?$bRNk#)EBw>SkKpDXbAM!ip2vH{;$U=Y7de=Z_hE`8!TTI@k&4O<9;a8{iy@l z&KolNGE0YLe0icTsPs5Qb2?pps*o(aG(&vPv7lu`aGw!o+2Gg-3H@@`ZX?cq{w_C< zF!XbSBP1tktE<~4RJF~zhip9LT<6-q)m-WnyK7Cwqvit@j|T6%kWY1lj7guBxy`!o zP~^+o{(gDiv4P*WI%j2eKhZR?c4FhPo?{!J!`dB#yw?$uXCM5`v>{~s<=9!>=Ix#M zug`V&;A8pxh$AGUt7mY>7ebpmj)=e8g7zKSeoBy330tpgJkoOnyuR3G+%ed5GP`y_ z*)f=%y!Xlc;VBh`dJwlXYVu8Q>=4osdxNQWaZ9~tLFKf?&5cu+FRbin8<9(t zMmaKdAussano_>VKTVUIMp-P^V7}PYOVmrmoXrh&p0u*k5_hq?xMCVnnoYg!jrBxX zqOZ0EJhMiTtXAIlwKX$wnaQ2Y#Uh2iDk_CI?ISyhr44iKJZ_Ec5~`R;ly*~ZLnGQd z(7v?UW%WGSjjOK;9#{!^UPNy4UFT%vz8Iy*t+Glk4Jc{@WJnTIVIH!}x1`<0IC4 z+b`FKUdM9`HhaSj!W2U9<_+NQ*f>P)s+#H^xCSH2Cb_Qo8})vD`D^6Daxl|P{+Tv= zXPP8tO5DQlG1wADa?{NuY^!%VrB^re&EO2Dj=n|XTwSsN&am!4veEXr;l@a7@_v); zP;GQ5IUa$$#wzlf*oK5GV&&g7*dB`5T8LIvv^M1+SRc5*(N=YK6rAXCqHP)T6{MGB zuH>V4+A^}QB*MYi>^UVhp31h?`o{KlV!4XACr#R-ZLcn(NiwdRKb@X9*61PpaArdK zh*h#V`f5^G?JlY)o?BdAvrhBW)p8Q0M^X%DJm>txY{MG9BqK3>(puT-xJHZZ9wH(oy&SjpL`v^W|u7~^Lo-drMhN*0rna;SuQc(fTcuiz#2L(mu-0@ zX(NAqmu=YC8wvJ?+?SxugE5HovOE&Cndm!K^uQc3oVfG&lv1|a#&(CZ-4SeeVn=W5%Ng@j_ZeG&z_U(84dZWR5YRmgn;X(81 zsVyH+le=cc(#C7uQ>#6gAek(voLkpcRM%0bHH|0XDP%#lySTjQdUtUVQBwKe*Th_F zbY$~wxi&k$b6w2Y#_W;&*%qtIFp3vU36AAy*T$?c(s6v*#^9K!@ub&XRDg}IsgYz% z;Ggb^O*5uVj1EoMW$W+}Rh5Yrdgd{@|FIZ?AQC=)tW2T8gRddR( z*Wy_E!i6Myx@NKh_jJ!iHEnhEjU>7REtPYsXUr?{%yQ2yt|H+x^_Hn6o;(sii$C*F zY}_TKV&MGh!h+IL&(gNVEgcJqwG1Y#Z%1^;)-Q+Yqbi8+xF~6X16eBrC}x8qri%17 zH>~iaRl6&z-33+C3rS?PXsYwLmR440k6c0GYq}7gv(#g&-^~3NVIc5#$gjLLM$$%O2c|+u8(gr2~D< zbvUTB2t|}jH4ls<=F7ygItflH&CB4)D+I~@PpIPPDh&-MXWI$scCKDCoTi0!S*q_hjdI@;#uD108LfJ*vGL#`BWGW`x3E zUUuFT$p+&|fzN=zFrZK1PK>a?eiyaXiA=?eGm7M1vH66Wld{s!XJKJoGlarnrO%Ys zCG7u}NsZ+#i(`YQoPi|5*J<{EN%$&#%0hQx6~RHJ&8Y>!qolN$ByQr1jcP*njlT8SaFR)Fx{zbwER)(K<}DCDo(t>SXA#R*-vGzWL#%#j zU7HMS^cKI0y_UD$>Kz7`xeW|sZ|4zkr{Q<_+ilyt0%SvgJN*J|7XsX+2{4ja?+zHT z!#m;%jM(WPu?r(c@8%nWRJUOdKNzGs4flxgsZ;Ltk2c>2s)YOf!s-fkw|CUFb$E#N zfdJY*(2n273ry;`oCp0wDwnr65$i(%gb$N7M0rG>Yv%nJS1vpOO4-w>#-lO(*&M+U3$q3_5cqu%8e!Rkood%ADG z@ApPGj;5*_j|ke6KH#?ms}t=Xo~GmYL)sC-3sTgW#ORNP_O2qzVHwxcKjv{EYFg+g za*_$3^5PJ6{P@rGRerAL8%JdKurC5+K+d$r8(}J2mlE|$zAr?jUH=J~3(fYUP)bML zKc36J(x*74Pw};!!g^erqPVoWn1r3sJ{MIG%QxDmX%$FQzSTZf&nu}ZoI$MLY2OM9 zKyLe9e6Dv-ttu{&68nR``-aAnAEn8ZpL8+)E5)Ec2SySRpb~XmM<+SB9mu zo!C5hYSGdJvm0umqy3uo9`2SLu#)a*&IL_W-s#310|MQcV?huIFo^7!%`K?%2+_#sGx=3kHGbyumWIZKi(48SJjhy>H@e+!V$b&uo77WL zQRZoF^AydgB<3lYIr=R4i~azKb-}gGXQMf`z#wz1g;Tv_iLFpyMHW()5k+X%a@L;4 zmIhDjLQg|ueREw~UB}|qmXV&8R{!+oVlcE#^A1LWW|@w``toO>Go^&zX;YnDGktTJ zX9?L#4O(jE*ElWnYsGgwmwQKHXH;OAQmLti9SS@u&M?tTH|NoGwvKO5wXqnE(#j4%tO1rsB-IiS^do34XtbPMgFZY|R!7$uY(z0}U z$7B!5Xyi!|YI@Q_v{fwc5RD{qkzx4Nh1DZH1tLc+Bxy~&HbPBZxLA&NT&y{^mPu+` zP`^S@E-~O4q?1H73-t?!#{*9;?gW%2vLmr2pd)W}b8CHFvuCnQpp;fgleLr|i%>Je zm&vc@HfSWSohL@B4nqeY7pV?+FGo|%r9;Ejv~r?e=GVE5x6@ikLMOj2QjNE*&~=Y1 zwKJ~Z4@at#jaM3YWROZnT;=bwb$jiCbkOSY+9ijWS7FYytA)2YL?RJf1A>Uv26t}G z7P(<_NCfkGowy1i);0R@Tx7^=F+A!T+3%8i$tDr&U?S~Q)dsk(<#$G@S;6Z;JN!ES zMwFTzeZ5x%aX};6H}KGCHG9}by&V@Yn+*O77@_R!n|MXE>N0HRozdzD+ZJiFIo#kL z!?{OQWBBvYYJSvKa1h&YEHU?jvFm0Y6@$rd!RO3d`IHznBknekXu+sQJgZ@9y-H#!;TX<9up6VX($_sn- zq0_d{Yt50^We@7S#*>tXg&l{D9ZAfOh-vqqW|#N_I_VfZ*|l~wHMV(h+i}q3CdrTS zzo?ot;c*O$c*5WwuiY4@Wg&OBKB*6ygxQ}GY@a@jZPqiqT2(WH52DlYtfssK;&{$C ztY^vM_V&dsi#&C0i^!-K_yejsGWJCfTV4W<{!sTXG5BSEQdRBlel%#tj9C{ORO3d_lcp`J)_!_SJ*QZSEmJ2tBLtj zEGO|Zo?=%MLO%yfTp*`>!HeyP_5TqwA;=sRGwDG_c$M;%?1(rP*g=%9b^7B0&6>z3 zboy@sJBZ~wf4ux&kC%f1@zR)aQVW>LKLiHMABP6a%%2QA+o7g+{a12`|5=Ne`pJVU zJ#TPCJ_;#B%seH$#oH{F^Q-Jg{w<)xA2YEVwNyg+U6LjJ5lA*7_i8P;^4A<{=*&MQ zNyOh`p(2Ub!i||2ZzYiiqX=Qz$s+C;6OG0I8nCHqY;WxFOs%NQC9x)>7BHjDM(KBB z#vn^I_L7VcUL2>U4_EZ|JQ5RT^rgNy{va%|SoB^*C>y^iPR(+R2tS=lp0oV3IF;HW zbb8#yq(yNH8ckv!<`~QzPa(c`cO@6K8mF;5PBK(p8Ly_>VgtC?xd&XL z9X>9^90w*T@%)i^)p=%uPKs3}3f{wpNLRjmNkt1D`RXqr)+9eub23QdoIEN)b#$e8 z+p!^2(QZpK>bDCb0Hvc>OMHke!`m(%`ZN9QS>AS$7Px%v=4>!ihx_FzX_s%PNW=)E zd(0U92#U)g>L}xoM-dnf46d7^G)GrNKqP19~w|d;;dx&`&h%%>h+b}gF zaRxq{OYp}!%gY9nm!e@p8808Ej_)cr;tUYG$9K5V3cpx|txJ$k;flJ_FOhjRhR0U< ziTpaVReQ;Da1m1zFy$PKiJ5EE?`eH=S&Qaj#FE9h?t@(CfQZibGxp8CK(K`=Kx94F zI|Xvy^DrRpd?P;@tHzErUx06x3ymUK6yY|a)~H40NjW`J3k!**4zuTM5$AbgJ-;Ri zmpTnbd3H1o4H-mPC_5q+1$GdnNvB^N(5waGi*@=-0y}WY3W1a*M)_{K#i%{+(pIB* z5)}4M@EP2))QH%L7ZXszG7O4u<5QB=xUP2ZT1j|^zOl3$Ov`d~$V(&hrJ%Q6=G}Iw z*mj+IXCASykOCoL!=!Mq_73rqBlL13GOiUKVz~mOT0A1=m4eTeM%>|Ru{4L+uR;(J z;r6uA<}OgWy7>>uYS#2s#@>zp|tXf%iF8d)x*&t+G*9@+PU| z)EoI{PBkU?Cd88J8h&;PVu!L>r`aNDvN<1>qPn`aYBZ<6YH`5-J+RI&&tc! zY7Tbm5C@~T1(1{!t<^He+x^^eX5mo01AJTCNZdB9qrlDINl~L_-6^!N-S7F>QYA&D zjV&bRE@>g*Gjeh=Y)8O66_snf&#)T*xSc#FRdvMf8p5lhQt*o3!!Jlxw3ZKY5v*^Vto-qHDAjm_Lqd;|D!k~ z`ejIvtECWHV1kwUrC&w8BHh_5E>T{U%ZYkTs80`?A_Q1oH}-~$X9S_pHy~oho4ht% zO&>ELVxD-m4g0szJr>UfokV$Ch|x*R?|?4qUCGHeMcjM*>Q2MRkZf;x6MiTQXacj(*liLT4>NK!FU`Aq6K?sLD( zKn=VsL$!1r0j(Y%z5s35mx!)hdlUB`edit3_sLiKJ~^g2r_>{YT)|Rk^J_^PdE6Tu zgsXZ;#0jsxG}pC!qgx7(O5aLD6-z$QZ`gOjKee|k-^-cQL2V{@VnAXOebQ?eZ+fZz zVC2j4)R?Xxeca>z3#IBWodfH1i2Y|x+o#6@`it1B`rBt5>NTw>#yO=&rC;Ux&A&lC zQNIfzHP(20jR*C(KYcSr;eZWrOZ#6&{!FH-=Kqax(IiMuoqbXpf_lXfuU{m}t3it~ zNY6-!IVcF*$;6|waMf)_voMlKX3-oQ5+v#uh6r3rY)TNenSM1F9VRAR0g=2D+AX5R ze@iLKOoX#oAqTRLw6Vlu!!$Dcvqb2vD5QuC>hf*)D9mn&maOp#+!7Nc^jun6Kw@Z+ zJW7^o38*-PEULdZ_8+~99aD&??+B7NLvi43ix0vU(pg3%1ZkUjX|c>{BNFxR@@v$v zp*%@gQjmTrWl0W_Z|rb^>kQIP<%uc0$)!#(r1EVpH6bfawkDsqIy9+crg>XsBQ9REEsPNZZYMh}`;~Nw=JBWXN${w3zsq!(7t^v=XhMlV$ zcAnR;=SaiO_bNUh09Y3I4SOzRv7h%p4Xd0l_d&=7!nP#jLLo7Ut@VltQ@T-v#6J($OZr0->Q$P7v|s;Q& zE7!>V=Uyiix56Xzti8_?A-!|eRP13-ee3d;4($y>kY?X4vF4;x&`f9M2mjf@H2AMu-Wlk z^M4T|kfJp&ZxD~p+Up(bR<98}B(~S|@n{FrH zFdB6WyZFA*sv~$ec-!}AZZ>N#KGS>T!hJhNIN7~EW18;+P1yb3gGzZo7qL$??-TaW z0_%f3CkKA}khHV;Vf0!ak&F>eE&Ihs90IuTdQ^CIE0Tl236;l$s#g%@abY+VEIi?N z=_kQUc}g<2JdJjF;+vll5*!pt5b*razxZi+6d9?E+{HmOO$`;ZH@_u>`?pT^wj_&u zS7>X>w8}Z2Y1MO3!TlbD*3aMfh0q^(cUR zDNpDN`NltUSw#_v{MP@ydPXUU{LcTqt9k}X5We>}l#=j4|F`KR;-vo@%7!9-@PD0- zuRr>~7SARTKl#6+dNcCB{;vh)MI_>9|94bAME(*~cro^fX1QWCM4j^Ymx=+AzXmjb zK>0&o>7R0?%3sn2EPvyilG&O>*8`^so2dTp;UrJVLO~N#H2lPDvC+F-m!=3l-ebTHlIcwh9Yc{VOsR+a;s?# z3A2gvYw>{N2sddVDow0x)oSeduz&{_S+T#=D%%Q`yX4Ft5$*E(L`RH-TM4due zu^E;WzX++iPSSLpq~m{7mfACT_c%2+E)$g6IZ4b}sBTwW=*D#p3XdPagd>NGwh_88 zBXvEE5@qmi-wzaIysVzTYr|DGW0x$A8?6hPqYXiIe6AEUKF>7VBkCSJZH>)%6W!pc zUVc&gL9?4EV_2%cHqLY#2^%j;|3&1Ao8Z%%Kcx~z?XpbN*FKS` zlLLQ_pkFsz&OpDo4nXd3CKeKwFMj2qU13d;>r>9sB{|zGiFOm?lcYdMGSw$Z;SfpA zm%sSXo^OhLk|a(Glw|0SCM?ta0?iNtmG}gjsS7kq3Y1dH%O>GyDbs!&v#8w9Gw{bT z$rX~HFpGFLZtT=9mCL7!G!Ye7m6Dk{+q*hH1#wjQd3wk0oU9scqB2Oo8cEs8N1UlT zgL_dnL~rJ^&%~oODhIV)Iku-5kH!%w6!ewa<0N5M08` z!vU8UV~C1MLz$xm2w~Z$uLM^us6Hf7s5tbG!TKE!|8o=)Ae`nHsGq!|7%}<)!G(^z zSWrqlS);OWwDV`rQq_jXBuj7odJGB`efiEp+}-1MD=1hb5hzsjseTNxpjJ`S@i@HY z4eWtXmS@l>?h~-?gBY6fEWd1u>dZvJA_+&eq7*|^=c_1Kl+OpK8!M}x?k=vX;wjGu z$MAtEs(CzW7sYD5qN)EHBATq?7nO|Kv&$=bRokoFa+aEyX?_i}CBIH81(~;hL+A(YEe;KJ|yc z@2jap<*?-gUxyi`jz}R;zZlts91f+8nrHZ*`u?kVXl`XN~5x$`OL1km_HBlbci5`(e zDf{_`$RuaV0dNzyrUk_MsOhFDMa5I+Oveq{V>}8C}8X<&0jz=t@SfWb`UVyBO_e)Whg1Mz3acHKRR@GDg=h zx|Y#v7+uHcwT!N3^g2ebXY>X}H!!-9(M^or$mmUsZf0}~qny#LjP^2mGo!aKdMl&1 zF?u_rcQCq*(K{L4&gfl?-p%L^Mt3s0i_zVT?qPH_DUuE<)Mqg+24MyK&bb!&f82vY+Z!`K1qwg~M9;5Fw`T?UKGJ1&7j~G47 z=*NtH!sw@re#YqMj2>b13r4?W^goOqW%MgXk1_f+qsJLN!RR-Pe#_{0jDFAPAfqQ4 z{ejUR8U2aT|1$bBqrWhEiqT&g{f*Jz8U2INKNTgaZ*kBoGBe12KT$rvkBn9dH0~Ks=BDBm%>LBp?}Z0x3W$kOrg!89*kG z1-O80U^p-W7zvC5+`woc2gn8TfHA;WU>q0gHi)flGj9UwxQl8-NYKMqm?gBXAS28Q21F zU@OoI+zi|T+zQ+V+z#9UYy<8DwgYzocLO_soxm<&H?RlT3)}>;E$|)iJunEI1bzU11bzbk3;YcH0-OSV1%3m52mS#51pYGIPyaR? F|39LOQ@H>D diff --git a/BIN/CSH.S.CORE.txt b/BIN/CSH.S.CORE.txt index e260986f..3511e92a 100644 --- a/BIN/CSH.S.CORE.txt +++ b/BIN/CSH.S.CORE.txt @@ -98,6 +98,8 @@ CSH.Run.1 cmp #'#' .6 jsr CSH.GetVar bcs .7 + >STYA ZPVarID + jsr CSH.GetCharNB bcs .9 cmp #'=' @@ -110,7 +112,7 @@ CSH.Run.1 cmp #'#' jsr CSH.ExpEval bcs .9 - txa X = Exp Type + >LDYA ZPVarID X = Exp Type jsr CSH.SetVarValue bcs .9 @@ -128,9 +130,11 @@ CSH.Run.1 cmp #'#' bcs .9 cmp #C.CR - bne CSH.Run.1 + beq .80 - jmp CSH.GetNextChar Skip CR + jmp CSH.Run.1 + +.80 jmp CSH.GetNextChar Skip CR .99 lda #CSH.E.SYNTAX sec @@ -312,18 +316,27 @@ CSH.TYPE stx ZPVarType jsr CSH.IsLetter bcs .9 - txa VAR TYPE - jsr CSH.AddVar add with undefined value... + jsr CSH.AddVar add with no value... bcs .99 OOM or DUP - + >STYA ZPVarID jsr CSH.GetCharNB bcs .9 cmp #';' - beq .8 end of declaration, no value... + bne .2 + + ldx ZPVarType + jsr CSH.SIZEOF - cmp #'=' +.1 dec pStack + dec + bne .1 + + ldx ZPVarType + bra .7 + +.2 cmp #'=' bne .9 jsr CSH.GetNextCharNB Skip = @@ -333,8 +346,8 @@ CSH.TYPE stx ZPVarType jsr CSH.ExpEval bcs .99 - txa - jsr CSH.SetVarValue Update value to this var +.7 >LDYA ZPVarID + jsr CSH.AddVarValue X= Type, Add value to this var bcs .99 jsr CSH.GetChar @@ -519,11 +532,11 @@ CSH.ExpEval ldx ZPPtr1 .20 jsr CSH.IsLetter Fnc or Var ? bcs .2 - jsr CSH.GetVar + jsr CSH.GetVar bcs .1 ldx ZPPtr2 var type (could be 0=any) - jsr CSH.GetVarValue Get value on stack + jsr CSH.GetVarValue Y,A = VarID, Get value on stack bcs .99 stx ZPPtr2 store real var type @@ -563,8 +576,6 @@ CSH.ExpEval ldx ZPPtr1 stx ZPPtr2+1 - jsr CSH.PushValueOnStack - jsr CSH.GetCharNB bcc .20 go check for an ARG bra .90 @@ -587,7 +598,7 @@ CSH.ExpEval ldx ZPPtr1 jmp .10 * Old OP has precedence, compute ACC=ARG ACC -.6 lda ZPPtr2+1 +.6 ldx ZPPtr2+1 jsr CSH.Compute bcs .99 @@ -595,7 +606,7 @@ CSH.ExpEval ldx ZPPtr1 bcs .90 jmp .10 -.8 lda ZPPtr2+1 +.8 ldx ZPPtr2+1 bmi .80 jsr CSH.Compute @@ -609,14 +620,14 @@ CSH.ExpEval ldx ZPPtr1 .80 clc ldx ZPPtr2 X = Var Type - pla - sta ZPPtr2+1 - pla - sta ZPPtr2 - pla - sta ZPPtr1+1 - pla - sta ZPPtr1 + ply + sty ZPPtr2+1 + ply + sty ZPPtr2 + ply + sty ZPPtr1+1 + ply + sty ZPPtr1 rts *-------------------------------------- @@ -801,14 +812,12 @@ CSH.GetNumOnStack * Input : ZPFileBufPtr, A = Var Type, Value on Stack * Output : Y,A = ZPVarID *-------------------------------------- -CSH.AddVar sta ZPVarType - - >PUSHW ZPFileBufPtr +CSH.AddVar >PUSHW ZPFileBufPtr >LDA.G CSH.hSymbols >SYSCALL SListNewKey bcs .9 - >STYA ZPVarID + pha txa * clc adc ZPFileBufPtr @@ -816,40 +825,62 @@ CSH.AddVar sta ZPVarType bcc .1 inc ZPFileBufPtr+1 + clc -.1 ldy #2 - - lda ZPVarType - sta ZPVarData - - and #CSH.Q.PPPOINTER - bne .2 Pointer, always 2 bytes - - lda ZPVarType - and #$1f - tax - ldy CSH.TYPESIZE,x - -.2 iny +1 for Type - lda #0 - - >PUSHYA DataLen - >PUSHWI ZPVarData - >PUSHW ZPVarID - >LDA.G CSH.hSymbols - >SYSCALL SListAddData - bcs .9 - - >LDYA ZPVarID +.1 pla .9 rts *-------------------------------------- +* Y,A = VarID, X=Type +*-------------------------------------- +CSH.AddVarValue sec + .HS 90 BCC +*-------------------------------------- +* Y,A = VarID, X=Type +*-------------------------------------- +CSH.SetVarValue clc + php + + pha + phy + stx ZPVarData X = type + + jsr CSH.SIZEOF + pha Size.... + tax + + ldy #1 + +.1 >PULLA + sta ZPVarData,y + iny + dex + bne .1 + + >PUSHBI 0 Datalen HI + pla + inc + >PUSHA Datalen LO + >PUSHWI ZPVarData DataPtr + ply + pla + >PUSHYA Y,A = VarID + >LDA.G CSH.hSymbols + plp + bcc .2 + + >SYSCALL SListAddData + rts + +.2 >SYSCALL SListSetData + rts +*-------------------------------------- CSH.GetVar >PUSHW ZPFileBufPtr >LDA.G CSH.hSymbols >SYSCALL SListLookup bcs .9 - >STYA ZPVarID + pha txa * clc @@ -859,24 +890,26 @@ CSH.GetVar >PUSHW ZPFileBufPtr inc ZPFileBufPtr+1 clc -.1 -.9 -CSH.GetVar.RTS rts + +.1 pla Y,A = VarID +.9 rts *-------------------------------------- -* Input : ZPFileBufPtr, X = Var Type (or 0) +* Input : Y,A = VarID, X = Var Type (or 0) * Output : Value on Stack, X = Var Type *-------------------------------------- CSH.GetVarValue stx ZPVarType -.1 >PUSHWI 0 - >PUSHWI 6 + pha + >PUSHWI 0 From Start + >PUSHWI 6 6 bytes >PUSHWI ZPVarData - >PUSHW ZPVarID + pla + >PUSHYA KeyID + >LDA.G CSH.hSymbols >SYSCALL SListGetData - bcs CSH.GetVar.RTS + bcs .9 -CSH.PushValueOnStack ldx ZPVarType beq .1 @@ -884,7 +917,10 @@ CSH.PushValueOnStack bne .99 .1 ldx ZPVarData - ldy CSH.TYPESIZE,x + beq * + + jsr CSH.SIZEOF + tay .2 lda ZPVarData,y >PUSHA @@ -898,36 +934,6 @@ CSH.PushValueOnStack sec .9 rts *-------------------------------------- -CSH.SetVarValue cmp ZPVarType - bne .9 - - sta ZPVarData - tax - ldy CSH.TYPESIZE,x Byte count to transfer - - ldx #1 - -.1 >PULLA - sta ZPVarData,x - inx - dey - bne .1 - - >PUSHBI 0 - ldx ZPVarType - lda CSH.TYPESIZE,x - inc +1 including TYPE - >PUSHA - >PUSHWI ZPVarData - >PUSHW ZPVarID - >LDA.G CSH.hSymbols - >SYSCALL SListSetData - rts - -.9 lda #CSH.E.TMISMATCH - sec - rts -*-------------------------------------- * Input : Value on Stack, X = Var Type * Output : CC = true, CS = false *-------------------------------------- @@ -960,46 +966,51 @@ CSH.IsValue0 cpx #CSH.T.FLOAT .9 sec rts *-------------------------------------- -CSH.Compute tax - jmp (J.CSH.BOPS,x) +CSH.Compute jmp (J.CSH.BOPS,x) *-------------------------------------- -CSH.BOPS.ADD +CSH.BOPS.ADD lda ZPVarType + cmp #CSH.T.FLOAT + beq .8 + + clc rts +.8 >FPU FADD + rts + CSH.BOPS.SUB lda ZPVarType cmp #CSH.T.FLOAT beq .8 - - clc rts .8 >FPU FSUB - bcs .9 + rts + +CSH.BOPS.MUL lda ZPVarType + cmp #CSH.T.FLOAT + beq .8 + -.9 rts -CSH.BOPS.MUL clc rts + +.8 >FPU FMULT + rts CSH.BOPS.DIV lda ZPVarType cmp #CSH.T.FLOAT beq .8 - - clc rts -.8 - >FPU FDIV - - clc +.8 >FPU FDIV rts CSH.BOPS.MOD CSH.BOPS.SHL @@ -1176,14 +1187,18 @@ CSH.IsDigit10 cmp #'0' .9 sec rts *-------------------------------------- +* in : X = type, out : X = type, A = size +*-------------------------------------- CSH.SIZEOF txa and #CSH.Q.PPPOINTER bne .2 txa and #$f - tay - lda CSH.TYPESIZE,y + phx + tax + lda CSH.TYPESIZE,x + plx rts .2 lda #2 @@ -1205,7 +1220,7 @@ EXEC.cos >FPU COS *-------------------------------------- EXEC.getchar >SYSCALL getchar >PUSHA - >DEBUG + >DEBUG rts *-------------------------------------- MAN diff --git a/BIN/CSH.S.txt b/BIN/CSH.S.txt index a0fb834b..de7b7b95 100644 --- a/BIN/CSH.S.txt +++ b/BIN/CSH.S.txt @@ -27,8 +27,9 @@ ZPPtr2 .BS 2 ZPPtr3 .BS 2 ZPVarID .BS 2 -ZPVarType .BS 1 + ZPVarData .BS 6 +ZPVarType .BS 1 ZS.END .ED *-------------------------------------- @@ -47,14 +48,15 @@ CS.START cld .DA 0 *-------------------------------------- * Relocation Table -*-------------------------------------- +*-------------------------------------- .1 .DA CS.INIT .DA CS.RUN - .DA CS.DOEVENT + .DA CS.DOEVENT .DA CS.QUIT L.MSG.GREETINGS .DA MSG.GREETINGS L.MSG.ECHOCRLF .DA MSG.ECHOCRLF -L.MSG.ERR .DA MSG.ERR +L.MSG.HEXWORD .DA MSG.HEXWORD +L.MSG.ERR .DA MSG.ERR .INB USR/SRC/BIN/CSH.R .DA 0 *-------------------------------------- @@ -201,6 +203,13 @@ PrintErrMsg >LDYA ZPFileBuf rts *-------------------------------------- PrintTraceMsg >STYA ZPPtr3 + + >PUSHW pStack + >PUSHBI 2 + >PUSHW L.MSG.HEXWORD + ldy #S.PS.hStdErr + lda (pPS),y + >SYSCALL fprintf PrintTraceMsg.3 >PUSHBI '>' ldy #S.PS.hStdErr @@ -239,7 +248,8 @@ CS.END *-------------------------------------- MSG.Greetings .AZ "\r\nCSH-Shell %d.%d\r\n\r\n" MSG.ECHOCRLF .AZ "\r\n" -MSG.ERR .AZ "^\r\nLine #%D:" +MSG.HEXWORD .AZ "[%H]" +MSG.ERR .AZ " ^\r\nLine #%D:" *-------------------------------------- .INB USR/SRC/BIN/CSH.I *--------------------------------------