all repos — mgba @ b169f4b29c5c671343e747f1892c5a7107e40d89

mGBA Game Boy Advance Emulator

GBA Serialize: Fix audio DMA timing deserialization
Vicki Pfau vi@endrift.com
Fri, 24 Jan 2020 22:16:02 -0800
commit

b169f4b29c5c671343e747f1892c5a7107e40d89

parent

1285aa2749e7cf4984829aa34a7f708220b6eb24

2 files changed, 1 insertions(+), 3 deletions(-)

jump to
M CHANGESCHANGES

@@ -6,6 +6,7 @@ - GBA DMA: Linger last DMA on bus (fixes mgba.io/i/301 and mgba.io/i/1320)

- GBA Memory: Misaligned SRAM writes are ignored - GBA Serialize: Fix serializing DMA transfer register - GBA Serialize: Fix audio serialization for desynced FIFOs + - GBA Serialize: Fix audio DMA timing deserialization Other fixes: - Qt: Only dynamically reset video scale if a game is running - Qt: Fix race condition with proxied video events
M src/gba/io.csrc/gba/io.c

@@ -989,9 +989,6 @@ LOAD_32(gba->memory.dma[i].nextSource, 0, &state->dma[i].nextSource);

LOAD_32(gba->memory.dma[i].nextDest, 0, &state->dma[i].nextDest); LOAD_32(gba->memory.dma[i].nextCount, 0, &state->dma[i].nextCount); LOAD_32(gba->memory.dma[i].when, 0, &state->dma[i].when); - if (GBADMARegisterGetTiming(gba->memory.dma[i].reg) != GBA_DMA_TIMING_NOW) { - GBADMASchedule(gba, i, &gba->memory.dma[i]); - } } GBAAudioWriteSOUNDCNT_X(&gba->audio, gba->memory.io[REG_SOUNDCNT_X >> 1]);