all repos — mgba @ ef2b6c78ff28f1adfff85ab21620eec598c5fbde

mGBA Game Boy Advance Emulator

GBA DMA: Fix DMA start/end timing
Vicki Pfau vi@endrift.com
Fri, 22 Feb 2019 18:49:23 -0800
commit

ef2b6c78ff28f1adfff85ab21620eec598c5fbde

parent

6aa5647fc4b3d45aaa138a1541e0cba582056a5a

2 files changed, 4 insertions(+), 3 deletions(-)

jump to
M CHANGESCHANGES

@@ -20,6 +20,7 @@ - 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 + - GBA DMA: Fix DMA start/end timing Misc: - GBA Savedata: EEPROM performance fixes - GBA Savedata: Automatically map 1Mbit Flash files as 1Mbit Flash
M src/gba/dma.csrc/gba/dma.c

@@ -237,9 +237,6 @@ int32_t cycles = 2;

gba->cpuBlocked = true; if (info->count == info->nextCount) { - if (sourceRegion < REGION_CART0 || destRegion < REGION_CART0) { - cycles += 2; - } if (width == 4) { cycles += memory->waitstatesNonseq32[sourceRegion] + memory->waitstatesNonseq32[destRegion]; } else {

@@ -302,6 +299,9 @@ info->nextSource = source;

info->nextDest = dest; if (!wordsRemaining) { info->nextCount |= 0x80000000; + if (sourceRegion < REGION_CART0 || destRegion < REGION_CART0) { + info->when += 2; + } } GBADMAUpdate(gba); }