From: Toni Wilen Date: Mon, 12 Jan 2026 18:29:24 +0000 (+0200) Subject: Separate m68k_run() function X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=3e3a9538ea5571745e70f5ae4b863d9186c9afac;p=francis%2Fwinuae.git Separate m68k_run() function --- diff --git a/include/newcpu.h b/include/newcpu.h index 85fedd89..076fd83d 100644 --- a/include/newcpu.h +++ b/include/newcpu.h @@ -738,6 +738,7 @@ extern int m68k_movec2 (int, uae_u32 *); extern int m68k_divl (uae_u32, uae_u32, uae_u16, uaecptr); extern int m68k_mull (uae_u32, uae_u32, uae_u16); extern void init_m68k (void); +extern void m68k_run(void); extern void m68k_go (int); extern void m68k_dumpstate(uaecptr *, uaecptr); extern void m68k_dumpcache(bool); diff --git a/newcpu.cpp b/newcpu.cpp index 94161e5b..04665443 100644 --- a/newcpu.cpp +++ b/newcpu.cpp @@ -6552,6 +6552,31 @@ static void warpmode_reset(void) } } +void m68k_run(void) +{ + void (*run_func)(void); + + run_func = currprefs.cpu_cycle_exact && currprefs.cpu_model <= 68010 ? m68k_run_1_ce : + currprefs.cpu_compatible && currprefs.cpu_model <= 68010 ? m68k_run_1 : +#ifdef JIT + currprefs.cpu_model >= 68020 && currprefs.cachesize ? m68k_run_jit : +#endif + currprefs.cpu_model == 68030 && currprefs.mmu_model ? m68k_run_mmu030 : + currprefs.cpu_model == 68040 && currprefs.mmu_model ? m68k_run_mmu040 : + currprefs.cpu_model == 68060 && currprefs.mmu_model ? m68k_run_mmu060 : + + currprefs.cpu_model >= 68040 && currprefs.cpu_cycle_exact ? m68k_run_3ce : + currprefs.cpu_model >= 68020 && currprefs.cpu_cycle_exact ? m68k_run_2ce : + + currprefs.cpu_model <= 68020 && currprefs.cpu_compatible ? m68k_run_2p : + currprefs.cpu_model == 68030 && currprefs.cpu_compatible ? m68k_run_2p : + currprefs.cpu_model >= 68040 && currprefs.cpu_compatible ? m68k_run_3p : + + currprefs.cpu_model < 68020 ? m68k_run_2_000 : m68k_run_2_020; + + run_func(); +} + void m68k_go (int may_quit) { int hardboot = 1; @@ -6755,32 +6780,7 @@ void m68k_go (int may_quit) } } -#if 0 - if (mmu_enabled && !currprefs.cachesize) { - run_func = m68k_run_mmu; - } else { -#endif - run_func = currprefs.cpu_cycle_exact && currprefs.cpu_model <= 68010 ? m68k_run_1_ce : - currprefs.cpu_compatible && currprefs.cpu_model <= 68010 ? m68k_run_1 : -#ifdef JIT - currprefs.cpu_model >= 68020 && currprefs.cachesize ? m68k_run_jit : -#endif - currprefs.cpu_model == 68030 && currprefs.mmu_model ? m68k_run_mmu030 : - currprefs.cpu_model == 68040 && currprefs.mmu_model ? m68k_run_mmu040 : - currprefs.cpu_model == 68060 && currprefs.mmu_model ? m68k_run_mmu060 : - - currprefs.cpu_model >= 68040 && currprefs.cpu_cycle_exact ? m68k_run_3ce : - currprefs.cpu_model >= 68020 && currprefs.cpu_cycle_exact ? m68k_run_2ce : - - currprefs.cpu_model <= 68020 && currprefs.cpu_compatible ? m68k_run_2p : - currprefs.cpu_model == 68030 && currprefs.cpu_compatible ? m68k_run_2p : - currprefs.cpu_model >= 68040 && currprefs.cpu_compatible ? m68k_run_3p : - - currprefs.cpu_model < 68020 ? m68k_run_2_000 : m68k_run_2_020; -#if 0 - } -#endif - run_func(); + m68k_run(); custom_end_drawing();