summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/z80/z80.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/z80/z80.cpp')
-rw-r--r--src/devices/cpu/z80/z80.cpp27
1 files changed, 13 insertions, 14 deletions
diff --git a/src/devices/cpu/z80/z80.cpp b/src/devices/cpu/z80/z80.cpp
index 8e1e29a8a1f..7df7eaff074 100644
--- a/src/devices/cpu/z80/z80.cpp
+++ b/src/devices/cpu/z80/z80.cpp
@@ -426,7 +426,7 @@ inline void z80_device::leave_halt()
***************************************************************/
inline uint8_t z80_device::in(uint16_t port)
{
- return m_io->read_byte(port);
+ return m_io.read_byte(port);
}
/***************************************************************
@@ -434,7 +434,7 @@ inline uint8_t z80_device::in(uint16_t port)
***************************************************************/
inline void z80_device::out(uint16_t port, uint8_t value)
{
- m_io->write_byte(port, value);
+ m_io.write_byte(port, value);
}
/***************************************************************
@@ -442,7 +442,7 @@ inline void z80_device::out(uint16_t port, uint8_t value)
***************************************************************/
inline uint8_t z80_device::rm(uint16_t addr)
{
- return m_program->read_byte(addr);
+ return m_data.read_byte(addr);
}
/***************************************************************
@@ -459,7 +459,7 @@ inline void z80_device::rm16(uint16_t addr, PAIR &r)
***************************************************************/
inline void z80_device::wm(uint16_t addr, uint8_t value)
{
- m_program->write_byte(addr, value);
+ m_data.write_byte(addr, value);
}
/***************************************************************
@@ -480,7 +480,7 @@ inline uint8_t z80_device::rop()
{
unsigned pc = PCD;
PC++;
- uint8_t res = m_opcodes_cache->read_byte(pc);
+ uint8_t res = m_opcodes.read_byte(pc);
m_icount -= 2;
m_refresh_cb((m_i << 8) | (m_r2 & 0x80) | ((m_r-1) & 0x7f), 0x00, 0xff);
m_icount += 2;
@@ -497,14 +497,14 @@ inline uint8_t z80_device::arg()
{
unsigned pc = PCD;
PC++;
- return m_cache->read_byte(pc);
+ return m_args.read_byte(pc);
}
inline uint16_t z80_device::arg16()
{
unsigned pc = PCD;
PC += 2;
- return m_cache->read_byte(pc) | (m_cache->read_byte((pc+1)&0xffff) << 8);
+ return m_args.read_word(pc);
}
/***************************************************************
@@ -1956,7 +1956,7 @@ OP(xycb,ff) { A = set(7, rm(m_ea)); wm(m_ea, A); } /* SET 7,A=(XY+o) */
OP(illegal,1) {
logerror("Z80 ill. opcode $%02x $%02x ($%04x)\n",
- m_opcodes_cache->read_byte((PCD-1)&0xffff), m_opcodes_cache->read_byte(PCD), PCD-1);
+ m_opcodes.read_byte((PCD-1)&0xffff), m_opcodes.read_byte(PCD), PCD-1);
}
/**********************************************************
@@ -2544,7 +2544,7 @@ OP(fd,ff) { illegal_1(); op_ff(); } /* DB FD
OP(illegal,2)
{
logerror("Z80 ill. opcode $ed $%02x\n",
- m_opcodes_cache->read_byte((PCD-1)&0xffff));
+ m_opcodes.read_byte((PCD-1)&0xffff));
}
/**********************************************************
@@ -3406,11 +3406,10 @@ void z80_device::device_start()
m_after_ldair = 0;
m_ea = 0;
- m_program = &space(AS_PROGRAM);
- m_opcodes = has_space(AS_OPCODES) ? &space(AS_OPCODES) : m_program;
- m_cache = m_program->cache<0, 0, ENDIANNESS_LITTLE>();
- m_opcodes_cache = m_opcodes->cache<0, 0, ENDIANNESS_LITTLE>();
- m_io = &space(AS_IO);
+ space(AS_PROGRAM).cache(m_args);
+ space(has_space(AS_OPCODES) ? AS_OPCODES : AS_PROGRAM).cache(m_opcodes);
+ space(AS_PROGRAM).specific(m_data);
+ space(AS_IO).specific(m_io);
IX = IY = 0xffff; /* IX and IY are FFFF after a reset! */
F = ZF; /* Zero flag is set */