summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/sh4/sh4dmac.h
blob: f9f2d4986acf93eb4a902c23757dbc888d1bc323 (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
// license:???
// copyright-holders:???
/* SHA3/4 DMA Controller */

/* bit definitions */
#define CHCR_SSA    0xe0000000
#define CHCR_STC    0x10000000
#define CHCR_DSA    0x0e000000
#define CHCR_DTC    0x01000000
#define CHCR_DS     0x00080000
#define CHCR_RL     0x00040000
#define CHCR_AM     0x00020000
#define CHCR_AL     0x00010000
#define CHCR_DM     0x0000c000
#define CHCR_SM     0x00003000
#define CHCR_RS     0x00000f00
#define CHCR_TM     0x00000080
#define CHCR_TS     0x00000070
#define CHCR_IE     0x00000004
#define CHCR_TE     0x00000002
#define CHCR_DE     0x00000001

#define DMAOR_DDT   0x8000
#define DMAOR_PR    0x0300
#define DMAOR_COD   0x0010
#define DMAOR_AE    0x0004
#define DMAOR_NMIF  0x0002
#define DMAOR_DME   0x0001

TIMER_CALLBACK( sh4_dmac_callback );

void sh4_handle_sar0_addr_w(UINT32 data, UINT32 mem_mask);
void sh4_handle_sar1_addr_w(UINT32 data, UINT32 mem_mask);
void sh4_handle_sar2_addr_w(UINT32 data, UINT32 mem_mask);
void sh4_handle_sar3_addr_w(UINT32 data, UINT32 mem_mask);
void sh4_handle_dar0_addr_w(UINT32 data, UINT32 mem_mask);
void sh4_handle_dar1_addr_w(UINT32 data, UINT32 mem_mask);
void sh4_handle_dar2_addr_w(UINT32 data, UINT32 mem_mask);
void sh4_handle_dar3_addr_w(UINT32 data, UINT32 mem_mask);
void sh4_handle_dmatcr0_addr_w(UINT32 data, UINT32 mem_mask);
void sh4_handle_dmatcr1_addr_w(UINT32 data, UINT32 mem_mask);
void sh4_handle_dmatcr2_addr_w(UINT32 data, UINT32 mem_mask);
void sh4_handle_dmatcr3_addr_w(UINT32 data, UINT32 mem_mask);
void sh4_handle_chcr0_addr_w(UINT32 data, UINT32 mem_mask);
void sh4_handle_chcr1_addr_w(UINT32 data, UINT32 mem_mask);
void sh4_handle_chcr2_addr_w(UINT32 data, UINT32 mem_mask);
void sh4_handle_chcr3_addr_w(UINT32 data, UINT32 mem_mask);
void sh4_handle_dmaor_addr_w(UINT32 data, UINT32 mem_mask);
UINT32 sh4_handle_sar0_addr_r(UINT32 mem_mask);
UINT32 sh4_handle_sar1_addr_r(UINT32 mem_mask);
UINT32 sh4_handle_sar2_addr_r(UINT32 mem_mask);
UINT32 sh4_handle_sar3_addr_r(UINT32 mem_mask);
UINT32 sh4_handle_dar0_addr_r(UINT32 mem_mask);
UINT32 sh4_handle_dar1_addr_r(UINT32 mem_mask);
UINT32 sh4_handle_dar2_addr_r(UINT32 mem_mask);
UINT32 sh4_handle_dar3_addr_r(UINT32 mem_mask);
UINT32 sh4_handle_dmatcr0_addr_r(UINT32 mem_mask);
UINT32 sh4_handle_dmatcr1_addr_r(UINT32 mem_mask);
UINT32 sh4_handle_dmatcr2_addr_r(UINT32 mem_mask);
UINT32 sh4_handle_dmatcr3_addr_r(UINT32 mem_mask);
UINT32 sh4_handle_chcr0_addr_r(UINT32 mem_mask);
UINT32 sh4_handle_chcr1_addr_r(UINT32 mem_mask);
UINT32 sh4_handle_chcr2_addr_r(UINT32 mem_mask);
UINT32 sh4_handle_chcr3_addr_r(UINT32 mem_mask);
UINT32 sh4_handle_dmaor_addr_r(UINT32 mem_mask);