static int DrawFrame() { if(DEBUG) iprintf("HIT DRAWFRAME\n"); // Now final frame is drawn: PicoScan=EmulateScan; // Setup scanline callback DoFrame(); PicoScan=NULL; pdFrameCount++; return 0; } void EmulateFrame() { if(DEBUG) iprintf("HIT EMULATEFRAME\n"); int i=0,need=0; int time=0,frame=0; if (choosingfile || RomData==NULL) { //iprintf("YOUR ROM DATA IS NULL THAT IS NOT GOOD\n"); // swiDelay(100000); return; } dsFrameCount++; if(dsFrameCount > 59) { FPS = pdFrameCount; pdFrameCount = dsFrameCount = 0; } need = DESIRED_FPS - FPS; iprintf("\x1b[19;0HFPS: %d \n",FPS); iprintf("Need: %d ",need); if(need <= 0) { return; } if (need>MAX_FRAMESKIP) need=MAX_FRAMESKIP; // Limit frame skipping for (i=0;i