From: notaz Date: Mon, 23 Sep 2013 22:11:13 +0000 (+0300) Subject: famec: remove unused dual code X-Git-Tag: v1.90~3 X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=99ade2ee2f76fa8170fb4e1abacc24f39a150c44;p=picodrive.git famec: remove unused dual code --- diff --git a/cpu/fame/fame.h b/cpu/fame/fame.h index 111af88c..2f9d8508 100644 --- a/cpu/fame/fame.h +++ b/cpu/fame/fame.h @@ -152,7 +152,7 @@ extern M68K_CONTEXT *g_m68kcontext; /* General purpose functions */ void fm68k_init(void); int fm68k_reset(void); -int fm68k_emulate(int n, int dualcore, int idle_mode); +int fm68k_emulate(int n, int idle_mode); int fm68k_would_interrupt(void); // to be called from fm68k_emulate() unsigned fm68k_get_pc(M68K_CONTEXT *context); diff --git a/cpu/fame/famec.c b/cpu/fame/famec.c index 68915260..2f10540d 100644 --- a/cpu/fame/famec.c +++ b/cpu/fame/famec.c @@ -647,7 +647,7 @@ void fm68k_init(void) #endif if (!initialised) - fm68k_emulate(0, 0, 0); + fm68k_emulate(0, 0); #ifdef FAMEC_DEBUG puts("FAME initialized."); @@ -666,7 +666,7 @@ void fm68k_init(void) int fm68k_reset(void) { if (!initialised) - fm68k_emulate(0, 0, 0); + fm68k_emulate(0, 0); // Si la CPU esta en ejecucion, salir con M68K_RUNNING if (m68kcontext.execinfo & M68K_RUNNING) @@ -794,7 +794,7 @@ static FAMEC_EXTRA_INLINE u32 execute_exception_group_0(s32 vect, s32 addr, u16 // main exec function ////////////////////// -int fm68k_emulate(s32 cycles, int dualcore, int idle_mode) +int fm68k_emulate(s32 cycles, int idle_mode) { #ifndef FAMEC_NO_GOTOS u32 Opcode; @@ -814,10 +814,8 @@ int fm68k_emulate(s32 cycles, int dualcore, int idle_mode) } #ifdef PICODRIVE_HACK - if (dualcore) goto dualcore_mode; if (idle_mode == 1) goto idle_install; else if (idle_mode == 2) goto idle_remove; -famec_restart: #endif // won't emulate double fault @@ -962,58 +960,7 @@ famec_End: printf("pc: 0x%08x\n",m68kcontext.pc); #endif -#ifdef PICODRIVE_HACK - if (!dualcore) -#endif - return cycles - m68kcontext.io_cycle_counter; - -#ifdef PICODRIVE_HACK -dualcore_mode: - - while (1) - { - extern int SekCycleAim, SekCycleCnt, SekCycleAimS68k, SekCycleCntS68k; - #define PS_STEP_M68K ((488<<16)/20) // ~24 - if (dualcore == 1) - { - dualcore = (488<<16); // ~ cycn in Pico.c - // adjust for first iteration - g_m68kcontext = &PicoCpuFS68k; - cycles = m68kcontext.io_cycle_counter = 0; - } - if (g_m68kcontext == &PicoCpuFS68k) - { - SekCycleCntS68k += cycles - m68kcontext.io_cycle_counter; - // end? - dualcore -= PS_STEP_M68K; - if (dualcore < 0) return 0; - // become main 68k - g_m68kcontext = &PicoCpuFM68k; - if ((cycles = SekCycleAim-SekCycleCnt-(dualcore>>16)) > 0) - { - if ((m68kcontext.execinfo & FM68K_HALTED) && m68kcontext.interrupts[0] <= (M68K_PPL)) - SekCycleCnt += cycles; // halted - else goto famec_restart; - //else { printf("go main %i\n", cycles); goto famec_restart; } - } - cycles = m68kcontext.io_cycle_counter = 0; - } - if (g_m68kcontext == &PicoCpuFM68k) - { - int cycn_s68k = (dualcore + dualcore/2 + dualcore/8) >> 16; - SekCycleCnt += cycles - m68kcontext.io_cycle_counter; - // become sub 68k - g_m68kcontext = &PicoCpuFS68k; - if ((cycles = SekCycleAimS68k-SekCycleCntS68k-cycn_s68k) > 0) - { - if ((m68kcontext.execinfo & FM68K_HALTED) && m68kcontext.interrupts[0] <= (M68K_PPL)) - SekCycleCntS68k += cycles; // halted - else goto famec_restart; - } - cycles = m68kcontext.io_cycle_counter = 0; - } - } -#endif + return cycles - m68kcontext.io_cycle_counter; init_jump_table: { diff --git a/pico/cd/mcd.c b/pico/cd/mcd.c index 3f6afa57..8451a1c2 100644 --- a/pico/cd/mcd.c +++ b/pico/cd/mcd.c @@ -107,7 +107,7 @@ static __inline void SekRunS68k(unsigned int to) m68k_set_context(&PicoCpuMM68k); #elif defined(EMU_F68K) g_m68kcontext = &PicoCpuFS68k; - SekCycleCntS68k += fm68k_emulate(cyc_do, 0, 0) - cyc_do; + SekCycleCntS68k += fm68k_emulate(cyc_do, 0) - cyc_do; g_m68kcontext = &PicoCpuFM68k; #endif } diff --git a/pico/pico_cmn.c b/pico/pico_cmn.c index c84c2214..341255a8 100644 --- a/pico/pico_cmn.c +++ b/pico/pico_cmn.c @@ -39,7 +39,7 @@ static void SekSyncM68k(void) #elif defined(EMU_M68K) SekCycleCnt += m68k_execute(cyc_do) - cyc_do; #elif defined(EMU_F68K) - SekCycleCnt += fm68k_emulate(cyc_do, 0, 0) - cyc_do; + SekCycleCnt += fm68k_emulate(cyc_do, 0) - cyc_do; #endif } diff --git a/pico/sek.c b/pico/sek.c index 91aa7ce2..86a351f6 100644 --- a/pico/sek.c +++ b/pico/sek.c @@ -176,7 +176,7 @@ void SekStepM68k(void) #elif defined(EMU_M68K) SekCycleCnt+=m68k_execute(1); #elif defined(EMU_F68K) - SekCycleCnt+=fm68k_emulate(1, 0, 0); + SekCycleCnt+=fm68k_emulate(1, 0); #endif } @@ -317,7 +317,7 @@ void SekInitIdleDet(void) CycloneInitIdle(); #endif #ifdef EMU_F68K - fm68k_emulate(0, 0, 1); + fm68k_emulate(0, 1); #endif } @@ -425,7 +425,7 @@ void SekFinishIdleDet(void) CycloneFinishIdle(); #endif #ifdef EMU_F68K - fm68k_emulate(0, 0, 2); + fm68k_emulate(0, 2); #endif while (idledet_count > 0) {