trunk/src/mame/drivers/chqflag.c
| r32612 | r32613 | |
| 178 | 178 | AM_RANGE(0x8000, 0x87ff) AM_RAM /* RAM */ |
| 179 | 179 | AM_RANGE(0x9000, 0x9000) AM_WRITE(k007232_bankswitch_w) /* 007232 bankswitch */ |
| 180 | 180 | 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 */ |
| 182 | 183 | AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE("k007232_2", k007232_device, read, write) /* 007232 (chip 2) */ |
| 183 | 184 | AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write) /* YM2151 */ |
| 184 | 185 | AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_byte_r) /* soundlatch_byte_r */ |
| r32612 | r32613 | |
| 253 | 254 | |
| 254 | 255 | WRITE8_MEMBER(chqflag_state::volume_callback0) |
| 255 | 256 | { |
| 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); |
| 258 | 260 | } |
| 259 | 261 | |
| 260 | 262 | WRITE8_MEMBER(chqflag_state::k007232_extvolume_w) |
| 261 | 263 | { |
| 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); |
| 263 | 267 | } |
| 264 | 268 | |
| 265 | 269 | WRITE8_MEMBER(chqflag_state::volume_callback1) |
| 266 | 270 | { |
| 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); |
| 268 | 273 | } |
| 269 | 274 | |
| 270 | 275 | void chqflag_state::machine_start() |
| r32612 | r32613 | |
| 343 | 348 | |
| 344 | 349 | MCFG_YM2151_ADD("ymsnd", XTAL_3_579545MHz) /* verified on pcb */ |
| 345 | 350 | 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) |
| 348 | 353 | |
| 349 | 354 | MCFG_SOUND_ADD("k007232_1", K007232, XTAL_3_579545MHz) /* verified on pcb */ |
| 350 | 355 | MCFG_K007232_PORT_WRITE_HANDLER(WRITE8(chqflag_state, volume_callback0)) |
| 351 | 356 | MCFG_SOUND_ROUTE(0, "lspeaker", 0.20) |
| 352 | | MCFG_SOUND_ROUTE(0, "rspeaker", 0.20) |
| 353 | | MCFG_SOUND_ROUTE(1, "lspeaker", 0.20) |
| 354 | 357 | MCFG_SOUND_ROUTE(1, "rspeaker", 0.20) |
| 355 | 358 | |
| 356 | 359 | MCFG_SOUND_ADD("k007232_2", K007232, XTAL_3_579545MHz) /* verified on pcb */ |
| 357 | 360 | MCFG_K007232_PORT_WRITE_HANDLER(WRITE8(chqflag_state, volume_callback1)) |
| 358 | 361 | MCFG_SOUND_ROUTE(0, "lspeaker", 0.20) |
| 362 | MCFG_SOUND_ROUTE(0, "rspeaker", 0.20) |
| 363 | MCFG_SOUND_ROUTE(1, "lspeaker", 0.20) |
| 359 | 364 | MCFG_SOUND_ROUTE(1, "rspeaker", 0.20) |
| 360 | 365 | MACHINE_CONFIG_END |
| 361 | 366 | |