From 2bb9f73448af3e695d797d731ffb87bd448feab2 Mon Sep 17 00:00:00 2001 From: David Schmenk Date: Thu, 12 Apr 2018 14:20:02 -0700 Subject: [PATCH] Fix INCBRLE and JIT cleanup --- PLASMA-BLD2.PO | Bin 143360 -> 143360 bytes PLASMA-DEM2.PO | Bin 143360 -> 143360 bytes PLASMA-SYS2.PO | Bin 143360 -> 143360 bytes src/libsrc/jit16core.pla | 14 +++++++------- src/toolsrc/codegen.pla | 15 ++++----------- src/vmsrc/apple/plvm802.s | 6 +++--- 6 files changed, 14 insertions(+), 21 deletions(-) diff --git a/PLASMA-BLD2.PO b/PLASMA-BLD2.PO index 0d1691e5de3186c815fcb32f409313538e53ef6f..4992cd2fb7a8bf8833f5316041d987137a20f043 100644 GIT binary patch delta 485 zcmX|+Jxjw-6o&7KDQTNF)!GI(qgKa?Ll?Jv+@^)3iTMznt%@KBLR?!M#GzX$1!r+` zP(u9??j41Kf1rOr^qyPlcJFiF=brcUXW9NN`?f1WHQf_Gp*X0?$`1J^1P|#?<^q5W zyOJgjY9%Fol%7QRO+omAd*wla4@JnA;dv};!e*~bU_K=V$%SotOzXa*&sQ0$G9;Ov zMLj>7S2%bjvSkMm4I`df=TL=wQ;$rYGomuqU}mw|Ht2t}i++PJ-)^2*)b-HUaBze4 zRLHfc<8XFfWh`cXp=AdL%So4*jG3NmMUiizd{rPYi-`&=?T(q?_X)FPm%2;o43|il zB)MJ(l{*M5-Ok#K{$Nb7L-4U Cn|uub delta 451 zcmX|-y-LGi6o$`cN7ZVfHxrceW%zhJbBN1p6^VS<;k-AdL*M>9LpbAzwa3JL-+;|AH{F!261nC zrL^UzPGhrpRGwuV7btzzk`_l9Tw72Z zxbf+KD~M#q$18(0jU3Xc0WLGHxG@ZDsvq&Ks?YrOkPsg6A;k{^8qo;oSmMhQA9BNx znkV$GnTW;Vs(F{kX1sYb4&97(?a;UA1dv}Ek{*!ELddNCi`$4(Ecl2TM}cj6HmwuV dpIoYv4B0s&v`uIZ<+Wt~#wDgGoxL1L+8@tRYU}_2 diff --git a/PLASMA-DEM2.PO b/PLASMA-DEM2.PO index 1bca81b9440f553e06fc8b1e7bd1441ef0b6284e..eb2bcfdeaf18b7bfaea48fcd83252fbdda415009 100644 GIT binary patch delta 38 ucmZp8z|ru4V}mLSBgbYn7F$L}hRrFg8`v26n?-rrMR^#vi}EnNRt5mp3JK-_ delta 38 ucmZp8z|ru4V}mLSBj;u{7F$L}>CGvu8`v1xn?-rrMR^#vi}EnNRt5mq?Fsq- diff --git a/PLASMA-SYS2.PO b/PLASMA-SYS2.PO index ab8573b63e9da049ebc9d2563077e5bb62a3d1a3..b76cb662d6a20ead9e09f82efc039bf02d81e921 100755 GIT binary patch delta 1503 zcmc(de@s(X6vxlGE&U-C9tef$a8IZribEH-F%&nTATTIJK!O$o0pVhGdwBP<~A+gtAJO8T_k@iCN;RjgU|w8INCW8BX?I{gLedC42YXd%xe$ zJ?Gw>210CMF1ABzCFXyheIoQm0XvLjyE&@sI$RlLJ_3on}c; z&pQFvWcYIr5+`;CnJ=QTr@?abI-`hyI!%Zw21dXytkp;GoArT5)nq?FC?kQr*1%@W zkdg<>tOYGNN+@#)!)ZB(&yeekXu@b8hmqv$V>8BK1Xj>R4vSDNZp-PxRxBpX!Hung z9&N?lBtDpSUBOs-;4*F}13{t*qrY6nEm+>zhLd=d@@+VPgS5RJGq76RB50rmLx@gA z4_WXPy32x*xIn8cs3pCD)OZP_=uHc5Chz&pN*ddNVI(1tx~!N$D>^Wp^eqw1Mmo}g zEFPfJPJETbE}`k2_&o6{X^ItBQgbI}kW+pWMSYzZje5GG3%8LFC4I9Cr8>Z3+T^K=jDd@`_Mm?LTFfck5tSc=cRVAeE2w9i(M6p(;8()yfYzf$AOX1<{`;a?V0iVxR!sJ{P zBzq3Sr=E}CgSjJcckUBt@_Yu1o@1$S+H)Md9wTh_ehCM?U%^>#E&S^J8iu?lVbEI# z;l6s<=rh6VzVF~eUjsDw8sVz%4E*6c2S0efhjVnK4~yvV1q=%eEg|u)!9oDt-?X|P z3qtS9SDeaMulS-=4X3Jv`LWu1`XXwvcK~zr0b-{X3w_yvy+MS8%1vMd2mDTzELrtj z2q6C=s8ONMNh!!p+4Rz)N+98o3X-&3EmAE@vQ;8;6^X2%n1*Pu*36LGN&<0k9LnGp zRYsHK_2WVQ#5M>>%hP4$jXko0+D+VLcR0zD4sjU5weG3wu1} zH5=~yucPKacs?^*_#(?T4kwvNnM`SHa>(7Kal!uv`yTOqnVg1oJ4UVcv+&o+ zIF=6<(DFMDNe+8gq%)Rf_IhHkbvMV_9I__8%%+z&Ib=46yh$&=!Ax+h#?1uO)JyE# z8_ghO46$b-_fOwr*?A|IB>1jrcGBq{Vz)d(w*^$|?mwBen7DsjD7Ul4EfCHrE@HTF zHagD7nj%`<94o@D!t(StCfNv1*bs%Rd8aY_Nzk4RPea5UG10ZwG2cJTn3OGJ7O=a{ zJ2urbc0n-pFSN(!+vE4zxv*G$U5&=^)5)^gGlaWKTTj2#1q M(EmHJWi3(s138&tg#Z8m delta 947 zcmXw%Z%kWN7{;IX+?KU4*rl?I42m7AAdG=ahS6ngQYtd+SVM;f{F9BbvMmS&8P2hc zYK$^V9JS12oQcZ}n;n$4Lw6mz#refg8Y3S@BE%-}g)gHW^iR}e-rH$%PTt>hp7TCA zCwbiwojalnNgB~(F5d)Ho44fvOJ&(QU#VtA@R%!o2CaF6YBCi1YPBYf$}>l_cQa_; z46#MJk>k5ezs-zK&;2Ym<-=nx-Lwr$NQ3k+r%4DarxceFz`Ne74#hy%yV!kp>c`TO6 zBQjO`53RAoM*bS-{GK797dp3jLnW0j-=Ue(l7~U1# zgW>32_@mF`_oxNGMy)W#8ZZ`X#AvJuc`+OQiZvqCpx7Ns zQC7Rb$tojv6lz}NugsF;i85WG_jO6*?UeN1E=lnANrmr@Nbrs+`=SIsdz*@cMp4hd zyiBQ^KakC?RcE|SneHIn%wf#1;V4G%6(U@3Vq3Rt1Vvh5f#7I!JXAz2 = $A3+(TOS<<8) // LDA S,TOS codeptr->4 = $68 // SEC codeptr=>5 = $E7E5 // SBC TMP - codeptr=>3 = $83+(TOS<<8) // STA S,TOS - codeptr = codeptr + 6 + codeptr=>7 = $83+(TOS<<8) // STA S,TOS + codeptr = codeptr + 9 fin // // BRGE @@ -1131,7 +1131,7 @@ def compiler(defptr)#0 X_IS_IFP = TRUE fin codeptr=>0 = $E785 // STA TMP - codeptr=>2 = $B5+(J<<8) // LDA dp,X + codeptr=>2 = $B5+(j<<8) // LDA dp,X codeptr->4 = $29 // AND #$00FF codeptr=>5 = $00FF codeptr->7 = $18 // CLC @@ -1152,7 +1152,7 @@ def compiler(defptr)#0 X_IS_IFP = TRUE fin codeptr->0 = $18 // CLC - codeptr=>1 = $75+(J<<8) // ADC dp,X + codeptr=>1 = $75+(j<<8) // ADC dp,X codeptr = codeptr + 3 A_IS_TOS = TRUE // PHA break @@ -1199,7 +1199,7 @@ def compiler(defptr)#0 X_IS_IFP = TRUE fin codeptr=>0 = $E785 // STA TMP - codeptr=>2 = $B5+(J<<8) // LDA dp,X + codeptr=>2 = $B5+(j<<8) // LDA dp,X codeptr->4 = $29 // AND #$00FF codeptr=>5 = $00FF codeptr->7 = $0A // ASL @@ -1220,9 +1220,9 @@ def compiler(defptr)#0 X_IS_IFP = TRUE fin codeptr->0 = $18 // CLC - codeptr=>1 = $75+(J<<8) // ADC dp,X + codeptr=>1 = $75+(j<<8) // ADC dp,X codeptr->3 = $18 // CLC - codeptr=>4 = $75+(J<<8) // ADC dp,X + codeptr=>4 = $75+(j<<8) // ADC dp,X codeptr = codeptr + 6 A_IS_TOS = TRUE // PHA break diff --git a/src/toolsrc/codegen.pla b/src/toolsrc/codegen.pla index 6f4cd5f..24498fa 100644 --- a/src/toolsrc/codegen.pla +++ b/src/toolsrc/codegen.pla @@ -888,17 +888,10 @@ def writeDFD(refnum, modfix)#0 dfd = @defdir for cnt = 0 to dfd_cnt-1 - //dfd, idptr, cnt = @defdir, idglobal_tbl, globals - //while cnt - //if idptr=>idtype & (FUNC_TYPE|EXTERN_TYPE) == FUNC_TYPE - dfd->0 = $02 - dfd=>1 = tag_addr=>[dfd_tag=>[cnt]] + modfix - dfd->3 = 0 - dfd = dfd + 4 - //fin - //idptr = idptr + idptr->idname + t_id - //cnt-- - //loop + dfd->0 = $02 + dfd=>1 = tag_addr=>[dfd_tag=>[cnt]] + modfix + dfd->3 = 0 + dfd = dfd + 4 next fileio:write(refnum, @defdir, dfd - @defdir) end diff --git a/src/vmsrc/apple/plvm802.s b/src/vmsrc/apple/plvm802.s index 706d8cc..ed319bb 100644 --- a/src/vmsrc/apple/plvm802.s +++ b/src/vmsrc/apple/plvm802.s @@ -545,7 +545,7 @@ JITINTRPX PHP STX ALTRDON LDX #>OPXTBL !IF DEBUG { -SETDBG LDY LCRWEN+LCBNK2 + LDY LCRWEN+LCBNK2 LDY LCRWEN+LCBNK2 STX DBG_OP+2 LDY LCRDEN+LCBNK2 @@ -579,7 +579,7 @@ RUNJIT DEX ; ADD PARAMETER TO DEF ENTRY STX ALTRDON LDX #>OPXTBL !IF DEBUG { -SETDBG LDY LCRWEN+LCBNK2 + LDY LCRWEN+LCBNK2 LDY LCRWEN+LCBNK2 STX DBG_OP+2 LDY LCRDEN+LCBNK2 @@ -1589,7 +1589,7 @@ _BRLE LDA NOS,S BPL BRNCH PLA ; DROP FOR VALUES PLA - BNE NOBRNCH ; BMI NOBRNCH + BRA NOBRNCH ; BMI NOBRNCH + BMI BRNCH PLA ; DROP FOR VALUES PLA