diff options
Diffstat (limited to 'src/emu/cpu/scudsp/scudspdasm.c')
-rw-r--r-- | src/emu/cpu/scudsp/scudspdasm.c | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/src/emu/cpu/scudsp/scudspdasm.c b/src/emu/cpu/scudsp/scudspdasm.c index f2f65b9545d..7a42edc9915 100644 --- a/src/emu/cpu/scudsp/scudspdasm.c +++ b/src/emu/cpu/scudsp/scudspdasm.c @@ -4,12 +4,36 @@ CPU_DISASSEMBLE( scudsp ) { - UINT32 op = oprom[0]; + UINT32 op = oprom[0]<<24|oprom[1]<<16|oprom[2]<<8|oprom[3]<<0; unsigned size = 1; // const char *sym, *sym2; - switch( op ) + switch( op >> 30 ) { + case 0: + sprintf(buffer, "ALU OP"); + break; + case 2: + sprintf(buffer, "MVI"); + break; + case 3: + switch((op >> 28) & 3) + { + case 0: + sprintf(buffer, "DMA"); + break; + case 1: + sprintf(buffer, "JMP"); + break; + case 2: + sprintf(buffer, op & 0x8000000 ? "LPS" : "BTM"); + break; + case 3: + sprintf(buffer, op & 0x8000000 ? "ENDI" : "END"); + break; + } + break; + default: sprintf(buffer, "???"); break; |