PS2SDK
PS2 Homebrew Libraries
Loading...
Searching...
No Matches
timer.h File Reference
#include <tamtypes.h>
+ Include dependency graph for timer.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define T0_COUNT   ((volatile unsigned int *)0x10000000)
 
#define T0_MODE   ((volatile unsigned int *)0x10000010)
 
#define T0_COMP   ((volatile unsigned int *)0x10000020)
 
#define T0_HOLD   ((volatile unsigned int *)0x10000030)
 
#define T1_COUNT   ((volatile unsigned int *)0x10000800)
 
#define T1_MODE   ((volatile unsigned int *)0x10000810)
 
#define T1_COMP   ((volatile unsigned int *)0x10000820)
 
#define T1_HOLD   ((volatile unsigned int *)0x10000830)
 
#define T2_COUNT   ((volatile unsigned int *)0x10001000)
 
#define T2_MODE   ((volatile unsigned int *)0x10001010)
 
#define T2_COMP   ((volatile unsigned int *)0x10001020)
 
#define T3_COUNT   ((volatile unsigned int *)0x10001800)
 
#define T3_MODE   ((volatile unsigned int *)0x10001810)
 
#define T3_COMP   ((volatile unsigned int *)0x10001820)
 
#define K_T2_COUNT   ((volatile unsigned int *)0xB0001000)
 
#define K_T2_MODE   ((volatile unsigned int *)0xB0001010)
 
#define K_T2_COMP   ((volatile unsigned int *)0xB0001020)
 
#define Tn_MODE(CLKS, GATE, GATS, GATM, ZRET, CUE, CMPE, OVFE, EQUF, OVFF)
 
#define kBUSCLK   (147456000)
 
#define kBUSCLKBY16   (kBUSCLK / 16)
 
#define kBUSCLKBY256   (kBUSCLK / 256)
 
#define kHBLNK_NTSC   (15734)
 
#define kHBLNK_PAL   (15625)
 
#define kHBLNK_DTV480p   (31469)
 
#define kHBLNK_DTV1080i   (33750)
 

Typedefs

typedef u64(* timer_alarm_handler_t) (s32 id, u64 scheduled_time, u64 actual_time, void *arg, void *pc_value)
 

Functions

s32 InitTimer (s32 in_mode)
 
s32 EndTimer (void)
 
s32 GetTimerPreScaleFactor (void)
 
s32 StartTimerSystemTime (void)
 
s32 StopTimerSystemTime (void)
 
void SetNextComp (u64 time)
 
u64 iGetTimerSystemTime (void)
 
u64 GetTimerSystemTime (void)
 
s32 iAllocTimerCounter (void)
 
s32 AllocTimerCounter (void)
 
s32 iFreeTimerCounter (s32 id)
 
s32 FreeTimerCounter (s32 id)
 
s32 iGetTimerUsedUnusedCounters (u32 *used_counters, u32 *unused_counters)
 
s32 GetTimerUsedUnusedCounters (u32 *used_counters, u32 *unused_counters)
 
s32 iStartTimerCounter (s32 id)
 
s32 StartTimerCounter (s32 id)
 
s32 iStopTimerCounter (s32 id)
 
s32 StopTimerCounter (s32 id)
 
u64 SetTimerCount (s32 id, u64 timer_count)
 
u64 iGetTimerBaseTime (s32 id)
 
u64 GetTimerBaseTime (s32 id)
 
u64 iGetTimerCount (s32 id)
 
u64 GetTimerCount (s32 id)
 
s32 iSetTimerHandler (s32 id, u64 scheduled_time, timer_alarm_handler_t callback_handler, void *arg)
 
s32 SetTimerHandler (s32 id, u64 scheduled_time, timer_alarm_handler_t callback_handler, void *arg)
 
void TimerBusClock2USec (u64 clocks, u32 *seconds_result, u32 *microseconds_result)
 
u64 TimerUSec2BusClock (u32 seconds, u32 microseconds)
 
float TimerBusClock2Freq (s64 clocks)
 
u64 TimerFreq2BusClock (float timer_frequency)
 
u32 cpu_ticks (void)
 
static u64 NSec2TimerBusClock (u64 usec)
 
static u64 USec2TimerBusClock (u64 usec)
 
static u64 MSec2TimerBusClock (u64 msec)
 
static u64 Sec2TimerBusClock (u64 sec)
 

Detailed Description

Timer prototypes

Definition in file timer.h.

Macro Definition Documentation

◆ T0_COUNT

#define T0_COUNT   ((volatile unsigned int *)0x10000000)

Definition at line 22 of file timer.h.

◆ T0_MODE

