32x: implement VDP fill, improve PWM, division unit and scheduling
[picodrive.git] / pico / pico_cmn.c
index d2801ed..56658e7 100644 (file)
 
 // CPUS_RUN
 #ifndef RUN_SH2S
-#define RUN_SH2S
+#define RUN_SH2S(x)
 #endif
 
 #ifndef PICO_CD
 #define CPUS_RUN(m68k_cycles,s68k_cycles) \
 { \
     SekRunM68k(m68k_cycles); \
-    RUN_SH2S \
+    RUN_SH2S(m68k_cycles); \
 }
 #else
 #define CPUS_RUN(m68k_cycles,s68k_cycles) \
@@ -100,6 +100,9 @@ static int PicoFrameHints(void)
 #ifdef PICO_CD
     check_cd_dma();
 #endif
+#ifdef PICO_32X
+    p32x_pwm_irq_check(1);
+#endif
 
     // H-Interrupts:
     if (--hint < 0) // y <= lines_vis: Comix Zone, Golden Axe
@@ -169,6 +172,9 @@ static int PicoFrameHints(void)
 #ifdef PICO_CD
   check_cd_dma();
 #endif
+#ifdef PICO_32X
+  p32x_pwm_irq_check(1);
+#endif
 
   // Last H-Int:
   if (--hint < 0)
@@ -237,6 +243,9 @@ static int PicoFrameHints(void)
 #ifdef PICO_CD
     check_cd_dma();
 #endif
+#ifdef PICO_32X
+    p32x_pwm_irq_check(1);
+#endif
 
     // Run scanline:
     if (Pico.m.dma_xfers) SekCyclesBurn(CheckDMA());