GBA DMA: Fix Display Start DMAs

This commit is contained in:
Vicki Pfau 2019-02-22 18:48:41 -08:00
parent e363e7ed02
commit 17660077b0
2 changed files with 2 additions and 1 deletions

View File

@ -12,6 +12,7 @@ Bugfixes:
- GB: Fix crash when accessing SRAM if no save loaded and cartridge has no SRAM
- Python: Fix crash when deleting files owned by library
- Python: Make sure GB link object isn't GC'd before GB object
- GBA DMA: Fix Display Start DMAs
Misc:
- GBA Video: Improve sprite cycle counting (fixes mgba.io/i/1274)

View File

@ -182,7 +182,7 @@ void _dmaEvent(struct mTiming* timing, void* context, uint32_t cyclesLate) {
dma->nextCount = 0;
bool noRepeat = !GBADMARegisterIsRepeat(dma->reg);
noRepeat |= GBADMARegisterGetTiming(dma->reg) == GBA_DMA_TIMING_NOW;
noRepeat |= memory->activeDMA == 3 && GBADMARegisterGetTiming(dma->reg) == GBA_DMA_TIMING_CUSTOM;
noRepeat |= memory->activeDMA == 3 && GBADMARegisterGetTiming(dma->reg) == GBA_DMA_TIMING_CUSTOM && gba->video.vcount == VIDEO_VERTICAL_PIXELS + 1;
if (noRepeat) {
dma->reg = GBADMARegisterClearEnable(dma->reg);