audio, fix for speed regression after last commit
authorkub <derkub@gmail.com>
Fri, 17 Jul 2020 17:25:51 +0000 (19:25 +0200)
committerkub <derkub@gmail.com>
Fri, 17 Jul 2020 17:26:27 +0000 (19:26 +0200)
pico/memory.c

index ff41ac9..aef3ee8 100644 (file)
@@ -1009,8 +1009,6 @@ static int ym2612_write_local(u32 a, u32 d, int is_from_z80)
           int old_mode = ym2612.OPN.ST.mode;\r
           int cycles = is_from_z80 ? z80_cyclesDone() : z80_cycles_from_68k();\r
 \r
-          if (ym2612.OPN.ST.mode != d)\r
-            PsndDoFM(cycles);\r
           ym2612.OPN.ST.mode = d;\r
 \r
           elprintf(EL_YMTIMER, "st mode %02x", d);\r
@@ -1028,6 +1026,7 @@ static int ym2612_write_local(u32 a, u32 d, int is_from_z80)
 #ifdef __GP2X__\r
             if (PicoIn.opt & POPT_EXT_FM) return YM2612Write_940(a, d, get_scanline(is_from_z80));\r
 #endif\r
+            PsndDoFM(cycles);\r
             return 1;\r
           }\r
           return 0;\r
@@ -1069,7 +1068,6 @@ static int ym2612_write_local(u32 a, u32 d, int is_from_z80)
 \r
 \r
 #define ym2612_read_local() \\r
-  PsndDoFM(xcycles>>8); \\r
   if (xcycles >= Pico.t.timer_a_next_oflow) \\r
     ym2612.OPN.ST.status |= (ym2612.OPN.ST.mode >> 2) & 1; \\r
   if (xcycles >= Pico.t.timer_b_next_oflow) \\r