]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Update drawing.cpp
authorWaccoon <105848526+Waccoon@users.noreply.github.com>
Tue, 24 May 2022 07:55:02 +0000 (03:55 -0400)
committerGitHub <noreply@github.com>
Tue, 24 May 2022 07:55:02 +0000 (03:55 -0400)
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.

drawing.cpp

index 12d492b732fba112cf4b8081506214c93f2ca8ad..748cdd4fff97a13db28f91875c916882a475acfb 100644 (file)
@@ -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)