From: Waccoon <105848526+Waccoon@users.noreply.github.com> Date: Tue, 24 May 2022 07:55:02 +0000 (-0400) Subject: Update drawing.cpp X-Git-Tag: 41000~234^2~4 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=45fd2946d98def85a4e471b7327a7dfa73e5e5fd;p=francis%2Fwinuae.git Update drawing.cpp Update EHB logic so palette mirroring will be correct with A1000 early Denise chip. With AGA chipset, bplehb may be zero (uses color registers 32-63), but for OCS/ECS it must be -1 (mirrors color registers 0-31). Logic assumes that OCS Denise with EHB support cannot disable its EHB colors. --- diff --git a/drawing.cpp b/drawing.cpp index 12d492b7..748cdd4f 100644 --- a/drawing.cpp +++ b/drawing.cpp @@ -3112,10 +3112,15 @@ static void pfield_expand_dp_bplcon(void) bplplanecnt = dp_for_drawing->nr_planes; bplham = dp_for_drawing->ham_seen; bplehb = dp_for_drawing->ehb_seen; - if (ecs_denise && (dp_for_drawing->bplcon2 & 0x0200)) { - bplehb = 0; - if (!aga_mode) - bplehb = -1; + if (ecs_denise) { + // Check for KillEHB bit in ECS/AGA + if (dp_for_drawing->bplcon2 & 0x0200) { + bplehb = 0; + if (!aga_mode) + bplehb = -1; + } + } else if ((currprefs.cs_denisenoehb)) { + bplehb = -1; } bplcolorburst = (dp_for_drawing->bplcon0 & 0x200) != 0; if (!bplcolorburst)