diff options
Diffstat (limited to 'src/devices/bus/spectrum/intf1.h')
-rw-r--r-- | src/devices/bus/spectrum/intf1.h | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/devices/bus/spectrum/intf1.h b/src/devices/bus/spectrum/intf1.h index b128c42ea92..59ffaf95838 100644 --- a/src/devices/bus/spectrum/intf1.h +++ b/src/devices/bus/spectrum/intf1.h @@ -30,20 +30,24 @@ public: static constexpr feature_type unemulated_features() { return feature::DISK | feature::LAN; } protected: - virtual void device_start() override; - virtual void device_reset() override; + virtual void device_start() override ATTR_COLD; + virtual void device_reset() override ATTR_COLD; // optional information overrides - virtual void device_add_mconfig(machine_config &config) override; - virtual const tiny_rom_entry *device_rom_region() const override; + virtual void device_add_mconfig(machine_config &config) override ATTR_COLD; + virtual const tiny_rom_entry *device_rom_region() const override ATTR_COLD; virtual void pre_opcode_fetch(offs_t offset) override; virtual void post_opcode_fetch(offs_t offset) override; virtual uint8_t mreq_r(offs_t offset) override; - virtual void mreq_w(offs_t offset, uint8_t data) override; virtual uint8_t iorq_r(offs_t offset) override; virtual void iorq_w(offs_t offset, uint8_t data) override; - virtual DECLARE_READ_LINE_MEMBER(romcs) override; + virtual bool romcs() override; + + // passthru + virtual void pre_data_fetch(offs_t offset) override { m_exp->pre_data_fetch(offset); } + virtual void post_data_fetch(offs_t offset) override { m_exp->post_data_fetch(offset); } + virtual void mreq_w(offs_t offset, uint8_t data) override { if (m_exp->romcs()) m_exp->mreq_w(offset, data); } private: required_device<spectrum_expansion_slot_device> m_exp; @@ -52,7 +56,7 @@ private: required_device<microdrive_image_device> m_mdv2; required_memory_region m_rom; - int m_romcs; + bool m_romcs; }; |