#define COLOR_FRAMESKIP_BAR color16(15, 31, 31)
#define COLOR_HELP_TEXT color16(16, 40, 24)
+#ifdef PSP_BUILD
+ #define get_clock_speed() \
+ clock_speed = (clock_speed_number + 1) * 33
+ #define get_clock_speed_number() \
+ clock_speed_number = (clock_speed / 33) - 1
+#elif defined(WIZ_BUILD)
+ #define get_clock_speed() \
+ clock_speed = 300 + (clock_speed_number * 3333) / 100
+ #define get_clock_speed_number() \
+ clock_speed_number = (clock_speed - 300) / 33
+#elif defined(GP2X_BUILD)
+ #define get_clock_speed() \
+ clock_speed = 150 + clock_speed_number * 10
+ #define get_clock_speed_number() \
+ clock_speed_number = (clock_speed - 150) / 10
+#else
+ #define get_clock_speed() 0
+ #define get_clock_speed_number() 0
+#endif
+
+const int
+#ifdef WIZ_BUILD
+ default_clock_speed = 533;
+#elif defined(GP2X_BUILD)
+ default_clock_speed = 200;
+#else
+ default_clock_speed = 333;
+#endif
int sort_function(const void *dest_str_ptr, const void *src_str_ptr)
{
char *dest_str = *((char **)dest_str_ptr);
random_skip = file_options[2] % 2;
clock_speed = file_options[3];
-#ifdef GP2X_BUILD
+#ifdef WIZ_BUILD
+ if(clock_speed > 900)
+ clock_speed = 533;
+#elif defined(GP2X_BUILD)
if(clock_speed >= 300)
clock_speed = 200;
#else
current_frameskip_type = auto_frameskip;
frameskip_value = 4;
- random_skip = 0;
-#ifdef GP2X_BUILD
- clock_speed = 200;
-#else
- clock_speed = 333;
+#ifdef WIZ_BUILD
+ frameskip_value = 1;
#endif
+ random_skip = 0;
+ clock_speed = default_clock_speed;
for(i = 0; i < 10; i++)
{
u32 menu(u16 *original_screen)
{
u32 clock_speed_number;
-#ifdef GP2X_BUILD
- static u32 clock_speed_old = 200;
-#endif
+ static u32 clock_speed_old = default_clock_speed;
u8 print_buffer[81];
u32 _current_option = 0;
gui_action_type gui_action;
void menu_quit()
{
- #ifdef PSP_BUILD
- clock_speed = (clock_speed_number + 1) * 33;
- #elif defined(GP2X_BUILD)
- clock_speed = 150 + clock_speed_number * 10;
- #endif
+ get_clock_speed();
save_config_file();
quit();
}
u8 *scale_options[] =
{
+#ifdef WIZ_BUILD
+ "unscaled 3:2", "scaled 3:2 (slower)"
+#else
"unscaled 3:2", "scaled 3:2", "fullscreen"
#ifdef PSP_BUILD
" 16:9"
+#endif
#endif
};
u8 *update_backup_options[] = { "Exit only", "Automatic" };
-#ifdef GP2X_BUILD
+#ifdef WIZ_BUILD
+ u8 *clock_speed_options[] =
+ {
+ "300MHz", "333MHz", "366MHz", "400MHz", "433MHz",
+ "466MHz", "500MHz", "533MHz", "566MHz", "600MHz",
+ "633MHz", "666MHz", "700MHz", "733MHz", "766MHz",
+ "800MHz", "833MHz", "866MHz", "900MHz"
+ };
+#elif defined(GP2X_BUILD)
u8 *clock_speed_options[] =
{
"150MHz", "160MHz", "170MHz", "180MHz", "190MHz",
menu_option_type graphics_sound_options[] =
{
string_selection_option(NULL, "Display scaling", scale_options,
- (u32 *)(&screen_scale), 3,
+ (u32 *)(&screen_scale),
+#ifdef WIZ_BUILD
+ 2,
+#else
+ 3,
+#endif
#ifndef GP2X_BUILD
"Determines how the GBA screen is resized in relation to the entire\n"
"screen. Select unscaled 3:2 for GBA resolution, scaled 3:2 for GBA\n"
#endif
string_selection_option(NULL, "Frameskip type", frameskip_options,
(u32 *)(¤t_frameskip_type), 3,
- "Determines what kind of frameskipping to use.\n"
#ifndef GP2X_BUILD
+ "Determines what kind of frameskipping to use.\n"
"Frameskipping may improve emulation speed of many games.\n"
+#endif
"Off: Do not skip any frames.\n"
- "Auto: Skip up to N frames (see next option) as needed.\n"
+ "Auto: Skip up to N frames (see next opt) as needed.\n"
"Manual: Always render only 1 out of N + 1 frames."
-#endif
- "", 5),
+ , 5),
numeric_selection_option(NULL, "Frameskip value", &frameskip_value, 100,
#ifndef GP2X_BUILD
"For auto frameskip, determines the maximum number of frames that\n"
&audio_buffer_size_number, 10,
#endif
+#ifdef PSP_BUILD
"Set the size (in bytes) of the audio buffer. Larger values may result\n"
"in slightly better performance at the cost of latency; the lowest\n"
"value will give the most responsive audio.\n"
"This option requires gpSP to be restarted before it will take effect.",
+#else
+ "Set the size (in bytes) of the audio buffer.\n"
+ "This option requires gpSP restart to take effect.",
+#endif
10),
submenu_option(NULL, "Back", "Return to the main menu.", 12)
};
cheat_option(9),
string_selection_option(NULL, "Clock speed",
clock_speed_options, &clock_speed_number,
-#ifdef GP2X_BUILD
- 15,
-#else
- 10,
-#endif
+ sizeof(clock_speed_options) / sizeof(clock_speed_options[0]),
"Change the clock speed of the device. Higher clock\n"
"speed will yield better performance, but will drain\n"
"battery life further.", 11),
gamepad_config_option("Y ", 7),
gamepad_config_option("Left Trigger ", 8),
gamepad_config_option("Right Trigger", 9),
+#ifdef WIZ_BUILD
+ gamepad_config_option("Menu ", 10),
+#else
gamepad_config_option("Start ", 10),
+#endif
gamepad_config_option("Select ", 11),
+#ifndef WIZ_BUILD
gamepad_config_option("Stick Push ", 12),
+#endif
submenu_option(NULL, "Back", "Return to the main menu.", 14)
};
}
}
-#ifdef PSP_BUILD
- clock_speed_number = (clock_speed / 33) - 1;
-#elif defined(GP2X_BUILD)
- clock_speed_number = (clock_speed - 150) / 10;
-#endif
+ get_clock_speed_number();
+ if (clock_speed_number < 0 || clock_speed_number >=
+ sizeof(clock_speed_options) / sizeof(clock_speed_options[0]))
+ {
+ clock_speed = default_clock_speed;
+ get_clock_speed_number();
+ }
video_resolution_large();
set_gba_resolution(screen_scale);
video_resolution_small();
+ get_clock_speed();
+ if (clock_speed != clock_speed_old)
+ {
+ printf("about to set CPU clock to %iMHz\n", clock_speed);
#ifdef PSP_BUILD
- clock_speed = (clock_speed_number + 1) * 33;
scePowerSetClockFrequency(clock_speed, clock_speed, clock_speed / 2);
#elif defined(GP2X_BUILD)
- clock_speed = 150 + clock_speed_number * 10;
- if (clock_speed != clock_speed_old)
- {
- printf("about to set CPU clock to %iMHz\n", clock_speed);
- set_FCLK(clock_speed);
- clock_speed_old = clock_speed;
- }
+ set_FCLK(clock_speed);
#endif
+ clock_speed_old = clock_speed;
+ }
SDL_PauseAudio(0);