diff options
Diffstat (limited to 'src/mame/machine/elan_eu3a05sys.cpp')
-rw-r--r-- | src/mame/machine/elan_eu3a05sys.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/mame/machine/elan_eu3a05sys.cpp b/src/mame/machine/elan_eu3a05sys.cpp index 462457010fb..94c214ff903 100644 --- a/src/mame/machine/elan_eu3a05sys.cpp +++ b/src/mame/machine/elan_eu3a05sys.cpp @@ -9,10 +9,26 @@ DEFINE_DEVICE_TYPE(ELAN_EU3A05_SYS, elan_eu3a05sys_device, "elan_eu3a05sys", "Elan EU3A05 System") elan_eu3a05sys_device::elan_eu3a05sys_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - elan_eu3a05commonsys_device(mconfig, ELAN_EU3A05_SYS, tag, owner, clock) + elan_eu3a05commonsys_device(mconfig, ELAN_EU3A05_SYS, tag, owner, clock), + device_memory_interface(mconfig, *this), + m_space_config("regs", ENDIANNESS_NATIVE, 8, 5, 0, address_map_constructor(FUNC(elan_eu3a05sys_device::map), this)) { } +device_memory_interface::space_config_vector elan_eu3a05sys_device::memory_space_config() const +{ + return space_config_vector { + std::make_pair(0, &m_space_config) + }; +} + +void elan_eu3a05sys_device::map(address_map& map) +{ + elan_eu3a05commonsys_device::map(map); // 00 - 0e + map(0x0f, 0x15).rw(FUNC(elan_eu3a05sys_device::dma_param_r), FUNC(elan_eu3a05sys_device::dma_param_w)); + map(0x16, 0x16).rw(FUNC(elan_eu3a05sys_device::elan_eu3a05_dmatrg_r), FUNC(elan_eu3a05sys_device::elan_eu3a05_dmatrg_w)); +} + void elan_eu3a05sys_device::device_start() { elan_eu3a05commonsys_device::device_start(); |