int scanline = get_scanline(is_from_z80);\r
//elprintf(EL_STATUS, "%03i -> %03i dac w %08x z80 %i", PsndDacLine, scanline, d, is_from_z80);\r
ym2612.dacout = ((int)d - 0x80) << 6;\r
- if (PsndOut && ym2612.dacen && scanline >= PsndDacLine)\r
+ if (ym2612.dacen)\r
PsndDoDAC(scanline);\r
return 0;\r
}\r
}\r
case 0x2b: { /* DAC Sel (YM2612) */\r
int scanline = get_scanline(is_from_z80);\r
- ym2612.dacen = d & 0x80;\r
- if (d & 0x80) PsndDacLine = scanline;\r
+ if (ym2612.dacen != (d & 0x80)) {\r
+ ym2612.dacen = d & 0x80;\r
+ PsndDacLine = scanline;\r
+ }\r
#ifdef __GP2X__\r
if (PicoOpt & POPT_EXT_FM) YM2612Write_940(a, d, scanline);\r
#endif\r