GBA DMA: Fix DMA start/end timing

This commit is contained in:
Vicki Pfau 2019-02-22 18:49:23 -08:00
parent 6aa5647fc4
commit ef2b6c78ff
2 changed files with 4 additions and 3 deletions

View File

@ -20,6 +20,7 @@ Bugfixes:
- 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

View File

@ -237,9 +237,6 @@ void GBADMAService(struct GBA* gba, int number, struct GBADMA* info) {
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 @@ void GBADMAService(struct GBA* gba, int number, struct GBADMA* info) {
info->nextDest = dest;
if (!wordsRemaining) {
info->nextCount |= 0x80000000;
if (sourceRegion < REGION_CART0 || destRegion < REGION_CART0) {
info->when += 2;
}
}
GBADMAUpdate(gba);
}