From 944604fe841154501570c503dd3558a7749b7f6f Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Sun, 26 Feb 2017 19:06:55 -0800 Subject: [PATCH] DS DMA: Fix Clearning enable bit clearing too much --- src/ds/dma.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ds/dma.c b/src/ds/dma.c index d8c46f855..3ac286c7f 100644 --- a/src/ds/dma.c +++ b/src/ds/dma.c @@ -123,7 +123,7 @@ void _dmaEvent(struct mTiming* timing, void* context, uint32_t cyclesLate) { dma->reg = GBADMARegisterClearEnable(dma->reg); // Clear the enable bit in memory - memory->io[(DS_REG_DMA0CNT_HI + memory->activeDMA * (DS_REG_DMA1CNT_HI - DS_REG_DMA0CNT_HI)) >> 1] &= 0x7FE0; + memory->io[(DS_REG_DMA0CNT_HI + memory->activeDMA * (DS_REG_DMA1CNT_HI - DS_REG_DMA0CNT_HI)) >> 1] &= 0x7FFF; } if (GBADMARegisterGetDestControl(dma->reg) == DMA_INCREMENT_RELOAD) { dma->nextDest = dma->dest;