various cpu lookup cleanup (nw)

This commit is contained in:
Miodrag Milanovic 2013-04-15 14:01:17 +00:00
parent eb95e15203
commit acf99c60b5
21 changed files with 81 additions and 66 deletions

View File

@ -22,6 +22,7 @@ public:
mcr_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_ipu(*this, "ipu"),
m_spriteram(*this, "spriteram"),
m_videoram(*this, "videoram"),
m_ssio(*this, "ssio"),
@ -37,6 +38,7 @@ public:
// these should be required but can't because mcr68 shares with us
// once the sound boards are properly device-ified, fix this
optional_device<z80_device> m_maincpu;
optional_device<cpu_device> m_ipu;
optional_shared_ptr<UINT8> m_spriteram;
optional_shared_ptr<UINT8> m_videoram;

View File

@ -22,11 +22,13 @@ public:
: driver_device(mconfig, type, tag),
m_zram0(*this, "zram0"),
m_zram1(*this, "zram1"),
m_alpha(*this, "alpha"){ }
m_alpha(*this, "alpha"),
m_gamma(*this, "gamma"){ }
required_shared_ptr<UINT8> m_zram0;
required_shared_ptr<UINT8> m_zram1;
required_device<cpu_device> m_alpha;
optional_device<cpu_device> m_gamma;
UINT8 m_alpha_data;
UINT8 m_alpha_rcvd;
UINT8 m_alpha_xmtd;

View File

@ -21,7 +21,9 @@ public:
m_mac_sram(*this, "mac_sram"),
m_micro3d_sprite_vram(*this, "sprite_vram"),
m_maincpu(*this, "maincpu"),
m_audiocpu(*this, "audiocpu") { }
m_audiocpu(*this, "audiocpu"),
m_drmath(*this, "drmath"),
m_vgb(*this, "vgb") { }
required_shared_ptr<UINT16> m_shared_ram;
device_t *m_duart68681;
@ -123,6 +125,8 @@ public:
DECLARE_READ8_MEMBER(data_to_i8031);
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
required_device<cpu_device> m_drmath;
required_device<cpu_device> m_vgb;
};
struct micro3d_vtx

View File

@ -95,6 +95,8 @@ class namcos2_shared_state : public driver_device
public:
namcos2_shared_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_dspmaster(*this, "dspmaster"),
m_dspslave(*this, "dspslave"),
m_c68(*this, "c68"),
m_gametype(0),
m_c169_roz_videoram(*this, "rozvideoram", 0),
@ -107,6 +109,8 @@ public:
m_slave(*this, "slave"),
m_mcu(*this, "mcu") { }
optional_device<cpu_device> m_dspmaster;
optional_device<cpu_device> m_dspslave;
optional_device<m37450_device> m_c68;
// game type helpers

View File

@ -37,8 +37,6 @@ public:
m_mpSharedRAM1(*this,"mpsharedram1"),
m_mpDualPortRAM(*this,"mpdualportram"),
m_master_dsp_code(*this,"master_dsp_code"),
m_dspmaster(*this, "dspmaster"),
m_dspslave(*this, "dspslave"),
m_dsp(*this, "dsp") { }
optional_shared_ptr<UINT16> m_winrun_dspbios;
@ -49,8 +47,6 @@ public:
required_shared_ptr<UINT8> m_mpDualPortRAM;
optional_shared_ptr<UINT16> m_master_dsp_code;
optional_device<cpu_device> m_dspmaster;
optional_device<cpu_device> m_dspslave;
optional_device<cpu_device> m_dsp;
UINT8 *m_videoram;

View File

@ -14,7 +14,8 @@ public:
m_sharedram(*this, "sharedram"),
m_spriteram(*this, "spriteram"),
m_maincpu(*this, "maincpu"),
m_audiocpu(*this, "audiocpu") { }
m_audiocpu(*this, "audiocpu"),
m_dsp(*this, "dsp") { }
int m_unk_reset_port;
required_shared_ptr<UINT16> m_colorram1;
@ -165,6 +166,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(irqhandler);
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
optional_device<cpu_device> m_dsp;
};

View File

