From 0f4864ff1c6fef6df4b4d56498b4024293f6e707 Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Wed, 27 Mar 2024 20:21:03 +0200 Subject: [PATCH] Detect sprite/bitplane conflict properly. --- custom.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; -- 2.47.3