static const char *file_ext[] = { ".gba", ".bin", ".zip", NULL };
static const char *file_ext[] = { ".gba", ".bin", ".zip", NULL };
snprintf(buff, sizeof(buff), "%s" PATH_SEPARATOR "romdir.txt", main_path);
file_open(romdir_file, buff, write);
snprintf(buff, sizeof(buff), "%s" PATH_SEPARATOR "romdir.txt", main_path);
file_open(romdir_file, buff, write);
debug_screen_printl("Sorry, but gpSP requires a Gameboy Advance BIOS ");
debug_screen_printl("image to run correctly. Make sure to get an ");
debug_screen_printl("authentic one, it'll be exactly 16384 bytes large ");
debug_screen_printl("Sorry, but gpSP requires a Gameboy Advance BIOS ");
debug_screen_printl("image to run correctly. Make sure to get an ");
debug_screen_printl("authentic one, it'll be exactly 16384 bytes large ");
fb_wait_vsync();
#elif !defined(GP2X_BUILD) // sleeping on GP2X is a bad idea
delay_us((u64)virtual_frame_count * 50000 / 3 - new_ticks + 2);
fb_wait_vsync();
#elif !defined(GP2X_BUILD) // sleeping on GP2X is a bad idea
delay_us((u64)virtual_frame_count * 50000 / 3 - new_ticks + 2);
char char_buffer[64];
sprintf(char_buffer, "gpSP: %2d (%2d) fps", fps, frames_drawn);
SDL_WM_SetCaption(char_buffer, "gpSP");
char char_buffer[64];
sprintf(char_buffer, "gpSP: %2d (%2d) fps", fps, frames_drawn);
SDL_WM_SetCaption(char_buffer, "gpSP");