32x: add more regs, ignore purge space
[picodrive.git] / pico / pico_cmn.c
index 212ed8d..2c49588 100644 (file)
@@ -100,6 +100,9 @@ static int PicoFrameHints(void)
 #ifdef PICO_CD
     check_cd_dma();
 #endif
+#ifdef PICO_32X
+    p32x_pwm_irq_check();
+#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();
+#endif
 
   // Last H-Int:
   if (--hint < 0)
@@ -221,9 +227,8 @@ static int PicoFrameHints(void)
   if (PicoLineHook) PicoLineHook();
 #endif
 
-  // PAL line count might actually be 313 according to Steve Snake, but that would complicate things.
-  lines = Pico.m.pal ? 312 : 262;
-  vcnt_wrap = Pico.m.pal ? 0x103 : 0xEB; // based on Gens
+  lines = scanlines_total;
+  vcnt_wrap = Pico.m.pal ? 0x103 : 0xEB; // based on Gens, TODO: verify
 
   for (y++; y < lines; y++)
   {
@@ -238,6 +243,9 @@ static int PicoFrameHints(void)
 #ifdef PICO_CD
     check_cd_dma();
 #endif
+#ifdef PICO_32X
+    p32x_pwm_irq_check();
+#endif
 
     // Run scanline:
     if (Pico.m.dma_xfers) SekCyclesBurn(CheckDMA());