void a_hw__init(void) { #if A_PLATFORM_GP2X if(a_file_exists("./mmuhack.o")) { system("/sbin/rmmod mmuhack"); system("/sbin/insmod mmuhack.o"); int mmufd = open("/dev/mmuhack", O_RDWR); if(mmufd >= 0) { close(mmufd); g_mmuHackOn = 1; } } if(a_settings_getInt("app.mhz") > 0) { setCpuSpeed(a_settings_getInt("app.mhz")); } setRamTimings(6, 4, 1, 1, 1, 2, 2); #elif A_PLATFORM_WIZ if(a_file_exists("./mmuhack.ko")) { system("/sbin/rmmod mmuhack"); system("/sbin/insmod mmuhack.ko"); int mmufd = open("/dev/mmuhack", O_RDWR); if(mmufd >= 0) { close(mmufd); g_mmuHackOn = 1; } } #endif #if A_PLATFORM_WIZ || A_PLATFORM_CAANOO g_memfd = open("/dev/mem", O_RDWR); g_memregs = mmap(0, 0x20000, PROT_READ | PROT_WRITE, MAP_SHARED, g_memfd, 0xc0000000); TIMER_REG(0x44) = 0x922; TIMER_REG(0x40) = 0x0c; TIMER_REG(0x08) = 0x6b; #endif }
void a_fps__init(void) { g_idealFps = a_settings_getInt("video.fps"); g_skipFrames = a_settings_getBool("video.fps.skip"); g_skipMax = a_settings_getInt("video.fps.skip.max"); g_timer = NULL; g_frameCounter = 0; g_bufferHead = 0; g_bufferLen = g_idealFps * AVERAGE_WINDOW_SEC; g_fpsBuffer = a_mem_malloc(g_bufferLen * sizeof(uint32_t)); g_maxFpsBuffer = a_mem_malloc(g_bufferLen * sizeof(uint32_t)); g_skipAdjustTimer = a_timer_new(FRAMESKIP_ADJUST_DELAY_SEC * 1000); a_timer_start(g_skipAdjustTimer); g_noSleepTimer = a_timer_new(NO_SLEEP_RESET_SEC * 1000); g_canSleep = true; a_fps__reset(0); }