diff options
| author | Javier Degirolmo | 2011-11-08 20:42:48 -0300 |
|---|---|---|
| committer | Javier Degirolmo | 2011-11-08 20:42:48 -0300 |
| commit | e74812eb87574c625a28c1fe8e35cd6708ec6c88 (patch) | |
| tree | b5bf03f0088de5c85655e4676f51bb0976b62bbd /src-z80/core/sfx.z80 | |
| parent | ec2abd03428ae2c282860f0f2adb0c974586ff4b (diff) | |
Cleanup and bugfixes. SFXs now restore BGM volume when unlocking, but seems still buggy.
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 |
