// license:BSD-3-Clause // copyright-holders:Olivier Galibert #include "emu.h" #include "emumem_hep.h" #include "emumem_het.h" template typename emu::detail::handler_entry_size::uX handler_entry_read_tap::read(offs_t offset, uX mem_mask) const { this->ref(); uX data = this->m_next->read(offset, mem_mask); m_tap(offset, data, mem_mask); this->unref(); return data; } template std::string handler_entry_read_tap::name() const { return '(' + m_name + ") " + this->m_next->name(); } template handler_entry_read_tap *handler_entry_read_tap::instantiate(handler_entry_read *next) const { return new handler_entry_read_tap(this->m_space, this->m_mph, next, m_name, m_tap); } template void handler_entry_write_tap::write(offs_t offset, uX data, uX mem_mask) const { this->ref(); m_tap(offset, data, mem_mask); this->m_next->write(offset, data, mem_mask); this->unref(); } template std::string handler_entry_write_tap::name() const { return '(' + m_name + ") " + this->m_next->name(); } template handler_entry_write_tap *handler_entry_write_tap::instantiate(handler_entry_write *next) const { return new handler_entry_write_tap(this->m_space, this->m_mph, next, m_name, m_tap); } template class handler_entry_read_tap<0, 1>; template class handler_entry_read_tap<0, 0>; template class handler_entry_read_tap<1, 3>; template class handler_entry_read_tap<1, 0>; template class handler_entry_read_tap<1, -1>; template class handler_entry_read_tap<2, 3>; template class handler_entry_read_tap<2, 0>; template class handler_entry_read_tap<2, -1>; template class handler_entry_read_tap<2, -2>; template class handler_entry_read_tap<3, 0>; template class handler_entry_read_tap<3, -1>; template class handler_entry_read_tap<3, -2>; template class handler_entry_read_tap<3, -3>; template class handler_entry_write_tap<0, 1>; template class handler_entry_write_tap<0, 0>; template class handler_entry_write_tap<1, 3>; template class handler_entry_write_tap<1, 0>; template class handler_entry_write_tap<1, -1>; template class handler_entry_write_tap<2, 3>; template class handler_entry_write_tap<2, 0>; template class handler_entry_write_tap<2, -1>; template class handler_entry_write_tap<2, -2>; template class handler_entry_write_tap<3, 0>; template class handler_entry_write_tap<3, -1>; template class handler_entry_write_tap<3, -2>; template class handler_entry_write_tap<3, -3>;