@ -16,7 +16,8 @@ public:
m_spriteram8(*this, "spriteram8"),
m_spriteram16(*this, "spriteram16"),
m_maincpu(*this, "maincpu"),
m_audiocpu(*this, "audiocpu") { }
m_audiocpu(*this, "audiocpu"),
m_dsp(*this, "dsp") { }
optional_shared_ptr<UINT8> m_sharedram;
optional_device<buffered_spriteram8_device> m_spriteram8;
@ -123,6 +124,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(irqhandler);
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
required_device<cpu_device> m_dsp;
};

View File

@ -19,7 +19,8 @@ public:
m_blaster_scanline_control(*this, "blaster_scan"),
m_williams2_tileram(*this, "williams2_tile"),
m_maincpu(*this, "maincpu"),
m_soundcpu(*this, "soundcpu") { }
m_soundcpu(*this, "soundcpu"),
m_soundcpu_b(*this, "soundcpu_b") { }
required_shared_ptr<UINT8> m_nvram;
UINT8 *m_mayday_protection;
@ -149,6 +150,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(tshoot_main_irq);
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_soundcpu;
optional_device<cpu_device> m_soundcpu_b;
};

View File

@ -441,7 +441,7 @@ void fantjour_dma_install(running_machine &machine)
{
konamigx_state *state = machine.driver_data<konamigx_state>();
state_save_register_global_array(machine, fantjour_dma);
machine.device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0xdb0000, 0xdb001f, write32_delegate(FUNC(konamigx_state::fantjour_dma_w),state));
state->m_maincpu->space(AS_PROGRAM).install_write_handler(0xdb0000, 0xdb001f, write32_delegate(FUNC(konamigx_state::fantjour_dma_w),state));
memset(fantjour_dma, 0, sizeof(fantjour_dma));
}

View File

