summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Vas Crabb <cuavas@users.noreply.github.com>2016-10-24 22:37:21 +1100
committer GitHub <noreply@github.com>2016-10-24 22:37:21 +1100
commit0242114258b208fa43012518fead95b076e44bf6 (patch)
treef1e18658851f3edcb0a0fa3515de725e926e5d41
parentbaf66803ca63b8720a99c91a4c21827dc0a0498f (diff)
parentfe7f15971e2e83027a7228a90bcc824065669ea4 (diff)
Merge pull request #1553 from npwoods/dasmstream_alpha8x01
Changed the Alpha 8x01 disassembler to use std::ostream internally
-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;
+}