summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/s2650
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2018-05-11 01:12:28 +0900
committer Olivier Galibert <galibert@pobox.com>2018-05-11 18:23:04 +0900
commit4c24f25845f129f77829fc6d8e701a0e3762be80 (patch)
tree9bd0b9d5cf348f95ffa86911b71956fdd7f8b410 /src/devices/cpu/s2650
parentde781d1d84e064956df88bfec929b573d4800789 (diff)
emumem: Rename direct_read_handler to memory_access_cache. Parametrize the template on more information (data width, endianness) to make it possible to turn it into an handler cache eventually, and not just a memory block cache. Make it capable of large and unaligned accesses. [O. Galibert]
Diffstat (limited to 'src/devices/cpu/s2650')
-rw-r--r--src/devices/cpu/s2650/s2650.cpp8
-rw-r--r--src/devices/cpu/s2650/s2650.h2
2 files changed, 5 insertions, 5 deletions
diff --git a/src/devices/cpu/s2650/s2650.cpp b/src/devices/cpu/s2650/s2650.cpp
index 46229053837..0b306682249 100644
--- a/src/devices/cpu/s2650/s2650.cpp
+++ b/src/devices/cpu/s2650/s2650.cpp
@@ -36,7 +36,7 @@ s2650_device::s2650_device(const machine_config &mconfig, const char *tag, devic
, m_sense_handler(*this)
, m_flag_handler(*this), m_intack_handler(*this)
, m_ppc(0), m_page(0), m_iar(0), m_ea(0), m_psl(0), m_psu(0), m_r(0)
- , m_halt(0), m_ir(0), m_irq_state(0), m_icount(0), m_direct(nullptr)
+ , m_halt(0), m_ir(0), m_irq_state(0), m_icount(0), m_cache(nullptr)
, m_debugger_temp(0)
{
memset(m_reg, 0x00, sizeof(m_reg));
@@ -266,7 +266,7 @@ inline int s2650_device::check_irq_line()
***************************************************************/
inline uint8_t s2650_device::ROP()
{
- uint8_t result = m_direct->read_byte(m_page + m_iar);
+ uint8_t result = m_cache->read_byte(m_page + m_iar);
m_iar = (m_iar + 1) & PMSK;
return result;
}
@@ -277,7 +277,7 @@ inline uint8_t s2650_device::ROP()
***************************************************************/
inline uint8_t s2650_device::ARG()
{
- uint8_t result = m_direct->read_byte(m_page + m_iar);
+ uint8_t result = m_cache->read_byte(m_page + m_iar);
m_iar = (m_iar + 1) & PMSK;
return result;
}
@@ -826,7 +826,7 @@ void s2650_device::device_start()
m_flag_handler.resolve_safe();
m_intack_handler.resolve_safe();
- m_direct = space(AS_PROGRAM).direct<0>();
+ m_cache = space(AS_PROGRAM).cache<0, 0, ENDIANNESS_LITTLE>();
save_item(NAME(m_ppc));
save_item(NAME(m_page));
diff --git a/src/devices/cpu/s2650/s2650.h b/src/devices/cpu/s2650/s2650.h
index 1524f1d9e30..fd0a7d29286 100644
--- a/src/devices/cpu/s2650/s2650.h
+++ b/src/devices/cpu/s2650/s2650.h
@@ -95,7 +95,7 @@ private:
uint8_t m_irq_state;
int m_icount;
- direct_read_data<0> *m_direct;
+ memory_access_cache<0, 0, ENDIANNESS_LITTLE> *m_cache;
// For debugger
uint16_t m_debugger_temp;