summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/devcb.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/devcb.cpp')
-rw-r--r--src/emu/devcb.cpp117
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()
{
}