Previous 199869 Revisions Next

r36963 Sunday 5th April, 2015 at 19:27:38 UTC by Angelo Salese
Added volume panning
[src/emu/sound]l7a1045_l6028_dsp_a.c l7a1045_l6028_dsp_a.h
[src/mame/audio]hng64.c

trunk/src/emu/sound/l7a1045_l6028_dsp_a.c
r245474r245475
155155            sample = (INT8)m_rom[(start + pos) & (m_rom_size-1)];
156156            frac += step;
157157
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);
160160         }
161161
162162         vptr->pos = pos;
r245474r245475
222222
223223WRITE16_MEMBER(l7a1045_sound_device::sound_data_w)
224224{
225   l7a1045_voice *vptr = &m_voice[m_audiochannel];
226
225227   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);
227229
228230   m_audiodat[m_audioregister][m_audiochannel].dat[offset] = data;
229231
230232   switch (m_audioregister)
231233   {
232234      case 0x00:
233         l7a1045_voice *vptr = &m_voice[m_audiochannel];
234235
235236         vptr->start = (m_audiodat[0][m_audiochannel].dat[2] & 0x000f) << (16 + 4);
236237         vptr->start |= (m_audiodat[0][m_audiochannel].dat[1] & 0xffff) << (4);
r245474r245475
240241
241242         //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]);
242243         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;
243255   }
244256}
245257
trunk/src/emu/sound/l7a1045_l6028_dsp_a.h
r245474r245475
1515   UINT32 start;
1616   UINT32 pos;
1717   UINT32 frac;
18
18   UINT16 l_volume;
19   UINT16 r_volume;
1920};
2021
2122// ======================> l7a1045_sound_device
trunk/src/mame/audio/hng64.c
r245474r245475
392392   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
393393
394394   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)
397397
398398MACHINE_CONFIG_END


Previous 199869 Revisions Next


© 1997-2024 The MAME Team