X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=main.c;h=bd66c06d01ba05560ab5e705c368c6dceec7c169;hb=ee0a3871f9982215361cd6bb4758eb9a7c7d8413;hp=6e30605eaf00d9fd5b888689cb036ff9fd36c32f;hpb=42c8119010bfc48776e8c82e42cceb06d07c0247;p=gpsp.git diff --git a/main.c b/main.c index 6e30605..bd66c06 100644 --- a/main.c +++ b/main.c @@ -41,13 +41,13 @@ debug_state current_debug_state = RUN; frameskip_type current_frameskip_type = auto_frameskip; u32 global_cycles_per_instruction = 1; u32 random_skip = 0; +u32 fps_debug = 0; #ifdef GP2X_BUILD u32 frameskip_value = 2; u64 frame_count_initial_timestamp = 0; u64 last_frame_interval_timestamp; -u32 gp2x_fps_debug = 0; void gp2x_init(void); void gp2x_quit(void); @@ -197,8 +197,6 @@ int main(int argc, char *argv[]) sceKernelRegisterSubIntrHandler(PSP_VBLANK_INT, 0, vblank_interrupt_handler, NULL); sceKernelEnableSubIntr(PSP_VBLANK_INT, 0); -#elif !defined(GP2X_BUILD) - freopen("CON", "wb", stdout); #endif extern char *cpu_mode_names[]; @@ -326,6 +324,7 @@ int main(int argc, char *argv[]) exit(-1); } + set_clock_speed(); set_gba_resolution(screen_scale); video_resolution_small(); @@ -612,7 +611,7 @@ u32 update_gba() update_gbc_sound(cpu_ticks); - if(gp2x_fps_debug) + if(fps_debug) { char print_buffer[32]; sprintf(print_buffer, "%d (%d)", fps, frames_drawn); @@ -1042,3 +1041,19 @@ void printout(void *str, u32 val) { printf(str, val); } + +void set_clock_speed() +{ + static u32 clock_speed_old = default_clock_speed; + if (clock_speed != clock_speed_old) + { + printf("about to set CPU clock to %iMHz\n", clock_speed); + #ifdef PSP_BUILD + scePowerSetClockFrequency(clock_speed, clock_speed, clock_speed / 2); + #elif defined(GP2X_BUILD) + set_FCLK(clock_speed); + #endif + clock_speed_old = clock_speed; + } +} +