Previous 199869 Revisions Next

r32613 Friday 10th October, 2014 at 06:53:23 UTC by Alex Jackson
chqflag.c: improve k007232 volume/pan controls, still largely guesswork [Alex Jackson]
[src/mame/drivers]chqflag.c

trunk/src/mame/drivers/chqflag.c
r32612r32613
178178   AM_RANGE(0x8000, 0x87ff) AM_RAM /* RAM */
179179   AM_RANGE(0x9000, 0x9000) AM_WRITE(k007232_bankswitch_w) /* 007232 bankswitch */
180180   AM_RANGE(0xa000, 0xa00d) AM_DEVREADWRITE("k007232_1", k007232_device, read, write)  /* 007232 (chip 1) */
181   AM_RANGE(0xa01c, 0xa01c) AM_WRITE(k007232_extvolume_w)  /* extra volume, goes to the 007232 w/ A11 */
181   AM_RANGE(0xa01c, 0xa01c) AM_WRITE(k007232_extvolume_w)   /* extra volume, goes to the 007232 w/ A4 */
182                                             /* selecting a different latch for the external port */
182183   AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE("k007232_2", k007232_device, read, write)  /* 007232 (chip 2) */
183184   AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)   /* YM2151 */
184185   AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_byte_r)         /* soundlatch_byte_r */
r32612r32613
253254
254255WRITE8_MEMBER(chqflag_state::volume_callback0)
255256{
256   m_k007232_1->set_volume(0, (data & 0x0f) * 0x11, 0);
257   m_k007232_1->set_volume(1, 0, (data >> 4) * 0x11);
257   // volume/pan for one of the channels on this chip
258   // which channel and which bits are left/right is a guess
259   m_k007232_1->set_volume(0, (data & 0x0f) * 0x11/2, (data >> 4) * 0x11/2);
258260}
259261
260262WRITE8_MEMBER(chqflag_state::k007232_extvolume_w)
261263{
262   m_k007232_2->set_volume(1, (data & 0x0f) * 0x11/2, (data >> 4) * 0x11/2);
264   // volume/pan for one of the channels on this chip
265   // which channel and which bits are left/right is a guess
266   m_k007232_1->set_volume(1, (data & 0x0f) * 0x11/2, (data >> 4) * 0x11/2);
263267}
264268
265269WRITE8_MEMBER(chqflag_state::volume_callback1)
266270{
267   m_k007232_2->set_volume(0, (data & 0x0f) * 0x11/2, (data >> 4) * 0x11/2);
271   m_k007232_2->set_volume(0, (data >> 4) * 0x11, 0);
272   m_k007232_2->set_volume(1, 0, (data & 0x0f) * 0x11);
268273}
269274
270275void chqflag_state::machine_start()
r32612r32613
343348
344349   MCFG_YM2151_ADD("ymsnd", XTAL_3_579545MHz) /* verified on pcb */
345350   MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", INPUT_LINE_NMI))
346   MCFG_SOUND_ROUTE(0, "lspeaker", 0.80)
347   MCFG_SOUND_ROUTE(1, "rspeaker", 0.80)
351   MCFG_SOUND_ROUTE(0, "lspeaker", 1.00)
352   MCFG_SOUND_ROUTE(1, "rspeaker", 1.00)
348353
349354   MCFG_SOUND_ADD("k007232_1", K007232, XTAL_3_579545MHz) /* verified on pcb */
350355   MCFG_K007232_PORT_WRITE_HANDLER(WRITE8(chqflag_state, volume_callback0))
351356   MCFG_SOUND_ROUTE(0, "lspeaker", 0.20)
352   MCFG_SOUND_ROUTE(0, "rspeaker", 0.20)
353   MCFG_SOUND_ROUTE(1, "lspeaker", 0.20)
354357   MCFG_SOUND_ROUTE(1, "rspeaker", 0.20)
355358
356359   MCFG_SOUND_ADD("k007232_2", K007232, XTAL_3_579545MHz) /* verified on pcb */
357360   MCFG_K007232_PORT_WRITE_HANDLER(WRITE8(chqflag_state, volume_callback1))
358361   MCFG_SOUND_ROUTE(0, "lspeaker", 0.20)
362   MCFG_SOUND_ROUTE(0, "rspeaker", 0.20)
363   MCFG_SOUND_ROUTE(1, "lspeaker", 0.20)
359364   MCFG_SOUND_ROUTE(1, "rspeaker", 0.20)
360365MACHINE_CONFIG_END
361366

Previous 199869 Revisions Next


© 1997-2024 The MAME Team