drc: support ms ABI
[picodrive.git] / pico / cd / mcd.c
index af320bd..5e3629a 100644 (file)
@@ -15,9 +15,6 @@ static unsigned int mcd_m68k_cycle_mult;
 static unsigned int mcd_m68k_cycle_base;
 static unsigned int mcd_s68k_cycle_base;
 
-void (*PicoMCDopenTray)(void) = NULL;
-void (*PicoMCDcloseTray)(void) = NULL;
-
 
 PICO_INTERNAL void PicoInitMCD(void)
 {
@@ -79,7 +76,7 @@ PICO_INTERNAL int PicoResetMCD(void)
   // reset button doesn't affect MCD hardware
 
   // use Pico.sv.data for RAM cart
-  if (PicoOpt & POPT_EN_MCD_RAMCART) {
+  if (PicoIn.opt & POPT_EN_MCD_RAMCART) {
     if (Pico.sv.data == NULL)
       Pico.sv.data = calloc(1, 0x12000);
   }
@@ -107,7 +104,7 @@ static void SekRunM68kOnce(void)
 #elif defined(EMU_M68K)
     Pico.t.m68c_cnt += m68k_execute(cyc_do) - cyc_do;
 #elif defined(EMU_F68K)
-    Pico.t.m68c_cnt += fm68k_emulate(cyc_do, 0) - cyc_do;
+    Pico.t.m68c_cnt += fm68k_emulate(&PicoCpuFM68k, cyc_do, 0) - cyc_do;
 #endif
   }
 
@@ -138,9 +135,7 @@ static void SekRunS68k(unsigned int to)
   SekCycleCntS68k += m68k_execute(cyc_do) - cyc_do;
   m68k_set_context(&PicoCpuMM68k);
 #elif defined(EMU_F68K)
-  g_m68kcontext = &PicoCpuFS68k;
-  SekCycleCntS68k += fm68k_emulate(cyc_do, 0) - cyc_do;
-  g_m68kcontext = &PicoCpuFM68k;
+  SekCycleCntS68k += fm68k_emulate(&PicoCpuFS68k, cyc_do, 0) - cyc_do;
 #endif
 }