split memories away from Pico
[picodrive.git] / pico / sek.c
index c91374b..f599d9b 100644 (file)
 #include "pico_int.h"\r
 #include "memory.h"\r
 \r
-\r
-unsigned int SekCycleCnt;\r
-unsigned int SekCycleAim;\r
-\r
-\r
 /* context */\r
 // Cyclone 68000\r
 #ifdef EMU_C68K\r
@@ -36,8 +31,8 @@ M68K_CONTEXT PicoCpuFM68k;
 static int SekIntAck(int level)\r
 {\r
   // try to emulate VDP's reaction to 68000 int ack\r
-  if     (level == 4) { Pico.video.pending_ints  =  0;    elprintf(EL_INTS, "hack: @ %06x [%u]", SekPc, SekCycleCnt); }\r
-  else if(level == 6) { Pico.video.pending_ints &= ~0x20; elprintf(EL_INTS, "vack: @ %06x [%u]", SekPc, SekCycleCnt); }\r
+  if     (level == 4) { Pico.video.pending_ints  =  0;    elprintf(EL_INTS, "hack: @ %06x [%u]", SekPc, Pico.t.m68c_cnt); }\r
+  else if(level == 6) { Pico.video.pending_ints &= ~0x20; elprintf(EL_INTS, "vack: @ %06x [%u]", SekPc, Pico.t.m68c_cnt); }\r
   PicoCpuCM68k.irq = 0;\r
   return CYCLONE_INT_ACK_AUTOVECTOR;\r
 }\r
@@ -76,8 +71,8 @@ static int SekUnrecognizedOpcode()
 #ifdef EMU_M68K\r
 static int SekIntAckM68K(int level)\r
 {\r
-  if     (level == 4) { Pico.video.pending_ints  =  0;    elprintf(EL_INTS, "hack: @ %06x [%u]", SekPc, SekCycleCnt); }\r
-  else if(level == 6) { Pico.video.pending_ints &= ~0x20; elprintf(EL_INTS, "vack: @ %06x [%u]", SekPc, SekCycleCnt); }\r
+  if     (level == 4) { Pico.video.pending_ints  =  0;    elprintf(EL_INTS, "hack: @ %06x [%u]", SekPc, Pico.t.m68c_cnt); }\r
+  else if(level == 6) { Pico.video.pending_ints &= ~0x20; elprintf(EL_INTS, "vack: @ %06x [%u]", SekPc, Pico.t.m68c_cnt); }\r
   CPU_INT_LEVEL = 0;\r
   return M68K_INT_ACK_AUTOVECTOR;\r
 }\r
@@ -168,17 +163,17 @@ PICO_INTERNAL int SekReset(void)
 \r
 void SekStepM68k(void)\r
 {\r
-  SekCycleAim=SekCycleCnt+1;\r
+  Pico.t.m68c_aim = Pico.t.m68c_cnt + 1;\r
 #if defined(EMU_CORE_DEBUG)\r
-  SekCycleCnt+=CM_compareRun(1, 0);\r
+  Pico.t.m68c_cnt += CM_compareRun(1, 0);\r
 #elif defined(EMU_C68K)\r
   PicoCpuCM68k.cycles=1;\r
   CycloneRun(&PicoCpuCM68k);\r
-  SekCycleCnt+=1-PicoCpuCM68k.cycles;\r
+  Pico.t.m68c_cnt += 1 - PicoCpuCM68k.cycles;\r
 #elif defined(EMU_M68K)\r
-  SekCycleCnt+=m68k_execute(1);\r
+  Pico.t.m68c_cnt += m68k_execute(1);\r
 #elif defined(EMU_F68K)\r
-  SekCycleCnt+=fm68k_emulate(1, 0);\r
+  Pico.t.m68c_cnt += fm68k_emulate(1, 0);\r
 #endif\r
 }\r
 \r
@@ -228,7 +223,7 @@ PICO_INTERNAL void SekPackCpu(unsigned char *cpu, int is_sub)
 \r
   *(unsigned int *)(cpu+0x40) = pc;\r
   *(unsigned int *)(cpu+0x50) =\r
-    is_sub ? SekCycleCntS68k : SekCycleCnt;\r
+    is_sub ? SekCycleCntS68k : Pico.t.m68c_cnt;\r
 }\r
 \r
 PICO_INTERNAL void SekUnpackCpu(const unsigned char *cpu, int is_sub)\r
@@ -268,7 +263,7 @@ PICO_INTERNAL void SekUnpackCpu(const unsigned char *cpu, int is_sub)
   if (is_sub)\r
     SekCycleCntS68k = *(unsigned int *)(cpu+0x50);\r
   else\r
-    SekCycleCnt = *(unsigned int *)(cpu+0x50);\r
+    Pico.t.m68c_cnt = *(unsigned int *)(cpu+0x50);\r
 }\r
 \r
 \r
@@ -467,7 +462,7 @@ void SekTrace(int is_s68k)
   struct ref_68k *x68k = &ref_68ks[is_s68k];\r
   u32 pc = is_s68k ? SekPcS68k : SekPc;\r
   u32 sr = is_s68k ? SekSrS68k : SekSr;\r
-  u32 cycles = is_s68k ? SekCycleCntS68k : SekCycleCnt;\r
+  u32 cycles = is_s68k ? SekCycleCntS68k : Pico.t.m68c_cnt;\r
   u32 r;\r
   u8 cmd;\r
 #ifdef CPU_CMP_W\r