sdk-core
v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Toggle main menu visibility
Loading...
Searching...
No Matches
alarm.c
Go to the documentation of this file.
1
/*
2
# _____ ___ ____ ___ ____
3
# ____| | ____| | | |____|
4
# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5
#-----------------------------------------------------------------------
6
# Licenced under Academic Free License version 2.0
7
# Review ps2sdk README & LICENSE files for further details.
8
*/
9
17
18
#include <
kernel.h
>
19
#include <
timer.h
>
20
#include <
stdio.h
>
21
22
struct
SyscallData
23
{
24
int
syscall;
25
void
*function;
26
};
27
28
static
const
struct
SyscallData
SysEntry[] = {
29
{0x5A, &kCopy},
30
{0x5B, (
void
*)0x80076000},
31
{0xFC, NULL},
// SetAlarm
32
{0xFD, NULL},
// iSetAlarm
33
{0xFE, NULL},
// ReleaseAlarm
34
{0xFF, NULL},
// iReleaseAlarm
35
{0x12C, NULL},
// Intc12Handler (overwrites INTC 12 handler entry)
36
{0x08, NULL},
// ResumeIntrDispatch (Syscall #8)
37
};
38
39
extern
unsigned
char
srcfile[];
40
extern
unsigned
int
size_srcfile;
41
42
extern
unsigned
char
eenull[];
43
extern
unsigned
int
size_eenull;
44
45
__attribute__
((weak))
46
void
InitAlarm(
void
)
47
{
48
// Only apply the kernel patch if T3 has not already started
49
if
(((*T3_MODE) & 0x100) == 0)
50
{
51
int
i;
52
53
setup(SysEntry[0].syscall, SysEntry[0].function);
54
Copy((
void
*)0x80076000, srcfile, size_srcfile);
55
Copy((
void
*)0x00082000, eenull, size_eenull);
56
FlushCache(0);
57
FlushCache(2);
58
setup(SysEntry[1].syscall, SysEntry[1].function);
59
60
for
(i = 2; i < 8; i++)
61
{
62
setup(SysEntry[i].syscall, GetEntryAddress(SysEntry[i].syscall));
63
}
64
}
65
}
kernel.h
stdio.h
SyscallData
Definition
alarm.c:23
__attribute__
Definition
gif_registers.h:40
timer.h
core
kernel
src
alarm.c
Generated by
1.18.0