diff options
Diffstat (limited to 'src/devices/bus/isa/isa.h')
-rw-r--r-- | src/devices/bus/isa/isa.h | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/devices/bus/isa/isa.h b/src/devices/bus/isa/isa.h index 95aaefc9df6..fff65de82f6 100644 --- a/src/devices/bus/isa/isa.h +++ b/src/devices/bus/isa/isa.h @@ -123,7 +123,8 @@ public: isa8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); // inline configuration - template <typename T> void set_cputag(T &&tag) { m_maincpu.set_tag(std::forward<T>(tag)); } + template <typename T> void set_memspace(T &&tag, int spacenum) { m_memspace.set_tag(std::forward<T>(tag), spacenum); } + template <typename T> void set_iospace(T &&tag, int spacenum) { m_iospace.set_tag(std::forward<T>(tag), spacenum); } auto iochck_callback() { return m_write_iochck.bind(); } auto irq2_callback() { return m_out_irq2_cb.bind(); } auto irq3_callback() { return m_out_irq3_cb.bind(); } @@ -156,7 +157,7 @@ public: bool is_option_rom_space_available(offs_t start, int size); // FIXME: shouldn't need to expose this - address_space &memspace() const { return m_maincpu->space(AS_PROGRAM); } + address_space &memspace() const { return *m_memspace; } DECLARE_WRITE_LINE_MEMBER( irq2_w ); DECLARE_WRITE_LINE_MEMBER( irq3_w ); @@ -181,7 +182,6 @@ public: void eop_w(int channels, int state); void nmi(); - void set_nmi_state(bool enabled) { m_nmi_enabled = enabled; } virtual void set_dma_channel(uint8_t channel, device_isa8_card_interface *dev, bool do_eop); @@ -197,15 +197,14 @@ protected: template<typename R, typename W> void install_space(int spacenum, offs_t start, offs_t end, R rhandler, W whandler); // device-level overrides + virtual void device_config_complete() override; + virtual void device_resolve_objects() override; virtual void device_start() override; virtual void device_reset() override; - // internal state - required_device<cpu_device> m_maincpu; - // address spaces - address_space *m_iospace, *m_memspace; - int m_iowidth, m_memwidth; + required_address_space m_memspace, m_iospace; + int m_memwidth, m_iowidth; bool m_allocspaces; devcb_write_line m_out_irq2_cb; @@ -220,7 +219,6 @@ protected: device_isa8_card_interface *m_dma_device[8]; bool m_dma_eop[8]; - bool m_nmi_enabled; std::forward_list<device_slot_interface *> m_slot_list; private: |