summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/z8000/z8000.c
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2010-08-19 16:10:19 +0000
committer Aaron Giles <aaron@aarongiles.com>2010-08-19 16:10:19 +0000
commit621a2faa2a384ccea46ee3630c57961b92070ed7 (patch)
tree960fd0c5fbc1b8fcc3b07ff2cc538048eaa7b9af /src/emu/cpu/z8000/z8000.c
parent9bbc2e2f00ac611c79969db389043cd035e4215d (diff)
Remove final set of legacy inlines from memory.h. Mostly affects CPU
cores, which all now cache a copy of space->direct() and use it for direct accesses.
Diffstat (limited to 'src/emu/cpu/z8000/z8000.c')
-rw-r--r--src/emu/cpu/z8000/z8000.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/emu/cpu/z8000/z8000.c b/src/emu/cpu/z8000/z8000.c
index 5fe5ce86a76..8072c0f5dfa 100644
--- a/src/emu/cpu/z8000/z8000.c
+++ b/src/emu/cpu/z8000/z8000.c
@@ -84,6 +84,7 @@ struct _z8000_state
device_irq_callback irq_callback;
legacy_cpu_device *device;
address_space *program;
+ direct_read_data *direct;
address_space *io;
int icount;
};
@@ -108,7 +109,7 @@ static UINT8 z8000_zsp[256];
INLINE UINT16 RDOP(z8000_state *cpustate)
{
- UINT16 res = memory_decrypted_read_word(cpustate->program, cpustate->pc);
+ UINT16 res = cpustate->direct->read_decrypted_word(cpustate->pc);
cpustate->pc += 2;
return res;
}
@@ -204,7 +205,7 @@ INLINE void WRPORT_W(z8000_state *cpustate, int mode, UINT16 addr, UINT16 value)
INLINE UINT16 fetch(z8000_state *cpustate)
{
- UINT16 data = memory_decrypted_read_word(cpustate->program, cpustate->pc);
+ UINT16 data = cpustate->direct->read_decrypted_word(cpustate->pc);
cpustate->pc+=2;
@@ -365,6 +366,7 @@ static CPU_INIT( z8001 )
cpustate->irq_callback = irqcallback;
cpustate->device = device;
cpustate->program = device->space(AS_PROGRAM);
+ cpustate->direct = &cpustate->program->direct();
cpustate->io = device->space(AS_IO);
/* already initialized? */
@@ -379,6 +381,7 @@ static CPU_INIT( z8002 )
cpustate->irq_callback = irqcallback;
cpustate->device = device;
cpustate->program = device->space(AS_PROGRAM);
+ cpustate->direct = &cpustate->program->direct();
cpustate->io = device->space(AS_IO);
/* already initialized? */
@@ -395,6 +398,7 @@ static CPU_RESET( z8001 )
cpustate->irq_callback = save_irqcallback;
cpustate->device = device;
cpustate->program = device->space(AS_PROGRAM);
+ cpustate->direct = &cpustate->program->direct();
cpustate->io = device->space(AS_IO);
cpustate->fcw = RDMEM_W(cpustate, 2); /* get reset cpustate->fcw */
if(cpustate->fcw & F_SEG)
@@ -416,6 +420,7 @@ static CPU_RESET( z8002 )
cpustate->irq_callback = save_irqcallback;
cpustate->device = device;
cpustate->program = device->space(AS_PROGRAM);
+ cpustate->direct = &cpustate->program->direct();
cpustate->io = device->space(AS_IO);
cpustate->fcw = RDMEM_W(cpustate, 2); /* get reset cpustate->fcw */
cpustate->pc = RDMEM_W(cpustate, 4); /* get reset cpustate->pc */