Waiting for blitter hang fix

This commit is contained in:
Toni Wilen 2023-06-01 20:31:29 +03:00
parent f190066e89
commit 07b628ff8c

View File

@ -1929,9 +1929,21 @@ static bool waitingblits (void)
}
bool waited = false;
int waiting = 0;
int vpos_prev = vpos;
while ((blt_info.blit_main || blt_info.blit_finald) && dmaen (DMA_BLITTER)) {
waited = true;
x_do_cycles (8 * CYCLE_UNIT);
if (vpos_prev != vpos) {
vpos_prev = vpos;
waiting++;
if (waiting > maxvpos * 5) {
break;
}
}
if (blitter_cycle_exact && blit_cyclecounter > 0 && !shifter[0] && !shifter[1] && !shifter[2] && !shifter[3]) {
break;
}
}
if (warned && waited) {
warned--;