diff options
Diffstat (limited to 'src/devices/cpu/z180/z180.cpp')
-rw-r--r-- | src/devices/cpu/z180/z180.cpp | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/devices/cpu/z180/z180.cpp b/src/devices/cpu/z180/z180.cpp index a80e4850e29..d28b9f45337 100644 --- a/src/devices/cpu/z180/z180.cpp +++ b/src/devices/cpu/z180/z180.cpp @@ -779,15 +779,19 @@ static std::unique_ptr<uint8_t[]> SZHVC_sub; #include "z180op.hxx" -const address_space_config *z180_device::memory_space_config(address_spacenum spacenum) const +std::vector<std::pair<int, const address_space_config *>> z180_device::memory_space_config() const { - switch(spacenum) - { - case AS_PROGRAM: return &m_program_config; - case AS_IO: return &m_io_config; - case AS_OPCODES: return has_configured_map(AS_OPCODES) ? &m_decrypted_opcodes_config : nullptr; - default: return nullptr; - } + if(has_configured_map(AS_OPCODES)) + return std::vector<std::pair<int, const address_space_config *>> { + std::make_pair(AS_PROGRAM, &m_program_config), + std::make_pair(AS_OPCODES, &m_decrypted_opcodes_config), + std::make_pair(AS_IO, &m_io_config) + }; + else + return std::vector<std::pair<int, const address_space_config *>> { + std::make_pair(AS_PROGRAM, &m_program_config), + std::make_pair(AS_IO, &m_io_config) + }; } uint8_t z180_device::z180_readcontrol(offs_t port) @@ -2548,7 +2552,7 @@ void z180_device::execute_set_input(int irqline, int state) } /* logical to physical address translation */ -bool z180_device::memory_translate(address_spacenum spacenum, int intention, offs_t &address) +bool z180_device::memory_translate(int spacenum, int intention, offs_t &address) { if (spacenum == AS_PROGRAM) { |