trunk/src/emu/sound/ymz770.c
| r26602 | r26603 | |
| 13 | 13 | - What does channel ATBL mean? |
| 14 | 14 | - Is YMZ774(and other variants) the same family as this chip? |
| 15 | 15 | What are the differences? |
| 16 | - channel volume is linear or logarithmic? |
| 16 | 17 | |
| 17 | 18 | ***************************************************************************/ |
| 18 | 19 | |
| r26602 | r26603 | |
| 122 | 123 | |
| 123 | 124 | for (int i = 0; i < samples; i++) |
| 124 | 125 | { |
| 125 | | INT32 mix = 0; |
| 126 | | |
| 126 | // run sequencers (should probably be in separate timer callbacks) |
| 127 | 127 | for (int ch = 0; ch < 8; ch++) |
| 128 | 128 | { |
| 129 | 129 | if (m_channels[ch].is_seq_playing) |
| r26602 | r26603 | |
| 160 | 160 | } |
| 161 | 161 | } |
| 162 | 162 | } |
| 163 | } |
| 164 | |
| 165 | // process channels |
| 166 | INT32 mix = 0; |
| 167 | |
| 168 | for (int ch = 0; ch < 8; ch++) |
| 169 | { |
| 163 | 170 | if (m_channels[ch].is_playing) |
| 164 | 171 | { |
| 165 | 172 | if (m_channels[ch].output_remaining > 0) |
| r26602 | r26603 | |
| 182 | 189 | else |
| 183 | 190 | { |
| 184 | 191 | m_channels[ch].is_playing = false; |
| 192 | //m_channels[ch].decoder->stop(); |
| 185 | 193 | } |
| 186 | 194 | } |
| 187 | 195 | |
| r26602 | r26603 | |
| 289 | 297 | else |
| 290 | 298 | { |
| 291 | 299 | m_channels[voice].is_playing = false; |
| 300 | //m_channels[voice].decoder->stop(); |
| 292 | 301 | } |
| 293 | 302 | |
| 294 | 303 | m_channels[voice].control = data; |