summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/scudsp/scudspdasm.c
diff options
context:
space:
mode:
author Angelo Salese <angelosa@users.noreply.github.com>2013-10-08 22:11:05 +0000
committer Angelo Salese <angelosa@users.noreply.github.com>2013-10-08 22:11:05 +0000
commit24ceb025634d786881a25022547110da31519c39 (patch)
treedf8757708739b2ca82c2d762150d7c4ee6b3d3b5 /src/emu/cpu/scudsp/scudspdasm.c
parent6a4a74b2c1445e6ce79418aae80456d25676c9f4 (diff)
Fix DASM
Diffstat (limited to 'src/emu/cpu/scudsp/scudspdasm.c')
-rw-r--r--src/emu/cpu/scudsp/scudspdasm.c28
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;