mirror of https://github.com/mgba-emu/mgba.git
GBA DMA: Fix invalid audio DMA parameters
This commit is contained in:
parent
f0ff8d5f82
commit
52a4cbcb81
1
CHANGES
1
CHANGES
|
@ -10,6 +10,7 @@ Emulation fixes:
|
|||
- GBA BIOS: Implement dummy sound driver calls
|
||||
- GBA BIOS: Improve HLE BIOS timing
|
||||
- GBA DMA: Linger last DMA on bus (fixes mgba.io/i/301 and mgba.io/i/1320)
|
||||
- GBA DMA: Fix invalid audio DMA parameters
|
||||
- GBA Memory: Misaligned SRAM writes are ignored
|
||||
- GBA Memory: Improve gamepak prefetch timing
|
||||
- GBA Serialize: Fix serializing DMA transfer register
|
||||
|
|
|
@ -104,6 +104,8 @@ void GBAAudioResizeBuffer(struct GBAAudio* audio, size_t samples) {
|
|||
}
|
||||
|
||||
void GBAAudioScheduleFifoDma(struct GBAAudio* audio, int number, struct GBADMA* info) {
|
||||
info->reg = GBADMARegisterSetDestControl(info->reg, GBA_DMA_FIXED);
|
||||
info->reg = GBADMARegisterSetWidth(info->reg, 1);
|
||||
switch (info->dest) {
|
||||
case BASE_IO | REG_FIFO_A_LO:
|
||||
audio->chA.dmaSource = number;
|
||||
|
@ -129,8 +131,6 @@ void GBAAudioScheduleFifoDma(struct GBAAudio* audio, int number, struct GBADMA*
|
|||
audio->externalMixing = false;
|
||||
}
|
||||
}
|
||||
info->reg = GBADMARegisterSetDestControl(info->reg, GBA_DMA_FIXED);
|
||||
info->reg = GBADMARegisterSetWidth(info->reg, 1);
|
||||
}
|
||||
|
||||
void GBAAudioWriteSOUND1CNT_LO(struct GBAAudio* audio, uint16_t value) {
|
||||
|
|
Loading…
Reference in New Issue