|
|
| version 1.3, 2004/08/17 16:52:46 | version 1.4, 2008/06/02 20:07:32 |
|---|---|
| Line 61 void SOUNDCALL psggen_getpcm(PSGGEN psg, | Line 61 void SOUNDCALL psggen_getpcm(PSGGEN psg, |
| if (vol) { | if (vol) { |
| samp = 0; | samp = 0; |
| switch(mixer & 9) { | switch(mixer & 9) { |
| case 0: // no mix | case 0: /* no mix */ |
| if (tone->puchi) { | if (tone->puchi) { |
| tone->puchi--; | tone->puchi--; |
| samp += vol << PSGADDEDBIT; | samp += vol << PSGADDEDBIT; |
| } | } |
| break; | break; |
| case 1: // tone only | case 1: /* tone only */ |
| for (i=0; i<(1 << PSGADDEDBIT); i++) { | for (i=0; i<(1 << PSGADDEDBIT); i++) { |
| tone->count += tone->freq; | tone->count += tone->freq; |
| samp += vol * ((tone->count>=0)?1:-1); | samp += vol * ((tone->count>=0)?1:-1); |
| } | } |
| break; | break; |
| case 8: // noise only | case 8: /* noise only */ |
| noise = noisetbl; | noise = noisetbl; |
| for (i=0; i<(1 << PSGADDEDBIT); i++) { | for (i=0; i<(1 << PSGADDEDBIT); i++) { |
| samp += vol * ((noise & 1)?1:-1); | samp += vol * ((noise & 1)?1:-1); |