all repos — mgba @ ea7fe42c376d62cd42930b7e0755d1e231e9dfa4

mGBA Game Boy Advance Emulator

DS Slot-1: Do not clear repeat and enable bits if repeat is set
Vicki Pfau vi@endrift.com
Wed, 05 Apr 2017 12:49:49 -0700
commit

ea7fe42c376d62cd42930b7e0755d1e231e9dfa4

parent

50ddcda8f053b1b07249dcf3135ff2d41eaa846c

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

jump to
M src/ds/slot1.csrc/ds/slot1.c

@@ -108,9 +108,8 @@ romcnt = DSSlot1ROMCNTClearBlockBusy(romcnt);

if (DSSlot1AUXSPICNTIsDoIRQ(config)) { DSRaiseIRQ(dscore->cpu, dscore->memory.io, DS_IRQ_SLOT1_TRANS); } - if (hasDMA) { + if (hasDMA && !GBADMARegisterIsRepeat(dma->reg)) { dma->reg = GBADMARegisterClearEnable(dma->reg); - dma->reg = GBADMARegisterClearRepeat(dma->reg); dscore->memory.io[(DS_REG_DMA0CNT_HI + ds->memory.slot1.dmaSource * (DS_REG_DMA1CNT_HI - DS_REG_DMA0CNT_HI)) >> 1] = dma->reg; } }