GBA DMA: ROM reads are forced to increment
Vicki Pfau vi@endrift.com
Fri, 13 Oct 2017 00:31:15 -0700
2 files changed,
4 insertions(+),
0 deletions(-)
M
src/gba/dma.c
→
src/gba/dma.c
@@ -81,6 +81,9 @@ }
if (!wasEnabled && GBADMARegisterIsEnable(currentDma->reg)) { currentDma->nextSource = currentDma->source; + if (currentDma->nextSource >= BASE_CART0 && currentDma->nextSource < BASE_CART_SRAM && GBADMARegisterGetSrcControl(currentDma->reg) < 3) { + currentDma->reg = GBADMARegisterClearSrcControl(currentDma->reg); + } currentDma->nextDest = currentDma->dest; GBADMASchedule(gba, dma, currentDma); }