summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/by35.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/by35.cpp')
-rw-r--r--src/mame/drivers/by35.cpp28
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