clarify PicoDrive's license
[picodrive.git] / pico / pico_cmn.c
index 5f31694..8499f93 100644 (file)
@@ -1,10 +1,16 @@
-// common code for Pico.c and cd/Pico.c
-// (c) Copyright 2007-2009 Grazvydas "notaz" Ignotas
+/*
+ * common code for pico.c and cd/pico.c
+ * (C) notaz, 2007-2009
+ *
+ * This work is licensed under the terms of MAME license.
+ * See COPYING file in the top-level directory.
+ */
 
 #define CYCLES_M68K_LINE     488 // suitable for both PAL/NTSC
 #define CYCLES_M68K_VINT_LAG  68
 #define CYCLES_M68K_ASD      148
 #define CYCLES_S68K_LINE     795
+#define CYCLES_S68K_VINT_LAG 111
 #define CYCLES_S68K_ASD      241
 
 // pad delay (for 6 button pads)
@@ -83,7 +89,7 @@ static int PicoFrameHints(void)
     check_cd_dma();
 #endif
 #ifdef PICO_32X
-    p32x_pwm_irq_check(1);
+    p32x_timers_do(1);
 #endif
 
     // H-Interrupts:
@@ -155,7 +161,7 @@ static int PicoFrameHints(void)
   check_cd_dma();
 #endif
 #ifdef PICO_32X
-  p32x_pwm_irq_check(1);
+  p32x_timers_do(1);
 #endif
 
   // Last H-Int:
@@ -178,7 +184,7 @@ static int PicoFrameHints(void)
   // there must be a delay after vblank bit is set and irq is asserted (Mazin Saga)
   // also delay between F bit (bit 7) is set in SR and IRQ happens (Ex-Mutants)
   // also delay between last H-int and V-int (Golden Axe 3)
-  SekRunM68k(CYCLES_M68K_VINT_LAG);
+  CPUS_RUN(CYCLES_M68K_VINT_LAG, CYCLES_S68K_VINT_LAG);
 
   if (pv->reg[1]&0x20) {
     elprintf(EL_INTS, "vint: @ %06x [%i]", SekPc, SekCycleCnt);
@@ -201,7 +207,7 @@ static int PicoFrameHints(void)
   // Run scanline:
   if (Pico.m.dma_xfers) SekCyclesBurn(CheckDMA());
   CPUS_RUN(CYCLES_M68K_LINE - CYCLES_M68K_VINT_LAG - CYCLES_M68K_ASD,
-    CYCLES_S68K_LINE - CYCLES_S68K_ASD);
+    CYCLES_S68K_LINE - CYCLES_S68K_VINT_LAG - CYCLES_S68K_ASD);
 
 #ifdef PICO_CD
   update_chips();
@@ -226,7 +232,7 @@ static int PicoFrameHints(void)
     check_cd_dma();
 #endif
 #ifdef PICO_32X
-    p32x_pwm_irq_check(1);
+    p32x_timers_do(1);
 #endif
 
     // Run scanline: