--- np2/sound/psggeng.c 2003/11/14 05:26:53 1.6 +++ np2/sound/psggeng.c 2005/02/07 14:46:12 1.8 @@ -10,12 +10,12 @@ extern PSGGENCFG psggencfg; void SOUNDCALL psggen_getpcm(PSGGEN psg, SINT32 *pcm, UINT count) { SINT32 noisevol; - BYTE mixer; + UINT8 mixer; UINT noisetbl = 0; PSGTONE *tone; PSGTONE *toneterm; SINT32 samp; - UINT psgvol; +// UINT psgvol; SINT32 vol; UINT i; UINT noise; @@ -50,6 +50,7 @@ void SOUNDCALL psggen_getpcm(PSGGEN psg, psg->envcnt = psg->envmax; psg->envvol = (psg->envvolcnt ^ psg->envmode) & 0x0f; } + psg->evol = psggencfg.volume[psg->envvol]; } } mixer = psg->mixer; @@ -69,10 +70,9 @@ void SOUNDCALL psggen_getpcm(PSGGEN psg, tone = psg->tone; toneterm = tone + 3; do { - psgvol = (*(tone->pvol)) & 15; - if (psgvol) { + vol = *(tone->pvol); + if (vol) { samp = 0; - vol = psggencfg.volume[psgvol]; switch(mixer & 9) { case 0: // no mix if (tone->puchi) {