ps2sdk  1.1
A collection of Open Source libraries used for developing applications on Sony's PlayStation 2® (PS2).
timer.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 #ifndef __TIMER_H__
17 #define __TIMER_H__
18 
19 #include <tamtypes.h>
20 
21 // EE Timers
22 #define T0_COUNT ((volatile unsigned int*)0x10000000)
23 #define T0_MODE ((volatile unsigned int*)0x10000010)
24 #define T0_COMP ((volatile unsigned int*)0x10000020)
25 #define T0_HOLD ((volatile unsigned int*)0x10000030)
26 
27 #define T1_COUNT ((volatile unsigned int*)0x10000800)
28 #define T1_MODE ((volatile unsigned int*)0x10000810)
29 #define T1_COMP ((volatile unsigned int*)0x10000820)
30 #define T1_HOLD ((volatile unsigned int*)0x10000830)
31 
32 // Note! T2 and T3 don't have a Tn_HOLD register!
33 // ----------------------------------------------
34 #define T2_COUNT ((volatile unsigned int*)0x10001000)
35 #define T2_MODE ((volatile unsigned int*)0x10001010)
36 #define T2_COMP ((volatile unsigned int*)0x10001020)
37 
38 #define T3_COUNT ((volatile unsigned int*)0x10001800)
39 #define T3_MODE ((volatile unsigned int*)0x10001810)
40 #define T3_COMP ((volatile unsigned int*)0x10001820)
41 
42 #define Tn_MODE(CLKS,GATE,GATS,GATM,ZRET,CUE,CMPE,OVFE,EQUF,OVFF) \
43  (u32)((u32)(CLKS) | ((u32)(GATE) << 2) | \
44  ((u32)(GATS) << 3) | ((u32)(GATM) << 4) | \
45  ((u32)(ZRET) << 6) | ((u32)(CUE) << 7) | \
46  ((u32)(CMPE) << 8) | ((u32)(OVFE) << 9) | \
47  ((u32)(EQUF) << 10) | ((u32)(OVFF) << 11))
48 
49 // Available rates
50 #define kBUSCLK (147456000)
51 #define kBUSCLKBY16 (kBUSCLK / 16)
52 #define kBUSCLKBY256 (kBUSCLK / 256)
53 #define kHBLNK_NTSC (15734)
54 #define kHBLNK_PAL (15625)
55 #define kHBLNK_DTV480p (31469)
56 #define kHBLNK_DTV1080i (33750)
57 
58 #ifdef __cplusplus
59 extern "C" {
60 #endif
61 
62 u32 cpu_ticks(void);
63 
64 #ifdef __cplusplus
65 }
66 #endif
67 
68 #endif /* __TIMER_H__ */
unsigned int u32
Definition: tamtypes.h:30
u32 cpu_ticks(void)