From b9a30d46acfb2a755160a31f89b7aa482f5693d5 Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Wed, 3 Dec 2025 16:50:41 +0200 Subject: [PATCH] Fix fast drawing mode sprite garbage in some rare situations --- custom.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/custom.cpp b/custom.cpp index fa943b1a..ac776ebc 100644 --- a/custom.cpp +++ b/custom.cpp @@ -11242,10 +11242,18 @@ static int can_fast_custom(void) if (!display_hstart_fastmode) { return 0; } - if (dmaen(DMA_SPRITE)) { - if (agnus_vb_active_end_line) { + if (agnus_vb_active_end_line) { + if (dmaen(DMA_SPRITE)) { return 0; } + for (int i = 0; i < MAX_SPRITES; i++) { + struct sprite *s = &spr[i]; + if (s->dmastate) { + return 0; + } + } + } + if (dmaen(DMA_SPRITE)) { int type = getlinetype(); if (type != LINETYPE_BLANK) { for (int i = 0; i < MAX_SPRITES; i++) { -- 2.47.3