sdk-core
v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Toggle main menu visibility
Loading...
Searching...
No Matches
s_w.c
1
/*
2
# _____ ___ ____ ___ ____
3
# ____| | ____| | | |____|
4
# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5
#-----------------------------------------------------------------------
6
# Copyright ps2dev - http://www.ps2dev.org
7
# Licenced under Academic Free License version 2.0
8
# Review ps2sdk README & LICENSE files for further details.
9
*/
10
11
#include "
libspu2_internal.h
"
12
13
unsigned
int
SpuWrite(u8 *addr,
unsigned
int
size)
14
{
15
unsigned
int
size_tmp;
16
17
size_tmp = size;
18
if
( size > 0x1FAFF0 )
19
size_tmp = 0x1FAFF0;
20
_spu_Fw(addr, size_tmp);
21
if
( !_spu_transferCallback )
22
_spu_inTransfer = 0;
23
return
size_tmp;
24
}
25
26
unsigned
int
SpuAutoDMAWrite(u8 *addr,
unsigned
int
size,
unsigned
int
mode, ...)
27
{
28
#ifdef LIB_1300
29
if
( mode == SPU_AUTODMA_LOOP )
30
size >>= 1;
31
_spu_FwAutoDMA(addr, size, mode);
32
return
size;
33
#else
34
u8 *v6;
35
va_list va;
36
unsigned
int
mode_masked_1;
37
38
va_start(va, mode);
39
v6 = va_arg(va, u8 *);
40
va_end(va);
41
#ifdef LIB_1600
42
mode_masked_1 = mode & 1;
43
#else
44
mode_masked_1 = mode;
45
#endif
46
if
( (mode & SPU_AUTODMA_LOOP) != 0 )
47
size >>= 1;
48
if
( (mode & SPU_AUTODMA_START_ADDR) != 0 )
49
return
_spu_FwAutoDMAfrom(addr, size, mode_masked_1, v6);
50
return
_spu_FwAutoDMA(addr, size, mode_masked_1);
51
#endif
52
}
53
54
int
SpuAutoDMAStop(
void
)
55
{
56
return
_spu_StopAutoDMA();
57
}
58
59
int
SpuAutoDMAGetStatus(
void
)
60
{
61
return
_spu_AutoDMAGetStatus();
62
}
libspu2_internal.h
core
libspu2
src
s_w.c
Generated by
1.18.0