📄 gbatimer.h
字号:
/*************************************************************************** DSemu - The Next Generation ** GBA interval timer: Class definition [gbatimer.h] ** Copyright Imran Nazar, 2005; released under the BSD public licence. ***************************************************************************/#ifndef __GBATIMER_H_#define __GBATIMER_H_#include "defs.h"#include "plgbase.h"#include "plgmmu32.h"#include "plgcpu.h"#include "plggui.h"// Nothing particularly special about this plugin, no specific interface.class gbaTimer : public Plugin { public: gbaTimer(std::string, REQPTR, UNREQPTR); ~gbaTimer(); PLUGININFO *getinfo(); void reset(); void release(); void status(int, int); private: //---Plugin-generic stuff std::string pName, pClass; REQPTR pRequest; UNREQPTR pUnrequest; static PLUGININFO pInfo; static std::string pluginName; // Defintion of an I/O register typedef struct { union { u8 b[4]; u16 h[2]; u32 w; }; } IOREG; static void post(int); static void check(int,int); static void post0(Plugin*); static void post1(Plugin*); static void post2(Plugin*); static void post3(Plugin*); static MMU32Plugin *MMU; static CPUPlugin *CPU; static GUIPlugin *GUI; static gbaTimer *cls; // I/O access handlers static u8 rdB(u32); static u16 rdH(u32); static u32 rdW(u32); static void wrB(u32,u8), wrH(u32,u16), wrW(u32,u32); static IOREG reg[4]; static u16 counter[4]; static u16 limits[4]; static u32 shifts[4]; static u16 oldf[4]; static uint64_t cntTimestamps[4];};#endif//__GBATIMER_H_/*** EOF: gbatimer.h *****************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -