diff options
author | 2008-11-20 09:50:31 +0000 | |
---|---|---|
committer | 2008-11-20 09:50:31 +0000 | |
commit | 371cd0a56d2f7a7ed36dae7ed58e7b3076afa2c9 (patch) | |
tree | fb8824d1049becf4e09145d8d50cf775defa521b /src/emu/cpu/drcbec.c | |
parent | e9b33a8462dd5c6e0f15e4c589db3f96b43f1b4b (diff) |
Another big one.
Moved memory global state into a struct hanging off of the machine.
Updated almost all memory APIs to take an address_space * where
appropriate, and updated all callers. Changed memory internals to
use address spaces where appropriate. Changed accessors to point
to the memory_* functions instead of the address space-specific
functions. Improved internal handling of watchpoints.
Added cputag_* functions: cputag_reset(), cputag_get_index(),
cputag_get_address_space(). These just expand via macros to an
initial fetch of the CPU via cputag_get_cpu() followed by the
standard CPU call.
Added debugger_interrupt_hook() and debugger_exception_hook() calls
which intelligently look at the debugger flags before calling.
Did minimal cleanup of debugger, mainly moving CPU-specific data
to hang off of the CPU classdata for more direct access.
Diffstat (limited to 'src/emu/cpu/drcbec.c')
-rw-r--r-- | src/emu/cpu/drcbec.c | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/src/emu/cpu/drcbec.c b/src/emu/cpu/drcbec.c index 99799e6e739..395edf5bcd2 100644 --- a/src/emu/cpu/drcbec.c +++ b/src/emu/cpu/drcbec.c @@ -754,43 +754,43 @@ static int drcbec_execute(drcbe_state *drcbe, drcuml_codehandle *entry) break; case MAKE_OPCODE_SHORT(DRCUML_OP_READ1, 4, 0): /* READ dst,src1,space_BYTE */ - PARAM0 = (UINT8)(*active_address_space[PARAM2 / 16]->accessors.read_byte)(PARAM1); + PARAM0 = memory_read_byte(active_address_space[PARAM2 / 16], PARAM1); break; case MAKE_OPCODE_SHORT(DRCUML_OP_READ2, 4, 0): /* READ dst,src1,space_WORD */ - PARAM0 = (UINT16)(*active_address_space[PARAM2 / 16]->accessors.read_word)(PARAM1); + PARAM0 = memory_read_word(active_address_space[PARAM2 / 16], PARAM1); break; case MAKE_OPCODE_SHORT(DRCUML_OP_READ4, 4, 0): /* READ dst,src1,space_DWORD */ - PARAM0 = (UINT32)(*active_address_space[PARAM2 / 16]->accessors.read_dword)(PARAM1); + PARAM0 = memory_read_dword(active_address_space[PARAM2 / 16], PARAM1); break; case MAKE_OPCODE_SHORT(DRCUML_OP_READM2, 4, 0): /* READM dst,src1,mask,space_WORD */ - PARAM0 = (UINT16)(*active_address_space[PARAM3 / 16]->accessors.read_word_masked)(PARAM1, PARAM2); + PARAM0 = memory_read_word_masked(active_address_space[PARAM3 / 16], PARAM1, PARAM2); break; case MAKE_OPCODE_SHORT(DRCUML_OP_READM4, 4, 0): /* READM dst,src1,mask,space_DWORD */ - PARAM0 = (UINT32)(*active_address_space[PARAM3 / 16]->accessors.read_dword_masked)(PARAM1, PARAM2); + PARAM0 = memory_read_dword_masked(active_address_space[PARAM3 / 16], PARAM1, PARAM2); break; case MAKE_OPCODE_SHORT(DRCUML_OP_WRITE1, 4, 0): /* WRITE dst,src1,space_BYTE */ - (*active_address_space[PARAM2 / 16]->accessors.write_byte)(PARAM0, PARAM1); + memory_write_byte(active_address_space[PARAM2 / 16], PARAM0, PARAM1); break; case MAKE_OPCODE_SHORT(DRCUML_OP_WRITE2, 4, 0): /* WRITE dst,src1,space_WORD */ - (*active_address_space[PARAM2 / 16]->accessors.write_word)(PARAM0, PARAM1); + memory_write_word(active_address_space[PARAM2 / 16], PARAM0, PARAM1); break; case MAKE_OPCODE_SHORT(DRCUML_OP_WRITE4, 4, 0): /* WRITE dst,src1,space_DWORD */ - (*active_address_space[PARAM2 / 16]->accessors.write_dword)(PARAM0, PARAM1); + memory_write_dword(active_address_space[PARAM2 / 16], PARAM0, PARAM1); break; case MAKE_OPCODE_SHORT(DRCUML_OP_WRITEM2, 4, 0): /* WRITEM dst,src1,mask,space_WORD */ - (*active_address_space[PARAM3 / 16]->accessors.write_word_masked)(PARAM0, PARAM1, PARAM2); + memory_write_word_masked(active_address_space[PARAM3 / 16], PARAM0, PARAM1, PARAM2); break; case MAKE_OPCODE_SHORT(DRCUML_OP_WRITEM4, 4, 0): /* WRITEM dst,src1,mask,space_DWORD */ - (*active_address_space[PARAM3 / 16]->accessors.write_dword_masked)(PARAM0, PARAM1, PARAM2); + memory_write_dword_masked(active_address_space[PARAM3 / 16], PARAM0, PARAM1, PARAM2); break; case MAKE_OPCODE_SHORT(DRCUML_OP_CARRY, 4, 1): /* CARRY src,bitnum */ @@ -1185,59 +1185,59 @@ static int drcbec_execute(drcbe_state *drcbe, drcuml_codehandle *entry) break; case MAKE_OPCODE_SHORT(DRCUML_OP_READ1, 8, 0): /* DREAD dst,src1,space_BYTE */ - DPARAM0 = (UINT8)(*active_address_space[PARAM2 / 16]->accessors.read_byte)(PARAM1); + DPARAM0 = memory_read_byte(active_address_space[PARAM2 / 16], PARAM1); break; case MAKE_OPCODE_SHORT(DRCUML_OP_READ2, 8, 0): /* DREAD dst,src1,space_WORD */ - DPARAM0 = (UINT16)(*active_address_space[PARAM2 / 16]->accessors.read_word)(PARAM1); + DPARAM0 = memory_read_word(active_address_space[PARAM2 / 16], PARAM1); break; case MAKE_OPCODE_SHORT(DRCUML_OP_READ4, 8, 0): /* DREAD dst,src1,space_DWORD */ - DPARAM0 = (UINT32)(*active_address_space[PARAM2 / 16]->accessors.read_dword)(PARAM1); + DPARAM0 = memory_read_dword(active_address_space[PARAM2 / 16], PARAM1); break; case MAKE_OPCODE_SHORT(DRCUML_OP_READ8, 8, 0): /* DREAD dst,src1,space_QOWRD */ - DPARAM0 = (UINT64)(*active_address_space[PARAM2 / 16]->accessors.read_qword)(PARAM1); + DPARAM0 = memory_read_qword(active_address_space[PARAM2 / 16], PARAM1); break; case MAKE_OPCODE_SHORT(DRCUML_OP_READM2, 8, 0): /* DREADM dst,src1,mask,space_WORD */ - DPARAM0 = (UINT16)(*active_address_space[PARAM3 / 16]->accessors.read_word_masked)(PARAM1, PARAM2); + DPARAM0 = memory_read_word_masked(active_address_space[PARAM3 / 16], PARAM1, PARAM2); break; case MAKE_OPCODE_SHORT(DRCUML_OP_READM4, 8, 0): /* DREADM dst,src1,mask,space_DWORD */ - DPARAM0 = (UINT32)(*active_address_space[PARAM3 / 16]->accessors.read_dword_masked)(PARAM1, PARAM2); + DPARAM0 = memory_read_dword_masked(active_address_space[PARAM3 / 16], PARAM1, PARAM2); break; case MAKE_OPCODE_SHORT(DRCUML_OP_READM8, 8, 0): /* DREADM dst,src1,mask,space_QWORD */ - DPARAM0 = (UINT64)(*active_address_space[PARAM3 / 16]->accessors.read_qword_masked)(PARAM1, PARAM2); + DPARAM0 = memory_read_qword_masked(active_address_space[PARAM3 / 16], PARAM1, PARAM2); break; case MAKE_OPCODE_SHORT(DRCUML_OP_WRITE1, 8, 0): /* DWRITE dst,src1,space_BYTE */ - (*active_address_space[PARAM2 / 16]->accessors.write_byte)(PARAM0, PARAM1); + memory_write_byte(active_address_space[PARAM2 / 16], PARAM0, PARAM1); break; case MAKE_OPCODE_SHORT(DRCUML_OP_WRITE2, 8, 0): /* DWRITE dst,src1,space_WORD */ - (*active_address_space[PARAM2 / 16]->accessors.write_word)(PARAM0, PARAM1); + memory_write_word(active_address_space[PARAM2 / 16], PARAM0, PARAM1); break; case MAKE_OPCODE_SHORT(DRCUML_OP_WRITE4, 8, 0): /* DWRITE dst,src1,space_DWORD */ - (*active_address_space[PARAM2 / 16]->accessors.write_dword)(PARAM0, PARAM1); + memory_write_dword(active_address_space[PARAM2 / 16], PARAM0, PARAM1); break; case MAKE_OPCODE_SHORT(DRCUML_OP_WRITE8, 8, 0): /* DWRITE dst,src1,space_QWORD */ - (*active_address_space[PARAM2 / 16]->accessors.write_qword)(PARAM0, DPARAM1); + memory_write_qword(active_address_space[PARAM2 / 16], PARAM0, DPARAM1); break; case MAKE_OPCODE_SHORT(DRCUML_OP_WRITEM2, 8, 0): /* DWRITEM dst,src1,mask,space_WORD */ - (*active_address_space[PARAM3 / 16]->accessors.write_word_masked)(PARAM0, DPARAM1, DPARAM2); + memory_write_word_masked(active_address_space[PARAM3 / 16], PARAM0, DPARAM1, DPARAM2); break; case MAKE_OPCODE_SHORT(DRCUML_OP_WRITEM4, 8, 0): /* DWRITEM dst,src1,mask,space_DWORD */ - (*active_address_space[PARAM3 / 16]->accessors.write_dword_masked)(PARAM0, DPARAM1, DPARAM2); + memory_write_dword_masked(active_address_space[PARAM3 / 16], PARAM0, DPARAM1, DPARAM2); break; case MAKE_OPCODE_SHORT(DRCUML_OP_WRITEM8, 8, 0): /* DWRITEM dst,src1,mask,space_QWORD */ - (*active_address_space[PARAM3 / 16]->accessors.write_qword_masked)(PARAM0, DPARAM1, DPARAM2); + memory_write_qword_masked(active_address_space[PARAM3 / 16], PARAM0, DPARAM1, DPARAM2); break; case MAKE_OPCODE_SHORT(DRCUML_OP_CARRY, 8, 0): /* DCARRY src,bitnum */ @@ -1598,11 +1598,11 @@ static int drcbec_execute(drcbe_state *drcbe, drcuml_codehandle *entry) break; case MAKE_OPCODE_SHORT(DRCUML_OP_FREAD, 4, 0): /* FSREAD dst,src1,space */ - PARAM0 = (UINT32)(*active_address_space[PARAM2]->accessors.read_dword)(PARAM1); + PARAM0 = memory_read_dword(active_address_space[PARAM2], PARAM1); break; case MAKE_OPCODE_SHORT(DRCUML_OP_FWRITE, 4, 0): /* FSWRITE dst,src1,space */ - (*active_address_space[PARAM2]->accessors.write_dword)(PARAM0, PARAM1); + memory_write_dword(active_address_space[PARAM2], PARAM0, PARAM1); break; case MAKE_OPCODE_SHORT(DRCUML_OP_FMOV, 4, 1): /* FSMOV dst,src[,c] */ @@ -1733,11 +1733,11 @@ static int drcbec_execute(drcbe_state *drcbe, drcuml_codehandle *entry) break; case MAKE_OPCODE_SHORT(DRCUML_OP_FREAD, 8, 0): /* FDREAD dst,src1,space */ - DPARAM0 = (UINT64)(*active_address_space[PARAM2]->accessors.read_qword)(PARAM1); + DPARAM0 = memory_read_qword(active_address_space[PARAM2], PARAM1); break; case MAKE_OPCODE_SHORT(DRCUML_OP_FWRITE, 8, 0): /* FDWRITE dst,src1,space */ - (*active_address_space[PARAM2]->accessors.write_qword)(PARAM0, DPARAM1); + memory_write_qword(active_address_space[PARAM2], PARAM0, DPARAM1); break; case MAKE_OPCODE_SHORT(DRCUML_OP_FMOV, 8, 1): /* FDMOV dst,src[,c] */ |