From ad96c47d8bbad67ebd9d290bb008764e44418d2e Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 11 Jun 2025 16:03:08 +0200 Subject: [PATCH] Old RMT player de-self-modification --- lumber.xex | Bin 35524 -> 35513 bytes msx/rmtplayr.asm | 53 +++++++++++++++++++++++++++-------------------- timberman.xex | Bin 38096 -> 38085 bytes 3 files changed, 31 insertions(+), 22 deletions(-) diff --git a/lumber.xex b/lumber.xex index ad86701d33ca373241a5a9ad4c0870a21b0740f9..6a8c2b7557feced132463091e606a1421e8d5a08 100644 GIT binary patch delta 3579 zcma)93vg7`8Qy0$*|^C@i6p!{c?bjngHTjvki{kt!X~8TO*Y9*3}B34d5j~VlO=H1 z6>^vC9>O6kmn@rZ+nahbFwtq#@s_lsOg0E}p(4nL#?cAE+VyHHDk}6pcQIsZooOa> zbH4BU&wsxEoU{MlyxFN6=+vFKS)#4z|E{D}mr_Hldi3())9tb;#Ifzji1(Kw?Q#5S z>2z&99xi>@blhjZyc4;7Ws|hGaB5k0YBm-=V2_Od9-&#%j zDv2^}#Hgf=jTmJ^P@}|+m}Oni=&2-VH?e2GC{~m340)cQ;i?IptXDF^T6t2?NP$Vw z1vTTLkxH5lru9`3#X2^U4v93LDuO)3UiD&VQjSSZKevv+WNnm9gdE}26W=x`bL;w@ z<(mxJS{$ivH`J1_7Jpv-IR4|hwG`-7u%boB@N2HfCT!!1Z9*hUVr^rZ5rKi@__O*c4<-8T$Q8~| z(!z6jXKqC2piLU-e|nRoM!9l6mM77aGQ4duVw5uL;)WdA>P<+S3 z+l`jmSo>?DQ^!42P#n7tm6VG0P(rELM88rK;o_zTo{BZspbB?){%MM1t8AuJ>4qNC@T!l+EESkF5Pctg>!NA1p+-n29 zd&9JQp;1h@VJdxggAEyvD)D2V%#v>?h>_+WRdn7qsq*M(o2(n%14AdCw=u2NLC_)( zD)I!)=rk8`5YYi$ME(aOoMN5AQFb?AGyJ5jce2h7-RN#c7-idp?d+aA0w`^48z_6I zamZHW2}}|+-Zr=OyYY0;a|~2l z>9&4DE!7c0&(#y?j+_JMKmCi8I?`89B;!%9GiZdG#ag`o>5Nw2k#L-n6gDYSpk-!4 z%bX$e5H~!cgD)`XTr*9A!oBOx;d}b5m^s`BF*k@ zucMQ~vt%ZIWtymNft5@=n1 zuuGFA9Y5IR%#yU7UCs>mu=P_0ZvSMdNR>oYvfPz)AXTfA|~_ z0i-RebY7JfM5UE@o1J`nCX}QwL9?{z5HDp&Hh5-9cKp%ipf(TheeQ?W1~Q$8GkwA) zY~hyKgh6g49TnK%0ILaCNw_M)NU!-JK>CXxBA9)Jg*n<@X~++e(iuO5GLd2;7L)K4 zIajc9#UxTh#3B+-mGx-!FtAgAEg~?E*okPTaq+;|Nn|x)<_XrIo?lIdtv4BQHR0Z0 z4iVhd<&c2;U^!&vK3q9lG&QTizO;H^Ws`{kjRUr>fjz;ELR5>UaU|D zNjwuYNoxpy#Rm6@fpymqu7q%F30F$Ea>7-RfM&1fv zA*cq&Z=GRD>0(arw;JGT?}xXmg-#?4FZt zUgywYK>k`RR2!bTxepqkty#nFel?#A(6|8_7toAHLK)-1#Spw)4PNmx!Pf``2LoXP z^b@Dc1wD19+1wl%pSSX-^WJn(J9zH42U`pNx5`8cX$CRCf2eF5)A*9?*Sq W5x=o(j>&Zq>if;b{>ZL(ll}uH(__H^ delta 3594 zcma)94R90371rs;G6LC(!HFwCLsq+I+?a4?lc32q{<~tLkg3+Z%@Ra zrk$zBbK3WP@4fxr?%vbtOuzoEe*MW?rA*b(?a~hYeRafUKs^KJdKGhs=Xy~RK3I+z z5x-JCi(&Cd`NL+>YCe1Kt#s_i3NR6S*brF5-6d(G14=V8? z_hCtgR{0R>Mpp>M#=E7N6!@YC=?^>8yWwAYfC9hT@BBN5&hk)P6OqQb1JcjfudAUG#P?yD#+3+H{wFh@`xGGXmdTd1-T&MI=ZaK;fg2b-1A!-7$G;_B78-tt04cuVkf5t}W6~ z^W2V4j-us0wE7sVz270N;{%R+?G4nJsVxppWqIlNT)CkjwVD&t# zw1_(*ZQ~_}RKR0)v$f-Q2^u!VLnkzCrZ$tH;b{sbYN(@7VxszZqPT`?YVeu{J=HKD zG?d)Y@J_R}K2iSqc<6+NN@^#rLluP*HIz~)F;SV82$yW0{Zyj3CXKke@>{8$SY<1P z5@%?pP-3E|;)x_$6&`M${vSK)jMEd9R8Tvyl8qEfoTr#ViItSZ6UA3^4K@Dn9c_q* zPH1SMc4DntD3qw7kwS^JvhhT54K>ubyQB0#e)nHTkD38q)I9D8?HYK2CNJ5@>3yHcC{AR$*rB05|@*K><#)oZm7%9Z1Ez4#s_tA{%Lm=SZ z;~aJX?{Arz294sL6Q;rMwm4AIaW#4DlX=S5Dq`h_kE?ojr(AvfYNw*V+6BYCc<~l{ zM?FEy`cQG7XhG-rSUri zvt}*!2v?~^9fko~f+x3aOoEIyc|C4vd&s!IAH9SJ+Oji#HUk?fuko63sj zkk8(l{IdKee!mTw$35sl4EK=RZGny_j(BxBvUtSn%8~W`URM?b++g92ct9@Es6mZN zxl8GRs@161H7esSWdN#0qt0p6+`E(!sO=hcS)-Q3sWo&m6L3G*xQ{e$)!ncppblu% z4UH52he8vrx|&=LaUSTTtdQ@>2#*g29-Gzd;IV!OpgoP_^#K6vm~@*x5LQ9fklKh9_IqUW00%%WCBh#aaKu=cx0LW@gfAz21>q|RUqu4C zeSN16aXhLU0DiEFjE#+EoHX@S5v3>$&%sJ~=Q5rIq>?Br!|)uepa=jJM9B@qbFdtM z`vE8?iaiX^!LmCZWkfND`^reHl%P6n-kxbq^Rnj-+Kh1855kRW$@V3dBBCx0OQscn zE5h5h+dB$~{DF__lt1)wU8g$TuJgkI6L1>DORvowZmDS`7^*clT0=fxL zC}YC81f26V=QaPsd5nOw7>F97$GEz?q0i2>SXyHfacjRH_f|KRgBP|x_{h5d&a$y0 znikHs0aYD?D<i!>+Ly{!^f57k$rkK z4_e1q`zmG%p0^{{_@2*OfGc*)wYq&m>ofb8<9|!cOqT%zWqTEP#6n?I}3YXH9ATHaP!>qtR-MP2} z?AJuT+V89nMjuyagf8U{tCK7X76_l6a89B#!r)(HbR4>rH-#!l2~zu_2p8H(l-CUB z77_H1{uOtNd_Y dL)g80w&64Q{Ppey$za181jdK{y890){{}h*Y*hdN diff --git a/msx/rmtplayr.asm b/msx/rmtplayr.asm index 517d12e..44a1ff7 100644 --- a/msx/rmtplayr.asm +++ b/msx/rmtplayr.asm @@ -51,6 +51,26 @@ p_tis = p_instrstable IFT FEAT_COMMAND2 .zpvar frqaddcmd2 .byte EIF + ; de-self-modification vars + .zpvar v_audctl .byte + .IF TRACKS>4 + .zpvar v_audctl2 .byte + .ENDIF + .IF FEAT_INSTRSPEED==0||FEAT_INSTRSPEED>1 + .zpvar v_ainstrspeed .byte + .ENDIF + .zpvar v_maxtracklen .byte + .zpvar v_abeat .byte + .IF FEAT_CONSTANTSPEED==0 + .zpvar v_bspeed .byte + .ENDIF + .IF FEAT_CONSTANTSPEED==0 + .zpvar v_speed .byte + .ENDIF + .IF FEAT_SFX + .zpvar RMTSFXVOLUME .byte + .ENDIF + ; end of de-self-modification vars IFT TRACKS>4 org PLAYER-$400+$40 ELS @@ -366,8 +386,7 @@ GetTrackLine oo0 oo0a IFT FEAT_CONSTANTSPEED==0 - lda #$ff -v_speed equ *-1 + lda v_speed sta v_bspeed EIF ldx #-1 @@ -423,8 +442,7 @@ oo1x xtracks03sub1 cpx #TRACKS-1 bne oo1 IFT FEAT_CONSTANTSPEED==0 - lda #$ff -v_bspeed equ *-1 + lda v_bspeed sta v_speed ELS lda #FEAT_CONSTANTSPEED @@ -481,8 +499,7 @@ rmt_sfx IFT FEAT_BASS16 sta trackn_outnote,x EIF - lda #$f0 ;* sfx note volume*16 -RMTSFXVOLUME equ *-1 ;* label for sfx note volume parameter overwriting + lda RMTSFXVOLUME ;* sfx note volume*16 sta trackn_volume,x EIF SetUpInstrumentY2 @@ -606,10 +623,8 @@ 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 @@ -1240,16 +1255,14 @@ qs5 EIF rmt_p5 IFT FEAT_INSTRSPEED==0||FEAT_INSTRSPEED>1 - lda #$ff -v_ainstrspeed equ *-1 + lda v_ainstrspeed ELS lda #1 EIF rts SetPokey IFT STEREOMODE==1 ;* L1 L2 L3 L4 R1 R2 R3 R4 - ldy #$ff -v_audctl2 equ *-1 + ldy v_audctl2 lda trackn_audf+0+4 ldx trackn_audf+0 xstastx01 sta $d210 @@ -1282,13 +1295,11 @@ xstastx07 sta $d216 ldx trackn_audc+3 xstastx08 sta $d217 stx $d207 - lda #$ff -v_audctl equ *-1 + lda v_audctl xstysta01 sty $d218 sta $d208 ELI STEREOMODE==0 ;* L1 L2 L3 L4 - ldy #$ff -v_audctl equ *-1 + ldy v_audctl lda trackn_audf+0 ldx trackn_audc+0 sta $d200 @@ -1307,8 +1318,7 @@ v_audctl equ *-1 stx $d201+6 sty $d208 ELI STEREOMODE==2 ;* L1 R2 R3 L4 - ldy #$ff -v_audctl equ *-1 + ldy v_audctl lda trackn_audf+0 ldx trackn_audc+0 sta $d200 @@ -1331,8 +1341,7 @@ v_audctl equ *-1 sty $d218 sty $d208 ELI STEREOMODE==3 ;* L1 L2 R3 R4 - ldy #$ff -v_audctl equ *-1 + ldy v_audctl lda trackn_audf+0 ldx trackn_audc+0 sta $d200 diff --git a/timberman.xex b/timberman.xex index 8fe4b8ee891adf05a507c617413263192741ed15..8ddd590aeffde03cd270ef099e05176be0eb08ba 100644 GIT binary patch delta 3688 zcma)9eQ*@z8Nbh5a`BQ2f+hjvO@cxYF$f~V4054Cl5h!;m@o2mu>>2wNV4_p$bPIJ#nv0cLsCT+yCLDUe>8Km zd7t0!`S`sb`|PgBY0hw(<8jsM@&QA2izcO-n6>ED!-E~7A;dBrNRLS^QupF_YGR5(sWvtyr&ySmjc~V_{aiDD9?o|Txi&h z8t@BE`Rc3qbkkHrlsU+GnNIBAkyZc&dtZ;lNxFzZObEFO)Qroz#}P>p6HsM4O7vQh zBa$JdM&?UXL-$7F#dF+kC__1@iySsukjl%$%Qr2W^4wuG&xgy~4w1-hNh3}}y?Diz3}Y`r|2PaP`Fy--3wm5JJHUj) z0)^tx!w0Nguc1X9^qRFFuCNo;1fA;OOmu%}L40bRY8i~tP_2Yc zXxcz+Rg8v43dL%up-^n1S|yR9p^_RMvIY&+Fc&lwk86;&nrdU^uT?@PG?Y_2b{#4x z6sw_xLa~XSmJ{Li+h*0qiffRG$(8>FwPR=5M4{LU&r&Eh(a+^X_@k|}ezccXnV78b z47FqDP)4EH3Plu(okOvbNLk0#)cC*mvQ7z|SjUajj-BOm6pGbQPodaZ+LT0!hAL`I z?j=2ncYe9_kZIx0&0)G|lUd>pxg%=P%!QS`?zf;7#Cp4fb57XHNXY$u0g;x0-*mnJ z=Wb6|7vP%hi>EK~(qL%;)Vll3_FKT~&FwR$K$E!Z7|HOJ?UojOj}$-l*&OkPglxis z9!cYB6)Jj0TSd)i8w~9|Iq`RlQ9FQpZRj~C%&dl>#ZFY@3>wiO8?7OH4Kx+;OB;8J zv2#7lUa*bum)dA&?42}>8)aI#=b5%~0+?2&wX+4v*pzfd&cIYo^oGLCOa}(-1K>n6fsEY&{i{{tv(?7z;Ad&0}sZz&U#{9d=Tuh zk!q%semTh^Pfeo@Q_FsG~uVxuOYV)DyXL0}!nvd>x&* z9`cDH8Mfgkc0Q(Ff;a74mbk<_EPlb67*8+__wKk4pV|3nLY|95tliWC3qKud0yN0lY?c6sbsg1Xyd&wzk0 zY;Y^xFBHiXFH@#TN&{4tOr4aev`I<}RHICtk*NnKDIHM1lBshtwNRl}(_(tynq}^q z%q^b`iv#L4nYu1h1rwCeEyLf)aM{4N7v`xAt=*`r8~qmhcP~JvyM6a$3OBob9ph_Y z6c!)y2^oR~u33T=f3-WP&cmHA{-A9jGjZojsV!B6tsrbAu?cT^*(WW+AHD1fi*0{l zVYa$o81k~KEy8GQRf?SEgS#+N_J2)dLVQlvQX4Pdq03uJhs6D zW*wY)7~>T$Kh{!6q(%Lle(6_*a;G#N-A@~)u_*}}sHI88><#A;;R7$zDqQk1Z6{h? z_My`O@mqe}y(xUh@7OAGlKP#begV~lCrFxbE(YgZn)KLH|Khu2zYqS)CyeKwy**i}S=^^lV3 z2Z~yXm;d#T?Pv3dO?l<}OLJBt*CRf`@6$**&}_bGeo~!?7r&CNJL~o2;f7ZpGIe@= z(Uo-XgDZqB16{9(YIXBKqkWZT?xjAf)MqUTTJuBJXZsxQ?fYwf;6+a5`S?h?cr&0o z@g8$=2rgIf2d$aY8-vj6;?D=P9m(ed@gCLrcJob6Z40U#m++LfMKj(C%2GcLXih}> zhfYM8VMheMkKPVlVJ_om+p^S8U`N{{4WY}-6}HlEt>}xakfw*uWuKN3jPvIC{(i)& z?}KVExHU${p>sKjwEAUg4hP|FIf2r$VQmb8^5LADe^B{zzC&C4tk3lMq$9pOf9NW{ zZ{N22^FwDV{bI`KrO>4_7bUIrtso8g6!+}g3}1oq%m(!c-pb5LxzWcz<2RN0P33-5 gg}>i%0sn@XrTOdv9%AMh92a1IZ(JC-$y`kOFRfvi1poj5 delta 3783 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