diff options
Diffstat (limited to 'src/emu/emumem_het.cpp')
-rw-r--r-- | src/emu/emumem_het.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/emu/emumem_het.cpp b/src/emu/emumem_het.cpp index c9363695cdc..1360badd99c 100644 --- a/src/emu/emumem_het.cpp +++ b/src/emu/emumem_het.cpp @@ -16,6 +16,17 @@ template<int Width, int AddrShift> typename emu::detail::handler_entry_size<Widt return data; } +template<int Width, int AddrShift> std::pair<typename emu::detail::handler_entry_size<Width>::uX, u16> handler_entry_read_tap<Width, AddrShift>::read_flags(offs_t offset, uX mem_mask) const +{ + this->ref(); + + auto pack = this->m_next->read_flags(offset, mem_mask); + m_tap(offset, pack.first, mem_mask); + + this->unref(); + return pack; +} + template<int Width, int AddrShift> std::string handler_entry_read_tap<Width, AddrShift>::name() const { return '(' + m_name + ") " + this->m_next->name(); @@ -37,6 +48,17 @@ template<int Width, int AddrShift> void handler_entry_write_tap<Width, AddrShift this->unref(); } +template<int Width, int AddrShift> u16 handler_entry_write_tap<Width, AddrShift>::write_flags(offs_t offset, uX data, uX mem_mask) const +{ + this->ref(); + + m_tap(offset, data, mem_mask); + u16 flags = this->m_next->write_flags(offset, data, mem_mask); + + this->unref(); + return flags; +} + template<int Width, int AddrShift> std::string handler_entry_write_tap<Width, AddrShift>::name() const { return '(' + m_name + ") " + this->m_next->name(); |