AICA DMA: raise end of transfer interrupt immediately for small

transfers.

Fixes Bangai-O startup freeze
This commit is contained in:
Flyinghead 2018-08-02 18:25:02 +02:00
parent 85781e96ec
commit 1e661a4d45
1 changed files with 5 additions and 2 deletions

View File

@ -242,8 +242,11 @@ void Write_SB_ADST(u32 addr, u32 data)
SB_ADSUSP &= ~0x10;
// Schedule the end of DMA transfer interrupt
int cycles = len * (SH4_MAIN_CLOCK / 2 / 25000000) + 384; // 16 bits @ 25 MHz + some overhead
sh4_sched_request(dma_sched_id, cycles);
int cycles = len * (SH4_MAIN_CLOCK / 2 / 25000000); // 16 bits @ 25 MHz
if (cycles < 4096)
dma_end_sched(0, 0, 0);
else
sh4_sched_request(dma_sched_id, cycles);
}
}
}