- /* mix to 32bit temporary buffer */\r
- chan_render(mix_buffer, length, &ym2612.CH[0], stereo|((pan&0x003)<<4)); // flags: stereo, lastchan, disabled, ?, pan_r, pan_l\r
- chan_render(mix_buffer, length, &ym2612.CH[1], stereo|((pan&0x00c)<<2));\r
- chan_render(mix_buffer, length, &ym2612.CH[2], stereo|((pan&0x030) ));\r
- chan_render(mix_buffer, length, &ym2612.CH[3], stereo|((pan&0x0c0)>>2));\r
- chan_render(mix_buffer, length, &ym2612.CH[4], stereo|((pan&0x300)>>4));\r
- chan_render(mix_buffer, length, &ym2612.CH[5], stereo|((pan&0xc00)>>6)|(ym2612.dacen<<2)|2);\r
-\r
-#ifndef EXTERNAL_YM2612\r
- /* limit and mix to output buffer */\r
- if (stereo) {\r
- int *mb = mix_buffer;\r
- for (i = length; i > 0; i--) {\r
- int l, r;\r
- l = r = *buffer;\r
- l += *mb++, r += *mb++;\r
- Limit( l, MAXOUT, MINOUT );\r
- Limit( r, MAXOUT, MINOUT );\r
- *buffer++ = l; *buffer++ = r;\r
- }\r
- } else {\r
- for (i = 0; i < length; i++) {\r
- int l = mix_buffer[i];\r
- l += buffer[i];\r
- Limit( l, MAXOUT, MINOUT );\r
- buffer[i] = l;\r
- }\r
- }\r
-#endif\r