]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Disable wait for blitter option when it is not supported or is ignored.
authorToni Wilen <twilen@winuae.net>
Wed, 7 Dec 2022 18:07:27 +0000 (20:07 +0200)
committerToni Wilen <twilen@winuae.net>
Wed, 7 Dec 2022 18:07:27 +0000 (20:07 +0200)
cfgfile.cpp
main.cpp
od-win32/win32gui.cpp

index bab65cb2ad59c9efecd4f6ac18b4531d3e52366f..7c3d27af727c8a764eb84400fd4691baeef74581 100644 (file)
@@ -9252,7 +9252,7 @@ int built_in_prefs (struct uae_prefs *p, int model, int config, int compa, int r
                v = bip_super (p, config, compa, romcheck);
                break;
        }
-       if ((p->cpu_model >= 68020 || !p->cpu_cycle_exact || !p->cpu_memory_cycle_exact) && !p->immediate_blits)
+       if ((p->cpu_model >= 68020 || !p->cpu_memory_cycle_exact) && !p->immediate_blits)
                p->waiting_blits = 1;
        if (p->sound_filter_type == FILTER_SOUND_TYPE_A500 && (p->chipset_mask & CSMASK_AGA))
                p->sound_filter_type = FILTER_SOUND_TYPE_A1200;
index a30791f8484dfc821d4aaab8713ad2d4877e8f91..dab6b168f030b2ef6b30fba397db728978036ba0 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -353,12 +353,15 @@ void fixup_cpu (struct uae_prefs *p)
                error_log (_T("Immediate blitter and waiting blits can't be enabled simultaneously.\n"));
                p->waiting_blits = 0;
        }
+       if (p->cpu_memory_cycle_exact && p->cpu_model <= 68010 && p->waiting_blits) {
+               error_log(_T("Wait for blitter is not available in 68000/68010 cycle exact modes.\n"));
+               p->waiting_blits = 0;
+       }
 
        if (p->blitter_cycle_exact && !p->cpu_memory_cycle_exact) {
                error_log(_T("Blitter cycle-exact requires at least CPU memory cycle-exact.\n"));
                p->blitter_cycle_exact = 0;
        }
-
        if (p->cpu_memory_cycle_exact)
                p->cpu_compatible = true;
 
index 6891caa1cfadd6bada50b7120728ed70185806b1..5779da69d067a0c8e80ab68283b0a1dc776a5fb3 100644 (file)
@@ -7948,9 +7948,12 @@ static void enable_for_chipsetdlg (HWND hDlg)
 #else
        ew (hDlg, IDC_CYCLEEXACTMEMORY, workprefs.cpu_model >= 68020);
 #endif
-       if (workprefs.immediate_blits && workprefs.waiting_blits) {
+       if ((workprefs.immediate_blits || (workprefs.cpu_memory_cycle_exact && workprefs.cpu_model <= 68010))) {
                workprefs.waiting_blits = 0;
-               CheckDlgButton (hDlg, IDC_BLITWAIT, FALSE);
+               CheckDlgButton(hDlg, IDC_BLITWAIT, FALSE);
+               ew(hDlg, IDC_BLITWAIT, false);
+       } else {
+               ew(hDlg, IDC_BLITWAIT, TRUE);
        }
        ew(hDlg, IDC_BLITIMM, !workprefs.cpu_cycle_exact);