@ -122,7 +122,7 @@ Z80PIO_INTERFACE( nflfoot_pio_intf )
WRITE_LINE_MEMBER(mcr_state::ipu_ctc_interrupt)
{
machine().device("ipu")->execute().set_input_line(0, state);
m_ipu->set_input_line(0, state);
}
@ -239,7 +239,7 @@ WRITE8_MEMBER(mcr_state::mcr_ipu_laserdisk_w)
TIMER_CALLBACK_MEMBER(mcr_state::ipu_watchdog_reset)
{
logerror("ipu_watchdog_reset\n");
machine().device("ipu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
m_ipu->set_input_line(INPUT_LINE_RESET, PULSE_LINE);
machine().device("ipu_ctc")->reset();
machine().device("ipu_pio0")->reset();
machine().device("ipu_pio1")->reset();

View File

@ -2703,7 +2703,7 @@ void sega_genesis_vdp_device::vdp_handle_eof(running_machine &machine)
m_sprite_collision=0;//? when to reset this ..
megadrive_imode = MEGADRIVE_REG0C_INTERLEAVE; // can't change mid-frame..
m_imode_odd_frame^=1;
// machine.device("genesis_snd_z80")->execute().set_input_line(0, CLEAR_LINE); // if the z80 interrupt hasn't happened by now, clear it..
// m_genesis_snd_z80->set_input_line(0, CLEAR_LINE); // if the z80 interrupt hasn't happened by now, clear it..
if (MEGADRIVE_REG01_240_LINE)
{

View File

@ -24,7 +24,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(mhavoc_state::mhavoc_cpu_irq_clock)
m_alpha_irq_clock++;
if ((m_alpha_irq_clock & 0x0c) == 0x0c)
{
machine().device("alpha")->execute().set_input_line(0, ASSERT_LINE);
m_alpha->set_input_line(0, ASSERT_LINE);
m_alpha_irq_clock_enable = 0;
}
}
@ -33,7 +33,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(mhavoc_state::mhavoc_cpu_irq_clock)
if (m_has_gamma_cpu)
{
m_gamma_irq_clock++;
machine().device("gamma")->execute().set_input_line(0, (m_gamma_irq_clock & 0x08) ? ASSERT_LINE : CLEAR_LINE);
m_gamma->set_input_line(0, (m_gamma_irq_clock & 0x08) ? ASSERT_LINE : CLEAR_LINE);
}
}
@ -41,7 +41,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(mhavoc_state::mhavoc_cpu_irq_clock)
WRITE8_MEMBER(mhavoc_state::mhavoc_alpha_irq_ack_w)
{
/* clear the line and reset the clock */
machine().device("alpha")->execute().set_input_line(0, CLEAR_LINE);
m_alpha->set_input_line(0, CLEAR_LINE);
m_alpha_irq_clock = 0;
m_alpha_irq_clock_enable = 1;
}
@ -50,7 +50,7 @@ WRITE8_MEMBER(mhavoc_state::mhavoc_alpha_irq_ack_w)
WRITE8_MEMBER(mhavoc_state::mhavoc_gamma_irq_ack_w)
{
/* clear the line and reset the clock */
machine().device("gamma")->execute().set_input_line(0, CLEAR_LINE);
m_gamma->set_input_line(0, CLEAR_LINE);
m_gamma_irq_clock = 0;
}
@ -81,8 +81,8 @@ void mhavoc_state::machine_start()
void mhavoc_state::machine_reset()
{
address_space &space = machine().device("alpha")->memory().space(AS_PROGRAM);
m_has_gamma_cpu = (machine().device("gamma") != NULL);
address_space &space = m_alpha->space(AS_PROGRAM);
m_has_gamma_cpu = (m_gamma != NULL);
membank("bank1")->configure_entry(0, m_zram0);
membank("bank1")->configure_entry(1, m_zram1);
@ -127,7 +127,7 @@ TIMER_CALLBACK_MEMBER(mhavoc_state::delayed_gamma_w)
m_alpha_data = param;
/* signal with an NMI pulse */
machine().device("gamma")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
m_gamma->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
/* the sound CPU needs to reply in 250microseconds (according to Neil Bradley) */
machine().scheduler().timer_set(attotime::from_usec(250), FUNC_NULL);
@ -252,7 +252,7 @@ WRITE8_MEMBER(mhavoc_state::mhavoc_out_0_w)
m_player_1 = (data >> 5) & 1;
/* Bit 3 = Gamma reset */
machine().device("gamma")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x08) ? CLEAR_LINE : ASSERT_LINE);
m_gamma->set_input_line(INPUT_LINE_RESET, (data & 0x08) ? CLEAR_LINE : ASSERT_LINE);
if (!(data & 0x08))
{
logerror("\t\t\t\t*** resetting gamma processor. ***\n");
@ -322,6 +322,6 @@ DRIVER_INIT_MEMBER(mhavoc_state,mhavocrv)
{
/* install the speech support that was only optionally stuffed for use */
/* in the Return to Vax hack */
machine().device("gamma")->memory().space(AS_PROGRAM).install_write_handler(0x5800, 0x5800, write8_delegate(FUNC(mhavoc_state::mhavocrv_speech_data_w),this));
machine().device("gamma")->memory().space(AS_PROGRAM).install_write_handler(0x5900, 0x5900, write8_delegate(FUNC(mhavoc_state::mhavocrv_speech_strobe_w),this));
m_gamma->space(AS_PROGRAM).install_write_handler(0x5800, 0x5800, write8_delegate(FUNC(mhavoc_state::mhavocrv_speech_data_w),this));
m_gamma->space(AS_PROGRAM).install_write_handler(0x5900, 0x5900, write8_delegate(FUNC(mhavoc_state::mhavocrv_speech_strobe_w),this));
}

View File

@ -31,7 +31,8 @@
void micro3d_duart_irq_handler(device_t *device, int state, UINT8 vector)
{
device->machine().device("maincpu")->execute().set_input_line_and_vector(3, state, vector);
micro3d_state *drvstate = device->machine().driver_data<micro3d_state>();
drvstate->m_maincpu->set_input_line_and_vector(3, state, vector);
};
void micro3d_duart_tx(device_t *device, int channel, UINT8 data)
@ -82,7 +83,8 @@ UINT8 micro3d_duart_input_r(device_t *device)
*/
void micro3d_duart_output_w(device_t *device, UINT8 data)
{
device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, data & 0x20 ? CLEAR_LINE : ASSERT_LINE);
micro3d_state *drvstate = device->machine().driver_data<micro3d_state>();
drvstate->m_audiocpu->set_input_line(INPUT_LINE_RESET, data & 0x20 ? CLEAR_LINE : ASSERT_LINE);
}
@ -225,12 +227,12 @@ READ32_MEMBER(micro3d_state::micro3d_scc_r)
READ16_MEMBER(micro3d_state::micro3d_tms_host_r)
{
return tms34010_host_r(machine().device("vgb"), offset);
return tms34010_host_r(m_vgb, offset);
}
WRITE16_MEMBER(micro3d_state::micro3d_tms_host_w)
{
tms34010_host_w(machine().device("vgb"), offset, data);
tms34010_host_w(m_vgb, offset, data);
}
@ -258,7 +260,7 @@ INLINE INT64 normalised_multiply(INT32 a, INT32 b)
TIMER_CALLBACK_MEMBER(micro3d_state::mac_done_callback)
{
machine().device("drmath")->execute().set_input_line(AM29000_INTR0, ASSERT_LINE);
m_drmath->set_input_line(AM29000_INTR0, ASSERT_LINE);
m_mac_stat = 0;
}
@ -298,7 +300,7 @@ WRITE32_MEMBER(micro3d_state::micro3d_mac2_w)
mac_sram = m_mac_sram;
if (data & (1 << 14))
machine().device("drmath")->execute().set_input_line(AM29000_INTR0, CLEAR_LINE);
m_drmath->set_input_line(AM29000_INTR0, CLEAR_LINE);
switch (inst)
{
@ -551,14 +553,14 @@ READ16_MEMBER(micro3d_state::botss_180000_r)
WRITE16_MEMBER(micro3d_state::micro3d_reset_w)
{
data >>= 8;
machine().device("drmath")->execute().set_input_line(INPUT_LINE_RESET, data & 1 ? CLEAR_LINE : ASSERT_LINE);
machine().device("vgb")->execute().set_input_line(INPUT_LINE_RESET, data & 2 ? CLEAR_LINE : ASSERT_LINE);
m_drmath->set_input_line(INPUT_LINE_RESET, data & 1 ? CLEAR_LINE : ASSERT_LINE);
m_vgb->set_input_line(INPUT_LINE_RESET, data & 2 ? CLEAR_LINE : ASSERT_LINE);
/* TODO: Joystick reset? */
}
WRITE16_MEMBER(micro3d_state::host_drmath_int_w)
{
machine().device("drmath")->execute().set_input_line(AM29000_INTR2, ASSERT_LINE);
m_drmath->set_input_line(AM29000_INTR2, ASSERT_LINE);
machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(10));
}
@ -587,7 +589,7 @@ WRITE32_MEMBER(micro3d_state::drmath_int_w)
WRITE32_MEMBER(micro3d_state::drmath_intr2_ack)
{
machine().device("drmath")->execute().set_input_line(AM29000_INTR2, CLEAR_LINE);
m_drmath->set_input_line(AM29000_INTR2, CLEAR_LINE);
}
@ -599,7 +601,7 @@ WRITE32_MEMBER(micro3d_state::drmath_intr2_ack)
DRIVER_INIT_MEMBER(micro3d_state,micro3d)
{
address_space &space = machine().device("drmath")->memory().space(AS_DATA);
address_space &space = m_drmath->space(AS_DATA);
i8051_set_serial_tx_callback(m_audiocpu, write8_delegate(FUNC(micro3d_state::data_from_i8031),this));
i8051_set_serial_rx_callback(m_audiocpu, read8_delegate(FUNC(micro3d_state::data_to_i8031),this));
@ -631,7 +633,7 @@ void micro3d_state::machine_reset()
{
m_ti_uart[STATUS] = 1;
machine().device("vgb")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
machine().device("drmath")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
m_vgb->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
m_drmath->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
m_audiocpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}

View File

@ -469,13 +469,13 @@ static void init_nbajam_common(running_machine &machine, int te_protection)
if (!te_protection)
{
nbajam_prot_table = nbajam_prot_values;
machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x1b14020, 0x1b2503f, read16_delegate(FUNC(midtunit_state::nbajam_prot_r),state), write16_delegate(FUNC(midtunit_state::nbajam_prot_w),state));
state->m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1b14020, 0x1b2503f, read16_delegate(FUNC(midtunit_state::nbajam_prot_r),state), write16_delegate(FUNC(midtunit_state::nbajam_prot_w),state));
}
else
{
nbajam_prot_table = nbajamte_prot_values;
machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x1b15f40, 0x1b37f5f, read16_delegate(FUNC(midtunit_state::nbajam_prot_r),state), write16_delegate(FUNC(midtunit_state::nbajam_prot_w),state));
machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x1b95f40, 0x1bb7f5f, read16_delegate(FUNC(midtunit_state::nbajam_prot_r),state), write16_delegate(FUNC(midtunit_state::nbajam_prot_w),state));
state->m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1b15f40, 0x1b37f5f, read16_delegate(FUNC(midtunit_state::nbajam_prot_r),state), write16_delegate(FUNC(midtunit_state::nbajam_prot_w),state));
state->m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1b95f40, 0x1bb7f5f, read16_delegate(FUNC(midtunit_state::nbajam_prot_r),state), write16_delegate(FUNC(midtunit_state::nbajam_prot_w),state));
}
/* sound chip protection (hidden RAM) */

