diff options
Diffstat (limited to 'src/devices/cpu/powerpc')
-rw-r--r-- | src/devices/cpu/powerpc/ppc.h | 2 | ||||
-rw-r--r-- | src/devices/cpu/powerpc/ppc_dasm.cpp | 10 | ||||
-rw-r--r-- | src/devices/cpu/powerpc/ppccom.cpp | 4 |
3 files changed, 4 insertions, 12 deletions
diff --git a/src/devices/cpu/powerpc/ppc.h b/src/devices/cpu/powerpc/ppc.h index 0d20214d47f..c51823fb208 100644 --- a/src/devices/cpu/powerpc/ppc.h +++ b/src/devices/cpu/powerpc/ppc.h @@ -269,7 +269,7 @@ protected: // device_disasm_interface overrides virtual uint32_t disasm_min_opcode_bytes() const override { return 4; } virtual uint32_t disasm_max_opcode_bytes() const override { return 4; } - virtual offs_t disasm_disassemble(char *buffer, offs_t pc, const uint8_t *oprom, const uint8_t *opram, uint32_t options) override; + virtual offs_t disasm_disassemble(std::ostream &stream, offs_t pc, const uint8_t *oprom, const uint8_t *opram, uint32_t options) override; /* exception types */ enum diff --git a/src/devices/cpu/powerpc/ppc_dasm.cpp b/src/devices/cpu/powerpc/ppc_dasm.cpp index 3c067e4a234..77f01f9f552 100644 --- a/src/devices/cpu/powerpc/ppc_dasm.cpp +++ b/src/devices/cpu/powerpc/ppc_dasm.cpp @@ -1169,18 +1169,10 @@ offs_t ppc_dasm_one(std::ostream &stream, uint32_t pc, uint32_t op) return 4 | flags; } -offs_t ppc_dasm_one(char *buffer, uint32_t pc, uint32_t op) -{ - std::ostringstream stream; - offs_t result = ppc_dasm_one(stream, pc, op); - std::string stream_str = stream.str(); - strcpy(buffer, stream_str.c_str()); - return result; -} CPU_DISASSEMBLE( powerpc ) { uint32_t op = *(uint32_t *)oprom; op = big_endianize_int32(op); - return ppc_dasm_one(buffer, pc, op); + return ppc_dasm_one(stream, pc, op); } diff --git a/src/devices/cpu/powerpc/ppccom.cpp b/src/devices/cpu/powerpc/ppccom.cpp index 026f382eabb..2030489da00 100644 --- a/src/devices/cpu/powerpc/ppccom.cpp +++ b/src/devices/cpu/powerpc/ppccom.cpp @@ -1232,11 +1232,11 @@ void ppc_device::device_reset() CPU -------------------------------------------------*/ -offs_t ppc_device::disasm_disassemble(char *buffer, offs_t pc, const uint8_t *oprom, const uint8_t *opram, uint32_t options) +offs_t ppc_device::disasm_disassemble(std::ostream &stream, offs_t pc, const uint8_t *oprom, const uint8_t *opram, uint32_t options) { uint32_t op = *(uint32_t *)oprom; op = big_endianize_int32(op); - return ppc_dasm_one(buffer, pc, op); + return ppc_dasm_one(stream, pc, op); } |