1
/*************************************************************************
5
driver by Samuele Zannoli
7
**************************************************************************/
11
/***************************************************************************
13
***************************************************************************/
15
/* enumeration specifying which model of board we are emulating */
25
/***************************************************************************
27
***************************************************************************/
29
typedef void (*naomibd_interrupt_func)(device_t *device, int state);
31
typedef struct _naomibd_config naomibd_config;
32
struct _naomibd_config
35
const char * regiontag;
36
const char * gdromregiontag;
37
const char * picregiontag;
38
naomibd_interrupt_func interrupt;
43
/***************************************************************************
44
DEVICE CONFIGURATION MACROS
45
***************************************************************************/
47
#define MCFG_NAOMIBD_ADD(_tag, _type) \
48
MCFG_DEVICE_ADD(_tag, NAOMI_BOARD, 0) \
49
MCFG_DEVICE_CONFIG_DATA32(naomibd_config, type, _type)
51
#define MCFG_NAOMI_ROM_BOARD_ADD(_tag, _region) \
52
MCFG_NAOMIBD_ADD(_tag, ROM_BOARD) \
53
MCFG_NAOMIBD_REGION(_region)
55
#define MCFG_AW_ROM_BOARD_ADD(_tag, _region) \
56
MCFG_NAOMIBD_ADD(_tag, AW_ROM_BOARD) \
57
MCFG_NAOMIBD_REGION(_region)
59
#define MCFG_NAOMI_DIMM_BOARD_ADD(_tag, _gdrom, _region, _pic) \
60
MCFG_NAOMIBD_ADD(_tag, DIMM_BOARD) \
61
MCFG_NAOMIBD_REGION(_region) \
62
MCFG_NAOMIBD_GDROM_REGION(_gdrom) \
63
MCFG_NAOMIBD_PIC_REGION(_pic)
65
#define MCFG_NAOMIBD_REGION(_region) \
66
MCFG_DEVICE_CONFIG_DATAPTR(naomibd_config, regiontag, _region)
68
#define MCFG_NAOMIBD_GDROM_REGION(_region) \
69
MCFG_DEVICE_CONFIG_DATAPTR(naomibd_config, gdromregiontag, _region)
71
#define MCFG_NAOMIBD_PIC_REGION(_region) \
72
MCFG_DEVICE_CONFIG_DATAPTR(naomibd_config, picregiontag, _region)
74
#define MCFG_NAOMIBD_MODIFY(_tag) \
75
MCFG_DEVICE_MODIFY(_tag)
77
/*#define MCFG_NAOMIBD_TMU_MEMORY(_tmu, _tmumem) \
78
MCFG_DEVICE_CONFIG_DATA32(naomibd_config, tmumem##_tmu, _tmumem)*/
81
/*----------- defined in machine/naomibd.c -----------*/
83
/***************************************************************************
85
***************************************************************************/
87
int naomibd_interrupt_callback(device_t *device, naomibd_interrupt_func callback);
88
int naomibd_get_type(device_t *device);
89
void *naomibd_get_memory(device_t *device);
90
offs_t naomibd_get_dmaoffset(device_t *device);
92
READ64_DEVICE_HANDLER( naomibd_r );
93
WRITE64_DEVICE_HANDLER( naomibd_w );
95
/* ----- device interface ----- */
97
DECLARE_LEGACY_DEVICE(NAOMI_BOARD, naomibd);