diff --git a/src/gba/memory.c b/src/gba/memory.c index 975881689..d33ba589d 100644 --- a/src/gba/memory.c +++ b/src/gba/memory.c @@ -1259,7 +1259,8 @@ uint16_t GBAMemoryWriteDMACNT_HI(struct GBA* gba, int dma, uint16_t control) { int wasEnabled = GBADMARegisterIsEnable(currentDma->reg); int oldTiming = GBADMARegisterGetTiming(currentDma->reg); int newTiming = GBADMARegisterGetTiming(control); - if (oldTiming && oldTiming != newTiming) { + // This is probably a huge hack...verify what this does on hardware + if (oldTiming && oldTiming != DMA_TIMING_CUSTOM && oldTiming != newTiming) { wasEnabled = false; } currentDma->reg = control;