diff options
Diffstat (limited to 'src/devices/cpu/cubeqcpu/cubeqcpu.cpp')
-rw-r--r-- | src/devices/cpu/cubeqcpu/cubeqcpu.cpp | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/src/devices/cpu/cubeqcpu/cubeqcpu.cpp b/src/devices/cpu/cubeqcpu/cubeqcpu.cpp index 9c3652fd40e..f00ed3eefa0 100644 --- a/src/devices/cpu/cubeqcpu/cubeqcpu.cpp +++ b/src/devices/cpu/cubeqcpu/cubeqcpu.cpp @@ -16,6 +16,7 @@ #include "emu.h" #include "debugger.h" #include "cubeqcpu.h" +#include "cubedasm.h" /*************************************************************************** @@ -91,10 +92,9 @@ device_memory_interface::space_config_vector cquestsnd_cpu_device::memory_space_ } -offs_t cquestsnd_cpu_device::disasm_disassemble(std::ostream &stream, offs_t pc, const uint8_t *oprom, const uint8_t *opram, uint32_t options) +util::disasm_interface *cquestsnd_cpu_device::create_disassembler() { - extern CPU_DISASSEMBLE( cquestsnd ); - return CPU_DISASSEMBLE_NAME(cquestsnd)(this, stream, pc, oprom, opram, options); + return new cquestsnd_disassembler; } @@ -112,10 +112,9 @@ READ16_MEMBER( cquestrot_cpu_device::linedata_r ) } -offs_t cquestrot_cpu_device::disasm_disassemble(std::ostream &stream, offs_t pc, const uint8_t *oprom, const uint8_t *opram, uint32_t options) +util::disasm_interface *cquestrot_cpu_device::create_disassembler() { - extern CPU_DISASSEMBLE( cquestrot ); - return CPU_DISASSEMBLE_NAME(cquestrot)(this, stream, pc, oprom, opram, options); + return new cquestsnd_disassembler; } @@ -135,10 +134,9 @@ device_memory_interface::space_config_vector cquestlin_cpu_device::memory_space_ }; } -offs_t cquestlin_cpu_device::disasm_disassemble(std::ostream &stream, offs_t pc, const uint8_t *oprom, const uint8_t *opram, uint32_t options) +util::disasm_interface *cquestlin_cpu_device::create_disassembler() { - extern CPU_DISASSEMBLE( cquestlin ); - return CPU_DISASSEMBLE_NAME(cquestlin)(this, stream, pc, oprom, opram, options); + return new cquestlin_disassembler; } @@ -185,7 +183,7 @@ void cquestsnd_cpu_device::device_start() m_sound_data = (uint16_t*)machine().root_device().memregion(m_sound_region_tag)->base(); m_program = &space(AS_PROGRAM); - m_direct = &m_program->direct(); + m_direct = m_program->direct<-3>(); memset(m_ram, 0, sizeof(m_ram)); m_q = 0; @@ -264,7 +262,7 @@ void cquestrot_cpu_device::device_start() m_linedata_w.resolve_safe(); m_program = &space(AS_PROGRAM); - m_direct = &m_program->direct(); + m_direct = m_program->direct<-3>(); memset(m_ram, 0, sizeof(m_ram)); m_q = 0; @@ -395,7 +393,7 @@ void cquestlin_cpu_device::device_start() m_linedata_r.resolve_safe(0); m_program = &space(AS_PROGRAM); - m_direct = &m_program->direct(); + m_direct = m_program->direct<-3>(); memset(m_ram, 0, sizeof(m_ram)); m_q = 0; @@ -544,7 +542,7 @@ void cquestsnd_cpu_device::execute_run() do { /* Decode the instruction */ - uint64_t inst = m_direct->read_qword(SND_PC << 3); + uint64_t inst = m_direct->read_qword(SND_PC); uint32_t inslow = inst & 0xffffffff; uint32_t inshig = inst >> 32; @@ -800,7 +798,7 @@ void cquestrot_cpu_device::execute_run() do { /* Decode the instruction */ - uint64_t inst = m_direct->read_qword(ROT_PC << 3); + uint64_t inst = m_direct->read_qword(ROT_PC); uint32_t inslow = inst & 0xffffffff; uint32_t inshig = inst >> 32; @@ -1220,7 +1218,7 @@ void cquestlin_cpu_device::execute_run() int prog = (m_clkcnt & 3) ? BACKGROUND : FOREGROUND; m_curpc = LINE_PC; - uint64_t inst = m_direct->read_qword(LINE_PC << 3); + uint64_t inst = m_direct->read_qword(LINE_PC); uint32_t inslow = inst & 0xffffffff; uint32_t inshig = inst >> 32; |