summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/alph8201
diff options
context:
space:
mode:
author Nathan Woods <npwoods@mess.org>2016-10-23 13:39:34 -0400
committer Nathan Woods <npwoods@mess.org>2016-10-23 13:39:34 -0400
commitfe7f15971e2e83027a7228a90bcc824065669ea4 (patch)
tree718c1f7333e53b38fecd51ec7f6cb6950b3de376 /src/devices/cpu/alph8201
parent347b8cd92563b2925488098e38ddc79dac07ce89 (diff)
Changed the Alpha 8x01 disassembler to use std::ostream internally
Diffstat (limited to 'src/devices/cpu/alph8201')
-rw-r--r--src/devices/cpu/alph8201/8201dasm.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/devices/cpu/alph8201/8201dasm.cpp b/src/devices/cpu/alph8201/8201dasm.cpp
index f8fadecaedb..6ffae084cea 100644
--- a/src/devices/cpu/alph8201/8201dasm.cpp
+++ b/src/devices/cpu/alph8201/8201dasm.cpp
@@ -349,7 +349,7 @@ static void InitDasm8201(void)
OpInizialized = 1;
}
-CPU_DISASSEMBLE( alpha8201 )
+static offs_t internal_disasm_alpha8201(cpu_device *device, std::ostream &stream, offs_t pc, const uint8_t *oprom, const uint8_t *opram, int options)
{
offs_t dasmflags = 0;
int i;
@@ -376,7 +376,7 @@ CPU_DISASSEMBLE( alpha8201 )
if (op == -1)
{
- sprintf(buffer,"db %2.2x",code);
+ util::stream_format(stream, "db %2.2x",code);
return cnt;
}
@@ -391,11 +391,11 @@ CPU_DISASSEMBLE( alpha8201 )
}
if (Op[op].type & 0x02)
- sprintf(buffer, Op[op].fmt,disp,disp);
+ util::stream_format(stream, Op[op].fmt,disp,disp);
else if (Op[op].type & 0x01)
- sprintf(buffer, Op[op].fmt,disp);
+ util::stream_format(stream, Op[op].fmt,disp);
else
- sprintf(buffer, "%s",Op[op].fmt);
+ util::stream_format(stream, "%s",Op[op].fmt);
switch (code)
{
@@ -413,3 +413,12 @@ CPU_DISASSEMBLE( alpha8201 )
return cnt | dasmflags | DASMFLAG_SUPPORTED;
}
+
+CPU_DISASSEMBLE(alpha8201)
+{
+ std::ostringstream stream;
+ offs_t result = internal_disasm_alpha8201(device, stream, pc, oprom, opram, options);
+ std::string stream_str = stream.str();
+ strcpy(buffer, stream_str.c_str());
+ return result;
+}