diff options
Diffstat (limited to 'src/devices/bus/interpro/sr')
-rw-r--r-- | src/devices/bus/interpro/sr/edge.cpp | 4 | ||||
-rw-r--r-- | src/devices/bus/interpro/sr/sr.cpp | 3 | ||||
-rw-r--r-- | src/devices/bus/interpro/sr/sr.h | 26 |
3 files changed, 10 insertions, 23 deletions
diff --git a/src/devices/bus/interpro/sr/edge.cpp b/src/devices/bus/interpro/sr/edge.cpp index eb680532d3b..390b3459079 100644 --- a/src/devices/bus/interpro/sr/edge.cpp +++ b/src/devices/bus/interpro/sr/edge.cpp @@ -475,7 +475,7 @@ void mpcb828_device::device_add_mconfig(machine_config &config) TMS32030(config, m_dsp, 30_MHz_XTAL); m_dsp->holda().set(FUNC(mpcb828_device::holda)); m_dsp->set_disable(); - //MCFG_DEVICE_ADDRESS_MAP(0, map_dynamic<2>) + //m_dsp->set_addrmap(0, map_dynamic<2>); BT458(config, "ramdac", 83'020'800); @@ -484,7 +484,7 @@ void mpcb828_device::device_add_mconfig(machine_config &config) m_scc->out_txda_callback().set("kbd", FUNC(interpro_keyboard_port_device::write_txd)); INTERPRO_KEYBOARD_PORT(config, "kbd", interpro_keyboard_devices, "hle_en_us").rxd_handler_cb().set(m_scc, FUNC(z80scc_device::rxa_w)); -MACHINE_CONFIG_END +} /* * MPCB849: EDGE-1 graphics, 2 megapixels, single screen, 60Hz refresh. diff --git a/src/devices/bus/interpro/sr/sr.cpp b/src/devices/bus/interpro/sr/sr.cpp index 6d6d76bee42..82071af86d2 100644 --- a/src/devices/bus/interpro/sr/sr.cpp +++ b/src/devices/bus/interpro/sr/sr.cpp @@ -267,9 +267,6 @@ DEFINE_DEVICE_TYPE(SRX_SLOT, srx_slot_device, "srx_slot", "InterPro SRX slot") void interpro_bus_device::device_resolve_objects() { - m_main_space = &m_maincpu->space(0); - m_io_space = &m_maincpu->space(1); - // resolve callbacks m_out_irq0_cb.resolve_safe(); m_out_irq1_cb.resolve_safe(); diff --git a/src/devices/bus/interpro/sr/sr.h b/src/devices/bus/interpro/sr/sr.h index 0fcecc086f8..858590f5075 100644 --- a/src/devices/bus/interpro/sr/sr.h +++ b/src/devices/bus/interpro/sr/sr.h @@ -9,6 +9,10 @@ class interpro_bus_device : public device_t { public: + // space configuration + template <typename T> void set_main_space(T &&tag, int spacenum) { m_main_space.set_tag(std::forward<T>(tag), spacenum); } + template <typename T> void set_io_space(T &&tag, int spacenum) { m_io_space.set_tag(std::forward<T>(tag), spacenum); } + // callback configuration auto out_irq0_cb() { return m_out_irq0_cb.bind(); } auto out_irq1_cb() { return m_out_irq1_cb.bind(); } @@ -24,9 +28,8 @@ protected: // construction/destruction interpro_bus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) : device_t(mconfig, type, tag, owner, clock) - , m_maincpu(*this, finder_base::DUMMY_TAG) - , m_main_space(nullptr) - , m_io_space(nullptr) + , m_main_space(*this, finder_base::DUMMY_TAG, -1) + , m_io_space(*this, finder_base::DUMMY_TAG, -1) , m_out_irq0_cb(*this) , m_out_irq1_cb(*this) , m_out_irq2_cb(*this) @@ -38,9 +41,8 @@ protected: virtual void device_resolve_objects() override; // internal state - required_device<cpu_device> m_maincpu; - address_space *m_main_space; - address_space *m_io_space; + required_address_space m_main_space; + required_address_space m_io_space; private: devcb_write_line m_out_irq0_cb; @@ -55,12 +57,6 @@ class cbus_bus_device : public interpro_bus_device { public: // construction/destruction - template <typename T> - cbus_bus_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, T &&cpu_device) - : cbus_bus_device(mconfig, tag, owner, clock) - { - m_maincpu.set_tag(std::forward<T>(cpu_device)); - } cbus_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); static const u32 CBUS_BASE = 0x87000000; @@ -158,12 +154,6 @@ class srx_bus_device : public interpro_bus_device { public: // construction/destruction - template <typename T> - srx_bus_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, T &&cpu_device) - : srx_bus_device(mconfig, tag, owner, clock) - { - m_maincpu.set_tag(std::forward<T>(cpu_device)); - } srx_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); static const u32 SRX_BASE = 0x8f000000; |