View File

@ -169,7 +169,7 @@ static void midxunit_dcs_output_full(running_machine &machine, int state)
midxunit_state *drvstate = machine.driver_data<midxunit_state>();
/* only signal if not in loopback state */
if (drvstate->m_uart[1] != 0x66)
machine.device("maincpu")->execute().set_input_line(1, state ? ASSERT_LINE : CLEAR_LINE);
drvstate->m_maincpu->set_input_line(1, state ? ASSERT_LINE : CLEAR_LINE);
}

View File

@ -500,12 +500,12 @@ static void term2_init_common(running_machine &machine, write16_delegate hack_w)
init_generic(machine, 6, SOUND_ADPCM, 0xfa8d, 0xfa9c);
/* special inputs */
machine.device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x01c00000, 0x01c0005f, read16_delegate(FUNC(midyunit_state::term2_input_r),state));
machine.device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x01e00000, 0x01e0001f, write16_delegate(FUNC(midyunit_state::term2_sound_w),state));
state->m_maincpu->space(AS_PROGRAM).install_read_handler(0x01c00000, 0x01c0005f, read16_delegate(FUNC(midyunit_state::term2_input_r),state));
state->m_maincpu->space(AS_PROGRAM).install_write_handler(0x01e00000, 0x01e0001f, write16_delegate(FUNC(midyunit_state::term2_sound_w),state));
/* HACK: this prevents the freeze on the movies */
/* until we figure whats causing it, this is better than nothing */
state->m_t2_hack_mem = machine.device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x010aa0e0, 0x010aa0ff, hack_w);
state->m_t2_hack_mem = state->m_maincpu->space(AS_PROGRAM).install_write_handler(0x010aa0e0, 0x010aa0ff, hack_w);
}
DRIVER_INIT_MEMBER(midyunit_state,term2) { term2_init_common(machine(), write16_delegate(FUNC(midyunit_state::term2_hack_w),this)); }

