new timing for main and cd
[picodrive.git] / pico / sek.c
index 5a7b707..8dd7729 100644 (file)
@@ -11,9 +11,8 @@
 #include "memory.h"\r
 \r
 \r
-int SekCycleCnt=0; // cycles done in this frame\r
-int SekCycleAim=0; // cycle aim\r
-unsigned int SekCycleCntT=0;\r
+unsigned int SekCycleCnt;\r
+unsigned int SekCycleAim;\r
 \r
 \r
 /* context */\r
@@ -220,7 +219,8 @@ PICO_INTERNAL void SekPackCpu(unsigned char *cpu, int is_sub)
 #endif\r
 \r
   *(unsigned int *)(cpu+0x40) = pc;\r
-  *(unsigned int *)(cpu+0x50) = SekCycleCntT;\r
+  *(unsigned int *)(cpu+0x50) =\r
+    is_sub ? SekCycleCntS68k : SekCycleCnt;\r
 }\r
 \r
 PICO_INTERNAL void SekUnpackCpu(const unsigned char *cpu, int is_sub)\r
@@ -257,7 +257,10 @@ PICO_INTERNAL void SekUnpackCpu(const unsigned char *cpu, int is_sub)
   context->execinfo &= ~FM68K_HALTED;\r
   if (cpu[0x4d]&1) context->execinfo |= FM68K_HALTED;\r
 #endif\r
-  SekCycleCntT = *(unsigned int *)(cpu+0x50);\r
+  if (is_sub)\r
+    SekCycleCntS68k = *(unsigned int *)(cpu+0x50);\r
+  else\r
+    SekCycleCnt = *(unsigned int *)(cpu+0x50);\r
 }\r
 \r
 \r