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
CHANGES
→
CHANGES
@@ -18,6 +18,7 @@ - GB Serialize: Fix game title check
- GB: Revamp IRQ handling based on new information - GBA Video: Don't mask out high bits of BLDY (fixes mgba.io/i/899) - GBA Video: Force align 256-color tiles + - GBA DMA: ROM reads are forced to increment Misc: - GBA Timer: Use global cycles for timers - GBA: Extend oddly-sized ROMs to full address space (fixes mgba.io/i/722)
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); }