From: Toni Wilen Date: Wed, 27 Mar 2024 18:21:03 +0000 (+0200) Subject: Detect sprite/bitplane conflict properly. X-Git-Tag: 5300~60 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=0f4864ff1c6fef6df4b4d56498b4024293f6e707;p=francis%2Fwinuae.git Detect sprite/bitplane conflict properly. --- diff --git a/custom.cpp b/custom.cpp index 6bac23cd..90fa66c3 100644 --- a/custom.cpp +++ b/custom.cpp @@ -11648,7 +11648,7 @@ static void decide_sprites_fetch(int endhpos) sprbplconflict2 = 0x140 + num * 8 + slot + (s->dmacycle ? 4 : 0); sprbplconflict_hpos = sprbplconflict_hpos2 = hpos + RGA_PIPELINE_OFFSET_SPRITE; sprbplconflict_dat = dat & ~CYCLE_PIPE_SPRITE; - } else if (bprun_end == hpos) { + } else if (bprun_end == hpos || (cycle_line_pipe[offset] & CYCLE_PIPE_BITPLANE)) { // last bitplane cycle is available for sprites (if bitplane ends before all sprites) sprbplconflict = 0x140 + num * 8 + slot + (s->dmacycle ? 4 : 0); sprbplconflict_hpos = hpos + RGA_PIPELINE_OFFSET_SPRITE;