View File

@ -85,14 +85,14 @@ ResetAllSubCPUs( running_machine &machine, int state )
{
namcos2_shared_state *s2state = machine.driver_data<namcos2_shared_state>();
machine.device("slave")->execute().set_input_line(INPUT_LINE_RESET, state);
s2state->m_slave->set_input_line(INPUT_LINE_RESET, state);
if (s2state->m_c68)
{
machine.device("c68")->execute().set_input_line(INPUT_LINE_RESET, state);
s2state->m_c68->set_input_line(INPUT_LINE_RESET, state);
}
else
{
machine.device("mcu")->execute().set_input_line(INPUT_LINE_RESET, state);
s2state->m_mcu->set_input_line(INPUT_LINE_RESET, state);
}
switch( machine.driver_data<namcos2_shared_state>()->m_gametype )
{
@ -100,8 +100,8 @@ ResetAllSubCPUs( running_machine &machine, int state )
case NAMCOS21_STARBLADE:
case NAMCOS21_AIRCOMBAT:
case NAMCOS21_CYBERSLED:
machine.device("dspmaster")->execute().set_input_line(INPUT_LINE_RESET, state);
machine.device("dspslave")->execute().set_input_line(INPUT_LINE_RESET, state);
s2state->m_dspmaster->set_input_line(INPUT_LINE_RESET, state);
s2state->m_dspslave->set_input_line(INPUT_LINE_RESET, state);
break;
// case NAMCOS21_WINRUN91:

View File

@ -51,7 +51,7 @@ WRITE8_MEMBER(retofinv_state::retofinv_68705_portB_w)
if ((m_ddrB & 0x02) && (~data & 0x02) && (m_portB_out & 0x02))
{
m_portA_in = m_from_main;
if (m_main_sent) machine().device("68705")->execute().set_input_line(0, CLEAR_LINE);
if (m_main_sent) m_68705->set_input_line(0, CLEAR_LINE);
m_main_sent = 0;
//logerror("read command %02x from main cpu\n",m_portA_in);
}
@ -107,7 +107,7 @@ WRITE8_MEMBER(retofinv_state::retofinv_mcu_w)
logerror("%04x: mcu_w %02x\n",space.device().safe_pc(),data);
m_from_main = data;
m_main_sent = 1;
machine().device("68705")->execute().set_input_line(0, ASSERT_LINE);
m_68705->set_input_line(0, ASSERT_LINE);
}
READ8_MEMBER(retofinv_state::retofinv_mcu_r)

View File

@ -134,15 +134,15 @@ void toaplan1_state::demonwld_dsp(int enable)
if (enable)
{
logerror("Turning DSP on and 68000 off\n");
machine().device("dsp")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
machine().device("dsp")->execute().set_input_line(0, ASSERT_LINE); /* TMS32010 INT */
m_dsp->set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
m_dsp->set_input_line(0, ASSERT_LINE); /* TMS32010 INT */
m_maincpu->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
}
else
{
logerror("Turning DSP off\n");
machine().device("dsp")->execute().set_input_line(0, CLEAR_LINE); /* TMS32010 INT */
machine().device("dsp")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
m_dsp->set_input_line(0, CLEAR_LINE); /* TMS32010 INT */
m_dsp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
}
}
@ -305,9 +305,8 @@ WRITE16_MEMBER(toaplan1_state::toaplan1_reset_sound)
{
logerror("PC:%04x Resetting Sound CPU and Sound chip (%08x)\n", space.device().safe_pcbase(), data);
machine().device("ymsnd")->reset();
device_t *audiocpu = m_audiocpu;
if (audiocpu != NULL && audiocpu->type() == Z80)
audiocpu->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
if (m_audiocpu != NULL && m_audiocpu->type() == Z80)
m_audiocpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE);
}
}

