]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Ultra extreme display mode programmed mode fix.
authorToni Wilen <twilen@winuae.net>
Mon, 6 Jun 2022 15:47:28 +0000 (18:47 +0300)
committerToni Wilen <twilen@winuae.net>
Mon, 6 Jun 2022 15:47:28 +0000 (18:47 +0300)
custom.cpp

index 1e5296ffc7805cab177bf478a19d7b4c0506e57c..4be2634f54881ff235693c2f38413112aceef012 100644 (file)
@@ -6425,8 +6425,8 @@ static void init_hz(bool checkvposw)
        if (beamcon0 & BEAMCON0_VARBEAMEN) {
                // assume VGA-like monitor if VARBEAMEN
                if (currprefs.gfx_overscanmode >= OVERSCANMODE_ULTRA) {
-                       maxhpos_display = maxhpos - 2;
-                       hsstop_detect = 0;
+                       maxhpos_display = maxhpos;
+                       hsstop_detect = 8;
                        maxvpos_display_vsync += 2;
                } else if (currprefs.gfx_overscanmode >= OVERSCANMODE_EXTREME) {
                        maxhpos_display = maxhpos - 2;
@@ -6469,7 +6469,7 @@ static void init_hz(bool checkvposw)
                        }
                }
                maxhpos_display *= 2;
-               if (hsstop_detect2 > hsstop_detect + 5) {
+               if (currprefs.gfx_overscanmode < OVERSCANMODE_ULTRA && hsstop_detect2 > hsstop_detect + 5) {
                        hsstop_detect = hsstop_detect2;
                }
 
@@ -6487,6 +6487,7 @@ static void init_hz(bool checkvposw)
                                maxhpos_display += EXTRAWIDTH_ULTRA;
                                maxvpos_display_vsync += 2;
                                minfirstline = 0;
+                               hsstop_detect = hsyncstartpos_start_cycles - 1;
                        }
                } else {
 
@@ -6529,6 +6530,7 @@ static void init_hz(bool checkvposw)
 
        int minfirstline_hw = minfirstline;
        if (currprefs.gfx_overscanmode == OVERSCANMODE_ULTRA) {
+               minfirstline = 0;
                minfirstline_hw = 0;
        } else if (currprefs.gfx_overscanmode == OVERSCANMODE_EXTREME) {
                minfirstline_hw -= EXTRAHEIGHT_EXTREME / 2;