diff options
author | Ivan Vangelista <mesgnet@yahoo.it> | 2018-05-21 09:36:44 +0200 |
---|---|---|
committer | Ivan Vangelista <mesgnet@yahoo.it> | 2018-05-21 09:36:44 +0200 |
commit | 8e0cdb1e18f5c993d418867ea3cd691241c55258 (patch) | |
tree | 9f9eb797711a366bd69b92f37ee55431d197e919 | |
parent | 1a986cdf39db235c4b1ca70e74b3460524a5d0bd (diff) |
rd2tank.cpp: device_finder (nw)
-rw-r--r-- | src/mame/drivers/r2dtank.cpp | 64 |
1 files changed, 32 insertions, 32 deletions
diff --git a/src/mame/drivers/r2dtank.cpp b/src/mame/drivers/r2dtank.cpp index 29a31bd6271..a6bfd3d1ab1 100644 --- a/src/mame/drivers/r2dtank.cpp +++ b/src/mame/drivers/r2dtank.cpp @@ -63,10 +63,32 @@ public: m_palette(*this, "palette"), m_audiocpu(*this, "audiocpu"), m_soundlatch(*this, "soundlatch"), - m_soundlatch2(*this, "soundlatch2") { } + m_soundlatch2(*this, "soundlatch2"), + m_pia_main(*this, "pia_main"), + m_pia_audio(*this, "pia_audio"), + m_ay1(*this, "ay1"), + m_ay2(*this, "ay2") { } + void r2dtank(machine_config &config); + + DECLARE_CUSTOM_INPUT_MEMBER(get_ttl74123_output); + +protected: + virtual void machine_start() override; + +private: required_shared_ptr<uint8_t> m_videoram; required_shared_ptr<uint8_t> m_colorram; + required_device<cpu_device> m_maincpu; + required_device<palette_device> m_palette; + required_device<cpu_device> m_audiocpu; + required_device<generic_latch_8_device> m_soundlatch; + required_device<generic_latch_8_device> m_soundlatch2; + required_device<pia6821_device> m_pia_main; + required_device<pia6821_device> m_pia_audio; + required_device<ay8910_device> m_ay1; + required_device<ay8910_device> m_ay2; + uint8_t m_flipscreen; uint32_t m_ttl74123_output; uint8_t m_AY8910_selected; @@ -75,40 +97,22 @@ public: DECLARE_WRITE8_MEMBER(audio_command_w); DECLARE_READ8_MEMBER(audio_answer_r); DECLARE_WRITE8_MEMBER(audio_answer_w); - DECLARE_CUSTOM_INPUT_MEMBER(get_ttl74123_output); DECLARE_WRITE_LINE_MEMBER(main_cpu_irq); DECLARE_WRITE8_MEMBER(AY8910_select_w); DECLARE_READ8_MEMBER(AY8910_port_r); DECLARE_WRITE8_MEMBER(AY8910_port_w); DECLARE_WRITE_LINE_MEMBER(flipscreen_w); DECLARE_WRITE8_MEMBER(pia_comp_w); - virtual void machine_start() override; + DECLARE_WRITE_LINE_MEMBER(ttl74123_output_changed); MC6845_UPDATE_ROW(crtc_update_row); - required_device<cpu_device> m_maincpu; - required_device<palette_device> m_palette; - required_device<cpu_device> m_audiocpu; - required_device<generic_latch_8_device> m_soundlatch; - required_device<generic_latch_8_device> m_soundlatch2; - void r2dtank(machine_config &config); void r2dtank_audio_map(address_map &map); void r2dtank_main_map(address_map &map); }; - -/************************************* - * - * Prototypes - * - *************************************/ - - - - - /************************************* * * Interrupt generation @@ -117,10 +121,8 @@ public: WRITE_LINE_MEMBER(r2dtank_state::main_cpu_irq) { - pia6821_device *pia0 = machine().device<pia6821_device>("pia_main"); - pia6821_device *pia1 = machine().device<pia6821_device>("pia_audio"); - int combined_state = pia0->irq_a_state() | pia0->irq_b_state() | - pia1->irq_a_state() | pia1->irq_b_state(); + int combined_state = m_pia_main->irq_a_state() | m_pia_main->irq_b_state() | + m_pia_audio->irq_a_state() | m_pia_audio->irq_b_state(); m_maincpu->set_input_line(M6809_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE); } @@ -194,10 +196,10 @@ READ8_MEMBER(r2dtank_state::AY8910_port_r) uint8_t ret = 0; if (m_AY8910_selected & 0x08) - ret = machine().device<ay8910_device>("ay1")->data_r(space, 0); + ret = m_ay1->data_r(space, 0); if (m_AY8910_selected & 0x10) - ret = machine().device<ay8910_device>("ay2")->data_r(space, 0); + ret = m_ay2->data_r(space, 0); return ret; } @@ -206,10 +208,10 @@ READ8_MEMBER(r2dtank_state::AY8910_port_r) WRITE8_MEMBER(r2dtank_state::AY8910_port_w) { if (m_AY8910_selected & 0x08) - machine().device<ay8910_device>("ay1")->data_address_w(space, m_AY8910_selected >> 2, data); + m_ay1->data_address_w(space, m_AY8910_selected >> 2, data); if (m_AY8910_selected & 0x10) - machine().device<ay8910_device>("ay2")->data_address_w(space, m_AY8910_selected >> 2, data); + m_ay2->data_address_w(space, m_AY8910_selected >> 2, data); } @@ -227,8 +229,7 @@ WRITE8_MEMBER(r2dtank_state::AY8910_port_w) WRITE_LINE_MEMBER(r2dtank_state::ttl74123_output_changed) { - pia6821_device *pia = machine().device<pia6821_device>("pia_main"); - pia->ca1_w(state); + m_pia_main->ca1_w(state); m_ttl74123_output = state; } @@ -321,8 +322,7 @@ MC6845_UPDATE_ROW( r2dtank_state::crtc_update_row ) WRITE8_MEMBER(r2dtank_state::pia_comp_w) { - device_t *device = machine().device("pia_main"); - downcast<pia6821_device *>(device)->write(machine().dummy_space(), offset, ~data); + m_pia_main->write(machine().dummy_space(), offset, ~data); } |