Beispiel #1
0
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
}
Beispiel #2
0
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);
}