summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/machine/6532riot.h
blob: 707263c52993bac77ed7e68e4caf69f8c38e7d15 (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
/***************************************************************************

  RIOT 6532 emulation

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

#ifndef RIOT_6532
#define RIOT_6532

#define	MAX_R6532	8

struct riot6532_interface
{
	read8_handler in_a_func;
	read8_handler in_b_func;
	write8_handler out_a_func;
	write8_handler out_b_func;
	void (*irq_func)(int state);
};

void r6532_set_clock(int which, int clock);
void r6532_reset(int which);
void r6532_config(int which, const struct riot6532_interface* intf);
UINT8 r6532_read(int which, offs_t offset);
void r6532_write(int which, offs_t offset, UINT8 data);
void r6532_set_input_a(int which, UINT8 data);
void r6532_set_input_b(int which, UINT8 data);

/******************* Standard 8-bit CPU interfaces, D0-D7 *******************/

READ8_HANDLER( r6532_0_r );
READ8_HANDLER( r6532_1_r );
READ8_HANDLER( r6532_2_r );
READ8_HANDLER( r6532_3_r );
READ8_HANDLER( r6532_4_r );
READ8_HANDLER( r6532_5_r );
READ8_HANDLER( r6532_6_r );
READ8_HANDLER( r6532_7_r );

WRITE8_HANDLER( r6532_0_w );
WRITE8_HANDLER( r6532_1_w );
WRITE8_HANDLER( r6532_2_w );
WRITE8_HANDLER( r6532_3_w );
WRITE8_HANDLER( r6532_4_w );
WRITE8_HANDLER( r6532_5_w );
WRITE8_HANDLER( r6532_6_w );
WRITE8_HANDLER( r6532_7_w );

/******************* 8-bit A/B port interfaces *******************/

WRITE8_HANDLER( r6532_0_porta_w );
WRITE8_HANDLER( r6532_1_porta_w );
WRITE8_HANDLER( r6532_2_porta_w );
WRITE8_HANDLER( r6532_3_porta_w );
WRITE8_HANDLER( r6532_4_porta_w );
WRITE8_HANDLER( r6532_5_porta_w );
WRITE8_HANDLER( r6532_6_porta_w );
WRITE8_HANDLER( r6532_7_porta_w );

WRITE8_HANDLER( r6532_0_portb_w );
WRITE8_HANDLER( r6532_1_portb_w );
WRITE8_HANDLER( r6532_2_portb_w );
WRITE8_HANDLER( r6532_3_portb_w );
WRITE8_HANDLER( r6532_4_portb_w );
WRITE8_HANDLER( r6532_5_portb_w );
WRITE8_HANDLER( r6532_6_portb_w );
WRITE8_HANDLER( r6532_7_portb_w );

READ8_HANDLER( r6532_0_porta_r );
READ8_HANDLER( r6532_1_porta_r );
READ8_HANDLER( r6532_2_porta_r );
READ8_HANDLER( r6532_3_porta_r );
READ8_HANDLER( r6532_4_porta_r );
READ8_HANDLER( r6532_5_porta_r );
READ8_HANDLER( r6532_6_porta_r );
READ8_HANDLER( r6532_7_porta_r );

READ8_HANDLER( r6532_0_portb_r );
READ8_HANDLER( r6532_1_portb_r );
READ8_HANDLER( r6532_2_portb_r );
READ8_HANDLER( r6532_3_portb_r );
READ8_HANDLER( r6532_4_portb_r );
READ8_HANDLER( r6532_5_portb_r );
READ8_HANDLER( r6532_6_portb_r );
READ8_HANDLER( r6532_7_portb_r );

#endif