trunk/src/emu/sound/l7a1045_l6028_dsp_a.c
| r245474 | r245475 | |
| 155 | 155 | sample = (INT8)m_rom[(start + pos) & (m_rom_size-1)]; |
| 156 | 156 | frac += step; |
| 157 | 157 | |
| 158 | | outputs[0][j] += ((sample * 0x8000) >> 8); |
| 159 | | outputs[1][j] += ((sample * 0x8000) >> 8); |
| 158 | outputs[0][j] += ((sample * vptr->l_volume) >> 8); |
| 159 | outputs[1][j] += ((sample * vptr->r_volume) >> 8); |
| 160 | 160 | } |
| 161 | 161 | |
| 162 | 162 | vptr->pos = pos; |
| r245474 | r245475 | |
| 222 | 222 | |
| 223 | 223 | WRITE16_MEMBER(l7a1045_sound_device::sound_data_w) |
| 224 | 224 | { |
| 225 | l7a1045_voice *vptr = &m_voice[m_audiochannel]; |
| 226 | |
| 225 | 227 | if(m_audioregister != 0) |
| 226 | | printf("%04x %04x (%04x|%04x %04x)\n",offset,data,offset ^ 2,m_audioregister,m_audiochannel); |
| 228 | printf("%04x %04x (%04x %04x)\n",offset,data,m_audioregister,m_audiochannel); |
| 227 | 229 | |
| 228 | 230 | m_audiodat[m_audioregister][m_audiochannel].dat[offset] = data; |
| 229 | 231 | |
| 230 | 232 | switch (m_audioregister) |
| 231 | 233 | { |
| 232 | 234 | case 0x00: |
| 233 | | l7a1045_voice *vptr = &m_voice[m_audiochannel]; |
| 234 | 235 | |
| 235 | 236 | vptr->start = (m_audiodat[0][m_audiochannel].dat[2] & 0x000f) << (16 + 4); |
| 236 | 237 | vptr->start |= (m_audiodat[0][m_audiochannel].dat[1] & 0xffff) << (4); |
| r245474 | r245475 | |
| 240 | 241 | |
| 241 | 242 | //printf("%08x: REGISTER 00 write port 0x0002 chansel %02x data %04x (%04x%04x%04x)\n", space.device().safe_pc(), m_audiochannel, data, m_audiodat[m_audioregister][m_audiochannel].dat[0], m_audiodat[m_audioregister][m_audiochannel].dat[1], m_audiodat[m_audioregister][m_audiochannel].dat[2]); |
| 242 | 243 | break; |
| 244 | |
| 245 | case 0x07: |
| 246 | |
| 247 | vptr->r_volume = (m_audiodat[m_audioregister][m_audiochannel].dat[0] & 0xff); |
| 248 | /* TODO: volume tables, linear? */ |
| 249 | vptr->r_volume = (vptr->l_volume) | (vptr->l_volume << 8); |
| 250 | vptr->l_volume = (m_audiodat[m_audioregister][m_audiochannel].dat[0] >> 8) & 0xff; |
| 251 | vptr->l_volume = (vptr->r_volume) | (vptr->r_volume << 8); |
| 252 | //printf("%04x %02x %02x\n",m_audiodat[m_audioregister][m_audiochannel].dat[0],vptr->l_volume,vptr->r_volume); |
| 253 | |
| 254 | break; |
| 243 | 255 | } |
| 244 | 256 | } |
| 245 | 257 | |
trunk/src/mame/audio/hng64.c
| r245474 | r245475 | |
| 392 | 392 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 393 | 393 | |
| 394 | 394 | MCFG_SOUND_ADD("l7a1045", L7A1045, 16000000 ) // ?? |
| 395 | | MCFG_SOUND_ROUTE(1, "lspeaker", 1.0) |
| 396 | | MCFG_SOUND_ROUTE(0, "rspeaker", 1.0) |
| 395 | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 396 | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 397 | 397 | |
| 398 | 398 | MACHINE_CONFIG_END |