From: Toni Wilen Date: Sun, 10 Dec 2017 16:52:30 +0000 (+0200) Subject: Do not wait for blitter if blit size is too large. X-Git-Tag: 3600~39 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=508265be91f83fa86ce197c506609af8f067b93e;p=francis%2Fwinuae.git Do not wait for blitter if blit size is too large. --- diff --git a/blitter.cpp b/blitter.cpp index 1b032a4e..914dbaed 100644 --- a/blitter.cpp +++ b/blitter.cpp @@ -1469,6 +1469,15 @@ static bool waitingblits (void) { static int warned = 10; + // crazy large blit size? don't wait.. (Vital / Mystic) + if (blt_info.vblitsize * blt_info.hblitsize * 2 > 2 * 1024 * 1024) { + if (warned) { + warned--; + write_log(_T("Crazy waiting_blits detected PC=%08x W=%d H=%d\n"), M68K_GETPC, blt_info.vblitsize, blt_info.hblitsize); + } + return false; + } + bool waited = false; while (bltstate != BLT_done && dmaen (DMA_BLITTER)) { waited = true;