trunk/src/mame/includes/namcos2.h
| r242724 | r242725 | |
| 99 | 99 | m_dspmaster(*this, "dspmaster"), |
| 100 | 100 | m_dspslave(*this, "dspslave"), |
| 101 | 101 | m_c68(*this, "c68"), |
| 102 | m_gpu(*this, "gpu"), |
| 102 | 103 | m_gametype(0), |
| 103 | 104 | m_c169_roz_videoram(*this, "rozvideoram", 0), |
| 104 | 105 | m_c169_roz_gfxbank(0), |
| r242724 | r242725 | |
| 116 | 117 | optional_device<cpu_device> m_dspmaster; |
| 117 | 118 | optional_device<cpu_device> m_dspslave; |
| 118 | 119 | optional_device<m37450_device> m_c68; |
| 120 | optional_device<cpu_device> m_gpu; //to be moved to namco21_state after disentangling |
| 119 | 121 | |
| 120 | 122 | // game type helpers |
| 121 | 123 | bool is_system21(); |
trunk/src/mame/machine/namcos2.c
| r242724 | r242725 | |
| 451 | 451 | UINT16 *pC148RegAlt = NULL; |
| 452 | 452 | UINT16 result = 0; |
| 453 | 453 | |
| 454 | | if (&space.device() == space.machine().device("maincpu")) |
| 454 | if (&space.device() == m_maincpu) |
| 455 | 455 | { |
| 456 | 456 | pC148Reg = m_68k_master_C148; |
| 457 | | altcpu = space.machine().device("slave"); |
| 457 | altcpu = m_slave; |
| 458 | 458 | pC148RegAlt = m_68k_slave_C148; |
| 459 | 459 | } |
| 460 | | else if (&space.device() == space.machine().device("slave")) |
| 460 | else if (&space.device() == m_slave) |
| 461 | 461 | { |
| 462 | 462 | pC148Reg = m_68k_slave_C148; |
| 463 | | altcpu = space.machine().device("maincpu"); |
| 463 | altcpu = m_maincpu; |
| 464 | 464 | pC148RegAlt = m_68k_master_C148; |
| 465 | 465 | } |
| 466 | | else if (&space.device() == space.machine().device("gpu")) |
| 466 | else if (&space.device() == m_gpu) |
| 467 | 467 | { |
| 468 | 468 | pC148Reg = m_68k_gpu_C148; |
| 469 | | altcpu = space.machine().device("maincpu"); |
| 469 | altcpu = m_maincpu; |
| 470 | 470 | pC148RegAlt = m_68k_master_C148; |
| 471 | 471 | } |
| 472 | 472 | |
| r242724 | r242725 | |
| 548 | 548 | break; |
| 549 | 549 | |
| 550 | 550 | case 0x1e2000: /* Sound CPU Reset control */ |
| 551 | | if (&space.device() == space.machine().device("maincpu")) /* ? */ |
| 551 | if (&space.device() == m_maincpu) /* ? */ |
| 552 | 552 | { |
| 553 | 553 | if (data & 0x01) |
| 554 | 554 | { |
| 555 | 555 | /* Resume execution */ |
| 556 | | space.machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE); |
| 556 | m_audiocpu->set_input_line(INPUT_LINE_RESET, CLEAR_LINE); |
| 557 | 557 | space.device().execute().yield(); |
| 558 | 558 | } |
| 559 | 559 | else |
| 560 | 560 | { |
| 561 | 561 | /* Suspend execution */ |
| 562 | | space.machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE); |
| 562 | m_audiocpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); |
| 563 | 563 | } |
| 564 | 564 | if (namcos2_kickstart != NULL) |
| 565 | 565 | { |
| r242724 | r242725 | |
| 573 | 573 | break; |
| 574 | 574 | |
| 575 | 575 | case 0x1e4000: /* Alt 68000 & IO CPU Reset */ |
| 576 | | if (&space.device() == space.machine().device("maincpu")) /* ? */ |
| 576 | if (&space.device() == m_maincpu) /* ? */ |
| 577 | 577 | { |
| 578 | 578 | if (data & 0x01) |
| 579 | 579 | { /* Resume execution */ |
| r242724 | r242725 | |
| 640 | 640 | if (is_system21()) { |
| 641 | 641 | if (m_68k_gpu_C148[NAMCOS2_C148_POSIRQ]) { |
| 642 | 642 | m_screen->update_partial(param); |
| 643 | | machine().device("gpu")->execute().set_input_line(m_68k_gpu_C148[NAMCOS2_C148_POSIRQ] , ASSERT_LINE); |
| 643 | m_gpu->set_input_line(m_68k_gpu_C148[NAMCOS2_C148_POSIRQ] , ASSERT_LINE); |
| 644 | 644 | } |
| 645 | 645 | return; |
| 646 | 646 | } |