#include <zlib/zlib.h>\r
\r
#ifndef _DIRENT_HAVE_D_TYPE\r
-#error "need d_type for file browser\r
+#error "need d_type for file browser"\r
#endif\r
\r
extern int mmuhack_status;\r
"???", "???", "???", "PUSH", "???", "???", "???", "???"\r
};\r
\r
-static void menu_darken_bg(void *dst, int pixels, int darker);\r
+void menu_darken_bg(void *dst, int pixels, int darker);\r
static void menu_prepare_bg(int use_game_bg);\r
\r
static unsigned long inp_prev = 0;\r
static int inp_prevjoy = 0;\r
\r
-static unsigned long wait_for_input(unsigned long interesting)\r
+unsigned long wait_for_input(unsigned long interesting)\r
{\r
unsigned long ret;\r
static int repeats = 0, wait = 20;\r
repeats = 0;\r
wait = 20;\r
}\r
- if (wait > 6 && (ret&(GP2X_UP|GP2X_LEFT|GP2X_DOWN|GP2X_RIGHT)))\r
+ if (wait > 6 && (ret&(GP2X_UP|GP2X_LEFT|GP2X_DOWN|GP2X_RIGHT|GP2X_L|GP2X_R)))\r
wait = 6;\r
inp_prev = ret;\r
inp_prevjoy = 0;\r
return ret;\r
}\r
\r
-static void menu_flip(void)\r
+void menu_flip(void)\r
{\r
gp2x_video_flush_cache();\r
gp2x_video_flip2();\r
return ret;\r
}\r
\r
-// ------------ debug menu ------------\r
-\r
-char *debugString(void);\r
-\r
-static void draw_debug(void)\r
-{\r
- char *p, *str = debugString();\r
- int len, line;\r
-\r
- gp2x_pd_clone_buffer2();\r
-\r
- p = str;\r
- for (line = 0; line < 24; line++)\r
- {\r
- while (*p && *p != '\n') p++;\r
- len = p - str;\r
- if (len > 55) len = 55;\r
- smalltext_out16_lim(1, line*10, str, 0xffff, len);\r
- if (*p == 0) break;\r
- p++; str = p;\r
- }\r
- menu_flip();\r
-}\r
-\r
-static void debug_menu_loop(void)\r
-{\r
- draw_debug();\r
- wait_for_input(GP2X_B|GP2X_X);\r
-}\r
-\r
// ------------ patch/gg menu ------------\r
\r
static void draw_patchlist(int sel)\r
areaClose(file);\r
}\r
\r
- emu_forcedFrame();\r
+ emu_forcedFrame(POPT_EN_SOFTSCALE);\r
menu_prepare_bg(1);\r
\r
memcpy(Pico.vram, tmp_vram, sizeof(Pico.vram));\r
{ "craigix's RAM timings", MB_ONOFF, MA_OPT2_RAMTIMINGS, ¤tConfig.EmuOpt, 0x0100, 0, 0, 1, 1 },\r
{ NULL, MB_ONOFF, MA_OPT2_SQUIDGEHACK, ¤tConfig.EmuOpt, 0x0010, 0, 0, 1, 1 },\r
{ "SVP dynarec", MB_ONOFF, MA_OPT2_SVP_DYNAREC, &PicoOpt, 0x20000, 0, 0, 1, 1 },\r
+ { "Disable idle loop patching",MB_ONOFF, MA_OPT2_NO_IDLE_LOOPS, &PicoOpt, 0x80000, 0, 0, 1, 1 },\r
{ "done", MB_NONE, MA_OPT2_DONE, NULL, 0, 0, 0, 1, 0 },\r
};\r
\r
{\r
{ NULL, MB_NONE, MA_OPT_RENDERER, NULL, 0, 0, 0, 1, 1 },\r
{ NULL, MB_RANGE, MA_OPT_SCALING, ¤tConfig.scaling, 0, 0, 3, 1, 1 },\r
- { "Accurate timing (slower)", MB_ONOFF, MA_OPT_ACC_TIMING, &PicoOpt, 0x040, 0, 0, 1, 1 },\r
- { "Accurate sprites (slower)", MB_ONOFF, MA_OPT_ACC_SPRITES, &PicoOpt, 0x080, 0, 0, 1, 1 },\r
+ { "Accurate sprites", MB_ONOFF, MA_OPT_ACC_SPRITES, &PicoOpt, 0x080, 0, 0, 0, 1 },\r
{ "Show FPS", MB_ONOFF, MA_OPT_SHOW_FPS, ¤tConfig.EmuOpt, 0x002, 0, 0, 1, 1 },\r
{ NULL, MB_RANGE, MA_OPT_FRAMESKIP, ¤tConfig.Frameskip, 0, -1, 16, 1, 1 },\r
{ "Enable sound", MB_ONOFF, MA_OPT_ENABLE_SOUND, ¤tConfig.EmuOpt, 0x004, 0, 0, 1, 1 },\r
\r
static void draw_menu_credits(void)\r
{\r
- int tl_x = 15, tl_y = 64, y;\r
+ int tl_x = 15, tl_y = 56, y;\r
gp2x_pd_clone_buffer2();\r
\r
text_out16(tl_x, 20, "PicoDrive v" VERSION " (c) notaz, 2006-2008");\r
text_out16(tl_x, (y+=10), " base code of PicoDrive");\r
text_out16(tl_x, (y+=10), "Reesy & FluBBa: DrZ80 core");\r
text_out16(tl_x, (y+=10), "MAME devs: YM2612 and SN76496 cores");\r
- text_out16(tl_x, (y+=10), "Charles MacDonald: Genesis hw docs");\r
- text_out16(tl_x, (y+=10), "Stephane Dallongeville:");\r
- text_out16(tl_x, (y+=10), " opensource Gens");\r
- text_out16(tl_x, (y+=10), "Haze: Genesis hw info");\r
text_out16(tl_x, (y+=10), "rlyeh and others: minimal SDK");\r
text_out16(tl_x, (y+=10), "Squidge: squidgehack");\r
text_out16(tl_x, (y+=10), "Dzz: ARM940 sample");\r
- text_out16(tl_x, (y+=10), "GnoStiC / Puck2099: USB joystick");\r
+ text_out16(tl_x, (y+=10), "GnoStiC / Puck2099: USB joy code");\r
text_out16(tl_x, (y+=10), "craigix: GP2X hardware");\r
text_out16(tl_x, (y+=10), "ketchupgun: skin design");\r
\r
+ text_out16(tl_x, (y+=20), "special thanks (for docs, ideas):");\r
+ text_out16(tl_x, (y+=10), " Charles MacDonald, Haze,");\r
+ text_out16(tl_x, (y+=10), " Stephane Dallongeville,");\r
+ text_out16(tl_x, (y+=10), " Lordus, Exophase, Rokas,");\r
+ text_out16(tl_x, (y+=10), " Nemesis, Tasco Deluxe");\r
+\r
menu_flip();\r
}\r
\r
}\r
}\r
\r
-static void menu_darken_bg(void *dst, int pixels, int darker)\r
+void menu_darken_bg(void *dst, int pixels, int darker)\r
{\r
unsigned int *screen = dst;\r
pixels /= 2;\r