summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/spectrum/melodik.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/spectrum/melodik.h')
-rw-r--r--src/devices/bus/spectrum/melodik.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/devices/bus/spectrum/melodik.h b/src/devices/bus/spectrum/melodik.h
index bf1514f600c..043aaab15a0 100644
--- a/src/devices/bus/spectrum/melodik.h
+++ b/src/devices/bus/spectrum/melodik.h
@@ -36,12 +36,17 @@ protected:
// optional information overrides
virtual void device_add_mconfig(machine_config &config) override;
- virtual void pre_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;
+
+ // passthru
+ virtual void pre_opcode_fetch(offs_t offset) override { m_exp->pre_opcode_fetch(offset); };
+ virtual void post_opcode_fetch(offs_t offset) override { m_exp->post_opcode_fetch(offset); };
+ 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 uint8_t mreq_r(offs_t offset) override { return m_exp->romcs() ? m_exp->mreq_r(offset) : 0xff; }
+ virtual void mreq_w(offs_t offset, uint8_t data) override { if (m_exp->romcs()) m_exp->mreq_w(offset, data); }
+ virtual DECLARE_READ_LINE_MEMBER(romcs) override { return m_exp->romcs(); }
private:
required_device<spectrum_expansion_slot_device> m_exp;