diff options
Diffstat (limited to 'src/devices/cpu/saturn')
-rw-r--r-- | src/devices/cpu/saturn/satops.ipp | 8 | ||||
-rw-r--r-- | src/devices/cpu/saturn/saturn.cpp | 5 | ||||
-rw-r--r-- | src/devices/cpu/saturn/saturn.h | 4 |
3 files changed, 8 insertions, 9 deletions
diff --git a/src/devices/cpu/saturn/satops.ipp b/src/devices/cpu/saturn/satops.ipp index 87632ca859b..0232f84a9c7 100644 --- a/src/devices/cpu/saturn/satops.ipp +++ b/src/devices/cpu/saturn/satops.ipp @@ -14,7 +14,7 @@ inline int saturn_device::READ_OP() { m_icount-=3; - const uint8_t data=m_cache->read_byte(m_pc); + const uint8_t data=m_cache.read_byte(m_pc); saturn_assert(data<0x10); m_pc=(m_pc+1)&0xfffff; return data; @@ -23,7 +23,7 @@ inline int saturn_device::READ_OP() inline int saturn_device::READ_OP_ARG() { m_icount-=3; - const uint8_t data=m_cache->read_byte(m_pc); + const uint8_t data=m_cache.read_byte(m_pc); saturn_assert(data<0x10); m_pc=(m_pc+1)&0xfffff; return data; @@ -83,7 +83,7 @@ inline int saturn_device::READ_OP_ARG20() inline int saturn_device::READ_NIBBLE(uint32_t adr) { m_icount-=3; - const uint8_t data=m_program->read_byte(adr&0xfffff); + const uint8_t data=m_program.read_byte(adr&0xfffff); saturn_assert(data<0x10); m_crc_func(adr&0xfffff, data, 0xffffffff); return data; @@ -127,7 +127,7 @@ inline void saturn_device::WRITE_NIBBLE(uint32_t adr, uint8_t nib) { m_icount-=3; saturn_assert(nib<0x10); - m_program->write_byte(adr&0xfffff,nib); + m_program.write_byte(adr&0xfffff,nib); } inline int saturn_device::S64_READ_X(int r) diff --git a/src/devices/cpu/saturn/saturn.cpp b/src/devices/cpu/saturn/saturn.cpp index 004c0c09994..c7baae6770f 100644 --- a/src/devices/cpu/saturn/saturn.cpp +++ b/src/devices/cpu/saturn/saturn.cpp @@ -56,7 +56,6 @@ saturn_device::saturn_device(const machine_config &mconfig, const char *tag, dev , m_pc(0), m_oldpc(0), m_p(0), m_out(0), m_carry(0), m_decimal(0), m_st(0), m_hst(0) , m_nmi_state(0), m_irq_state(0), m_irq_enable(0), m_in_irq(0), m_pending_irq(0) , m_sleeping(0), m_monitor_id(0), m_monitor_in(0) - , m_program(nullptr), m_cache(nullptr) , m_icount(0) , m_debugger_temp(0) { @@ -95,8 +94,8 @@ std::unique_ptr<util::disasm_interface> saturn_device::create_disassembler() void saturn_device::device_start() { - m_program = &space(AS_PROGRAM); - m_cache = m_program->cache<0, 0, ENDIANNESS_LITTLE>(); + space(AS_PROGRAM).cache(m_cache); + space(AS_PROGRAM).specific(m_program); m_out_func.resolve_safe(); m_in_func.resolve_safe(0); diff --git a/src/devices/cpu/saturn/saturn.h b/src/devices/cpu/saturn/saturn.h index a50742f7508..5111de6d7ed 100644 --- a/src/devices/cpu/saturn/saturn.h +++ b/src/devices/cpu/saturn/saturn.h @@ -137,8 +137,8 @@ private: uint8_t m_sleeping; /* low-consumption state */ int m_monitor_id; int m_monitor_in; - address_space *m_program; - memory_access_cache<0, 0, ENDIANNESS_LITTLE> *m_cache; + memory_access<20, 0, 0, ENDIANNESS_LITTLE>::cache m_cache; + memory_access<20, 0, 0, ENDIANNESS_LITTLE>::specific m_program; int m_icount; int64_t m_debugger_temp; |