Exemple #1
0
void address_map_entry::internal_set_handler(read32_space_func func, const char *string, UINT64 unitmask)
{
	assert(func != NULL);
	assert(unitmask_is_appropriate(32, unitmask, string));
	m_read.m_type = AMH_LEGACY_SPACE_HANDLER;
	m_read.m_bits = 32;
	m_read.m_mask = unitmask;
	m_read.m_name = string;
	m_rspace32 = func;
}
Exemple #2
0
void address_map_entry::internal_set_handler(write8_delegate func, UINT64 unitmask)
{
	assert(!func.isnull());
	assert(unitmask_is_appropriate(8, unitmask, func.name()));
	m_write.m_type = AMH_DEVICE_DELEGATE;
	m_write.m_bits = 8;
	m_write.m_mask = unitmask;
	m_write.m_name = func.name();
	m_wproto8 = func;
}
Exemple #3
0
void address_map_entry::internal_set_handler(read64_delegate func, UINT64 unitmask)
{
	assert(!func.isnull());
	assert(unitmask_is_appropriate(64, unitmask, func.name()));
	m_read.m_type = AMH_DEVICE_DELEGATE;
	m_read.m_bits = 64;
	m_read.m_mask = 0;
	m_read.m_name = func.name();
	m_rproto64 = func;
}
Exemple #4
0
void address_map_entry::internal_set_handler(write64_space_func func, const char *string, UINT64 unitmask)
{
	assert(func != NULL);
	assert(unitmask_is_appropriate(64, unitmask, string));
	m_write.m_type = AMH_LEGACY_SPACE_HANDLER;
	m_write.m_bits = 64;
	m_write.m_mask = 0;
	m_write.m_name = string;
	m_wspace64 = func;
}
Exemple #5
0
void address_map_entry::internal_set_handler(device_t &device, write64_delegate func, UINT64 unitmask)
{
	assert(!func.isnull());
	assert(unitmask_is_appropriate(64, unitmask, func.name()));
	m_write.m_type = AMH_DEVICE_DELEGATE;
	m_write.m_bits = 64;
	m_write.m_mask = 0;
	m_write.m_name = func.name();
	m_write.m_devbase = &device;
	m_wproto64 = func;
}
Exemple #6
0
void address_map_entry::internal_set_handler(device_t &device, read32_delegate func, UINT64 unitmask)
{
	assert(!func.isnull());
	assert(unitmask_is_appropriate(32, unitmask, func.name()));
	m_read.m_type = AMH_DEVICE_DELEGATE;
	m_read.m_bits = 32;
	m_read.m_mask = unitmask;
	m_read.m_name = func.name();
	m_read.m_devbase = &device;
	m_rproto32 = func;
}
Exemple #7
0
address_map_entry &address_map_entry::set_handler(write64_delegate func, u64 unitmask)
{
	assert(!func.isnull());
	assert(unitmask_is_appropriate(64, unitmask, func.name()));
	m_write.m_type = AMH_DEVICE_DELEGATE;
	m_write.m_bits = 64;
	m_write.m_mask = 0;
	m_write.m_name = func.name();
	m_wproto64 = func;
	return *this;
}
Exemple #8
0
address_map_entry &address_map_entry::set_handler(read32_delegate func, u64 unitmask)
{
	assert(!func.isnull());
	assert(unitmask_is_appropriate(32, unitmask, func.name()));
	m_read.m_type = AMH_DEVICE_DELEGATE;
	m_read.m_bits = 32;
	m_read.m_mask = unitmask;
	m_read.m_name = func.name();
	m_rproto32 = func;
	return *this;
}
Exemple #9
0
void address_map_entry::internal_set_handler(const device_t &device, const char *tag, write64_device_func func, const char *string, UINT64 unitmask)
{
	assert(func != NULL);
	assert(unitmask_is_appropriate(64, unitmask, string));
	m_write.m_type = AMH_LEGACY_DEVICE_HANDLER;
	m_write.m_bits = 64;
	m_write.m_mask = 0;
	m_write.m_name = string;
	m_write.set_tag(device, tag);
	m_wdevice64 = func;
}
Exemple #10
0
void address_map_entry::internal_set_handler(const device_t &device, const char *tag, write32_delegate func, UINT64 unitmask)
{
	assert(!func.isnull());
	assert(unitmask_is_appropriate(32, unitmask, func.name()));
	m_write.m_type = AMH_DEVICE_DELEGATE;
	m_write.m_bits = 32;
	m_write.m_mask = unitmask;
	m_write.m_name = func.name();
	m_write.set_tag(device, tag);
	m_wproto32 = func;
}
Exemple #11
0
void address_map_entry::internal_set_handler(const device_t &device, const char *tag, read32_device_func func, const char *string, UINT64 unitmask)
{
	assert(func != NULL);
	assert(unitmask_is_appropriate(32, unitmask, string));
	m_read.m_type = AMH_LEGACY_DEVICE_HANDLER;
	m_read.m_bits = 32;
	m_read.m_mask = unitmask;
	m_read.m_name = string;
	m_read.set_tag(device, tag);
	m_rdevice32 = func;
}
Exemple #12
0
void address_map_entry::internal_set_handler(const device_t &device, const char *tag, read16_delegate func, UINT64 unitmask)
{
	assert(!func.isnull());
	assert(unitmask_is_appropriate(16, unitmask, func.name()));
	m_read.m_type = AMH_DEVICE_DELEGATE;
	m_read.m_bits = 16;
	m_read.m_mask = unitmask;
	m_read.m_name = func.name();
	m_read.set_tag(device, tag);
	m_rproto16 = func;
}
Exemple #13
0
void address_map_entry::set_submap(const char *tag, address_map_delegate func, int bits, UINT64 mask)
{
	if(!bits)
		bits = m_map.m_databits;

	assert(unitmask_is_appropriate(bits, mask, func.name()));

	m_read.m_type = AMH_DEVICE_SUBMAP;
	m_read.m_tag = tag;
	m_read.m_mask = mask;
	m_write.m_type = AMH_DEVICE_SUBMAP;
	m_write.m_tag = tag;
	m_write.m_mask = mask;
	m_submap_delegate = func;
	m_submap_bits = bits;
}