From e782e101f586924908cb3115d088e7dc70519a21 Mon Sep 17 00:00:00 2001 From: pkali Date: Sun, 11 Sep 2022 21:32:31 -0400 Subject: [PATCH] rmtplyr de-self-modified --- artwork/sfx/rmtplayr_modified.asm | 58 +++++++++++++++++------------- scorch.xex | Bin 50160 -> 50149 bytes 2 files changed, 33 insertions(+), 25 deletions(-) diff --git a/artwork/sfx/rmtplayr_modified.asm b/artwork/sfx/rmtplayr_modified.asm index 8a62912..45972d8 100644 --- a/artwork/sfx/rmtplayr_modified.asm +++ b/artwork/sfx/rmtplayr_modified.asm @@ -28,18 +28,26 @@ TRACKS equ 4 ;FEAT_EFFECTS equ FEAT_EFFECTVIBRATO||FEAT_EFFECTFSHIFT ; ; RMT ZeroPage addresses -.zpvar p_tis .word ;= RMT_Zero_Page_V +.zpvar p_tis .word p_instrstable = p_tis -.zpvar p_trackslbstable .word -.zpvar p_trackshbstable .word -.zpvar p_song .word -.zpvar ns .word -.zpvar nr .word -.zpvar nt .byte -.zpvar reg1 .byte -.zpvar reg2 .byte -.zpvar reg3 .byte -.zpvar tmp .byte +.zpvar p_trackslbstable .word +.zpvar p_trackshbstable .word +.zpvar p_song .word +.zpvar ns .word +.zpvar nr .word +.zpvar nt .byte +.zpvar reg1 .byte +.zpvar reg2 .byte +.zpvar reg3 .byte +.zpvar tmp .byte +.zpvar v_audctl .byte ; de-self-modification vars +.zpvar v_ainstrspeed .byte +.zpvar v_maxtracklen .byte +.zpvar v_abeat .byte +.zpvar v_bspeed .byte +.zpvar v_speed .byte +.zpvar RMTSFXVOLUME .byte + org PLAYER-$400+$e0 track_variables trackn_db .ds TRACKS @@ -252,8 +260,8 @@ nn3 GetTrackLine oo0 oo0a - lda #$ff -v_speed equ *-1 + lda v_speed + sta v_bspeed ldx #-1 oo1 @@ -296,8 +304,8 @@ oo1a oo1x xtracks03sub1 cpx #TRACKS-1 bne oo1 - lda #$ff -v_bspeed equ *-1 + lda v_bspeed + sta v_speed sta v_aspeed jmp InitOfNewSetInstrumentsOnly @@ -345,8 +353,8 @@ p2x1 ldy trackn_instrx2,x jmp p2x0 rmt_sfx sta trackn_note,x - lda #$f0 ;* sfx note volume*16 -RMTSFXVOLUME equ *-1 ;* label for sfx note volume parameter overwriting + lda RMTSFXVOLUME ;* sfx note volume*16 + ;* label for sfx note volume parameter overwriting sta trackn_volume,x SetUpInstrumentY2 lda (p_instrstable),y @@ -414,10 +422,10 @@ rmt_p2 dec v_aspeed bne rmt_p3 inc v_abeat - lda #$ff -v_abeat equ *-1 - cmp #$ff -v_maxtracklen equ *-1 + lda v_abeat + + cmp v_maxtracklen + beq p2o3 jmp GetTrackLine p2o3 @@ -608,12 +616,12 @@ qq3 qq5 stx v_audctl rmt_p5 - lda #$ff -v_ainstrspeed equ *-1 + lda v_ainstrspeed + rts SetPokey - ldy #$ff -v_audctl equ *-1 + ldy v_audctl + lda trackn_audf+0 ldx trackn_audc+0 sta $d200 diff --git a/scorch.xex b/scorch.xex index 2027e71047404a33a4016db8c162d3f5217f7590..1d798f917d4ada0581256f1aefb18074b7f9be2f 100644 GIT binary patch delta 14557 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 D!K?Rp delta 14631 zcma)j3qVxW*8e|XmDglQS;IrbQR5&2M~BYs z6SQ;A#Bh*<3=P-1MLDGv$WYkHd}Q}(R>B8nG^J+VO8>uoX7G{S|NVS$_FjAKwbxpE z@3q%nYtyks@7gkwivWCf`W+YKLxooRW?n5Z4b;nAR5on z^4<|t`%5)hs8AtE&d|f2;fkJW&y8UG@ZJXL`{86I*J-5myiL8O@e2ncc6#z zhIz&-L#R#5F$lF-{driLPMF026QQ39Y%^St2QhY{ znEM28p!-hlvqb||xu!wu+oBv$$8|OJL_6dl#_kL|?0LX;*|XMlksaZvk8-GLc_0%d zFp*Q3MIFqOa+oaALL_}4vmwf1be9U|04Bvd@QIk)@93S=%i;w0P{EiPN7jXVAo^o*fdBS5!4~*^oM6zQ3kBhfO%VdH zDkFrZ5MWh?2qyHkYusb5A zE?yLrB}kpTnR|M1l=Z<9cE8R!v4lOKb3RnUexP$Emare{oRdn}gE~{y6j^hcQgm3j ztjITse22*Qv-6YeyxHF7)f>Jx$*Ytz81ZPW{3BzLc_zD}+|p@Lbe-8!w#T6aNEXi{ z%6C|WGaPaNI}@5^^F`)Evf!vEW>E`XpDD+)7j#ttvVo5j@gqzG>qA8ODnC$cGjz)# zZ153T&yG;Y28&^{bl4l%SF14BZH9l#TJ|LoQz)2xR*0LsBs$=clKNC`&62^|RIX^r z_)(jAdl(ybgf%KP<8(q=5ukU4YMz$5e^?#PlCl3wED^;G0;Vgf1s?u^=u zx(s^dnJP^Qf06Gx9i&_`RcWBZ*x=@R*CoKNm5VIZmJ=6wZ%?t|moEMyxBag%*6EJs zTqV#s&C#6W)w#|%XZq?hP`4eEaE<<-&GnnjKUP5>rB0J zk?g4KDos(2dx~&!s^E>WMKc!nRMIY4_^AT14;J^&JOo7jXTCG1>rA$CSjth_u(a3` z!Rg^W0p8F#Yf1$2-$c}~A8-@wfiv>3=c;#r=MvZO#PI%Q+m&Evp-wq0hgTVk>_FiD z^~7KL!Lsy$wX)Bp(vs;1lc|4jqnF-og-BD9i=kvskP;lXnJ0Uo>T1zzRT{gC((Hy3 zUNcc0D_~;sg|Iren4IJml9NoQlDm^HBwtMqo0BsqdrtV=gL6;JJ(+wm`7He-{R{1! z|L**&bm+VR^J3>snKym@6Z5m?GxN94ubl6h@0fow`OEnxIS?maAI921+ZU+ievDcS z0C>ptVwA5)kbywi7r;Qxa->x`3q?kf!x?*m)Ycuyw7GOGA5&F}VaF!RkwAQU1tCf~ z{u};Ww>LuWd#wZQSYT3FlMb?!D7CUNqB;OOQj|XK*07^Q96yA*k1{z`zrZ2F?3M%B zXztY~M_MV7Ip~ZLnO5gWk!f>|5}A()n?Bz9_@yR-9Eui|MyU5|=NH7x9$R6OA*>Af zshYV&(6{C$NGaVTnH0#DdK26zrI=?hDK=f_&2Zpzla`GR_V?#9mW{YpE?aib(3LAN zUITq@t{e(|MnDiiv;@K(Up7wr3a4BCxONx!*X5(BU*-}!iUT0oC^ee=5gf; z`sIc4h-;;R;77wMg4~zg1AVe}0=;;id^1%4N2par4)%c?>I5l;uNS0L{tZD&HkVg@vg@qf<$&RvDP!t{1uk(A)in(5(Rh`t5l}z|4M_ znZU?~+Y(R31{(|Z383$`end`?j|BHV!P9CBln(+(Uzisg%vcft>#z`{j|f4+#|{hz zk~p~D5TM9?0+WVDCcPvH3})1|8NNBRM*w$ld`jo3>LUXN8O;HiioiT8rFyh5>nWaz zu5ajF8|D6t-3lZ9N0kA51GHCVH$wyciVXLuKYbyNZFNdeioRBwrZkhC>SS*1 z2L9aCX%nnRpgjc(*yP(7G7ih_*`0EyEXmCcw(~IGySs{H6$Xg4!FEyI`-EHHc7b!Z zY#|&Jqgl^nV6zypY0T~&LPEFBrv=Qm>BWpX>9q2M^i^|%>oKVzq2nu~SsNA>R!h9N zG2YufW4--7cX%T_vGC?@_XdF>P^JDkW50&@V>94|D8n#tLamgQRFs8dMK}e^za~UgQRuI96Sc)oxi84I`i(n@^$5TJ}V12An@;&7ACDQ-8;Qq7Q8xJVgm5GwE+3_sEnspb7xm1MXk0$56X(h6#(u(1g5xh zc;BPm5uIr6Tu&Og)|I2RVchpCqavpySARq{i`E-l*i7Be4P7;T<|nWOY`ft61Ut^z zjvWU9ZxI1Z-vVROd?MWok+`Z=k65p%qcNXJ^XgjCq_pyUaJ8G7x6yeB{`{d&g+qq~ z=cj^41J~maK3+YY`=|+9;g4>H>R|Ys4Xn9Z;^V{Zhl4RC*%__W#s+%ts)!BnPOga6 zVJTHUj)UFmxr*YXMV?FQ2N#0a_dOv>IIaY6>D%O~%uy4r2qC`uJ0{N*B^2ipH9v(` z9`p27#-ak>>KiJBToTng6NWxYhQ{>LHdxG&fzsM7Vk7lta4xh@$J-6fY)#IMY`26%Zz2-4zt}Zsx z6X^}EZ7SPN2QDHm3Bd<5Jenom5CBGa&k$F9P1cp=P~??WFe8lpX05HU>A{@OHS=i> zRj773Hdh#&Hd{No(Q6moKo3_L+(WWX!J}I)Kz)5rtr83&*d(inmxu1Y_5`$ct0c$> zz={7CJ(asB&G^vUdGP39$KX_vCV4Nehw7-9cCwv_dx+))oEbn0P&xD?k^a`V^WYbf z{%`pDYyZ4IY&+@ia;by(k>tUIcX(T#XeAgt=fgX=k}m*2MXvOI?VBqff(8iDKv49j zt|4>)!Af|(I&U-2ZsvWLWOaf8dWmOW;(a8D?opC30pP#oG2&2q9&la8O$@g?azA|_ z6ZZFt(929e^wdxFRSK&>vIfUL^o91k*-27>OAEgH~esTZ!dwL!WBqW2S}i zFqO4N=^%`YMQVj{$(Gtav$#Uw7m=-Gk`BU3w8BcX!Ag7#D{+-^!$kPT?xSd1%YGN6 zHZ~A$7#k$QJJS*GOfSk)VS6!16Y~!9F5_lWm{cb1AtpVjYK)^s+Eyr@e$p0>5zZu( zbT6%=uPz4enFM)hhg9dDTgnEDQWf*1uB- z{?T!Y`G@pYw}yF3dK*9AHiY{)CHo^~sZnZ4eTQk04yL}#9F$s9_c5(;SGa#>j98*0 zXOEs7S%Kup3c`^E$ul6i8InH($yeiih{Gs)>d3O|VqO=0bY*-WX}32(`dZOb(JLjl zvJA8rn4|iB29Jk5ED+7n$GCOoaU)h+>DQJ>??bcuG2&wg!#!Nt%v9k&!Z`FeDvK~JA}0^^X6TCU0JI^*_+wq2P^_UufduB|$&3F|cs$5tP2 z1UbcGfqm);9A2c8|Hl5l@5a8LFc=qh*f1hN;!MvB(eCBeJ#%-2{}98~nVe(XThGK; zZvc_?Lyk8bZVB=m-xKGb+yWrmLCDsc0O80j0ODabJ|-)QZd|NR$@MjQeSQAv^4x7t zLBFrjuPQ)l;ZF!w=^%efkXrd~1?e5WOOW2>zZax^{7*1a{3UpFUmB%%%qeU)TFe@@ z2W|MA7ZRj*x>MM*fOc!x9{|PY0?wIt%&qKqK3uO4_o9m1%AWJ#{^-N~S-^d(>gu)u zzX?6R3C`aHPoNSgYuMj}hTpjE)#JuQuXJC6QJ^<2GrCU*1ziG|b)OOnz8Ao+`&*&l zCjmTjr!t0E(e0|hYOrez!EmZHA{I}Z>a0#h1-Ni31JTzr75?i+;5vaa02jflLVUR4 zK70&!Va`*QVJTp1$p@JGe7mwAHtlecn~WZvs}) zUyQ&YRsem78L(?qLqOfsPwfVJ=mI&`4kCd!H)$5v341t#~JP{{L_Fd|Fx)pCo8nr`((*#f%5 z5fSQ7E}S7ag?>QXXBU$#uVjv6>@N~umo*u-)h9Ps;NI+Hju0 zZTVpxVfNGxp)(JRs|{h!Ff05gwULf^su%4)jDbkuD;OmKjxPLK1^c>N!+fT0^DySH zZ<~J(1%i=ioC{+F&p;*WEZj?r{3V&i8#mv%dUmfe8c>JGj+X}3Z4nBK37VK`6?Ia#HVFF zxlQ%QVN856ct%r_>6f1Z8SnHzqX9P$qC=mCQ>6kaUBw9uLWL?Jx#|ye{*&N-H6pAC zzBE=J(F&WkxJ->H)KZJ{L0pY=GO4&eQCyhA;d@aN~}t%^uLLD+3IJT{`BcK!z<{F+rSM3FlOu(zEqI0*JNxn zqhu)na~3JPpj=R^xM5px!^Vzov|y3?)}L#Hp9XbYU3FJ>2t>ul*AW$O^@ZAeEq{eG z@_$%SCVyOFF6cL>*=BSHG^e>HlNp}`=^;Crn&uSOcy&33KqcJo&kwcw4@Xm*!D#{l zJhz+F*9G+%Zc^Vdmm6jnw}aFMb~o-4sjsuOg0og#K+fHQXNoOMo`MzxD{5iJQ#u-0 z31}U!vo(UVMs+sqKis}saD{;;bJ$tS zy|?yuD_lLzN_GoEd+_)|aqA0&Nh{xJf`M_rUc&5jzgfcUYTSvugAyC41duBL?miI> z7kFo%Bkg^TczbX_aKay}Q z(VB2$=-+dmcb?}xq00XvCUKspUtj5oQ2HJ^&l`@Z=mZd?^lLcJpE|(15AcTfuN(lD zbtNts0{}%0P#k}?XeY?w*w%wrp;Ui>Z*48Cum6Cr(ln)&An(+)x&)~w5^DXS{zJa$ zxf147{YQM0rGzaO>YMqdbtP;YU*EzvZ7pFh@bw4zrfntc$9#P&-=s?0q)JPo_!iFe zVnWaXJ}j)@04KaSQhS~|@ZzIJginJgp_rbT0vvLiQpKd^bK@Sx22+Jx$JFGUWRibCqUWp15tDNOh)y zY_xN|sNANyL3YiFd7?MGb$_(-vmN(S%AQg99`$90Z@TpKB`!RBn00SDG_R-krYncg z)zGKqJ;Pv}Tkp{WQ&9{cMd`if4wsJU0EnRU?*ycMov4hhUndr;m?|VsRD$aB2t?{I znj@Rva|I_z?{!D29ihMubWYyLg1=$c)po!14Rq|z0BxXLZxbx{f4F@i+f%f zm>tdiGdrpuQj`}mYzWtfLBd6LRZHdnQ!aVMdjZof^|lxMW=r2FSBc!ywq*UT= zhO_4kvhHDaO4;TzW|uvvaVP0BNVyc3FB*b~EZ)KA@88= P!ctKVyyC(@pDd^5$GtXh)6y&O~K%ivzVSc<(< zmd~~4j<;SjFviB6dGpH3cY0E60rINyo$8c)m_o?)Rms8K$rtELNh(d)CY;R!whS09SCD*9r>&-;UsBrYousZpzYZDG}zldo>~T2)u`HuneH z8wx}o9Z!cS+O};4B5iy|wQQe0j)i6ya=Z^0ZOEr1vT;3WF%(zhfW`Rz1Ms4ZCf7M{cPhJnZ?+|8xDzjDE34^~yMU!&+^r+iW% zD!R~(&`zgqx9X6Bv^Y77hEvr4u9(z=LWI8XS;ey+92As zKrGKgPSDgu9F(SVZc)L~euEuSHfwZ94C1WtUCgg=?-xW{haj=c4tF?*Iv9&{n1ji# zAMR+h#7xp5Y+XKHQ-kGBu2FxI=fb zLmlq*yVzllE_|45K#&EHEZ>82j+Fg9Xy+o8%}^_zHL2^zXf9xrF;m!TZ->8mgRd+f_ zegPdyZXtIQt`*26((i(Mv~7+9s?G-o>l@}cNOm`?cNX;QDIO7%2XT;NHSLi*{XCyt zEe~b?7aoneKx!NFW2bcSr}$RbiStOsf5*e4ILFJU{!}hP+}bdoiz4x%a$QtS{sNv^&(+?AMl z2x#vR$dMI_ukRm0Tj&Y`YKTpb-na$qHVp4#Vq6#b z9VGAQ(V+GwYLuh5HqLc1_KLCK-4fi%+y_d`8ope`glSco#nlQ&D*V|xUPE=A{!#hG zB>#e`-Hs*fWpZSS$wlZT+fz>7is(ESxPdRx*5PYqFFR$DOtDiZ;aJ_5FElY_?7Bo> z@EH@Z-tTh4ry_?g=xGqb(Fa+^WEUGQ6WuqGDZ&>rUMnR~Tb?ki@L_5n^` zG)}vLyQ^q{*3NAxx?Stxs`2w2*H$z#F)}+rD(J8vQoEren@NrPkvD{NeuY%mX=UER zB-3Y%am{zSO)G zE@K{N-a-#G{&1)TQE4^8EQ za@OdaBNqIl6nK@Tc-z=BS9H!5E6ar*T5O<2ToGG+FN&g#2w`CV*hm;ijXgx7<|45i zw?EuLE|f=13t+kcX--iF`+^JxyfD}y$iZw9_+Sn&AG8_1A}%8_0!YdtQB2aZomn+m z(DAi)N%*3e8vWN1cnE+SlMc$rGVmz2MT^Y*9-K@E6^zSk#s(tw$j zkUwroZ%J#hC_j<|^afC83Km={8orZ#xYqzUx(FtBPw61-{ajKhb@z2bJ|vJKWA*io zg_;lC>C0B%&+RB3k%T@Np(V8?g$!oQRsHlz`fnsvS)wHg4@so^s- zRwDAwgpJ=yW57mKS#-?(*E%3v4EfVB!~S3!YP*5^RM}u_FE<#r%LgXiu=tJ%>~Vpq zK|tjwNs(b{MtMU#qrCy1u~0>gRCDK1n13K16>bQnNi~Sn5StHLwa(*$5(lkc-VC%~8OxAR(~}2wI|?h%qV62hBV1J_apqMKfF9PXFXV;#ZX1PnO80CVZk;J2 z|K6A}siCwygWQ$J`tHhyW{OI8XC9_too^XQy$@%mD({$(3zrnwrq7sEqok!dWhraaG?EPAN~ z=Pa?~0LVFKiya?;BEA^vc7%swl0|xq)d+-CKSF9Rg54HarQMdy^|K8MOA?jsblnCM zUS8Z|iy3-U=`6w1#%-aZJ5pqxcZZ40TK5pK);*AW);7{Q0lO1f%v5ACGh&0;8R9H+ zT1J}xe|1Jfs91rwr8Q|Jvyp-B$ZeRJwGA^wX}8k1F@uc~N7P^%>7T7?MV(W0az=@G zjVe8l7pl@)yilzQs1Fs-g^J!NaB(71R0e^O6JcT`Qqe=i6GISlat{+8Nw< zjv{PL09!^aVaOQWrhMWbdGrZ`{)W-jY9c3cgXr9we0sSLxeQF{jW9b)1i1f*?VDhB z{%BQk{^5jkTLh*I#~ve5gE{TrruCm&$}~xm=Sf?j{6>PBm**b;+wEEhm;bl1Fu!=W z)g+~`cR28#XRJd?V`Ckru-f9{CT(F-lcq4q9_YX3BMUJrJIzA=OO{GrC^mGGP?Cj2 z%d<^m3a1wyDcr`q#RL{TRuox?orH%Qmpu{0kFM<{hM@Uu=7_wIokju!(;dU$3gZQ} z9xte=w`QB%;~XR69U~GQ-aFmnxJj=J85Zy84&?F9B+&r_h<7ONLSjtS1QGZAE2FJ` zIyaG_zMCx_!P9iOo_L)O-xCkisqeR%s6>V`G1Lb|-bg8D&YU@TX=n~%XE_jw@l}(9 zQ6r3#>p-aMV*Mx7s`HXww2I*X6?GoB`@!+>OXYk_-9*Y-p>_l{O&~#8wN=4|&9|g6A))EMsngfZNHkLrvUL}!RjqhcS^a9We)b?50@T9wfF{ZT8_YRRDY}Fpz8DBK?%$ku0`be z(#O&fn5rtgCNYK8wY9nHi<8`Yijz$56i?XtZBr`ck=BSFf+BVrwX zWuYS*0s8CKtZ81E@p+49l?}fkg7*P6S;Q#BV7uP#x=0-@Mx-vEK*$D;R3R<-O3w{w z<6KsP*OHIy-Zjjq8!^Gl9A6V5i(rF_Zs-9#?A9&@Lj2Y)`!Is93*K9+;}F9|f!MwY zYLm%MT^FhthUHiC%S9$EA^-LW@ox{4x+S>aU4IK=n>zYUGVgtD*CK=ULiDJ6CeO?$ ztB~K^_umkTSAMt}I%4YL^!$pq4xf#Powe-wZ56F2zUxO#d^DrX z_CMkt*WS0^`%)VmF<|tR*$Yy0twr|zhfZq^_fDKVZPwhZO|LW^`(D#;#KebF%ijF_ z?2w023rg!64j%hHwEX4kf4CRxAJtawJy`#`PWN&hcObyX*MT>E(5F zYHg9X@W&*30sMxq9L37N?E#Hm_Cjqde!jh%t9FeXp1vDLO~_%pzAW;vJ)}}|7{4AU zYl*k@Q!V$k>%I|h;klQr@qT63HTKlCHuf+-6!lbTyl=uF^r_|I8%N zW|vjdOKUw-yu+l6vHQKDVdKW}=Nxnp84-mmU8F2sj1MOq^rbSzallz`~s!q|MB40JxukLN%Yc%{n D+y(`A