summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/scudsp/scudspdasm.c
blob: 7a42edc99159319110579e4539ad0f3cd907942f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include "emu.h"
#include "debugger.h"
#include "scudsp.h"

CPU_DISASSEMBLE( scudsp )
{
	UINT32 op = oprom[0]<<24|oprom[1]<<16|oprom[2]<<8|oprom[3]<<0;
	unsigned size = 1;
//  const char *sym, *sym2;

	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;
	}

	return size;
}