]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Fix BPLCON0 Agnus mask. (SHRES and UHRES)
authorToni Wilen <twilen@winuae.net>
Thu, 20 Jul 2023 17:35:40 +0000 (20:35 +0300)
committerToni Wilen <twilen@winuae.net>
Thu, 20 Jul 2023 17:35:40 +0000 (20:35 +0300)
custom.cpp

index bf15f8dfafb24247bc8b72201089d69728dd3aca..75b5c09bd99f68367472d53838fe75e1a0696f78 100644 (file)
@@ -6120,6 +6120,16 @@ static uae_u16 BPLCON0_Denise_mask(uae_u16 v)
        return v;
 }
 
+static uae_u16 BPLCON0_Agnus_mask(uae_u16 v)
+{
+       if (!ecs_agnus) {
+               v &= 0xff0e;
+       } else if (!aga_mode) {
+               v &= 0xffce;
+       }
+       return v;
+}
+
 static void reset_decisions_hsync_start(void)
 {
        if (nodraw()) {
@@ -8969,12 +8979,7 @@ static void BPLCON0(int hpos, uae_u16 v)
 {
        uae_u16 old = bplcon0;
        bplcon0_saved = v;
-       if (!ecs_denise) {
-               v &= ~0x00F1;
-       } else if (!aga_mode) {
-               v &= ~0x00B0;
-       }
-       v &= ~0x0080;
+       v = BPLCON0_Agnus_mask(v);
 
 #if SPRBORDER
        v |= 1;