]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Detect sprite/bitplane conflict properly.
authorToni Wilen <twilen@winuae.net>
Wed, 27 Mar 2024 18:21:03 +0000 (20:21 +0200)
committerToni Wilen <twilen@winuae.net>
Wed, 27 Mar 2024 18:21:03 +0000 (20:21 +0200)
custom.cpp

index 6bac23cd9493001d421651c78a4baafb2f901900..90fa66c36e121ebf4e4269c3f43fff0aacd5f2eb 100644 (file)
@@ -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;