--- np2/sound/psggeng.c 2003/10/26 08:59:53 1.5 +++ np2/sound/psggeng.c 2003/11/14 05:26:53 1.6 @@ -68,10 +68,10 @@ void SOUNDCALL psggen_getpcm(PSGGEN psg, } tone = psg->tone; toneterm = tone + 3; - samp = 0; do { psgvol = (*(tone->pvol)) & 15; if (psgvol) { + samp = 0; vol = psggencfg.volume[psgvol]; switch(mixer & 9) { case 0: // no mix @@ -110,11 +110,15 @@ void SOUNDCALL psggen_getpcm(PSGGEN psg, } break; } + if (!(tone->pan & 1)) { + pcm[0] += samp; + } + if (!(tone->pan & 2)) { + pcm[1] += samp; + } } mixer >>= 1; } while(++tone < toneterm); - pcm[0] += samp; - pcm[1] += samp; pcm += 2; } while(--count); }