// 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) { this->ref(); uX data = inh::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 + ") " + inh::m_next->name(); } template handler_entry_read_tap *handler_entry_read_tap::instantiate(handler_entry_read *next) const { return new handler_entry_read_tap(inh::m_space, inh::m_mph, next, m_name, m_tap); } template void handler_entry_write_tap::write(offs_t offset, uX data, uX mem_mask) { this->ref(); m_tap(offset, data, mem_mask); inh::m_next->write(offset, data, mem_mask); this->unref(); } template std::string handler_entry_write_tap::name() const { return '(' + m_name + ") " + inh::m_next->name(); } template handler_entry_write_tap *handler_entry_write_tap::instantiate(handler_entry_write *next) const { return new handler_entry_write_tap(inh::m_space, inh::m_mph, next, m_name, m_tap); } template class handler_entry_read_tap<0, 1, ENDIANNESS_LITTLE>; template class handler_entry_read_tap<0, 1, ENDIANNESS_BIG>; template class handler_entry_read_tap<0, 0, ENDIANNESS_LITTLE>; template class handler_entry_read_tap<0, 0, ENDIANNESS_BIG>; template class handler_entry_read_tap<1, 3, ENDIANNESS_LITTLE>; template class handler_entry_read_tap<1, 3, ENDIANNESS_BIG>; template class handler_entry_read_tap<1, 0, ENDIANNESS_LITTLE>; template class handler_entry_read_tap<1, 0, ENDIANNESS_BIG>; template class handler_entry_read_tap<1, -1, ENDIANNESS_LITTLE>; template class handler_entry_read_tap<1, -1, ENDIANNESS_BIG>; template class handler_entry_read_tap<2, 0, ENDIANNESS_LITTLE>; template class handler_entry_read_tap<2, 0, ENDIANNESS_BIG>; template class handler_entry_read_tap<2, -1, ENDIANNESS_LITTLE>; template class handler_entry_read_tap<2, -1, ENDIANNESS_BIG>; template class handler_entry_read_tap<2, -2, ENDIANNESS_LITTLE>; template class handler_entry_read_tap<2, -2, ENDIANNESS_BIG>; template class handler_entry_read_tap<3, 0, ENDIANNESS_LITTLE>; template class handler_entry_read_tap<3, 0, ENDIANNESS_BIG>; template class handler_entry_read_tap<3, -1, ENDIANNESS_LITTLE>; template class handler_entry_read_tap<3, -1, ENDIANNESS_BIG>; template class handler_entry_read_tap<3, -2, ENDIANNESS_LITTLE>; template class handler_entry_read_tap<3, -2, ENDIANNESS_BIG>; template class handler_entry_read_tap<3, -3, ENDIANNESS_LITTLE>; template class handler_entry_read_tap<3, -3, ENDIANNESS_BIG>; template class handler_entry_write_tap<0, 1, ENDIANNESS_LITTLE>; template class handler_entry_write_tap<0, 1, ENDIANNESS_BIG>; template class handler_entry_write_tap<0, 0, ENDIANNESS_LITTLE>; template class handler_entry_write_tap<0, 0, ENDIANNESS_BIG>; template class handler_entry_write_tap<1, 3, ENDIANNESS_LITTLE>; template class handler_entry_write_tap<1, 3, ENDIANNESS_BIG>; template class handler_entry_write_tap<1, 0, ENDIANNESS_LITTLE>; template class handler_entry_write_tap<1, 0, ENDIANNESS_BIG>; template class handler_entry_write_tap<1, -1, ENDIANNESS_LITTLE>; template class handler_entry_write_tap<1, -1, ENDIANNESS_BIG>; template class handler_entry_write_tap<2, 0, ENDIANNESS_LITTLE>; template class handler_entry_write_tap<2, 0, ENDIANNESS_BIG>; template class handler_entry_write_tap<2, -1, ENDIANNESS_LITTLE>; template class handler_entry_write_tap<2, -1, ENDIANNESS_BIG>; template class handler_entry_write_tap<2, -2, ENDIANNESS_LITTLE>; template class handler_entry_write_tap<2, -2, ENDIANNESS_BIG>; template class handler_entry_write_tap<3, 0, ENDIANNESS_LITTLE>; template class handler_entry_write_tap<3, 0, ENDIANNESS_BIG>; template class handler_entry_write_tap<3, -1, ENDIANNESS_LITTLE>; template class handler_entry_write_tap<3, -1, ENDIANNESS_BIG>; template class handler_entry_write_tap<3, -2, ENDIANNESS_LITTLE>; template class handler_entry_write_tap<3, -2, ENDIANNESS_BIG>; template class handler_entry_write_tap<3, -3, ENDIANNESS_LITTLE>; template class handler_entry_write_tap<3, -3, ENDIANNESS_BIG>;