diff options
Diffstat (limited to 'src-z80/core/sfx.z80')
| -rw-r--r-- | src-z80/core/sfx.z80 | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/src-z80/core/sfx.z80 b/src-z80/core/sfx.z80 index b7e26aa..f32a8f0 100644 --- a/src-z80/core/sfx.z80 +++ b/src-z80/core/sfx.z80 @@ -273,26 +273,16 @@ ClearSFX: rrca ld iyl, a - ld a, b ; Kill ADSR + ld a, b ; Kill ADSR call KillFM PollPCM - - ld hl, RAM_BGMFMVol ; Restore BGM FM volume - ld a, b - add l - ld l, a - ld c, (hl) - ld a, l - add 8 - ld l, a - ld (hl), c - - PollPCM - - ld a, l ; Restore BGM FM instrument - sub 8*2 + + ld a, b ; Restore BGM FM instrument + ld h, RAM_BGMFMInstr>>8 + add RAM_BGMFMInstr&$FF ld l, a + push bc push de push hl @@ -302,6 +292,14 @@ ClearSFX: pop hl pop de pop bc + + PollPCM + + ld a, b ; Restore BGM FM volume + add RAM_BGMFMVol&$FF + ld l, a + ld b, (hl) + call SetFMVolLoad PollPCM inc b |