#define T0_MODE   ((volatile unsigned int *)0x10000010)

Definition at line 23 of file timer.h.

◆ T0_COMP

#define T0_COMP   ((volatile unsigned int *)0x10000020)

Definition at line 24 of file timer.h.

◆ T0_HOLD

#define T0_HOLD   ((volatile unsigned int *)0x10000030)

Definition at line 25 of file timer.h.

◆ T1_COUNT

#define T1_COUNT   ((volatile unsigned int *)0x10000800)

Definition at line 27 of file timer.h.

◆ T1_MODE

#define T1_MODE   ((volatile unsigned int *)0x10000810)

Definition at line 28 of file timer.h.

◆ T1_COMP

#define T1_COMP   ((volatile unsigned int *)0x10000820)

Definition at line 29 of file timer.h.

◆ T1_HOLD

#define T1_HOLD   ((volatile unsigned int *)0x10000830)

Definition at line 30 of file timer.h.

◆ T2_COUNT

#define T2_COUNT   ((volatile unsigned int *)0x10001000)

Definition at line 34 of file timer.h.

◆ T2_MODE

#define T2_MODE   ((volatile unsigned int *)0x10001010)

Definition at line 35 of file timer.h.

◆ T2_COMP

#define T2_COMP   ((volatile unsigned int *)0x10001020)

Definition at line 36 of file timer.h.

◆ T3_COUNT

#define T3_COUNT   ((volatile unsigned int *)0x10001800)

Definition at line 38 of file timer.h.

◆ T3_MODE

#define T3_MODE   ((volatile unsigned int *)0x10001810)

Definition at line 39 of file timer.h.

◆ T3_COMP

#define T3_COMP   ((volatile unsigned int *)0x10001820)

Definition at line 40 of file timer.h.

◆ K_T2_COUNT

#define K_T2_COUNT   ((volatile unsigned int *)0xB0001000)

Definition at line 43 of file timer.h.

◆ K_T2_MODE

#define K_T2_MODE   ((volatile unsigned int *)0xB0001010)

Definition at line 44 of file timer.h.

◆ K_T2_COMP

#define K_T2_COMP   ((volatile unsigned int *)0xB0001020)

Definition at line 45 of file timer.h.

◆ Tn_MODE

#define Tn_MODE (   CLKS,
  GATE,
  GATS,
  GATM,
  ZRET,
  CUE,
  CMPE,
  OVFE,
  EQUF,
  OVFF 
)
Value:
(u32)((u32)(CLKS) | ((u32)(GATE) << 2) | \
((u32)(GATS) << 3) | ((u32)(GATM) << 4) | \
((u32)(ZRET) << 6) | ((u32)(CUE) << 7) | \
((u32)(CMPE) << 8) | ((u32)(OVFE) << 9) | \
((u32)(EQUF) << 10) | ((u32)(OVFF) << 11))

Definition at line 47 of file timer.h.

◆ kBUSCLK

#define kBUSCLK   (147456000)

Definition at line 55 of file timer.h.

◆ kBUSCLKBY16

#define kBUSCLKBY16   (kBUSCLK / 16)

Definition at line 56 of file timer.h.

◆ kBUSCLKBY256

#define kBUSCLKBY256   (kBUSCLK / 256)

Definition at line 57 of file timer.h.

◆ kHBLNK_NTSC

#define kHBLNK_NTSC   (15734)

Definition at line 58 of file timer.h.

◆ kHBLNK_PAL

#define kHBLNK_PAL   (15625)

Definition at line 59 of file timer.h.

◆ kHBLNK_DTV480p

#define kHBLNK_DTV480p   (31469)

Definition at line 60 of file timer.h.

◆ kHBLNK_DTV1080i

#define kHBLNK_DTV1080i   (33750)

Definition at line 61 of file timer.h.

Typedef Documentation

◆ timer_alarm_handler_t

typedef u64(* timer_alarm_handler_t) (s32 id, u64 scheduled_time, u64 actual_time, void *arg, void *pc_value)

Definition at line 63 of file timer.h.

Function Documentation

◆ NSec2TimerBusClock()

static u64 NSec2TimerBusClock ( u64  usec)
inlinestatic

Definition at line 101 of file timer.h.

◆ USec2TimerBusClock()

static u64 USec2TimerBusClock ( u64  usec)
inlinestatic

Definition at line 106 of file timer.h.

◆ MSec2TimerBusClock()

static u64 MSec2TimerBusClock ( u64  msec)
inlinestatic

Definition at line 111 of file timer.h.

◆ Sec2TimerBusClock()

static u64 Sec2TimerBusClock ( u64  sec)
inlinestatic

Definition at line 115 of file timer.h.