diff options
Diffstat (limited to 'src/devices/cpu/z80/z80.cpp')
-rw-r--r-- | src/devices/cpu/z80/z80.cpp | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/devices/cpu/z80/z80.cpp b/src/devices/cpu/z80/z80.cpp index 4be4da50e8c..55c9f33c729 100644 --- a/src/devices/cpu/z80/z80.cpp +++ b/src/devices/cpu/z80/z80.cpp @@ -3707,15 +3707,19 @@ z80_device::z80_device(const machine_config &mconfig, device_type type, const ch { } -const address_space_config *z80_device::memory_space_config(address_spacenum spacenum) 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; - } +std::vector<std::pair<int, const address_space_config *>> z80_device::memory_space_config() const +{ + 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) + }; } DEFINE_DEVICE_TYPE(Z80, z80_device, "z80", "Z80") |