From 3012343afa820ddbc464ebb38320e890ec289876 Mon Sep 17 00:00:00 2001 From: hap Date: Mon, 28 Jan 2019 02:04:52 +0100 Subject: [PATCH] mephisto: fix mm2 display regression (nw) --- src/mame/drivers/mephisto.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/mame/drivers/mephisto.cpp b/src/mame/drivers/mephisto.cpp index cb7b19f0f2b..6da04074995 100644 --- a/src/mame/drivers/mephisto.cpp +++ b/src/mame/drivers/mephisto.cpp @@ -233,7 +233,6 @@ static INPUT_PORTS_START( mephisto ) PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("C 3") PORT_CODE(KEYCODE_C) PORT_CODE(KEYCODE_3) PORT_START("KEY2_7") //Port $2c0f PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("D 4") PORT_CODE(KEYCODE_D) PORT_CODE(KEYCODE_4) - INPUT_PORTS_END @@ -244,20 +243,16 @@ TIMER_DEVICE_CALLBACK_MEMBER(mephisto_state::update_nmi) m_allowNMI = 0; m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } - m_beep->set_state(m_outlatch->q6_r() ? 1 : 0); } TIMER_DEVICE_CALLBACK_MEMBER(mephisto_state::update_nmi_r5) { m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); - m_beep->set_state(m_outlatch->q6_r() ? 1 : 0); } TIMER_DEVICE_CALLBACK_MEMBER(mephisto_state::update_irq)//only mm2 { m_maincpu->set_input_line(M65C02_IRQ_LINE, HOLD_LINE); - - m_beep->set_state(m_outlatch->q6_r() ? 1 : 0); } void mephisto_state::machine_start() @@ -303,7 +298,6 @@ MACHINE_CONFIG_START(mephisto_state::mephisto) /* basic machine hardware */ MCFG_DEVICE_ADD("maincpu",M65C02,4915200) /* 65C02 */ MCFG_DEVICE_PROGRAM_MAP(mephisto_mem) - MCFG_QUANTUM_TIME(attotime::from_hz(60)) HC259(config, m_outlatch); m_outlatch->q_out_cb<0>().set_output("led100"); @@ -312,6 +306,7 @@ MACHINE_CONFIG_START(mephisto_state::mephisto) m_outlatch->q_out_cb<3>().set_output("led103"); m_outlatch->q_out_cb<4>().set_output("led104"); m_outlatch->q_out_cb<5>().set_output("led105"); + m_outlatch->q_out_cb<6>().set(m_beep, FUNC(beep_device::set_state)); m_outlatch->q_out_cb<7>().set(FUNC(mephisto_state::write_led7)); /* sound hardware */ @@ -327,26 +322,30 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(mephisto_state::rebel5) mephisto(config); - /* basic machine hardware */ + MCFG_DEVICE_MODIFY("maincpu") MCFG_DEVICE_PROGRAM_MAP(rebel5_mem) + config.device_remove("nmi_timer"); TIMER(config, "nmi_timer_r5").configure_periodic(FUNC(mephisto_state::update_nmi_r5), attotime::from_hz(600)); - MACHINE_CONFIG_END MACHINE_CONFIG_START(mephisto_state::mm2) mephisto(config); + MCFG_DEVICE_REPLACE("maincpu", M65C02, 3700000) MCFG_DEVICE_PROGRAM_MAP(mm2_mem) MCFG_MACHINE_START_OVERRIDE(mephisto_state, mm2 ) config.device_remove("nmi_timer"); TIMER(config, "irq_timer").configure_periodic(FUNC(mephisto_state::update_irq), attotime::from_hz(450)); + + m_outlatch->q_out_cb<7>().set(FUNC(mephisto_state::write_led7)).invert(); MACHINE_CONFIG_END MACHINE_CONFIG_START(mephisto_state::mm4tk) mephisto(config); + MCFG_DEVICE_MODIFY("maincpu") MCFG_DEVICE_REPLACE("maincpu", M65C02, 18000000) MCFG_DEVICE_PROGRAM_MAP(mephisto_mem)