bugfixes, new scaling, double ym upd at 940
[picodrive.git] / Pico / Sek.c
index df98d9d..e05f6f4 100644 (file)
@@ -41,8 +41,8 @@ static int (*ResetCallback)()=DoReset;
 \r
 \r
 \r
-// interrupt acknowledgment\r
 #ifdef EMU_C68K\r
+// interrupt acknowledgment\r
 static void SekIntAck(int level)\r
 {\r
   // try to emulate VDP's reaction to 68000 int ack\r
@@ -81,8 +81,8 @@ static int SekUnrecognizedOpcode()
 #ifdef EMU_M68K\r
 static int SekIntAckM68K(int level)\r
 {\r
-  if     (level == 4) { Pico.video.pending_ints  =  0;    } // dprintf("hack: [%i|%i]", Pico.m.scanline, SekCyclesDone()); }\r
-  else if(level == 6) { Pico.video.pending_ints &= ~0x20; } // dprintf("vack: [%i|%i]", Pico.m.scanline, SekCyclesDone()); }\r
+  if     (level == 4) { Pico.video.pending_ints  =  0;    dprintf("hack: [%i|%i]", Pico.m.scanline, SekCyclesDone()); }\r
+  else if(level == 6) { Pico.video.pending_ints &= ~0x20; dprintf("vack: [%i|%i]", Pico.m.scanline, SekCyclesDone()); }\r
   CPU_INT_LEVEL = 0;\r
   return M68K_INT_ACK_AUTOVECTOR;\r
 }\r
@@ -143,12 +143,8 @@ int SekReset()
   PicoInitPc(M68000_regs.pc);\r
 #endif\r
 #ifdef EMU_M68K\r
-  {\r
-    void *oldcontext = m68ki_cpu_p;\r
-    m68k_set_context(&PicoM68kCPU);\r
-    m68k_pulse_reset();\r
-    m68k_set_context(oldcontext);\r
-  }\r
+  m68k_set_context(&PicoM68kCPU); // if we ever reset m68k, we always need it's context to be set\r
+  m68k_pulse_reset();\r
 #endif\r
 \r
   return 0;\r
@@ -190,3 +186,11 @@ void SekState(unsigned char *data)
   memcpy(data+0x40,&PicoM68kCPU.pc, 0x04);\r
 #endif\r
 }\r
+\r
+void SekSetRealTAS(int use_real)\r
+{\r
+#ifdef EMU_C68K\r
+  CycloneSetRealTAS(use_real);\r
+#endif\r
+}\r
+\r