clarify PicoDrive's license
[picodrive.git] / pico / 32x / pwm.c
index 0e73078..018a200 100644 (file)
@@ -1,3 +1,10 @@
+/*
+ * PicoDrive
+ * (C) notaz, 2009,2010
+ *
+ * This work is licensed under the terms of MAME license.
+ * See COPYING file in the top-level directory.
+ */
 #include "../pico_int.h"
 
 static int pwm_line_samples;
@@ -47,21 +54,25 @@ void p32x_timers_recalc(void)
 }
 
 // PWM irq for every tm samples
-void p32x_timers_do(int new_line)
+void p32x_timers_do(int line_call)
 {
   int tm, cnt, i;
-  tm = (Pico32x.regs[0x30 / 2] & 0x0f00) >> 8;
-  if (tm != 0) {
-    if (new_line)
-      Pico32x.pwm_irq_sample_cnt += pwm_line_samples;
-    if (Pico32x.pwm_irq_sample_cnt >= (tm << 16)) {
-      Pico32x.pwm_irq_sample_cnt -= tm << 16;
-      Pico32x.sh2irqs |= P32XI_PWM;
-      p32x_update_irls();
+
+  if (PicoOpt & POPT_EN_PWM)
+  {
+    tm = (Pico32x.regs[0x30 / 2] & 0x0f00) >> 8;
+    if (tm != 0) {
+      if (line_call)
+        Pico32x.pwm_irq_sample_cnt += pwm_line_samples;
+      if (Pico32x.pwm_irq_sample_cnt >= (tm << 16)) {
+        Pico32x.pwm_irq_sample_cnt -= tm << 16;
+        Pico32x.sh2irqs |= P32XI_PWM;
+        p32x_update_irls(!line_call);
+      }
     }
   }
 
-  if (!new_line)
+  if (!line_call)
     return;
 
   for (i = 0; i < 2; i++) {
@@ -141,7 +152,6 @@ void p32x_pwm_write16(unsigned int a, unsigned int d)
 
 void p32x_pwm_update(int *buf32, int length, int stereo)
 {
-  extern int pwm_ptr;
   short *pwmb;
   int step;
   int p = 0;