GBA Audio: Force audio DMAs to not increment destination
Jeffrey Pfau jeffrey@endrift.com
Sat, 23 Jul 2016 00:28:53 -0700
2 files changed,
2 insertions(+),
6 deletions(-)
M
CHANGES
→
CHANGES
@@ -21,6 +21,7 @@ - ARM7: Clean up instruction decoding for future expandability
- Qt: Make -g flag work in Qt build - Qt: Simplify OpenGL context creation - Debugger: Support register and memory writes via GDB stub + - GBA Audio: Force audio DMAs to not increment destination 0.4.1: (2016-07-11) Bugfixes:
M
src/gba/audio.c
→
src/gba/audio.c
@@ -126,12 +126,6 @@ case BASE_IO | REG_FIFO_B_LO:
audio->chB.dmaSource = number; break; default: - if (audio->chA.dmaSource == number) { - audio->chA.dmaSource = -1; - } - if (audio->chB.dmaSource == number) { - audio->chB.dmaSource = -1; - } mLOG(GBA_AUDIO, GAME_ERROR, "Invalid FIFO destination: 0x%08X", info->dest); return; }@@ -262,6 +256,7 @@ if (GBADMARegisterGetTiming(dma->reg) == DMA_TIMING_CUSTOM) {
dma->nextCount = 4; dma->nextEvent = 0; dma->reg = GBADMARegisterSetWidth(dma->reg, 1); + dma->reg = GBADMARegisterSetDestControl(dma->reg, 2); GBAMemoryUpdateDMAs(audio->p, -cycles); } else { channel->dmaSource = 0;