diff options
Diffstat (limited to 'src/emu/devcb.cpp')
-rw-r--r-- | src/emu/devcb.cpp | 117 |
1 files changed, 2 insertions, 115 deletions
diff --git a/src/emu/devcb.cpp b/src/emu/devcb.cpp index 3fb8056c787..b6e08f13b45 100644 --- a/src/emu/devcb.cpp +++ b/src/emu/devcb.cpp @@ -18,10 +18,6 @@ template class devcb_read<u32>; template class devcb_read<u64>; template class devcb_read<int, 1U>; -template class devcb_read8::delegate_builder<read8_delegate>; -template class devcb_read8::delegate_builder<read16_delegate>; -template class devcb_read8::delegate_builder<read32_delegate>; -template class devcb_read8::delegate_builder<read64_delegate>; template class devcb_read8::delegate_builder<read8s_delegate>; template class devcb_read8::delegate_builder<read16s_delegate>; template class devcb_read8::delegate_builder<read32s_delegate>; @@ -36,10 +32,6 @@ template class devcb_read8::delegate_builder<read32smo_delegate>; template class devcb_read8::delegate_builder<read64smo_delegate>; template class devcb_read8::delegate_builder<read_line_delegate>; -template class devcb_read16::delegate_builder<read8_delegate>; -template class devcb_read16::delegate_builder<read16_delegate>; -template class devcb_read16::delegate_builder<read32_delegate>; -template class devcb_read16::delegate_builder<read64_delegate>; template class devcb_read16::delegate_builder<read8s_delegate>; template class devcb_read16::delegate_builder<read16s_delegate>; template class devcb_read16::delegate_builder<read32s_delegate>; @@ -54,10 +46,6 @@ template class devcb_read16::delegate_builder<read32smo_delegate>; template class devcb_read16::delegate_builder<read64smo_delegate>; template class devcb_read16::delegate_builder<read_line_delegate>; -template class devcb_read32::delegate_builder<read8_delegate>; -template class devcb_read32::delegate_builder<read16_delegate>; -template class devcb_read32::delegate_builder<read32_delegate>; -template class devcb_read32::delegate_builder<read64_delegate>; template class devcb_read32::delegate_builder<read8s_delegate>; template class devcb_read32::delegate_builder<read16s_delegate>; template class devcb_read32::delegate_builder<read32s_delegate>; @@ -72,10 +60,6 @@ template class devcb_read32::delegate_builder<read32smo_delegate>; template class devcb_read32::delegate_builder<read64smo_delegate>; template class devcb_read32::delegate_builder<read_line_delegate>; -template class devcb_read64::delegate_builder<read8_delegate>; -template class devcb_read64::delegate_builder<read16_delegate>; -template class devcb_read64::delegate_builder<read32_delegate>; -template class devcb_read64::delegate_builder<read64_delegate>; template class devcb_read64::delegate_builder<read8s_delegate>; template class devcb_read64::delegate_builder<read16s_delegate>; template class devcb_read64::delegate_builder<read32s_delegate>; @@ -90,10 +74,6 @@ template class devcb_read64::delegate_builder<read32smo_delegate>; template class devcb_read64::delegate_builder<read64smo_delegate>; template class devcb_read64::delegate_builder<read_line_delegate>; -template class devcb_read_line::delegate_builder<read8_delegate>; -template class devcb_read_line::delegate_builder<read16_delegate>; -template class devcb_read_line::delegate_builder<read32_delegate>; -template class devcb_read_line::delegate_builder<read64_delegate>; template class devcb_read_line::delegate_builder<read8s_delegate>; template class devcb_read_line::delegate_builder<read16s_delegate>; template class devcb_read_line::delegate_builder<read32s_delegate>; @@ -108,10 +88,6 @@ template class devcb_read_line::delegate_builder<read32smo_delegate>; template class devcb_read_line::delegate_builder<read64smo_delegate>; template class devcb_read_line::delegate_builder<read_line_delegate>; -template class devcb_read8::creator_impl<devcb_read8::delegate_builder<read8_delegate> >; -template class devcb_read8::creator_impl<devcb_read8::delegate_builder<read16_delegate> >; -template class devcb_read8::creator_impl<devcb_read8::delegate_builder<read32_delegate> >; -template class devcb_read8::creator_impl<devcb_read8::delegate_builder<read64_delegate> >; template class devcb_read8::creator_impl<devcb_read8::delegate_builder<read8s_delegate> >; template class devcb_read8::creator_impl<devcb_read8::delegate_builder<read16s_delegate> >; template class devcb_read8::creator_impl<devcb_read8::delegate_builder<read32s_delegate> >; @@ -127,10 +103,6 @@ template class devcb_read8::creator_impl<devcb_read8::delegate_builder<read64smo template class devcb_read8::creator_impl<devcb_read8::delegate_builder<read_line_delegate> >; template class devcb_read8::creator_impl<devcb_read8::ioport_builder>; -template class devcb_read16::creator_impl<devcb_read16::delegate_builder<read8_delegate> >; -template class devcb_read16::creator_impl<devcb_read16::delegate_builder<read16_delegate> >; -template class devcb_read16::creator_impl<devcb_read16::delegate_builder<read32_delegate> >; -template class devcb_read16::creator_impl<devcb_read16::delegate_builder<read64_delegate> >; template class devcb_read16::creator_impl<devcb_read16::delegate_builder<read8s_delegate> >; template class devcb_read16::creator_impl<devcb_read16::delegate_builder<read16s_delegate> >; template class devcb_read16::creator_impl<devcb_read16::delegate_builder<read32s_delegate> >; @@ -146,10 +118,6 @@ template class devcb_read16::creator_impl<devcb_read16::delegate_builder<read64s template class devcb_read16::creator_impl<devcb_read16::delegate_builder<read_line_delegate> >; template class devcb_read16::creator_impl<devcb_read16::ioport_builder>; -template class devcb_read32::creator_impl<devcb_read32::delegate_builder<read8_delegate> >; -template class devcb_read32::creator_impl<devcb_read32::delegate_builder<read16_delegate> >; -template class devcb_read32::creator_impl<devcb_read32::delegate_builder<read32_delegate> >; -template class devcb_read32::creator_impl<devcb_read32::delegate_builder<read64_delegate> >; template class devcb_read32::creator_impl<devcb_read32::delegate_builder<read8s_delegate> >; template class devcb_read32::creator_impl<devcb_read32::delegate_builder<read16s_delegate> >; template class devcb_read32::creator_impl<devcb_read32::delegate_builder<read32s_delegate> >; @@ -165,10 +133,6 @@ template class devcb_read32::creator_impl<devcb_read32::delegate_builder<read64s template class devcb_read32::creator_impl<devcb_read32::delegate_builder<read_line_delegate> >; template class devcb_read32::creator_impl<devcb_read32::ioport_builder>; -template class devcb_read64::creator_impl<devcb_read64::delegate_builder<read8_delegate> >; -template class devcb_read64::creator_impl<devcb_read64::delegate_builder<read16_delegate> >; -template class devcb_read64::creator_impl<devcb_read64::delegate_builder<read32_delegate> >; -template class devcb_read64::creator_impl<devcb_read64::delegate_builder<read64_delegate> >; template class devcb_read64::creator_impl<devcb_read64::delegate_builder<read8s_delegate> >; template class devcb_read64::creator_impl<devcb_read64::delegate_builder<read16s_delegate> >; template class devcb_read64::creator_impl<devcb_read64::delegate_builder<read32s_delegate> >; @@ -184,10 +148,6 @@ template class devcb_read64::creator_impl<devcb_read64::delegate_builder<read64s template class devcb_read64::creator_impl<devcb_read64::delegate_builder<read_line_delegate> >; template class devcb_read64::creator_impl<devcb_read64::ioport_builder>; -template class devcb_read_line::creator_impl<devcb_read_line::delegate_builder<read8_delegate> >; -template class devcb_read_line::creator_impl<devcb_read_line::delegate_builder<read16_delegate> >; -template class devcb_read_line::creator_impl<devcb_read_line::delegate_builder<read32_delegate> >; -template class devcb_read_line::creator_impl<devcb_read_line::delegate_builder<read64_delegate> >; template class devcb_read_line::creator_impl<devcb_read_line::delegate_builder<read8s_delegate> >; template class devcb_read_line::creator_impl<devcb_read_line::delegate_builder<read16s_delegate> >; template class devcb_read_line::creator_impl<devcb_read_line::delegate_builder<read32s_delegate> >; @@ -209,10 +169,6 @@ template class devcb_write<u32>; template class devcb_write<u64>; template class devcb_write<int, 1U>; -template class devcb_write8::delegate_builder<write8_delegate>; -template class devcb_write8::delegate_builder<write16_delegate>; -template class devcb_write8::delegate_builder<write32_delegate>; -template class devcb_write8::delegate_builder<write64_delegate>; template class devcb_write8::delegate_builder<write8s_delegate>; template class devcb_write8::delegate_builder<write16s_delegate>; template class devcb_write8::delegate_builder<write32s_delegate>; @@ -227,10 +183,6 @@ template class devcb_write8::delegate_builder<write32smo_delegate>; template class devcb_write8::delegate_builder<write64smo_delegate>; template class devcb_write8::delegate_builder<write_line_delegate>; -template class devcb_write16::delegate_builder<write8_delegate>; -template class devcb_write16::delegate_builder<write16_delegate>; -template class devcb_write16::delegate_builder<write32_delegate>; -template class devcb_write16::delegate_builder<write64_delegate>; template class devcb_write16::delegate_builder<write8s_delegate>; template class devcb_write16::delegate_builder<write16s_delegate>; template class devcb_write16::delegate_builder<write32s_delegate>; @@ -245,10 +197,6 @@ template class devcb_write16::delegate_builder<write32smo_delegate>; template class devcb_write16::delegate_builder<write64smo_delegate>; template class devcb_write16::delegate_builder<write_line_delegate>; -template class devcb_write32::delegate_builder<write8_delegate>; -template class devcb_write32::delegate_builder<write16_delegate>; -template class devcb_write32::delegate_builder<write32_delegate>; -template class devcb_write32::delegate_builder<write64_delegate>; template class devcb_write32::delegate_builder<write8s_delegate>; template class devcb_write32::delegate_builder<write16s_delegate>; template class devcb_write32::delegate_builder<write32s_delegate>; @@ -263,10 +211,6 @@ template class devcb_write32::delegate_builder<write32smo_delegate>; template class devcb_write32::delegate_builder<write64smo_delegate>; template class devcb_write32::delegate_builder<write_line_delegate>; -template class devcb_write64::delegate_builder<write8_delegate>; -template class devcb_write64::delegate_builder<write16_delegate>; -template class devcb_write64::delegate_builder<write32_delegate>; -template class devcb_write64::delegate_builder<write64_delegate>; template class devcb_write64::delegate_builder<write8s_delegate>; template class devcb_write64::delegate_builder<write16s_delegate>; template class devcb_write64::delegate_builder<write32s_delegate>; @@ -281,10 +225,6 @@ template class devcb_write64::delegate_builder<write32smo_delegate>; template class devcb_write64::delegate_builder<write64smo_delegate>; template class devcb_write64::delegate_builder<write_line_delegate>; -template class devcb_write_line::delegate_builder<write8_delegate>; -template class devcb_write_line::delegate_builder<write16_delegate>; -template class devcb_write_line::delegate_builder<write32_delegate>; -template class devcb_write_line::delegate_builder<write64_delegate>; template class devcb_write_line::delegate_builder<write8s_delegate>; template class devcb_write_line::delegate_builder<write16s_delegate>; template class devcb_write_line::delegate_builder<write32s_delegate>; @@ -299,10 +239,6 @@ template class devcb_write_line::delegate_builder<write32smo_delegate>; template class devcb_write_line::delegate_builder<write64smo_delegate>; template class devcb_write_line::delegate_builder<write_line_delegate>; -template class devcb_write8::creator_impl<devcb_write8::delegate_builder<write8_delegate> >; -template class devcb_write8::creator_impl<devcb_write8::delegate_builder<write16_delegate> >; -template class devcb_write8::creator_impl<devcb_write8::delegate_builder<write32_delegate> >; -template class devcb_write8::creator_impl<devcb_write8::delegate_builder<write64_delegate> >; template class devcb_write8::creator_impl<devcb_write8::delegate_builder<write8s_delegate> >; template class devcb_write8::creator_impl<devcb_write8::delegate_builder<write16s_delegate> >; template class devcb_write8::creator_impl<devcb_write8::delegate_builder<write32s_delegate> >; @@ -321,12 +257,7 @@ template class devcb_write8::creator_impl<devcb_write8::latched_inputline_builde template class devcb_write8::creator_impl<devcb_write8::ioport_builder>; template class devcb_write8::creator_impl<devcb_write8::membank_builder>; template class devcb_write8::creator_impl<devcb_write8::output_builder>; -template class devcb_write8::creator_impl<devcb_write8::log_builder>; -template class devcb_write16::creator_impl<devcb_write16::delegate_builder<write8_delegate> >; -template class devcb_write16::creator_impl<devcb_write16::delegate_builder<write16_delegate> >; -template class devcb_write16::creator_impl<devcb_write16::delegate_builder<write32_delegate> >; -template class devcb_write16::creator_impl<devcb_write16::delegate_builder<write64_delegate> >; template class devcb_write16::creator_impl<devcb_write16::delegate_builder<write8s_delegate> >; template class devcb_write16::creator_impl<devcb_write16::delegate_builder<write16s_delegate> >; template class devcb_write16::creator_impl<devcb_write16::delegate_builder<write32s_delegate> >; @@ -345,12 +276,7 @@ template class devcb_write16::creator_impl<devcb_write16::latched_inputline_buil template class devcb_write16::creator_impl<devcb_write16::ioport_builder>; template class devcb_write16::creator_impl<devcb_write16::membank_builder>; template class devcb_write16::creator_impl<devcb_write16::output_builder>; -template class devcb_write16::creator_impl<devcb_write16::log_builder>; -template class devcb_write32::creator_impl<devcb_write32::delegate_builder<write8_delegate> >; -template class devcb_write32::creator_impl<devcb_write32::delegate_builder<write16_delegate> >; -template class devcb_write32::creator_impl<devcb_write32::delegate_builder<write32_delegate> >; -template class devcb_write32::creator_impl<devcb_write32::delegate_builder<write64_delegate> >; template class devcb_write32::creator_impl<devcb_write32::delegate_builder<write8s_delegate> >; template class devcb_write32::creator_impl<devcb_write32::delegate_builder<write16s_delegate> >; template class devcb_write32::creator_impl<devcb_write32::delegate_builder<write32s_delegate> >; @@ -369,12 +295,7 @@ template class devcb_write32::creator_impl<devcb_write32::latched_inputline_buil template class devcb_write32::creator_impl<devcb_write32::ioport_builder>; template class devcb_write32::creator_impl<devcb_write32::membank_builder>; template class devcb_write32::creator_impl<devcb_write32::output_builder>; -template class devcb_write32::creator_impl<devcb_write32::log_builder>; -template class devcb_write64::creator_impl<devcb_write64::delegate_builder<write8_delegate> >; -template class devcb_write64::creator_impl<devcb_write64::delegate_builder<write16_delegate> >; -template class devcb_write64::creator_impl<devcb_write64::delegate_builder<write32_delegate> >; -template class devcb_write64::creator_impl<devcb_write64::delegate_builder<write64_delegate> >; template class devcb_write64::creator_impl<devcb_write64::delegate_builder<write8s_delegate> >; template class devcb_write64::creator_impl<devcb_write64::delegate_builder<write16s_delegate> >; template class devcb_write64::creator_impl<devcb_write64::delegate_builder<write32s_delegate> >; @@ -393,12 +314,7 @@ template class devcb_write64::creator_impl<devcb_write64::latched_inputline_buil template class devcb_write64::creator_impl<devcb_write64::ioport_builder>; template class devcb_write64::creator_impl<devcb_write64::membank_builder>; template class devcb_write64::creator_impl<devcb_write64::output_builder>; -template class devcb_write64::creator_impl<devcb_write64::log_builder>; -template class devcb_write_line::creator_impl<devcb_write_line::delegate_builder<write8_delegate> >; -template class devcb_write_line::creator_impl<devcb_write_line::delegate_builder<write16_delegate> >; -template class devcb_write_line::creator_impl<devcb_write_line::delegate_builder<write32_delegate> >; -template class devcb_write_line::creator_impl<devcb_write_line::delegate_builder<write64_delegate> >; template class devcb_write_line::creator_impl<devcb_write_line::delegate_builder<write8s_delegate> >; template class devcb_write_line::creator_impl<devcb_write_line::delegate_builder<write16s_delegate> >; template class devcb_write_line::creator_impl<devcb_write_line::delegate_builder<write32s_delegate> >; @@ -417,16 +333,12 @@ template class devcb_write_line::creator_impl<devcb_write_line::latched_inputlin template class devcb_write_line::creator_impl<devcb_write_line::ioport_builder>; template class devcb_write_line::creator_impl<devcb_write_line::membank_builder>; template class devcb_write_line::creator_impl<devcb_write_line::output_builder>; -template class devcb_write_line::creator_impl<devcb_write_line::log_builder>; devcb_base::devcb_base(device_t &owner) - : m_owner(owner) - , m_dflt_space_finder(owner, finder_base::DUMMY_TAG) - , m_dflt_space_index(-1) - , m_dflt_space(nullptr) + : device_resolver_base(owner) + , m_owner(owner) { - owner.register_callback(*this); } @@ -434,31 +346,6 @@ devcb_base::~devcb_base() { } - -void devcb_base::validity_check(validity_checker &valid) const -{ - // if a default address space is configured, ensure it exists - if (m_dflt_space_finder) - { - if (!m_dflt_space_finder->has_space(m_dflt_space_index)) - osd_printf_error("Callback references non-existent memory space %d of device %s (%s)\n", m_dflt_space_index, m_dflt_space_finder->device().tag(), m_dflt_space_finder->device().name()); - } - else if (m_dflt_space_finder.finder_tag() != finder_base::DUMMY_TAG) - { - osd_printf_error("Callback references non-existent memory space device tag %s\n", m_dflt_space_finder.finder_tag()); - } -} - - -void devcb_base::resolve() -{ - if (m_dflt_space_finder && m_dflt_space_finder->has_space(m_dflt_space_index)) - m_dflt_space = &m_dflt_space_finder->space(m_dflt_space_index); - else - m_dflt_space = &m_owner.machine().dummy_space(); -} - - devcb_read_base::~devcb_read_base() { } |