diff options
author | 2016-10-23 13:39:34 -0400 | |
---|---|---|
committer | 2016-10-23 13:39:34 -0400 | |
commit | fe7f15971e2e83027a7228a90bcc824065669ea4 (patch) | |
tree | 718c1f7333e53b38fecd51ec7f6cb6950b3de376 /src/devices/cpu/alph8201 | |
parent | 347b8cd92563b2925488098e38ddc79dac07ce89 (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.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; +} |