mirror of https://github.com/mgba-emu/mgba.git
GBA DMA: Fix DMA start/end timing
This commit is contained in:
parent
17660077b0
commit
7266186f4a
1
CHANGES
1
CHANGES
|
@ -13,6 +13,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 Video: Improve sprite cycle counting (fixes mgba.io/i/1274)
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
@ -306,6 +303,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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue