Old RMT player de-self-modification

This commit is contained in:
Pecusx
2025-06-11 16:03:08 +02:00
parent 65d6eb444a
commit ad96c47d8b
3 changed files with 31 additions and 22 deletions
BIN
View File
Binary file not shown.
+31 -22
View File
@@ -51,6 +51,26 @@ p_tis = p_instrstable
IFT FEAT_COMMAND2 IFT FEAT_COMMAND2
.zpvar frqaddcmd2 .byte .zpvar frqaddcmd2 .byte
EIF 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 IFT TRACKS>4
org PLAYER-$400+$40 org PLAYER-$400+$40
ELS ELS
@@ -366,8 +386,7 @@ GetTrackLine
oo0 oo0
oo0a oo0a
IFT FEAT_CONSTANTSPEED==0 IFT FEAT_CONSTANTSPEED==0
lda #$ff lda v_speed
v_speed equ *-1
sta v_bspeed sta v_bspeed
EIF EIF
ldx #-1 ldx #-1
@@ -423,8 +442,7 @@ oo1x
xtracks03sub1 cpx #TRACKS-1 xtracks03sub1 cpx #TRACKS-1
bne oo1 bne oo1
IFT FEAT_CONSTANTSPEED==0 IFT FEAT_CONSTANTSPEED==0
lda #$ff lda v_bspeed
v_bspeed equ *-1
sta v_speed sta v_speed
ELS ELS
lda #FEAT_CONSTANTSPEED lda #FEAT_CONSTANTSPEED
@@ -481,8 +499,7 @@ rmt_sfx
IFT FEAT_BASS16 IFT FEAT_BASS16
sta trackn_outnote,x sta trackn_outnote,x
EIF EIF
lda #$f0 ;* sfx note volume*16 lda RMTSFXVOLUME ;* sfx note volume*16
RMTSFXVOLUME equ *-1 ;* label for sfx note volume parameter overwriting
sta trackn_volume,x sta trackn_volume,x
EIF EIF
SetUpInstrumentY2 SetUpInstrumentY2
@@ -606,10 +623,8 @@ rmt_p2
dec v_aspeed dec v_aspeed
bne rmt_p3 bne rmt_p3
inc v_abeat inc v_abeat
lda #$ff lda v_abeat
v_abeat equ *-1 cmp v_maxtracklen
cmp #$ff
v_maxtracklen equ *-1
beq p2o3 beq p2o3
jmp GetTrackLine jmp GetTrackLine
p2o3 p2o3
@@ -1240,16 +1255,14 @@ qs5
EIF EIF
rmt_p5 rmt_p5
IFT FEAT_INSTRSPEED==0||FEAT_INSTRSPEED>1 IFT FEAT_INSTRSPEED==0||FEAT_INSTRSPEED>1
lda #$ff lda v_ainstrspeed
v_ainstrspeed equ *-1
ELS ELS
lda #1 lda #1
EIF EIF
rts rts
SetPokey SetPokey
IFT STEREOMODE==1 ;* L1 L2 L3 L4 R1 R2 R3 R4 IFT STEREOMODE==1 ;* L1 L2 L3 L4 R1 R2 R3 R4
ldy #$ff ldy v_audctl2
v_audctl2 equ *-1
lda trackn_audf+0+4 lda trackn_audf+0+4
ldx trackn_audf+0 ldx trackn_audf+0
xstastx01 sta $d210 xstastx01 sta $d210
@@ -1282,13 +1295,11 @@ xstastx07 sta $d216
ldx trackn_audc+3 ldx trackn_audc+3
xstastx08 sta $d217 xstastx08 sta $d217
stx $d207 stx $d207
lda #$ff lda v_audctl
v_audctl equ *-1
xstysta01 sty $d218 xstysta01 sty $d218
sta $d208 sta $d208
ELI STEREOMODE==0 ;* L1 L2 L3 L4 ELI STEREOMODE==0 ;* L1 L2 L3 L4
ldy #$ff ldy v_audctl
v_audctl equ *-1
lda trackn_audf+0 lda trackn_audf+0
ldx trackn_audc+0 ldx trackn_audc+0
sta $d200 sta $d200
@@ -1307,8 +1318,7 @@ v_audctl equ *-1
stx $d201+6 stx $d201+6
sty $d208 sty $d208
ELI STEREOMODE==2 ;* L1 R2 R3 L4 ELI STEREOMODE==2 ;* L1 R2 R3 L4
ldy #$ff ldy v_audctl
v_audctl equ *-1
lda trackn_audf+0 lda trackn_audf+0
ldx trackn_audc+0 ldx trackn_audc+0
sta $d200 sta $d200
@@ -1331,8 +1341,7 @@ v_audctl equ *-1
sty $d218 sty $d218
sty $d208 sty $d208
ELI STEREOMODE==3 ;* L1 L2 R3 R4 ELI STEREOMODE==3 ;* L1 L2 R3 R4
ldy #$ff ldy v_audctl
v_audctl equ *-1
lda trackn_audf+0 lda trackn_audf+0
ldx trackn_audc+0 ldx trackn_audc+0
sta $d200 sta $d200
BIN
View File
Binary file not shown.