sdk-core v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Loading...
Searching...
No Matches
sifdma.h
Go to the documentation of this file.
1/*
2# _____ ___ ____ ___ ____
3# ____| | ____| | | |____|
4# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5#-----------------------------------------------------------------------
6# Copyright 2001-2004, 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
16
17#ifndef __SIFDMA_H__
18#define __SIFDMA_H__
19
20#include <tamtypes.h>
21
22#define SIF_DMA_INT_I 0x2
23#define SIF_DMA_INT_O 0x4
24
25#define SIF_DMA_ERT 0x40
26
27#define SIF_REG_ID_SYSTEM 0x80000000
28
38
39 // Used with the EE kernel. Not actually physical registers like the above, but are implemented in software.
40 SIF_SYSREG_SUBADDR = SIF_REG_ID_SYSTEM | 0,
41 SIF_SYSREG_MAINADDR,
42 SIF_SYSREG_RPCINIT,
43};
44
45// Status bits for the SM and MS SIF registers
47#define SIF_STAT_SIFINIT 0x10000
49#define SIF_STAT_CMDINIT 0x20000
51#define SIF_STAT_BOOTEND 0x40000
52
53typedef struct t_SifDmaTransfer
54{
55 void *src,
56 *dest;
57 int size;
58 int attr;
59} SifDmaTransfer_t;
60
61#ifdef __cplusplus
62extern "C" {
63#endif
64
65extern int sceSifDmaStat(int trid);
66extern int sceSifSetDma(SifDmaTransfer_t *dmat, int count);
67
68#ifdef __cplusplus
69}
70#endif
71
72// For backwards compatibility
73#define SifDmaStat(...) sceSifDmaStat(__VA_ARGS__)
74#define SifSetDma(...) sceSifSetDma(__VA_ARGS__)
75
76#endif /* __SIFDMA_H__ */
_sif_regs
Definition sifdma.h:29
@ SIF_REG_MAINADDR
Definition sifdma.h:31
@ SIF_REG_SUBADDR
Definition sifdma.h:33
@ SIF_REG_MSFLAG
Definition sifdma.h:35
@ SIF_REG_SMFLAG
Definition sifdma.h:37
u32 count
start sector of fragmented bd/file