summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/dsp32/dsp32.h
blob: e33110568d83d45ec4c131bdb692264d76525d71 (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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
/***************************************************************************

    dsp32.h
    Interface file for the portable DSP32 emulator.
    Written by Aaron Giles

***************************************************************************/

#pragma once

#ifndef __DSP32_H__
#define _DSP32_H

#include "cpuintrf.h"



/***************************************************************************
    COMPILE-TIME DEFINITIONS
***************************************************************************/



/***************************************************************************
    REGISTER ENUMERATION
***************************************************************************/

enum
{
	/* CAU */
	DSP32_PC=1,
	DSP32_R0,DSP32_R1,DSP32_R2,DSP32_R3,
	DSP32_R4,DSP32_R5,DSP32_R6,DSP32_R7,
	DSP32_R8,DSP32_R9,DSP32_R10,DSP32_R11,
	DSP32_R12,DSP32_R13,DSP32_R14,DSP32_R15,
	DSP32_R16,DSP32_R17,DSP32_R18,DSP32_R19,
	DSP32_R20,DSP32_R21,DSP32_R22,
	DSP32_PIN,DSP32_POUT,DSP32_IVTP,

	/* DAU */
	DSP32_A0,DSP32_A1,DSP32_A2,DSP32_A3,
	DSP32_DAUC,

	/* PIO */
	DSP32_PAR,DSP32_PDR,DSP32_PIR,DSP32_PCR,
	DSP32_EMR,DSP32_ESR,DSP32_PCW,DSP32_PIOP,

	/* SIO */
	DSP32_IBUF,DSP32_ISR,DSP32_OBUF,DSP32_OSR,
	DSP32_IOC
};



/***************************************************************************
    INTERRUPT CONSTANTS
***************************************************************************/

#define DSP32_IRQ0		0		/* IRQ0 */
#define DSP32_IRQ1		1		/* IRQ1 */



/***************************************************************************
    CONFIGURATION
***************************************************************************/

#define DSP32_OUTPUT_PIF		0x01

typedef struct _dsp32_config dsp32_config;
struct _dsp32_config
{
	void	(*output_pins_changed)(UINT32 pins);	/* a change has occurred on an output pin */
};



/***************************************************************************
    PUBLIC FUNCTIONS
***************************************************************************/

extern CPU_GET_INFO( dsp32c );
#define CPU_DSP32C CPU_GET_INFO_NAME( dsp32c )

extern void dsp32c_pio_w(const device_config *device, int reg, int data);
extern int dsp32c_pio_r(const device_config *device, int reg);

#endif /* __DSP32_H__ */