diff options
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 |
commit | 0242114258b208fa43012518fead95b076e44bf6 (patch) | |
tree | f1e18658851f3edcb0a0fa3515de725e926e5d41 | |
parent | baf66803ca63b8720a99c91a4c21827dc0a0498f (diff) | |
parent | fe7f15971e2e83027a7228a90bcc824065669ea4 (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.cpp | 19 |
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; +} |