summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/pace/pace.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/pace/pace.cpp')
-rw-r--r--src/devices/cpu/pace/pace.cpp26
1 files changed, 8 insertions, 18 deletions
diff --git a/src/devices/cpu/pace/pace.cpp b/src/devices/cpu/pace/pace.cpp
index b971edc41fa..2bfba2cc338 100644
--- a/src/devices/cpu/pace/pace.cpp
+++ b/src/devices/cpu/pace/pace.cpp
@@ -65,8 +65,6 @@ ALLOW_SAVE_TYPE(pace_device::cycle);
pace_device::pace_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
: cpu_device(mconfig, type, tag, owner, clock)
, m_space_config("program", ENDIANNESS_LITTLE, 16, 16, -1)
- , m_space(nullptr)
- , m_cache(nullptr)
, m_bps_callback(*this)
, m_jc_callback(*this)
, m_flag_callback(*this)
@@ -132,8 +130,8 @@ void pace_device::device_resolve_objects()
void pace_device::device_start()
{
// get memory spaces
- m_space = &space(AS_PROGRAM);
- m_cache = m_space->cache<1, -1, ENDIANNESS_LITTLE>();
+ space(AS_PROGRAM).cache(m_cache);
+ space(AS_PROGRAM).specific(m_space);
set_icountptr(m_icount);
@@ -542,7 +540,7 @@ void pace_device::read_instruction()
// TODO: interrupt check
m_ppc = m_pc;
debugger_instruction_hook(m_pc);
- m_mdr = m_cache->read_word(m_pc++);
+ m_mdr = m_cache.read_word(m_pc++);
m_cir = m_mdr >> 6;
sign_extend(m_mdr);
}
@@ -583,12 +581,7 @@ void pace_device::read_effective_address()
{
// All opcodes with bit 15 set read from an EA except RTS and non-indirect ST
if (m_cir > 0x200 && (m_cir & 0x3c0) != 0x340)
- {
- if ((m_cir & 0x00c) == 0x004)
- m_mdr = m_cache->read_word(m_mar);
- else
- m_mdr = m_space->read_word(m_mar);
- }
+ m_mdr = m_space.read_word(m_mar);
}
@@ -599,10 +592,7 @@ void pace_device::read_effective_address()
void pace_device::write_effective_address(u16 r)
{
- if ((m_cir & 0x00c) == 0x004)
- m_cache->write_word(m_mar, r);
- else
- m_space->write_word(m_mar, r);
+ m_space.write_word(m_mar, r);
}
@@ -733,7 +723,7 @@ pace_device::cycle pace_device::execute_one()
return cycle::IFETCH_M1;
case cycle::LD_IND_M4:
- m_mdr = m_space->read_word(m_mdr);
+ m_mdr = m_space.read_word(m_mdr);
return cycle::LD_IND_M5;
case cycle::LD_IND_M5:
@@ -745,11 +735,11 @@ pace_device::cycle pace_device::execute_one()
return cycle::IFETCH_M1;
case cycle::ST_IND_M4:
- m_space->write_word(m_mdr, m_ac[0]);
+ m_space.write_word(m_mdr, m_ac[0]);
return cycle::IFETCH_M1;
case cycle::LSEX_M4:
- m_mdr = m_space->read_word(m_mdr);
+ m_mdr = m_space.read_word(m_mdr);
sign_extend(m_mdr);
return cycle::IFETCH_M1;