From b4aa8fdc108ed02c83e2d291f790078a0223ebd0 Mon Sep 17 00:00:00 2001 From: cam900 Date: Sun, 3 Feb 2019 17:50:35 +0900 Subject: qs1000.cpp : Add getter for internal CPU (#4588) * qs1000.cpp : Add getter for internal CPU limenko.cpp : Removed deprecated warning, nw ghosteo.cpp, vegaeo.cpp : Use getter for qs1000 internal CPU * limenko.cpp : Correct qs1000 device to optional --- src/devices/sound/qs1000.h | 1 + src/mame/drivers/ghosteo.cpp | 2 +- src/mame/drivers/limenko.cpp | 22 ++++++++++++---------- src/mame/drivers/vegaeo.cpp | 2 +- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/devices/sound/qs1000.h b/src/devices/sound/qs1000.h index 237ef21b8e5..f57b2e41d91 100644 --- a/src/devices/sound/qs1000.h +++ b/src/devices/sound/qs1000.h @@ -40,6 +40,7 @@ public: //auto serial_w() { return m_serial_w_cb.bind(); } // external + i8052_device &cpu() const { return *m_cpu; } void serial_in(uint8_t data); DECLARE_WRITE_LINE_MEMBER( set_irq ); diff --git a/src/mame/drivers/ghosteo.cpp b/src/mame/drivers/ghosteo.cpp index 1633121c446..2ef6214f5f8 100644 --- a/src/mame/drivers/ghosteo.cpp +++ b/src/mame/drivers/ghosteo.cpp @@ -594,7 +594,7 @@ READ32_MEMBER(ghosteo_state::bballoon_speedup_r) void ghosteo_state::machine_start() { // Set up the QS1000 program ROM banking, taking care not to overlap the internal RAM - m_qs1000->subdevice("cpu")->space(AS_IO).install_read_bank(0x0100, 0xffff, "bank"); + m_qs1000->cpu().space(AS_IO).install_read_bank(0x0100, 0xffff, "bank"); membank("qs1000:bank")->configure_entries(0, 8, memregion("qs1000:cpu")->base()+0x100, 0x10000); } diff --git a/src/mame/drivers/limenko.cpp b/src/mame/drivers/limenko.cpp index 29d90ba92f6..bb0fe8a026e 100644 --- a/src/mame/drivers/limenko.cpp +++ b/src/mame/drivers/limenko.cpp @@ -41,6 +41,7 @@ public: limenko_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu") + , m_qs1000(*this, "qs1000") , m_oki(*this, "oki") , m_gfxdecode(*this, "gfxdecode") , m_palette(*this, "palette") @@ -71,6 +72,7 @@ protected: private: required_device m_maincpu; + optional_device m_qs1000; optional_device m_oki; required_device m_gfxdecode; required_device m_palette; @@ -732,17 +734,17 @@ void limenko_state::limenko(machine_config &config) SPEAKER(config, "rspeaker").front_right(); GENERIC_LATCH_8(config, m_soundlatch); - m_soundlatch->data_pending_callback().set("qs1000", FUNC(qs1000_device::set_irq)); + m_soundlatch->data_pending_callback().set(m_qs1000, FUNC(qs1000_device::set_irq)); m_soundlatch->set_separate_acknowledge(true); - qs1000_device &qs1000(QS1000(config, "qs1000", XTAL(24'000'000))); - qs1000.set_external_rom(true); - qs1000.p1_in().set("soundlatch", FUNC(generic_latch_8_device::read)); - qs1000.p1_out().set(FUNC(limenko_state::qs1000_p1_w)); - qs1000.p2_out().set(FUNC(limenko_state::qs1000_p2_w)); - qs1000.p3_out().set(FUNC(limenko_state::qs1000_p3_w)); - qs1000.add_route(0, "lspeaker", 1.0); - qs1000.add_route(1, "rspeaker", 1.0); + QS1000(config, m_qs1000, XTAL(24'000'000)); + m_qs1000->set_external_rom(true); + m_qs1000->p1_in().set("soundlatch", FUNC(generic_latch_8_device::read)); + m_qs1000->p1_out().set(FUNC(limenko_state::qs1000_p1_w)); + m_qs1000->p2_out().set(FUNC(limenko_state::qs1000_p2_w)); + m_qs1000->p3_out().set(FUNC(limenko_state::qs1000_p3_w)); + m_qs1000->add_route(0, "lspeaker", 1.0); + m_qs1000->add_route(1, "rspeaker", 1.0); } void limenko_state::spotty(machine_config &config) @@ -1092,7 +1094,7 @@ READ32_MEMBER(limenko_state::spotty_speedup_r) void limenko_state::init_common() { // Set up the QS1000 program ROM banking, taking care not to overlap the internal RAM - machine().device("qs1000:cpu")->memory().space(AS_IO).install_read_bank(0x0100, 0xffff, "bank"); + m_qs1000->cpu().space(AS_IO).install_read_bank(0x0100, 0xffff, "bank"); membank("qs1000:bank")->configure_entries(0, 8, memregion("qs1000:cpu")->base()+0x100, 0x10000); m_spriteram_bit = 1; diff --git a/src/mame/drivers/vegaeo.cpp b/src/mame/drivers/vegaeo.cpp index 13bcacd1e07..6783050ab0b 100644 --- a/src/mame/drivers/vegaeo.cpp +++ b/src/mame/drivers/vegaeo.cpp @@ -291,7 +291,7 @@ ROM_END void vegaeo_state::init_vegaeo() { // Set up the QS1000 program ROM banking, taking care not to overlap the internal RAM - m_qs1000->subdevice("cpu")->space(AS_IO).install_read_bank(0x0100, 0xffff, "bank"); + m_qs1000->cpu().space(AS_IO).install_read_bank(0x0100, 0xffff, "bank"); membank("qs1000:bank")->configure_entries(0, 8, memregion("qs1000:cpu")->base()+0x100, 0x10000); init_speedup(); -- cgit v1.2.3