View File

@ -179,14 +179,14 @@ void twincobr_state::twincobr_dsp(int enable)
m_dsp_on = enable;
if (enable) {
LOG(("Turning DSP on and main CPU off\n"));
machine().device("dsp")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
machine().device("dsp")->execute().set_input_line(0, ASSERT_LINE); /* TMS32010 INT */
m_dsp->set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
m_dsp->set_input_line(0, ASSERT_LINE); /* TMS32010 INT */
m_maincpu->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
}
else {
LOG(("Turning DSP off\n"));
machine().device("dsp")->execute().set_input_line(0, CLEAR_LINE); /* TMS32010 INT */
machine().device("dsp")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
m_dsp->set_input_line(0, CLEAR_LINE); /* TMS32010 INT */
m_dsp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
}
}
@ -265,14 +265,14 @@ void twincobr_state::toaplan0_coin_dsp_w(address_space &space, int offset, int d
/****** The following apply to Flying Shark/Wardner only ******/
case 0x00: /* This means assert the INT line to the DSP */
LOG(("Turning DSP on and main CPU off\n"));
machine().device("dsp")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
machine().device("dsp")->execute().set_input_line(0, ASSERT_LINE); /* TMS32010 INT */
m_dsp->set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
m_dsp->set_input_line(0, ASSERT_LINE); /* TMS32010 INT */
m_maincpu->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
break;
case 0x01: /* This means inhibit the INT line to the DSP */
LOG(("Turning DSP off\n"));
machine().device("dsp")->execute().set_input_line(0, CLEAR_LINE); /* TMS32010 INT */
machine().device("dsp")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
m_dsp->set_input_line(0, CLEAR_LINE); /* TMS32010 INT */
m_dsp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
break;
}
}

View File

@ -291,7 +291,7 @@ WRITE_LINE_MEMBER(williams_state::williams_snd_irq_b)
int combined_state = pia_2->irq_a_state() | pia_2->irq_b_state();
/* IRQ to the sound CPU */
machine().device("soundcpu_b")->execute().set_input_line(M6800_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
m_soundcpu_b->set_input_line(M6800_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
}