#define SekPcS68k (PicoCpuCS68k.pc-PicoCpuCS68k.membase)\r
#define SekSetStop(x) { PicoCpuCM68k.state_flags&=~1; if (x) { PicoCpuCM68k.state_flags|=1; PicoCpuCM68k.cycles=0; } }\r
#define SekSetStopS68k(x) { PicoCpuCS68k.state_flags&=~1; if (x) { PicoCpuCS68k.state_flags|=1; PicoCpuCS68k.cycles=0; } }\r
+#define SekShouldInterrupt (PicoCpuCM68k.irq > (PicoCpuCM68k.srh&7))\r
+#ifdef EMU_M68K\r
+#define EMU_CORE_DEBUG\r
+#endif\r
#endif\r
\r
#ifdef EMU_F68K\r
#define SekSetCyclesLeft(c) { \\r
if ((PicoMCD&1) && (PicoOpt & 0x2000)) SekCycleCnt=SekCycleAim-(c); else SekSetCyclesLeftNoMCD(c); \\r
}\r
-#define SekPc m68k_get_pc(&PicoCpuFM68k)\r
-#define SekPcS68k m68k_get_pc(&PicoCpuFS68k)\r
+#define SekPc fm68k_get_pc(&PicoCpuFM68k)\r
+#define SekPcS68k fm68k_get_pc(&PicoCpuFS68k)\r
#define SekSetStop(x) { \\r
- PicoCpuFM68k.execinfo &= ~M68K_HALTED; \\r
- if (x) { PicoCpuFM68k.execinfo |= M68K_HALTED; PicoCpuFM68k.io_cycle_counter = 0; } \\r
+ PicoCpuFM68k.execinfo &= ~FM68K_HALTED; \\r
+ if (x) { PicoCpuFM68k.execinfo |= FM68K_HALTED; PicoCpuFM68k.io_cycle_counter = 0; } \\r
}\r
#define SekSetStopS68k(x) { \\r
- PicoCpuFS68k.execinfo &= ~M68K_HALTED; \\r
- if (x) { PicoCpuFS68k.execinfo |= M68K_HALTED; PicoCpuFS68k.io_cycle_counter = 0; } \\r
+ PicoCpuFS68k.execinfo &= ~FM68K_HALTED; \\r
+ if (x) { PicoCpuFS68k.execinfo |= FM68K_HALTED; PicoCpuFS68k.io_cycle_counter = 0; } \\r
}\r
+#define SekShouldInterrupt fm68k_would_interrupt()\r
+#ifdef EMU_M68K\r
+#define EMU_CORE_DEBUG\r
+#endif\r
#endif\r
\r
#ifdef EMU_M68K\r
if(x) { SET_CYCLES(0); PicoCpuMS68k.stopped=STOP_LEVEL_STOP; } \\r
else PicoCpuMS68k.stopped=0; \\r
}\r
+#define SekShouldInterrupt (CPU_INT_LEVEL > FLAG_INT_MASK)\r
#endif\r
#endif\r
\r
}\r
#define SekCyclesDoneS68k() (SekCycleAimS68k-SekCyclesLeftS68k)\r
\r
-// debug cyclone\r
-#if defined(EMU_C68K) && defined(EMU_M68K)\r
+#ifdef EMU_CORE_DEBUG\r
#undef SekSetCyclesLeftNoMCD\r
#undef SekSetCyclesLeft\r
#undef SekCyclesBurn\r
// Cart.c\r
PICO_INTERNAL void PicoCartDetect(void);\r
\r
+// Debug.c\r
+int CM_compareRun(int cyc);\r
+\r
// Draw.c\r
PICO_INTERNAL int PicoLine(int scan);\r
PICO_INTERNAL void PicoFrameStart(void);\r