mirror of
https://github.com/libretro/mgba.git
synced 2024-11-23 07:59:46 +00:00
GBA Audio: Clear GB audio state when disabled
This commit is contained in:
parent
cb0ad844c1
commit
cdb0c4193b
1
CHANGES
1
CHANGES
@ -7,6 +7,7 @@ Features:
|
||||
Emulation fixes:
|
||||
- GB Video: Implement DMG-style sprite ordering
|
||||
- GBA Audio: Fix improperly deserializing GB audio registers (fixes mgba.io/i/2793)
|
||||
- GBA Audio: Clear GB audio state when disabled
|
||||
- GBA Memory: Make VRAM access stalls only apply to BG RAM
|
||||
- GBA Overrides: Fix saving in PMD:RRT (JP) (fixes mgba.io/i/2862)
|
||||
- GBA SIO: Fix SIOCNT SI pin value after attaching player 2 (fixes mgba.io/i/2805)
|
||||
|
@ -231,8 +231,22 @@ void GBAAudioWriteSOUNDCNT_HI(struct GBAAudio* audio, uint16_t value) {
|
||||
}
|
||||
|
||||
void GBAAudioWriteSOUNDCNT_X(struct GBAAudio* audio, uint16_t value) {
|
||||
GBAAudioSample(audio, mTimingCurrentTime(&audio->p->timing));
|
||||
audio->enable = GBAudioEnableGetEnable(value);
|
||||
GBAudioWriteNR52(&audio->psg, value);
|
||||
if (!audio->enable) {
|
||||
int i;
|
||||
for (i = REG_SOUND1CNT_LO; i < REG_SOUNDCNT_HI; i += 2) {
|
||||
audio->p->memory.io[i >> 1] = 0;
|
||||
}
|
||||
audio->psg.ch3.size = 0;
|
||||
audio->psg.ch3.bank = 0;
|
||||
audio->psg.ch3.volume = 0;
|
||||
audio->volume = 0;
|
||||
audio->volumeChA = 0;
|
||||
audio->volumeChB = 0;
|
||||
audio->p->memory.io[REG_SOUNDCNT_HI >> 1] &= 0xFF00;
|
||||
}
|
||||
}
|
||||
|
||||
void GBAAudioWriteSOUNDBIAS(struct GBAAudio* audio, uint16_t value) {
|
||||
|
Loading…
Reference in New Issue
Block a user