From 8b649b0d48493d8f150cf4c2549c5403b97b55af Mon Sep 17 00:00:00 2001 From: David Schmenk Date: Wed, 4 Apr 2018 13:25:13 -0700 Subject: [PATCH] fix opcode skip for CS in branch detection --- PLASMA-BLD2.PO | Bin 143360 -> 143360 bytes PLASMA-SYS2.PO | Bin 143360 -> 143360 bytes src/libsrc/apple/jit.pla | 2 +- src/libsrc/jitcore.pla | 9 +++++---- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/PLASMA-BLD2.PO b/PLASMA-BLD2.PO index 416b2581ebc825583c11a28adbc2bac4ffb36bac..1f04c2fbd28c019570349a41d9108a9f63f5d7dc 100644 GIT binary patch delta 4644 zcmb7I4Qx}_6+V8x_Iq*uj1wFaXvhdSFE7Li;Xk4f;}{ZToQG}FkRLE+X`xHOayxD7 zsyR+0RCO%HLj^6jV@kHo-KNK`Yv|TM->A9Uv;EO=an(X+H(6#ry8Hogaq{ zEz;-roqNwY_nhzEcWq_hrZR9-IWdpb+R01~L$#;9#oMljDD!tuA(_6JPtVR>I<1Os zks$kYR=#M`h(y{NcgW)oxpbdfgt8K16k<7n2d4(su3gjF;$7dKjbsio(tKl1;ONxA z`K@aM3qsytc1<=59sEwo32ZWz7fvd5-&T`5XXLnPN;~t=M{s>s1)_V8Q3F->Ogx-wiO=EM$pd6+;(*Hlojg&?Q1uBUF+R?I-DJ)S~?oYS@Gc1z}kTB_qctY z?5gY&Dxp19If0{71Jw!QiBgS*d@3x-32c(5lvaoKp}2*R-wn z1||e9L*R?)!#aLyNADM?2SXDBA4cHExhpnpnR14&XLS{cziLAgP8qWY@eB>M2Q&>j~gfKUE{_b`%jOF<-mS>FmVi@(pAjcwOfw6m0W@fPrV=*`4$gm_I){@MWRt!VS1T8QY8M_x` zW*TJ}jTvKMK8%GKqplc6T_&c%Xf<{>WM*7443{vLmv!dD=oChuy|x%eZEr;M_u|7 z>ZxfD_I~UL+O05xR$EEwbbA?OzPn$RYO1P4;5~zIWi~>J;2u-k%pv0 zLFz9+7;>ux;lZ(x37Nl;DGEyt#-*VLc^-Z>mCl!wtDaX`J0X`ymE+Vi$q6-0ZbXTT zh9`TWtaMd5zQT3Fs+Ndv4)M}hM72c1L+m-O=vV<3A%0h3rw!k$hnlIMRD-kG8g{O- zh9#B4aMYH?x%P?$=9s#gRW*c%q#>XWf`9a^vFlM@GE6(Osh`U*F%Vj z_V66OBF^EdmGiEgXG%Mq(NZKc5(W$S80J*1OmbOQ;484wv$a3I?aTdJpV}2$>5SPr zBuOhNAeY<}d}`~qFExpw01v5b#&iV>|8 z%Q(oTG_CJ@BEBp3HL(zst%9=J^hpAyx2Z!DfrmdzIe&=FiRsnYO1v0he6m5lk?B{+ z5HWM0o_FqYL89NPJ0rYQUhsr1JAMy83Tf(I|d^-g`ODN~I5;m7l%@H<; zSONPkO`Pa5V55Ze`CR(&Fg~I{MAGW4Bm0|u6Nj-CT~gXVdkh)H_w!ZeidAM?(UMl# z?0aZZGHDPQ8UNs&iY;|sFS$>y{k%zS+5eR*o-HbKSh5v{wP|a7)x3_#d_%+POe1?> zM{yd%c=CD%qx^s&#wb)6@D&ieF%#1(MGw*;2lY!BP^B<>b2a-+)YxS_JeuO+NEf$8 zH5WKHGuez;O@llIm!xjBPvu;QAmm6ZkxqdOb;2>KKTx=Adt4~-lEk@`**7IU`+6zA zcEbU;kh7J`sjm}!o!~14_X*x8xLAQxx zVLq+w+W_gB@!eVJtiT%x0iD+XzPFG-98!jB zkoTg9GV!j6t3y>0>&fC0Bk&U+l>pyLMJKxR!_`R9N0Y znjMkiwxS*>WFsjCTrVMMUMWdY;053aa0YlCxW+M^;?iO}NqxWx;0|CaBWXFX8@L6K zgQV>Me&9%n86*{!Q}Uk{CGi&vC2j*(f!_j`fOmnnfHy3ZJPV&!@%*mEkQ}xs$tdtR zcrTu9K%>Q!bXnrYq!W%0!O@1Nf?x&^@L3)u?g0M)ZUR?<%XySMoo7m(%rhpA!F~p| zFHcT31B(C^m<3n?2Ha8P#3u?R{-99u_u!Yn-v&Pi{xk3q{PIrjRg8%}Ft&lOQsm@9 zpcZECO6WEl>qi03|>kfPZo%J~N{zGbR6OW{E$8 z{}K2IxDI>(yo0&(W;t;d{HMTcz$?H}jK6GV@x)6oMt~QAB(MhpupGX%@STh2OtYM{f#-u8!9O)YeiJ2cn&jj~lOcK5q$G~OehK)FNlFfz zHYtf`U_6G&Zj+MSh-Vv~9z2)gxd6|32%2r8L@8k4$(WM(fKlRoM#*0>IdKvE9Po4C NG{%0+l;roB;Xfiv_ly7l delta 4107 zcmZu!OOG5^6|NqaGZRAbh%p$)5{HSS?#WbUdd81LBaCyq>UQ_FtLm2P-sK)dC_~uyVUDPI+i-OUi12V&0F<;|D5;U)wM6Z=>5}kUk-Es^7S(( zE8fdvVIyI;@=fBg%prV+_x^X(Tlq)t zldnX12lM>kTd)3Y^{lUL@7s~i6jNbZ8}V;?J@3!Gvtoyj4mu%0ajZtNIHmX+6hElx zdcxZ$U!<5Dds^`p6#v!rxOabvMfaCtxTG@4WNc#h{1~RPuBpe%iZ3KOo7_pc@J`ns zLvhgw{^;rb-#+_1;q~iZJb0Ua{PVYe`PPG9{p7*n&O29*e)G=$$|pa&vVNA0+uqB0 zGE3jcw^SB6K>a&lW3ke~GkTa$xel(NMtmUG*L5|k)TYZlB}jw+{NcqvK-GmN_8QrkRleNL~h|Y2%Ir8 zxrA&%x9Dm#yf!2#Oy!)anMg`$2=0o;dH-rZU`0siF|3w_k>m!6ps6sFXq~HUQoBT) zMHyK`s7+GFIH$2Lwlg`mAxjhze(iRdS(SveKUIm`W&p4Gr1O&Tu#khz?o+5wwURX@FS+X@k<4QK=G)lwog5jtV zS38D;ke1635f?I*ndPcj_id{!velWhXc9G<+GK%b_fb`F1hg3GnWVUM77-Mq)pwBh zftrj;%Whjuu8v8n6Llw!^!u*DHFu7Y2%Mb;neW}|q5^=N=;kIdvraMqkcz1oaE2`` zE>X>Vw$)S@x|~eImSH&-NFh?kd^6Q$5|acjt}O(u$H;%3&@qUXGl+DWgHr|F&Gfzj zqG%7KZY(GUKo^z)XTh;f02Kq!*g#p-1QaM_T<6NBg8&Mq?KXfKFC3QyfEC3^*+LXJ z;S!%1WZ;^xT@!8{-uv*{AH&s(&v^k0!W@c6dd`OX7Wj&oV@h>gCTPAy)m=>EGD&DA z3!`)v(x|j7rL1c^qtWuCQYH2kl|eF#ETp($gcB2-AL?vnW-ui{(#o;4A%e*BMD`u5 zQ&GhG0?gz(7(KS`hs8cN@gR+~3WKaA-6_$J7$cZHifM@!5wXi4mj$<>$Rf$u zL$*mc6$`4kz*@60gV^xd4kHH8faE9^=F#vvI;@#e?$D?=Bp&PxcdrM*Xkq0KYGFSA zA+VfDivsWiQo+71VmA+4b{%6>0VIb}J0i@&;EIt9qBIV3!7SV0P1L^jP#)lqQpVZ= z<%E%G5dwutIOn$ozvU)}W+Q*|#&DNFVssZk;PDL+>h*db^j4nw&wu0MH!<%2+YDL; zBbBL!y>beK@7YT9hwNteGOJ&DQo1q|O&) zs`~hpx!NN!j4s=}w9y~}Ib3Rap-^f5$xbE`&l<4y+eFzOYH$ShP&8)~h**h_@OV+Xk>Nrq@W6E#v=&Vhjm~CC24n8~``4%ri#`I() zFbI5?a2%HwZ5+Bq%Tnuujdj=5_IcAq!Yp`w$jKxf&HoRo( zkq)s!j?wh!{=GV+nQ@UN#6e(}4x&n-Hu8rcT05>gK zu}NJP6_VO$&)^yff^3L~IVvJ#>E;<`Z7w3&3OZ8vMW3q8TD?A?{ui0bu(&`~P_&8A zu^C=Z?{t8mFzwv7e7z41j8M=BS0z4bF=GrxF)4YRn%fksDyD@l8Ny@j1J-WA&I>tH zx-^*JBE_h_jf-J|R>#}OZ93e05`hsDvrGJSxsEHQ_%7odGzjesL%OjMAZRmK-{)H+ zY6hohJdsv%9eMB_d9`$ecX_Iz#UpqFx8`7(-`OIa3 z3#de!z(+_h?>w`QjbojgA;vgAIpCm>B<@XE%RDo<;JD)1Eoj#BrPZqQaBZ`|-@A5K YgmltDr@AKK#eH<|!^geDudO`&Kj=8IY5)KL diff --git a/PLASMA-SYS2.PO b/PLASMA-SYS2.PO index ae737c2fb856c5444d399e6c2af52570557231f5..4aef3648c557b965bf423b8794513468e426b55f 100644 GIT binary patch delta 1942 zcmZvddr(w$6vxl`?IMqbWnE-ph1!%wWJP00!@=^&@*0HOf?=iM8m^h<18KE%lr=-G zwE;y=gUhlKPai<8wvCfh$@I|5Y8q>5#zGB2Uh>X=-0AM#c({0H?!CYJ+w(c+d%nNB zzgyVqQ`qX$oGuo>tB#*~oD-)B1FJYf7<@fC6XYe#*b}_EHG$^aBJ&;5!P^I0&HsoR zitP(xb3?J%ej=su?EqJ%2)F|vq`WeH{v$Jbh)7Jt4rlZY3B);0zde8fC(+rJ;duphFhvTh4UsL^q~iAEy78ihNNd^B&V$$H|=kpd{0=` zv1Ov}$B+sxQ2l2O#jPz)NcM@h%SLnx9;{!p-fz8; zHZ@>m@M!qn@$e|1<)<-H#AyQrX+@_oo(=oE9u#!rG-k6S{;o9%rTfj8L*-{s!UFu= zwi55Lgnl`LA?%t&SU1sGT#Gu=pXIrSe&jfd#cZ>mkSzBcZe-oQt`{wq9-PDNEY1C( zq9cuX6fG3egx?cu#7M`~X57W16`--@1yA%pFW4y8gz}xo>}dVJ^=5Shkkg7P`uRLA zW(K)KX2*QderelG(6*^zS=%hQ)ixUz-POQfcVpm2+dRl=kA=?mIJnh5A9~ssLQ+Qp zRCYWE4>}e@%Dttq>)vwMc`p$HI+LKTGX*~GOatsphm@`iNbKUErAr5@?rcczc@Ylx zybL#c)<8t>tFZ6xI!NtZ50$-n`{Bv^1}MJ&I{5d!0X}_Opsa5z-0Is78~XD>-(LVD z{YDt*-witl-hpicd*RQ4eel~rAuJg@03QqSTbaVo5MC(JyHcDBi_|u`?nS>bjZQ~ZGNP72kxJD zAP7tsgTa)e0Fy2RO!fR(9ttLf5=?bUC}~oKnZ8j$$#wqxRpluC47cEM8H@Y$5{7dN iJid6*t6bk7eix4u_9CYQePNTw9;UY=Yrw?TAz{A-2t()wR~*7=l`7IQ($}P}eQMet9C^^$ zR#%&-?-`_AospTHlHp3(-pi5m++!vlMmN7n!!5a2KQ}8qDND8Psn|Gp!?47y0P8cz zs4R5~pUDJjXDEbdkEx{X@nIB5#Nsfv89*i#!k|rj0tfl5m8SI^BM+JMZ6S#+%) zgX!yX6w;nD3}KNWRAoUqSq zEJ^AT64N`M<1W_ZM}~S#lW7B@3zZ^pIkeV~7PVm%wX~zZhq+V7^t7x2Bm8(9wSgvs zj8E^Tgm*lW9@e7i((KIF@m@E}>_wKQTDJLbbTDu}*p#r3`h<|<3! z<8YZOnlK!HrVCB@F3T75Dsoac<8tOHrjMKP2<{@Za$-v?_y&&C$`%ZxuPkWfs^sPt ztfRpe{N6_@E#1!*%Jea3F3{mq7;d|5#UjSLCX+=6aW%#4r$xPJqr-QNU?fdbe*pe=^J0UZ{D1fRtn2T%OPR30)85+g7oof=o|N}ffIk#!BNVw;YKW@ zGd3)aZS)7@tw1mq%fYx?0miG`b2$i%$-!X!Ef~yyhR!nn9SUX$1G7h%t>7$f!!OQZ lh&sXTV>myD|1@zIe7y6TvWw9hwzyqyns#JXtn*>Y{{fKdPA&id diff --git a/src/libsrc/apple/jit.pla b/src/libsrc/apple/jit.pla index 1cd6406..e22301b 100644 --- a/src/libsrc/apple/jit.pla +++ b/src/libsrc/apple/jit.pla @@ -29,7 +29,7 @@ const codemax = $BEE0 const indirectentry = $03DC const directentry = $03D0 // -// +// Copy bytecode DEF to main memory // def defcpy(dst, defptr)#0 *$003C = defptr=>bytecodeaddr diff --git a/src/libsrc/jitcore.pla b/src/libsrc/jitcore.pla index 7624607..ff34c7b 100644 --- a/src/libsrc/jitcore.pla +++ b/src/libsrc/jitcore.pla @@ -56,12 +56,13 @@ def compiler(defptr)#0 i = 0 while i <= defptr->bytecodesize if not ^(isdata+i) - when (^(bytecode+i) & $FE) + when ^(bytecode+i) & $FE // // Multi-byte operands // is $2E // CS - i = i + ^(bytecode+i+1)// + 1 + i++ + i = i + ^(bytecode+i) break // // Double byte operands @@ -824,7 +825,7 @@ def compiler(defptr)#0 fin VX-- // DEX if opcode == $68 - //puts("LAB $"); puth(*(bytecode+i)) + //puts("LAB $"); puth(dest) if VY <> 0 *codeptr = $00A0 // LDY #$00 codeptr = codeptr + 2 @@ -834,7 +835,7 @@ def compiler(defptr)#0 codeptr = codeptr + 2 else //puts("LAW $"); puth(dest) - codeptr->0 = $AD // LDA abs + codeptr->0 = $AD // LDA abs+1 codeptr=>1 = dest+1 codeptr=>3 = $C095+(VX<<8) // STA ESTKH,X codeptr = codeptr + 5