mirror of https://github.com/mgba-emu/mgba.git
GBA Memory: Run multiple DMAs in a tight loop if they all occur before present
This commit is contained in:
parent
50005e0703
commit
013948f129
1
CHANGES
1
CHANGES
|
@ -118,6 +118,7 @@ Misc:
|
||||||
- Qt: Increase usability of key mapper
|
- Qt: Increase usability of key mapper
|
||||||
- Qt: Show checkmark for window sizes
|
- Qt: Show checkmark for window sizes
|
||||||
- Qt: Set window path to loaded ROM
|
- 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)
|
0.2.1: (2015-05-13)
|
||||||
Bugfixes:
|
Bugfixes:
|
||||||
|
|
|
@ -1405,7 +1405,7 @@ int32_t GBAMemoryRunDMAs(struct GBA* gba, int32_t cycles) {
|
||||||
}
|
}
|
||||||
memory->nextDMA -= cycles;
|
memory->nextDMA -= cycles;
|
||||||
memory->eventDiff += cycles;
|
memory->eventDiff += cycles;
|
||||||
if (memory->nextDMA <= 0) {
|
while (memory->nextDMA <= 0) {
|
||||||
struct GBADMA* dma = &memory->dma[memory->activeDMA];
|
struct GBADMA* dma = &memory->dma[memory->activeDMA];
|
||||||
GBAMemoryServiceDMA(gba, memory->activeDMA, dma);
|
GBAMemoryServiceDMA(gba, memory->activeDMA, dma);
|
||||||
GBAMemoryUpdateDMAs(gba, memory->eventDiff);
|
GBAMemoryUpdateDMAs(gba, memory->eventDiff);
|
||||||
|
|
Loading…
Reference in New Issue