all repos — mgba @ e1be18a8ff4756f7f47f1e7836d4efd3b5e168eb

mGBA Game Boy Advance Emulator

GBA DMA: ROM reads are forced to increment
Vicki Pfau vi@endrift.com
Fri, 13 Oct 2017 00:31:15 -0700
commit

e1be18a8ff4756f7f47f1e7836d4efd3b5e168eb

parent

d484c98eba5fc8281ccb16427ee326301e71ad1c

2 files changed, 4 insertions(+), 0 deletions(-)

jump to
M CHANGESCHANGES

@@ -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.csrc/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); }