diff options
author | 2010-08-19 16:10:19 +0000 | |
---|---|---|
committer | 2010-08-19 16:10:19 +0000 | |
commit | 621a2faa2a384ccea46ee3630c57961b92070ed7 (patch) | |
tree | 960fd0c5fbc1b8fcc3b07ff2cc538048eaa7b9af /src/emu/cpu/z8000/z8000.c | |
parent | 9bbc2e2f00ac611c79969db389043cd035e4215d (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.c | 9 |
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 */ |