dst[511-8] = 0;\r
if (dst[strlen(dst)-4] == '.') dst[strlen(dst)-4] = 0;\r
if (ext) strcat(dst, ext);\r
-\r
- printf("romfname_ext: %s\n", dst);\r
}\r
\r
\r
PicoOpt = po_old;\r
\r
if (!(Pico.video.reg[12]&1)) {\r
- vidCpyM2 = vidCpyM2_40col;\r
+ vidCpyM2 = vidCpyM2_32col;\r
clearArea(1);\r
- } else vidCpyM2 = vidCpyM2_32col;\r
+ } else vidCpyM2 = vidCpyM2_40col;\r
\r
vidCpyM2((unsigned char *)gp2x_screen+320*8, framebuff+328*8);\r
vidConvCpyRGB32(localPal, Pico.cram, 0x40);\r
// make save filename\r
saveFname = emu_GetSaveFName(load, sram, state_slot);\r
if (saveFname == NULL) {\r
- strcpy(noticeMsg, load ? "LOAD FAILED (missing file)" : "SAVE FAILED ");\r
- gettimeofday(¬iceMsgTime, 0);\r
+ if (!sram) {\r
+ strcpy(noticeMsg, load ? "LOAD FAILED (missing file)" : "SAVE FAILED ");\r
+ gettimeofday(¬iceMsgTime, 0);\r
+ }\r
return -1;\r
}\r
\r
gp2x_text_out8(tl_x, y, "USA BIOS: %s", b_us); // 0\r
gp2x_text_out8(tl_x, (y+=10), "EUR BIOS: %s", b_eu); // 1\r
gp2x_text_out8(tl_x, (y+=10), "JAP BIOS: %s", b_jp); // 2\r
- gp2x_text_out8(tl_x, (y+=10), "CD LEDs %s", (currentConfig.EmuOpt &0x400)?"ON":"OFF"); // 3\r
- gp2x_text_out8(tl_x, (y+=10), "CDDA audio (using mp3s) %s", (currentConfig.PicoOpt&0x800)?"ON":"OFF"); // 4\r
- gp2x_text_out8(tl_x, (y+=10), "PCM audio %s", (currentConfig.PicoOpt&0x400)?"ON":"OFF"); // 5\r
+ gp2x_text_out8(tl_x, (y+=10), "CD LEDs %s", (currentConfig.EmuOpt &0x0400)?"ON":"OFF"); // 3\r
+ gp2x_text_out8(tl_x, (y+=10), "CDDA audio (using mp3s) %s", (currentConfig.PicoOpt&0x0800)?"ON":"OFF"); // 4\r
+ gp2x_text_out8(tl_x, (y+=10), "PCM audio %s", (currentConfig.PicoOpt&0x0400)?"ON":"OFF"); // 5\r
+ gp2x_text_out8(tl_x, (y+=10), "Better sync (very slow) %s", (currentConfig.PicoOpt&0x2000)?"ON":"OFF"); // 6\r
gp2x_text_out8(tl_x, (y+=10), "Done");\r
\r
// draw cursor\r
\r
static void cd_menu_loop_options(void)\r
{\r
- int menu_sel = 0, menu_sel_max = 6;\r
+ int menu_sel = 0, menu_sel_max = 7;\r
unsigned long inp = 0;\r
char bios_us[32], bios_eu[32], bios_jp[32], *bios, *p;\r
\r
if(inp & GP2X_DOWN) { menu_sel++; if (menu_sel > menu_sel_max) menu_sel = 0; }\r
if((inp& GP2X_B)||(inp&GP2X_LEFT)||(inp&GP2X_RIGHT)) { // toggleable options\r
switch (menu_sel) {\r
- case 3: currentConfig.EmuOpt ^=0x400; break;\r
- case 4: currentConfig.PicoOpt^=0x800; break;\r
- case 5: currentConfig.PicoOpt^=0x400; break;\r
- case 6: return;\r
+ case 3: currentConfig.EmuOpt ^=0x0400; break;\r
+ case 4: currentConfig.PicoOpt^=0x0800; break;\r
+ case 5: currentConfig.PicoOpt^=0x0400; break;\r
+ case 6: currentConfig.PicoOpt^=0x2000; break;\r
+ case 7: return;\r
}\r
}\r
if(inp & (GP2X_X|GP2X_A)) return;\r
{
}
+void gp2x_memcpy_buffers(int buffers, void *data, int offset, int len)
+{
+ memcpy((char *)gp2x_screen + offset, data, len);
+}
+
void gp2x_memcpy_all_buffers(void *data, int offset, int len)
{
memcpy((char *)gp2x_screen + offset, data, len);