diff options
Diffstat (limited to 'src-z80/core')
| -rw-r--r-- | src-z80/core/bgm.z80 | 14 | ||||
| -rw-r--r-- | src-z80/core/main.z80 | 2 | ||||
| -rw-r--r-- | src-z80/core/sfx.z80 | 5 |
3 files changed, 14 insertions, 7 deletions
diff --git a/src-z80/core/bgm.z80 b/src-z80/core/bgm.z80 index c1650f1..ebda240 100644 --- a/src-z80/core/bgm.z80 +++ b/src-z80/core/bgm.z80 @@ -41,8 +41,17 @@ PlayBGM: ld hl, ProcessBGM ; Tell Echo to process BGM ld (DoTick_BGM+1), hl + + ld b, 8 ; Kill all FM channels explicitly +.resetallfm: + ld a, b + and $04 + rrca + ld iyl, a + ld a, b + call KillFM + djnz .resetallfm - PollPCM jp IdleLoop ; End of subroutine ;**************************************************************************** @@ -244,7 +253,8 @@ ClearBGM: .resetfm: PollPCM - xor a ; Reset BGM volume + ;xor a ; Reset BGM volume + ld a, $7F ld (de), a dec e diff --git a/src-z80/core/main.z80 b/src-z80/core/main.z80 index 9ac1aa4..bc63da9 100644 --- a/src-z80/core/main.z80 +++ b/src-z80/core/main.z80 @@ -90,7 +90,7 @@ EntryPoint: ld (ix+1), $C9 ld (ix+0), $27 ld (ix+1), $3F - + jp IdleLoop ; Go into idle loop ;**************************************************************************** diff --git a/src-z80/core/sfx.z80 b/src-z80/core/sfx.z80 index f32a8f0..6a553bb 100644 --- a/src-z80/core/sfx.z80 +++ b/src-z80/core/sfx.z80 @@ -284,13 +284,9 @@ ClearSFX: ld l, a push bc - push de - push hl ld a, b ld b, (hl) call LoadFMDirect - pop hl - pop de pop bc PollPCM @@ -298,6 +294,7 @@ ClearSFX: ld a, b ; Restore BGM FM volume add RAM_BGMFMVol&$FF ld l, a + ld a, b ld b, (hl) call SetFMVolLoad |
