2006-06-27 21:44:45 +00:00
|
|
|
#ifndef _TIMER_H_
|
|
|
|
#define _TIMER_H_
|
|
|
|
|
|
|
|
#include "Types.h"
|
2008-05-30 00:40:39 +00:00
|
|
|
#include "INTC.h"
|
2006-06-27 21:44:45 +00:00
|
|
|
|
|
|
|
class CTimer
|
|
|
|
{
|
|
|
|
public:
|
2008-05-30 00:40:39 +00:00
|
|
|
enum REGISTERS
|
|
|
|
{
|
|
|
|
T0_COUNT = 0x10000000,
|
|
|
|
T0_MODE = 0x10000010,
|
|
|
|
T0_COMP = 0x10000020,
|
|
|
|
T0_HOLD = 0x10000030,
|
|
|
|
};
|
2006-06-27 21:44:45 +00:00
|
|
|
|
2008-05-30 00:40:39 +00:00
|
|
|
CTimer(CINTC&);
|
|
|
|
virtual ~CTimer();
|
2006-06-27 21:44:45 +00:00
|
|
|
|
2008-05-30 00:40:39 +00:00
|
|
|
void Reset();
|
2006-06-27 21:44:45 +00:00
|
|
|
|
2008-05-30 00:40:39 +00:00
|
|
|
void Count(unsigned int);
|
|
|
|
|
|
|
|
uint32 GetRegister(uint32);
|
|
|
|
void SetRegister(uint32, uint32);
|
2006-06-27 21:44:45 +00:00
|
|
|
|
|
|
|
|
|
|
|
private:
|
2008-05-30 00:40:39 +00:00
|
|
|
void DisassembleGet(uint32);
|
|
|
|
void DisassembleSet(uint32, uint32);
|
|
|
|
|
|
|
|
struct TIMER
|
|
|
|
{
|
|
|
|
uint32 nCOUNT;
|
|
|
|
uint32 nMODE;
|
|
|
|
uint32 nCOMP;
|
|
|
|
uint32 nHOLD;
|
|
|
|
};
|
|
|
|
|
|
|
|
TIMER m_Timer[4];
|
|
|
|
CINTC& m_intc;
|
2006-06-27 21:44:45 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|