From 86737f45187c088fb361cec16bfc1cb67b27fe1a Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Thu, 14 Mar 2024 18:30:02 +0200 Subject: [PATCH] ECS Denise/AGA genlock color register bit handling fix. --- custom.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/custom.cpp b/custom.cpp index 0a256c5f..e4525dc7 100644 --- a/custom.cpp +++ b/custom.cpp @@ -10196,11 +10196,10 @@ static void COLOR_WRITE(int hpos, uae_u16 v, int num) } else { #endif - v &= 0x8fff; - if (!ecs_denise) { - v &= 0xfff; + if (ecs_denise) { + color_regs_genlock[num] = v >> 15; } - color_regs_genlock[num] = v >> 15; + v &= 0xfff; if (num && v == 0) { colzero = true; } @@ -15236,7 +15235,7 @@ static int REGPARAM2 custom_wput_1 (int hpos, uaecptr addr, uae_u32 value, int n case 0x1A4: case 0x1A6: case 0x1A8: case 0x1AA: case 0x1AC: case 0x1AE: case 0x1B0: case 0x1B2: case 0x1B4: case 0x1B6: case 0x1B8: case 0x1BA: case 0x1BC: case 0x1BE: - COLOR_WRITE(hpos, value & 0xFFF, (addr & 0x3E) / 2); + COLOR_WRITE(hpos, value & 0x8FFF, (addr & 0x3E) / 2); break; case 0x120: case 0x124: case 0x128: case 0x12C: case 0x130: case 0x134: case 0x138: case 0x13C: -- 2.47.3