GBA Memory: Run multiple DMAs in a tight loop if they all occur before present
Jeffrey Pfau jeffrey@endrift.com
Tue, 11 Aug 2015 01:14:02 -0700
2 files changed,
2 insertions(+),
1 deletions(-)
M
CHANGES
→
CHANGES
@@ -118,6 +118,7 @@ - Qt: Gamepads can now have both buttons and analog axes mapped to the same key
- Qt: Increase usability of key mapper - Qt: Show checkmark for window sizes - Qt: Set window path to loaded ROM + - GBA Memory: Run multiple DMAs in a tight loop if they all occur before present 0.2.1: (2015-05-13) Bugfixes:
M
src/gba/memory.c
→
src/gba/memory.c
@@ -1405,7 +1405,7 @@ return INT_MAX;
} memory->nextDMA -= cycles; memory->eventDiff += cycles; - if (memory->nextDMA <= 0) { + while (memory->nextDMA <= 0) { struct GBADMA* dma = &memory->dma[memory->activeDMA]; GBAMemoryServiceDMA(gba, memory->activeDMA, dma); GBAMemoryUpdateDMAs(gba, memory->eventDiff);