summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/dspp/dspp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/dspp/dspp.cpp')
-rw-r--r--src/devices/cpu/dspp/dspp.cpp25
1 files changed, 10 insertions, 15 deletions
diff --git a/src/devices/cpu/dspp/dspp.cpp b/src/devices/cpu/dspp/dspp.cpp
index 44ced48c56c..d4f889df01a 100644
--- a/src/devices/cpu/dspp/dspp.cpp
+++ b/src/devices/cpu/dspp/dspp.cpp
@@ -100,8 +100,6 @@ dspp_device::dspp_device(const machine_config &mconfig, device_type type, const
m_dma_write_handler(*this),
m_code_config("code", ENDIANNESS_BIG, 16, 10, -1, code_map_ctor),
m_data_config("data", ENDIANNESS_BIG, 16, 10, -1, data_map_ctor),
- m_code(nullptr),
- m_data(nullptr),
m_output_fifo_start(0),
m_output_fifo_count(0),
m_dspx_reset(0),
@@ -160,12 +158,9 @@ void dspp_device::device_start()
m_dma_write_handler.resolve_safe();
// Get our address spaces
- m_code = &space(AS_PROGRAM);
- m_data = &space(AS_DATA);
- auto code_cache = m_code->cache<1, -1, ENDIANNESS_BIG>();
- m_code_cache = code_cache;
- m_code16 = [code_cache](offs_t address) -> uint16_t { return code_cache->read_word(address); };
- m_codeptr = [code_cache](offs_t address) -> const void * { return code_cache->read_ptr(address); };
+ space(AS_PROGRAM).cache(m_code_cache);
+ space(AS_PROGRAM).specific(m_code);
+ space(AS_DATA).specific(m_data);
// Register our state for the debugger
state_add(DSPP_PC, "PC", m_core->m_pc);
@@ -369,7 +364,7 @@ inline void dspp_device::update_ticks()
uint16_t dspp_device::read_op(offs_t pc)
{
- return m_code_cache->read_word(pc);
+ return m_code_cache.read_word(pc);
}
@@ -379,7 +374,7 @@ uint16_t dspp_device::read_op(offs_t pc)
inline uint16_t dspp_device::read_data(offs_t addr)
{
- return m_data->read_word(addr);
+ return m_data.read_word(addr);
}
@@ -389,7 +384,7 @@ inline uint16_t dspp_device::read_data(offs_t addr)
inline void dspp_device::write_data(offs_t addr, uint16_t data)
{
- m_data->write_word(addr, data);
+ m_data.write_word(addr, data);
}
@@ -2344,12 +2339,12 @@ READ32_MEMBER( dspp_device::read )
if (offset < 0x1000/4)
{
// 16-bit code memory
- return m_code->read_word(offset);
+ return m_code.read_word(offset);
}
else if (offset >= 0x1000/4 && offset < 0x2000/4)
{
// 16-bit data memory and registers
- return m_data->read_word((offset - 0x1000/4));
+ return m_data.read_word((offset - 0x1000/4));
}
else if(offset >= 0x5000/4 && offset < 0x6000/4)
{
@@ -2505,12 +2500,12 @@ WRITE32_MEMBER( dspp_device::write )
if (offset < 0x1000/4)
{
// 16-bit code memory
- m_code->write_word(offset, data);
+ m_code.write_word(offset, data);
}
else if (offset >= 0x1000/4 && offset < 0x2000/4)
{
// 16-bit data memory and registers
- m_data->write_word((offset - 0x1000/4), data);
+ m_data.write_word((offset - 0x1000/4), data);
}
else if(offset >= 0x5000/4 && offset < 0x6000/4)
{