sdk-world
v2026.11.05
PS2 SDK - world tier (copyleft-allowed, non-essential packages)
Toggle main menu visibility
Loading...
Searching...
No Matches
dmaCore.h
Go to the documentation of this file.
1
5
// ____ ___ | / _____ _____
6
// | __ | |___/ | |
7
// |___| ___| | \ __|__ | gsKit Open Source Project.
8
// ----------------------------------------------------------------------
9
// Copyright 2004 - Chris "Neovanglist" Gilbert <Neovanglist@LainOS.org>
10
// Licenced under Academic Free License version 2.0
11
// Review gsKit README & LICENSE files for further details.
12
//
13
// dmaCore.h - Header for dmaCore.c
14
//
15
16
#ifndef __DMACORE_H__
17
#define __DMACORE_H__
18
19
#include "
dmaKit.h
"
20
21
#define DMA_SET_CHCR(DIR,MODE,ASP,TTE,TIE,STR,TAG) \
22
(u32)((DIR) & 0x00000001) << 0 | (u32)((MODE) & 0x00000003) << 2 | \
23
(u32)((ASP) & 0x00000003) << 4 | (u32)((TTE ) & 0x00000001) << 6 | \
24
(u32)((TIE) & 0x00000001) << 7 | (u32)((STR ) & 0x00000001) << 8 | \
25
(u32)((TAG) & 0x0000FFFF) << 16
26
27
#define DMA_SET_MADR(A,B) \
28
(u32)((A) & 0x7FFFFFFF) << 0 | \
29
(u32)((B) & 0x00000001) << 31
30
31
#define DMA_SET_TADR(A,B) \
32
(u32)((A) & 0x7FFFFFFF) << 0 | \
33
(u32)((B) & 0x00000001) << 31
34
35
#define DMA_SET_ASR0(A,B) \
36
(u32)((A) & 0x7FFFFFFF) << 0 | \
37
(u32)((B) & 0x00000001) << 31
38
39
#define DMA_SET_ASR1(A,B) \
40
(u32)((A) & 0x7FFFFFFF) << 0 | \
41
(u32)((B) & 0x00000001) << 31
42
43
#define DMA_SET_SADR(A) \
44
(u32)((A) & 0x00003FFF) << 0
45
46
#define DMA_SET_SIZE(A) \
47
(u32)((A) & 0x0000FFFF) << 0
48
49
#define DMA_MAX_SIZE 0xFFFF
50
51
#define DMA_REFE 0x0
52
#define DMA_CNT 0x1
53
#define DMA_NEXT 0x2
54
#define DMA_REF 0x3
55
#define DMA_REFS 0x4
56
#define DMA_CALL 0x5
57
#define DMA_RET 0x6
58
#define DMA_END 0x7
59
60
#define DMA_TAG(QWC,PCE,ID,IRQ,ADDR,SPR) ( \
61
((u64)(QWC) << 0) | ((u64)(PCE) << 26) | \
62
((u64)(ID) << 28) | ((u64)(IRQ) << 31) | \
63
((u64)(ADDR) << 32) | ((u64)(SPR) << 63))
64
65
#ifdef __cplusplus
66
extern
"C"
{
67
#endif
68
69
74
int
dmaKit_wait
(u16 channel, u32 timeout);
75
80
void
dmaKit_wait_fast
(
void
);
81
84
void
dmaKit_send
(u16 channel,
void
*data, u32 size);
85
88
void
dmaKit_send_ucab
(u16 channel,
void
*data, u32 size);
89
92
void
dmaKit_send_spr
(u16 channel,
void
*data, u32 size);
93
96
void
dmaKit_send_chain
(u16 channel,
void
*data, u32 size);
97
100
void
dmaKit_send_chain_ucab
(u16 channel,
void
*data);
101
104
void
dmaKit_send_chain_spr
(u16 channel,
void
*data);
105
109
void
dmaKit_get_spr
(u16 channel,
void
*data,
void
*dest, u32 size);
110
111
#ifdef __cplusplus
112
}
113
#endif
114
115
#endif
/* __DMACORE_H__ */
dmaKit_wait_fast
void dmaKit_wait_fast(void)
Definition
dmaCore.c:45
dmaKit_send
void dmaKit_send(u16 channel, void *data, u32 size)
Definition
dmaCore.c:56
dmaKit_get_spr
void dmaKit_get_spr(u16 channel, void *data, void *dest, u32 size)
Definition
dmaCore.c:214
dmaKit_send_ucab
void dmaKit_send_ucab(u16 channel, void *data, u32 size)
Definition
dmaCore.c:84
dmaKit_send_chain_spr
void dmaKit_send_chain_spr(u16 channel, void *data)
Definition
dmaCore.c:189
dmaKit_send_chain
void dmaKit_send_chain(u16 channel, void *data, u32 size)
Definition
dmaCore.c:135
dmaKit_send_spr
void dmaKit_send_spr(u16 channel, void *data, u32 size)
Definition
dmaCore.c:110
dmaKit_wait
int dmaKit_wait(u16 channel, u32 timeout)
Definition
dmaCore.c:19
dmaKit_send_chain_ucab
void dmaKit_send_chain_ucab(u16 channel, void *data)
Definition
dmaCore.c:163
dmaKit.h
dmakit
include
dmaCore.h
Generated by
1.18.0