sgdk
|
00001 00010 #ifndef _SYS_H_ 00011 #define _SYS_H_ 00012 00013 00014 #define PROCESS_PALETTE_FADING (1 << 0) 00015 #define PROCESS_BITMAP_TASK (1 << 1) 00016 #define PROCESS_TILECACHE_TASK (1 << 2) 00017 #define PROCESS_DMA_TASK (1 << 3) 00018 #define PROCESS_XGM_TASK (1 << 4) 00019 00020 00027 extern VoidCallback *busErrorCB; 00034 extern VoidCallback *addressErrorCB; 00041 extern VoidCallback *illegalInstCB; 00048 extern VoidCallback *zeroDivideCB; 00055 extern VoidCallback *chkInstCB; 00062 extern VoidCallback *trapvInstCB; 00069 extern VoidCallback *privilegeViolationCB; 00076 extern VoidCallback *traceCB; 00083 extern VoidCallback *line1x1xCB; 00090 extern VoidCallback *errorExceptionCB; 00097 extern VoidCallback *intCB; 00107 extern VoidCallback *internalVIntCB; 00117 extern VoidCallback *internalHIntCB; 00127 extern VoidCallback *internalExtIntCB; 00128 00129 00137 void SYS_assertReset(); 00144 void SYS_reset(); 00151 void SYS_hardReset(); 00152 00159 u16 SYS_getInterruptMaskLevel(); 00178 void SYS_setInterruptMaskLevel(u16 value); 00179 00198 u16 SYS_getAndSetInterruptMaskLevel(u16 value); 00199 00211 void SYS_disableInts(); 00221 void SYS_enableInts(); 00222 00240 void SYS_setVIntPreCallback(VoidCallback *CB); 00258 void SYS_setVIntCallback(VoidCallback *CB); 00270 void SYS_setHIntCallback(VoidCallback *CB); 00281 void SYS_setExtIntCallback(VoidCallback *CB); 00282 00289 u16 SYS_isInVIntCallback(); 00296 u16 SYS_isInHIntCallback(); 00303 u16 SYS_isInExtIntCallback(); 00310 u16 SYS_isInInterrupt(); 00311 00323 void SYS_setVIntAligned(bool value); 00330 u16 SYS_isVIntAligned(); 00331 00338 u16 SYS_isNTSC(); 00345 u16 SYS_isPAL(); 00346 00354 u32 SYS_getFPS(); 00362 fix32 SYS_getFPSAsFloat(); 00374 u16 SYS_getCPULoad(); 00385 void SYS_showFrameLoad(); 00392 void SYS_hideFrameLoad(); 00401 u32 SYS_getMissedFrames(); 00408 void SYS_resetMissedFrames(); 00409 00417 void SYS_die(char *err); 00418 00419 00420 #endif // _SYS_H_