trunk/src/mame/drivers/gijoe.c
| r31119 | r31120 | |
| 289 | 289 | PORT_DIPUNUSED_DIPLOC( 0x8000, 0x8000, "SW1:4" ) /* Listed as "Unused" */ |
| 290 | 290 | INPUT_PORTS_END |
| 291 | 291 | |
| 292 | | static const k054539_interface k054539_config = |
| 293 | | { |
| 294 | | NULL, |
| 295 | | NULL, |
| 296 | | }; |
| 297 | | |
| 298 | 292 | void gijoe_state::machine_start() |
| 299 | 293 | { |
| 300 | 294 | m_dmadelay_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(gijoe_state::dmaend_callback),this)); |
| r31119 | r31120 | |
| 352 | 346 | /* sound hardware */ |
| 353 | 347 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 354 | 348 | |
| 355 | | MCFG_K054539_ADD("k054539", XTAL_18_432MHz, k054539_config) |
| 349 | MCFG_DEVICE_ADD("k054539", K054539, XTAL_18_432MHz) |
| 356 | 350 | MCFG_K054539_TIMER_HANDLER(INPUTLINE("audiocpu", INPUT_LINE_NMI)) |
| 357 | 351 | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 358 | 352 | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
trunk/src/mame/drivers/konamigq.c
| r31119 | r31120 | |
| 228 | 228 | m_sound_intck = state; |
| 229 | 229 | } |
| 230 | 230 | |
| 231 | | static const k054539_interface k054539_config = |
| 232 | | { |
| 233 | | "shared" |
| 234 | | }; |
| 235 | | |
| 236 | 231 | /* SCSI */ |
| 237 | 232 | |
| 238 | 233 | void konamigq_state::scsi_dma_read( UINT32 *p_n_psxram, UINT32 n_address, INT32 n_size ) |
| r31119 | r31120 | |
| 331 | 326 | MCFG_K056800_ADD("k056800", XTAL_18_432MHz) |
| 332 | 327 | MCFG_K056800_INT_HANDLER(INPUTLINE("soundcpu", M68K_IRQ_1)) |
| 333 | 328 | |
| 334 | | MCFG_K054539_ADD("k054539_1", XTAL_18_432MHz, k054539_config) |
| 329 | MCFG_DEVICE_ADD("k054539_1", K054539, XTAL_18_432MHz) |
| 330 | MCFG_K054539_REGION_OVERRRIDE("shared") |
| 335 | 331 | MCFG_K054539_TIMER_HANDLER(WRITELINE(konamigq_state, k054539_irq_gen)) |
| 336 | 332 | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 337 | 333 | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 338 | 334 | |
| 339 | | MCFG_K054539_ADD("k054539_2", XTAL_18_432MHz, k054539_config) |
| 335 | MCFG_DEVICE_ADD("k054539_2", K054539, XTAL_18_432MHz) |
| 336 | MCFG_K054539_REGION_OVERRRIDE("shared") |
| 340 | 337 | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 341 | 338 | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 342 | 339 | MACHINE_CONFIG_END |
trunk/src/mame/drivers/lethal.c
| r31119 | r31120 | |
| 463 | 463 | INPUT_PORTS_END |
| 464 | 464 | |
| 465 | 465 | |
| 466 | | /* sound */ |
| 467 | | |
| 468 | | static const k054539_interface k054539_config = |
| 469 | | { |
| 470 | | NULL, |
| 471 | | NULL, |
| 472 | | }; |
| 473 | | |
| 474 | 466 | void lethal_state::machine_start() |
| 475 | 467 | { |
| 476 | 468 | membank("bank1")->configure_entries(0, 0x20, memregion("maincpu")->base(), 0x2000); |
| r31119 | r31120 | |
| 542 | 534 | /* sound hardware */ |
| 543 | 535 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 544 | 536 | |
| 545 | | MCFG_K054539_ADD("k054539", XTAL_18_432MHz, k054539_config) |
| 537 | MCFG_DEVICE_ADD("k054539", K054539, XTAL_18_432MHz) |
| 546 | 538 | MCFG_K054539_TIMER_HANDLER(INPUTLINE("soundcpu", INPUT_LINE_NMI)) |
| 547 | 539 | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 548 | 540 | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
trunk/src/mame/drivers/tmnt.c
| r31119 | r31120 | |
| 2384 | 2384 | MACHINE_CONFIG_END |
| 2385 | 2385 | |
| 2386 | 2386 | |
| 2387 | | static const k054539_interface k054539_config = |
| 2388 | | { |
| 2389 | | NULL, |
| 2390 | | NULL, |
| 2391 | | }; |
| 2392 | | |
| 2393 | 2387 | MACHINE_START_MEMBER(tmnt_state,prmrsocr) |
| 2394 | 2388 | { |
| 2395 | 2389 | MACHINE_START_CALL_MEMBER(common); |
| r31119 | r31120 | |
| 2449 | 2443 | /* sound hardware */ |
| 2450 | 2444 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 2451 | 2445 | |
| 2452 | | MCFG_K054539_ADD("k054539", XTAL_18_432MHz, k054539_config) |
| 2446 | MCFG_DEVICE_ADD("k054539", K054539, XTAL_18_432MHz) |
| 2453 | 2447 | MCFG_K054539_TIMER_HANDLER(INPUTLINE("audiocpu", INPUT_LINE_NMI)) |
| 2454 | 2448 | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 2455 | 2449 | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
trunk/src/mame/drivers/xexex.c
| r31119 | r31120 | |
| 292 | 292 | membank("z80bank")->set_entry(data & 0x07); |
| 293 | 293 | } |
| 294 | 294 | |
| 295 | | static void ym_set_mixing(device_t *device, double left, double right) |
| 295 | K054539_CB_MEMBER(xexex_state::ym_set_mixing) |
| 296 | 296 | { |
| 297 | | xexex_state *state = device->machine().driver_data<xexex_state>(); |
| 298 | | state->m_filter1l->flt_volume_set_volume((71.0 * left) / 55.0); |
| 299 | | state->m_filter1r->flt_volume_set_volume((71.0 * right) / 55.0); |
| 300 | | state->m_filter2l->flt_volume_set_volume((71.0 * left) / 55.0); |
| 301 | | state->m_filter2r->flt_volume_set_volume((71.0 * right) / 55.0); |
| 297 | m_filter1l->flt_volume_set_volume((71.0 * left) / 55.0); |
| 298 | m_filter1r->flt_volume_set_volume((71.0 * right) / 55.0); |
| 299 | m_filter2l->flt_volume_set_volume((71.0 * left) / 55.0); |
| 300 | m_filter2r->flt_volume_set_volume((71.0 * right) / 55.0); |
| 302 | 301 | } |
| 303 | 302 | |
| 304 | 303 | TIMER_CALLBACK_MEMBER(xexex_state::dmaend_callback) |
| r31119 | r31120 | |
| 448 | 447 | |
| 449 | 448 | |
| 450 | 449 | |
| 451 | | static const k054539_interface k054539_config = |
| 452 | | { |
| 453 | | NULL, |
| 454 | | ym_set_mixing |
| 455 | | }; |
| 456 | | |
| 457 | 450 | void xexex_state::xexex_postload() |
| 458 | 451 | { |
| 459 | 452 | parse_control2(); |
| r31119 | r31120 | |
| 557 | 550 | MCFG_SOUND_ROUTE(1, "filter2l", 0.50) |
| 558 | 551 | MCFG_SOUND_ROUTE(1, "filter2r", 0.50) |
| 559 | 552 | |
| 560 | | MCFG_K054539_ADD("k054539", XTAL_18_432MHz, k054539_config) |
| 553 | MCFG_DEVICE_ADD("k054539", K054539, XTAL_18_432MHz) |
| 554 | MCFG_K054539_APAN_CB(xexex_state, ym_set_mixing) |
| 561 | 555 | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 562 | 556 | MCFG_SOUND_ROUTE(0, "rspeaker", 1.0) |
| 563 | 557 | MCFG_SOUND_ROUTE(1, "lspeaker", 1.0) |
trunk/src/mame/drivers/ultrsprt.c
| r31119 | r31120 | |
| 208 | 208 | |
| 209 | 209 | /*****************************************************************************/ |
| 210 | 210 | |
| 211 | | static k054539_interface k054539_config; |
| 212 | | |
| 213 | | |
| 214 | 211 | static MACHINE_CONFIG_START( ultrsprt, ultrsprt_state ) |
| 215 | 212 | /* basic machine hardware */ |
| 216 | 213 | MCFG_CPU_ADD("maincpu", PPC403GA, 25000000) |
| r31119 | r31120 | |
| 239 | 236 | |
| 240 | 237 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 241 | 238 | |
| 242 | | MCFG_K054539_ADD("k054539", XTAL_18_432MHz, k054539_config) |
| 239 | MCFG_DEVICE_ADD("k054539", K054539, XTAL_18_432MHz) |
| 243 | 240 | MCFG_K054539_TIMER_HANDLER(INPUTLINE("audiocpu", M68K_IRQ_5)) |
| 244 | 241 | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 245 | 242 | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
trunk/src/mame/drivers/moo.c
| r31119 | r31120 | |
| 514 | 514 | m_sprite_colorbase = 0; |
| 515 | 515 | } |
| 516 | 516 | |
| 517 | | static k054539_interface k054539_config; |
| 518 | | |
| 519 | 517 | static MACHINE_CONFIG_START( moo, moo_state ) |
| 520 | 518 | |
| 521 | 519 | /* basic machine hardware */ |
| r31119 | r31120 | |
| 575 | 573 | MCFG_SOUND_ROUTE(0, "lspeaker", 0.50) |
| 576 | 574 | MCFG_SOUND_ROUTE(1, "rspeaker", 0.50) |
| 577 | 575 | |
| 578 | | MCFG_K054539_ADD("k054539", XTAL_18_432MHz, k054539_config) |
| 576 | MCFG_DEVICE_ADD("k054539", K054539, XTAL_18_432MHz) |
| 579 | 577 | MCFG_SOUND_ROUTE(0, "lspeaker", 0.75) |
| 580 | 578 | MCFG_SOUND_ROUTE(1, "rspeaker", 0.75) |
| 581 | 579 | MACHINE_CONFIG_END |
trunk/src/mame/drivers/xmen.c
| r31119 | r31120 | |
| 320 | 320 | |
| 321 | 321 | } |
| 322 | 322 | |
| 323 | | static k054539_interface k054539_config; |
| 324 | | |
| 325 | 323 | static MACHINE_CONFIG_START( xmen, xmen_state ) |
| 326 | 324 | |
| 327 | 325 | /* basic machine hardware */ |
| r31119 | r31120 | |
| 368 | 366 | MCFG_SOUND_ROUTE(0, "lspeaker", 0.20) |
| 369 | 367 | MCFG_SOUND_ROUTE(1, "rspeaker", 0.20) |
| 370 | 368 | |
| 371 | | MCFG_K054539_ADD("k054539", XTAL_18_432MHz, k054539_config) |
| 369 | MCFG_DEVICE_ADD("k054539", K054539, XTAL_18_432MHz) |
| 372 | 370 | MCFG_SOUND_ROUTE(0, "lspeaker", 1.00) |
| 373 | 371 | MCFG_SOUND_ROUTE(1, "rspeaker", 1.00) |
| 374 | 372 | MACHINE_CONFIG_END |
| r31119 | r31120 | |
| 432 | 430 | MCFG_SOUND_ROUTE(0, "lspeaker", 0.20) |
| 433 | 431 | MCFG_SOUND_ROUTE(1, "rspeaker", 0.20) |
| 434 | 432 | |
| 435 | | MCFG_K054539_ADD("k054539", XTAL_18_432MHz, k054539_config) |
| 433 | MCFG_DEVICE_ADD("k054539", K054539, XTAL_18_432MHz) |
| 436 | 434 | MCFG_SOUND_ROUTE(0, "lspeaker", 1.00) |
| 437 | 435 | MCFG_SOUND_ROUTE(1, "rspeaker", 1.00) |
| 438 | 436 | MACHINE_CONFIG_END |
trunk/src/mame/drivers/zr107.c
| r31119 | r31120 | |
| 535 | 535 | AM_RANGE(0x580000, 0x580001) AM_WRITENOP // 'NRES' - D2: K056602 /RESET |
| 536 | 536 | ADDRESS_MAP_END |
| 537 | 537 | |
| 538 | | static const k054539_interface k054539_config = |
| 539 | | { |
| 540 | | "shared" |
| 541 | | }; |
| 542 | | |
| 543 | 538 | /*****************************************************************************/ |
| 544 | 539 | |
| 545 | 540 | |
| r31119 | r31120 | |
| 807 | 802 | |
| 808 | 803 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 809 | 804 | |
| 810 | | MCFG_K054539_ADD("k054539_1", XTAL_18_432MHz, k054539_config) |
| 805 | MCFG_DEVICE_ADD("k054539_1", K054539, XTAL_18_432MHz) |
| 806 | MCFG_K054539_REGION_OVERRRIDE("shared") |
| 811 | 807 | MCFG_K054539_TIMER_HANDLER(WRITELINE(zr107_state, k054539_irq_gen)) |
| 812 | 808 | MCFG_SOUND_ROUTE(0, "lspeaker", 0.75) |
| 813 | 809 | MCFG_SOUND_ROUTE(1, "rspeaker", 0.75) |
| 814 | 810 | |
| 815 | | MCFG_K054539_ADD("k054539_2", XTAL_18_432MHz, k054539_config) |
| 811 | MCFG_DEVICE_ADD("k054539_2", K054539, XTAL_18_432MHz) |
| 812 | MCFG_K054539_REGION_OVERRRIDE("shared") |
| 816 | 813 | MCFG_SOUND_ROUTE(0, "lspeaker", 0.75) |
| 817 | 814 | MCFG_SOUND_ROUTE(1, "rspeaker", 0.75) |
| 818 | 815 | |
| r31119 | r31120 | |
| 887 | 884 | |
| 888 | 885 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 889 | 886 | |
| 890 | | MCFG_K054539_ADD("k054539_1", XTAL_18_432MHz, k054539_config) |
| 887 | MCFG_DEVICE_ADD("k054539_1", K054539, XTAL_18_432MHz) |
| 888 | MCFG_K054539_REGION_OVERRRIDE("shared") |
| 891 | 889 | MCFG_K054539_TIMER_HANDLER(WRITELINE(zr107_state, k054539_irq_gen)) |
| 892 | 890 | MCFG_SOUND_ROUTE(0, "lspeaker", 0.75) |
| 893 | 891 | MCFG_SOUND_ROUTE(1, "rspeaker", 0.75) |
| 894 | 892 | |
| 895 | | MCFG_K054539_ADD("k054539_2", XTAL_18_432MHz, k054539_config) |
| 896 | | MCFG_SOUND_CONFIG(k054539_config) |
| 893 | MCFG_DEVICE_ADD("k054539_2", K054539, XTAL_18_432MHz) |
| 894 | MCFG_K054539_REGION_OVERRRIDE("shared") |
| 897 | 895 | MCFG_SOUND_ROUTE(0, "lspeaker", 0.75) |
| 898 | 896 | MCFG_SOUND_ROUTE(1, "rspeaker", 0.75) |
| 899 | 897 | |
trunk/src/mame/drivers/djmain.c
| r31119 | r31120 | |
| 1335 | 1335 | |
| 1336 | 1336 | /************************************* |
| 1337 | 1337 | * |
| 1338 | | * Sound interfaces |
| 1339 | | * |
| 1340 | | *************************************/ |
| 1341 | | |
| 1342 | | static const k054539_interface k054539_config = |
| 1343 | | { |
| 1344 | | "shared" |
| 1345 | | }; |
| 1346 | | |
| 1347 | | |
| 1348 | | |
| 1349 | | /************************************* |
| 1350 | | * |
| 1351 | 1338 | * Machine-specific init |
| 1352 | 1339 | * |
| 1353 | 1340 | *************************************/ |
| r31119 | r31120 | |
| 1424 | 1411 | /* sound hardware */ |
| 1425 | 1412 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 1426 | 1413 | |
| 1427 | | MCFG_K054539_ADD("k054539_1", XTAL_18_432MHz, k054539_config) |
| 1428 | | MCFG_SOUND_CONFIG(k054539_config) |
| 1414 | MCFG_DEVICE_ADD("k054539_1", K054539, XTAL_18_432MHz) |
| 1415 | MCFG_K054539_REGION_OVERRRIDE("shared") |
| 1429 | 1416 | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 1430 | 1417 | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 1431 | 1418 | |
| 1432 | | MCFG_K054539_ADD("k054539_2", XTAL_18_432MHz, k054539_config) |
| 1433 | | MCFG_SOUND_CONFIG(k054539_config) |
| 1419 | MCFG_DEVICE_ADD("k054539_2", K054539, XTAL_18_432MHz) |
| 1420 | MCFG_K054539_REGION_OVERRRIDE("shared") |
| 1434 | 1421 | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 1435 | 1422 | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 1436 | 1423 | MACHINE_CONFIG_END |
trunk/src/mame/drivers/plygonet.c
| r31119 | r31120 | |
| 574 | 574 | ADDRESS_MAP_END |
| 575 | 575 | |
| 576 | 576 | |
| 577 | | static const k054539_interface k054539_config = |
| 578 | | { |
| 579 | | "shared", |
| 580 | | NULL, |
| 581 | | }; |
| 582 | | |
| 583 | 577 | /**********************************************************************************/ |
| 584 | 578 | static const gfx_layout bglayout = |
| 585 | 579 | { |
| r31119 | r31120 | |
| 678 | 672 | /* sound hardware */ |
| 679 | 673 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 680 | 674 | |
| 681 | | MCFG_K054539_ADD("k054539_1", XTAL_18_432MHz, k054539_config) |
| 675 | MCFG_DEVICE_ADD("k054539_1", K054539, XTAL_18_432MHz) |
| 676 | MCFG_K054539_REGION_OVERRRIDE("shared") |
| 682 | 677 | MCFG_K054539_TIMER_HANDLER(WRITELINE(polygonet_state, k054539_nmi_gen)) |
| 683 | 678 | MCFG_SOUND_ROUTE(0, "lspeaker", 0.75) |
| 684 | 679 | MCFG_SOUND_ROUTE(1, "rspeaker", 0.75) |
trunk/src/mame/drivers/rungun.c
| r31119 | r31120 | |
| 323 | 323 | GFXDECODE_END |
| 324 | 324 | |
| 325 | 325 | |
| 326 | | |
| 327 | | static const k054539_interface k054539_config = |
| 328 | | { |
| 329 | | "shared" |
| 330 | | }; |
| 331 | | |
| 332 | | |
| 333 | 326 | void rungun_state::machine_start() |
| 334 | 327 | { |
| 335 | 328 | UINT8 *ROM = memregion("soundcpu")->base(); |
| r31119 | r31120 | |
| 399 | 392 | /* sound hardware */ |
| 400 | 393 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 401 | 394 | |
| 402 | | MCFG_K054539_ADD("k054539_1", XTAL_18_432MHz, k054539_config) |
| 395 | MCFG_DEVICE_ADD("k054539_1", K054539, XTAL_18_432MHz) |
| 396 | MCFG_K054539_REGION_OVERRRIDE("shared") |
| 403 | 397 | MCFG_K054539_TIMER_HANDLER(WRITELINE(rungun_state, k054539_nmi_gen)) |
| 404 | 398 | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 405 | 399 | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 406 | 400 | |
| 407 | | MCFG_K054539_ADD("k054539_2", XTAL_18_432MHz, k054539_config) |
| 401 | MCFG_DEVICE_ADD("k054539_2", K054539, XTAL_18_432MHz) |
| 402 | MCFG_K054539_REGION_OVERRRIDE("shared") |
| 408 | 403 | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 409 | 404 | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 410 | 405 | MACHINE_CONFIG_END |
trunk/src/mame/drivers/mystwarr.c
| r31119 | r31120 | |
| 643 | 643 | m_sound_nmi_clk = state; |
| 644 | 644 | } |
| 645 | 645 | |
| 646 | | static const k054539_interface k054539_config = |
| 647 | | { |
| 648 | | "shared" |
| 649 | | }; |
| 650 | | |
| 651 | 646 | /**********************************************************************************/ |
| 652 | 647 | |
| 653 | 648 | static INPUT_PORTS_START( mystwarr ) |
| r31119 | r31120 | |
| 1031 | 1026 | /* sound hardware */ |
| 1032 | 1027 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 1033 | 1028 | |
| 1034 | | MCFG_K054539_ADD("k054539_1", XTAL_18_432MHz, k054539_config) |
| 1029 | MCFG_DEVICE_ADD("k054539_1", K054539, XTAL_18_432MHz) |
| 1030 | MCFG_K054539_REGION_OVERRRIDE("shared") |
| 1035 | 1031 | MCFG_K054539_TIMER_HANDLER(WRITELINE(mystwarr_state, k054539_nmi_gen)) |
| 1036 | 1032 | MCFG_SOUND_ROUTE(0, "rspeaker", 1.0) /* stereo channels are inverted */ |
| 1037 | 1033 | MCFG_SOUND_ROUTE(1, "lspeaker", 1.0) |
| 1038 | 1034 | |
| 1039 | | MCFG_K054539_ADD("k054539_2", XTAL_18_432MHz, k054539_config) |
| 1035 | MCFG_DEVICE_ADD("k054539_2", K054539, XTAL_18_432MHz) |
| 1036 | MCFG_K054539_REGION_OVERRRIDE("shared") |
| 1040 | 1037 | MCFG_SOUND_ROUTE(0, "rspeaker", 1.0) /* stereo channels are inverted */ |
| 1041 | 1038 | MCFG_SOUND_ROUTE(1, "lspeaker", 1.0) |
| 1042 | 1039 | MACHINE_CONFIG_END |
trunk/src/mame/drivers/konamigx.c
| r31119 | r31120 | |
| 1124 | 1124 | AM_RANGE(0x00000, 0x3ffff) AM_RAM |
| 1125 | 1125 | ADDRESS_MAP_END |
| 1126 | 1126 | |
| 1127 | | static const k054539_interface k054539_config = |
| 1128 | | { |
| 1129 | | "shared" |
| 1130 | | }; |
| 1131 | 1127 | |
| 1132 | | |
| 1133 | 1128 | WRITE_LINE_MEMBER(konamigx_state::k054539_irq_gen) |
| 1134 | 1129 | { |
| 1135 | 1130 | if (m_sound_ctrl & 1) |
| r31119 | r31120 | |
| 1666 | 1661 | MCFG_K056800_ADD("k056800", XTAL_18_432MHz) |
| 1667 | 1662 | MCFG_K056800_INT_HANDLER(INPUTLINE("soundcpu", M68K_IRQ_1)) |
| 1668 | 1663 | |
| 1669 | | MCFG_K054539_ADD("k054539_1", XTAL_18_432MHz, k054539_config) |
| 1664 | MCFG_DEVICE_ADD("k054539_1", K054539, XTAL_18_432MHz) |
| 1665 | MCFG_K054539_REGION_OVERRRIDE("shared") |
| 1670 | 1666 | MCFG_K054539_TIMER_HANDLER(WRITELINE(konamigx_state, k054539_irq_gen)) |
| 1671 | 1667 | MCFG_SOUND_ROUTE_EX(0, "dasp", 0.5, 0) |
| 1672 | 1668 | MCFG_SOUND_ROUTE_EX(1, "dasp", 0.5, 1) |
| 1673 | 1669 | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 1674 | 1670 | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 1675 | 1671 | |
| 1676 | | MCFG_K054539_ADD("k054539_2", XTAL_18_432MHz, k054539_config) |
| 1672 | MCFG_DEVICE_ADD("k054539_2", K054539, XTAL_18_432MHz) |
| 1673 | MCFG_K054539_REGION_OVERRRIDE("shared") |
| 1677 | 1674 | MCFG_SOUND_ROUTE_EX(0, "dasp", 0.5, 2) |
| 1678 | 1675 | MCFG_SOUND_ROUTE_EX(1, "dasp", 0.5, 3) |
| 1679 | 1676 | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
trunk/src/mame/drivers/qdrmfgp.c
| r31119 | r31120 | |
| 534 | 534 | m_sound_intck = state; |
| 535 | 535 | } |
| 536 | 536 | |
| 537 | | static const k054539_interface k054539_config = |
| 538 | | { |
| 539 | | NULL, |
| 540 | | NULL, |
| 541 | | }; |
| 542 | | |
| 543 | | |
| 544 | 537 | /************************************* |
| 545 | 538 | * |
| 546 | 539 | * Machine-specific init |
| r31119 | r31120 | |
| 617 | 610 | /* sound hardware */ |
| 618 | 611 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 619 | 612 | |
| 620 | | MCFG_K054539_ADD("k054539", XTAL_18_432MHz, k054539_config) |
| 613 | MCFG_DEVICE_ADD("k054539", K054539, XTAL_18_432MHz) |
| 621 | 614 | MCFG_K054539_TIMER_HANDLER(WRITELINE(qdrmfgp_state, k054539_irq1_gen)) |
| 622 | 615 | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 623 | 616 | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| r31119 | r31120 | |
| 664 | 657 | /* sound hardware */ |
| 665 | 658 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 666 | 659 | |
| 667 | | MCFG_K054539_ADD("k054539", XTAL_18_432MHz, k054539_config) |
| 660 | MCFG_DEVICE_ADD("k054539", K054539, XTAL_18_432MHz) |
| 668 | 661 | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 669 | 662 | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 670 | 663 | MACHINE_CONFIG_END |
trunk/src/emu/sound/k054539.c
| r31119 | r31120 | |
| 18 | 18 | k054539_device::k054539_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
| 19 | 19 | : device_t(mconfig, K054539, "K054539 ADPCM", tag, owner, clock, "k054539", __FILE__), |
| 20 | 20 | device_sound_interface(mconfig, *this), |
| 21 | | m_timer_handler(*this) |
| 21 | m_timer_handler(*this), |
| 22 | m_rgnoverride(NULL) |
| 22 | 23 | { |
| 23 | 24 | } |
| 24 | 25 | |
| 25 | 26 | |
| 26 | | //------------------------------------------------- |
| 27 | | // static_set_interface - configuration helper |
| 28 | | // to set the interface |
| 29 | | //------------------------------------------------- |
| 30 | | |
| 31 | | void k054539_device::static_set_interface(device_t &device, const k054539_interface &interface) |
| 32 | | { |
| 33 | | k054539_device &k = downcast<k054539_device &>(device); |
| 34 | | static_cast<k054539_interface &>(k) = interface; |
| 35 | | } |
| 36 | | |
| 37 | 27 | /* Registers: |
| 38 | 28 | 00..ff: 20 bytes/channel, 8 channels |
| 39 | 29 | 00..02: pitch (lsb, mid, msb) |
| r31119 | r31120 | |
| 318 | 308 | cur_ptr = 0; |
| 319 | 309 | memset(ram, 0, 0x4000); |
| 320 | 310 | |
| 321 | | memory_region *reg = (rgnoverride != NULL) ? machine().root_device().memregion(rgnoverride) : region(); |
| 311 | memory_region *reg = (m_rgnoverride != NULL) ? machine().root_device().memregion(m_rgnoverride) : region(); |
| 322 | 312 | rom = *reg; |
| 323 | 313 | rom_size = reg->bytes(); |
| 324 | 314 | rom_mask = 0xffffffffU; |
| r31119 | r31120 | |
| 376 | 366 | switch(offset) { |
| 377 | 367 | case 0x13f: { |
| 378 | 368 | int pan = data >= 0x11 && data <= 0x1f ? data - 0x11 : 0x18 - 0x11; |
| 379 | | if(apan) |
| 380 | | apan(this, pantab[pan], pantab[0xe - pan]); |
| 369 | if (!m_apan_cb.isnull()) |
| 370 | m_apan_cb(pantab[pan], pantab[0xe - pan]); |
| 381 | 371 | break; |
| 382 | 372 | } |
| 383 | 373 | |
| r31119 | r31120 | |
| 501 | 491 | void k054539_device::device_start() |
| 502 | 492 | { |
| 503 | 493 | m_timer = timer_alloc(0); |
| 504 | | |
| 494 | |
| 495 | // resolve / bind callbacks |
| 505 | 496 | m_timer_handler.resolve_safe(); |
| 506 | | |
| 497 | m_apan_cb.bind_relative_to(*owner()); |
| 498 | |
| 507 | 499 | for (int i = 0; i < 8; i++) |
| 508 | 500 | gain[i] = 1.0; |
| 509 | 501 | |
trunk/src/emu/sound/k054539.h
| r31119 | r31120 | |
| 9 | 9 | #ifndef __K054539_H__ |
| 10 | 10 | #define __K054539_H__ |
| 11 | 11 | |
| 12 | | #define MCFG_K054539_ADD(_tag, _clock, _interface) \ |
| 13 | | MCFG_DEVICE_ADD(_tag, K054539, _clock) \ |
| 14 | | k054539_device::static_set_interface(*device, _interface); |
| 12 | typedef device_delegate<void (double left, double right)> k054539_cb_delegate; |
| 13 | #define K054539_CB_MEMBER(_name) void _name(double left, double right) |
| 15 | 14 | |
| 15 | #define MCFG_K054539_APAN_CB(_class, _method) \ |
| 16 | k054539_device::set_analog_callback(*device, k054539_cb_delegate(&_class::_method, #_class "::" #_method, downcast<_class *>(owner))); |
| 17 | |
| 18 | #define MCFG_K054539_REGION_OVERRRIDE(_region) \ |
| 19 | k054539_device::set_override(*device, _region); |
| 20 | |
| 16 | 21 | #define MCFG_K054539_TIMER_HANDLER(_devcb) \ |
| 17 | 22 | devcb = &k054539_device::set_timer_handler(*device, DEVCB_##_devcb); |
| 18 | 23 | |
| 19 | | struct k054539_interface |
| 20 | | { |
| 21 | | const char *rgnoverride; |
| 22 | | void (*apan)(device_t *, double, double); /* Callback for analog output mixing levels (0..1 for each channel) */ |
| 23 | | }; |
| 24 | 24 | |
| 25 | | |
| 26 | 25 | //* control flags, may be set at DRIVER_INIT(). |
| 27 | 26 | #define K054539_RESET_FLAGS 0 |
| 28 | 27 | #define K054539_REVERSE_STEREO 1 |
| 29 | 28 | #define K054539_DISABLE_REVERB 2 |
| 30 | 29 | #define K054539_UPDATE_AT_KEYON 4 |
| 31 | 30 | |
| 32 | | void k054539_init_flags(device_t *device, int flags); |
| 33 | | |
| 34 | | void k054539_set_gain(device_t *device, int channel, double gain); |
| 35 | | |
| 36 | 31 | class k054539_device : public device_t, |
| 37 | | public device_sound_interface, |
| 38 | | public k054539_interface |
| 32 | public device_sound_interface |
| 39 | 33 | { |
| 40 | 34 | public: |
| 41 | 35 | enum { |
| r31119 | r31120 | |
| 49 | 43 | k054539_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 50 | 44 | |
| 51 | 45 | // static configuration helpers |
| 52 | | static void static_set_interface(device_t &device, const k054539_interface &interface); |
| 46 | static void set_analog_callback(device_t &device, k054539_cb_delegate callback) { downcast<k054539_device &>(device).m_apan_cb = callback; } |
| 47 | static void set_override(device_t &device, const char *rgnoverride) { downcast<k054539_device &>(device).m_rgnoverride = rgnoverride; } |
| 53 | 48 | template<class _Object> static devcb_base &set_timer_handler(device_t &device, _Object object) { return downcast<k054539_device &>(device).m_timer_handler.set_callback(object); } |
| 54 | 49 | |
| 55 | 50 | |
| r31119 | r31120 | |
| 110 | 105 | channel channels[8]; |
| 111 | 106 | sound_stream *stream; |
| 112 | 107 | |
| 113 | | emu_timer *m_timer; |
| 114 | | UINT32 m_timer_state; |
| 108 | emu_timer *m_timer; |
| 109 | UINT32 m_timer_state; |
| 115 | 110 | devcb_write_line m_timer_handler; |
| 111 | const char *m_rgnoverride; |
| 112 | k054539_cb_delegate m_apan_cb; |
| 116 | 113 | |
| 117 | 114 | bool regupdate(); |
| 118 | 115 | void keyon(int channel); |