\r
extern void *gp2x_screens[4];\r
\r
-int plat_get_root_dir(char *dst, int len)\r
-{\r
- extern char **g_argv;\r
- int j;\r
-\r
- strncpy(dst, g_argv[0], len);\r
- len -= 32; // reserve\r
- if (len < 0) len = 0;\r
- dst[len] = 0;\r
- for (j = strlen(dst); j > 0; j--)\r
- if (dst[j] == '/') { dst[j+1] = 0; break; }\r
-\r
- return j + 1;\r
-}\r
-\r
\r
static void scaling_update(void)\r
{\r
{\r
gp2x_soc_t soc;\r
\r
- memset(&defaultConfig, 0, sizeof(defaultConfig));\r
- defaultConfig.EmuOpt = 0x9d | EOPT_RAM_TIMINGS|EOPT_CONFIRM_SAVE|EOPT_EN_CD_LEDS;\r
- defaultConfig.s_PicoOpt = 0x0f | POPT_EN_MCD_PCM|POPT_EN_MCD_CDDA|POPT_EN_SVP_DRC|POPT_ACC_SPRITES;\r
- defaultConfig.s_PsndRate = 44100;\r
- defaultConfig.s_PicoRegion = 0; // auto\r
- defaultConfig.s_PicoAutoRgnOrder = 0x184; // US, EU, JP\r
- defaultConfig.s_PicoCDBuffers = 0;\r
- defaultConfig.Frameskip = -1; // auto\r
defaultConfig.CPUclock = default_cpu_clock;\r
- defaultConfig.volume = 50;\r
- defaultConfig.gamma = 100;\r
- defaultConfig.scaling = 0;\r
- defaultConfig.turbo_rate = 15;\r
\r
soc = soc_detect();\r
if (soc == SOCID_MMSP2)\r
defaultConfig.EmuOpt |= EOPT_WIZ_TEAR_FIX|EOPT_SHOW_RTC;\r
}\r
\r
+void pemu_validate_config(void)\r
+{\r
+ gp2x_soc_t soc;\r
+\r
+ soc = soc_detect();\r
+ if (soc != SOCID_MMSP2)\r
+ PicoOpt &= ~POPT_EXT_FM;\r
+ if (soc != SOCID_POLLUX)\r
+ currentConfig.EmuOpt &= ~EOPT_WIZ_TEAR_FIX;\r
+\r
+ if (currentConfig.gamma < 10 || currentConfig.gamma > 300)\r
+ currentConfig.gamma = 100;\r
+\r
+ if (currentConfig.CPUclock < 10 || currentConfig.CPUclock > 1024)\r
+ currentConfig.CPUclock = default_cpu_clock;\r
+}\r
+\r
static void (*osd_text)(int x, int y, const char *text);\r
\r
static void osd_text8(int x, int y, const char *text)\r
}\r
}\r
\r
- if (notice || (emu_opt & 2)) {\r
+ if (notice || (emu_opt & EOPT_SHOW_FPS)) {\r
if (notice)\r
osd_text(4, osd_y, notice);\r
if (emu_opt & 2)\r
osd_text(osd_fps_x, osd_y, fps);\r
}\r
- if ((emu_opt & 0x400) && (PicoAHW & PAHW_MCD))\r
+ if ((PicoAHW & PAHW_MCD) && (emu_opt & EOPT_EN_CD_LEDS))\r
draw_cd_leds();\r
if (PicoAHW & PAHW_PICO)\r
draw_pico_ptr();\r