diff options
Diffstat (limited to 'src/mame/drivers/by35.cpp')
-rw-r--r-- | src/mame/drivers/by35.cpp | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/src/mame/drivers/by35.cpp b/src/mame/drivers/by35.cpp index e8496720cbc..5de13145ffd 100644 --- a/src/mame/drivers/by35.cpp +++ b/src/mame/drivers/by35.cpp @@ -112,6 +112,8 @@ protected: , m_nvram(*this, "nvram") , m_pia_u10(*this, "pia_u10") , m_pia_u11(*this, "pia_u11") + , m_zero_crossing_active_timer(*this, "timer_z_pulse") + , m_display_refresh_timer(*this, "timer_d_pulse") , m_io_test(*this, "TEST") , m_io_dsw0(*this, "DSW0") , m_io_dsw1(*this, "DSW1") @@ -176,6 +178,8 @@ private: required_shared_ptr<uint8_t> m_nvram; required_device<pia6821_device> m_pia_u10; required_device<pia6821_device> m_pia_u11; + required_device<timer_device> m_zero_crossing_active_timer; + required_device<timer_device> m_display_refresh_timer; required_ioport m_io_test; required_ioport m_io_dsw0; required_ioport m_io_dsw1; @@ -209,6 +213,7 @@ protected: , m_snd_prom(*this, "sound1") , m_discrete(*this, "discrete") , m_timer_s_freq(*this, "timer_s_freq") + , m_snd_sustain_timer(*this, "timer_as2888") { } DECLARE_WRITE8_MEMBER(u11_b_as2888_w); @@ -219,13 +224,13 @@ protected: void as2888_audio(machine_config &config); private: - bool m_timer_as2888; uint8_t m_snd_sel; uint8_t m_snd_tone_gen; uint8_t m_snd_div; required_region_ptr<uint8_t> m_snd_prom; required_device<discrete_device> m_discrete; required_device<timer_device> m_timer_s_freq; + required_device<timer_device> m_snd_sustain_timer; }; @@ -637,9 +642,7 @@ WRITE_LINE_MEMBER( as2888_state::u11_cb2_as2888_w ) { if (state) { - timer_device *snd_sustain_timer = machine().device<timer_device>("timer_as2888"); - snd_sustain_timer->adjust(attotime::from_msec(5)); - m_timer_as2888 = true; + m_snd_sustain_timer->adjust(attotime::from_msec(5)); m_discrete->write(machine().dummy_space(), NODE_08, 11); // 11 volt pulse } @@ -868,9 +871,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( by35_state::timer_z_freq ) +--------------------------+ +----- */ - timer_device *zero_crossing_active_timer = machine().device<timer_device>("timer_z_pulse"); - - zero_crossing_active_timer->adjust(attotime::from_usec(700)); + m_zero_crossing_active_timer->adjust(attotime::from_usec(700)); m_u10_cb1 = true; m_pia_u10->cb1_w(m_u10_cb1); @@ -897,9 +898,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( by35_state::u11_timer ) -+ +---+ */ - timer_device *display_refresh_timer = machine().device<timer_device>("timer_d_pulse"); - - display_refresh_timer->adjust(attotime::from_msec(2.85)); + m_display_refresh_timer->adjust(attotime::from_msec(2.85)); m_u11_ca1 = true; m_pia_u11->ca1_w(m_u11_ca1); @@ -941,8 +940,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( as2888_state::timer_as2888 ) } m_discrete->write(machine().dummy_space(), NODE_08, 0); - timer.adjust(attotime::never); - m_timer_as2888 = false; + m_snd_sustain_timer->adjust(attotime::never); LOG("Sustain off\n"); } @@ -1120,7 +1118,7 @@ MACHINE_CONFIG_START(by35_state::by35) MCFG_PIA_IRQA_HANDLER(INPUTLINE("maincpu", M6800_IRQ_LINE)) MCFG_PIA_IRQB_HANDLER(INPUTLINE("maincpu", M6800_IRQ_LINE)) MCFG_TIMER_DRIVER_ADD_PERIODIC("timer_z_freq", by35_state, timer_z_freq, attotime::from_hz(100)) // Mains Line Frequency * 2 - MCFG_TIMER_DRIVER_ADD("timer_z_pulse", by35_state, timer_z_pulse) // Active pulse length from Zero Crossing detector + MCFG_TIMER_DRIVER_ADD(m_zero_crossing_active_timer, by35_state, timer_z_pulse) // Active pulse length from Zero Crossing detector MCFG_DEVICE_ADD("pia_u11", PIA6821, 0) MCFG_PIA_READPA_HANDLER(READ8(*this, by35_state, u11_a_r)) @@ -1133,7 +1131,7 @@ MACHINE_CONFIG_START(by35_state::by35) MCFG_PIA_IRQA_HANDLER(INPUTLINE("maincpu", M6800_IRQ_LINE)) MCFG_PIA_IRQB_HANDLER(INPUTLINE("maincpu", M6800_IRQ_LINE)) MCFG_TIMER_DRIVER_ADD_PERIODIC("timer_d_freq", by35_state, u11_timer, attotime::from_hz(317)) // 555 timer - MCFG_TIMER_DRIVER_ADD("timer_d_pulse", by35_state, timer_d_pulse) // 555 Active pulse length + MCFG_TIMER_DRIVER_ADD(m_display_refresh_timer, by35_state, timer_d_pulse) // 555 Active pulse length MACHINE_CONFIG_END MACHINE_CONFIG_START(as2888_state::as2888_audio) @@ -1146,7 +1144,7 @@ MACHINE_CONFIG_START(as2888_state::as2888_audio) MCFG_PIA_CB2_HANDLER(WRITELINE(*this, as2888_state, u11_cb2_as2888_w)) MCFG_TIMER_DRIVER_ADD_PERIODIC("timer_s_freq", as2888_state, timer_s, attotime::from_hz(353000)) // Inverter clock on AS-2888 sound board - MCFG_TIMER_DRIVER_ADD("timer_as2888", as2888_state, timer_as2888) + MCFG_TIMER_DRIVER_ADD(m_snd_sustain_timer, as2888_state, timer_as2888) MACHINE_CONFIG_END |