// bios_help() ?\r
return 0;\r
} else {\r
+ if (PicoMCD & 1) PicoExitMCD();\r
PicoMCD &= ~1;\r
}\r
\r
}\r
}\r
gettimeofday(¬iceMsgTime, 0);\r
-printf("PicoMCD: %x\n", PicoMCD);\r
+\r
// load SRAM for this ROM\r
if(currentConfig.EmuOpt & 1)\r
emu_SaveLoadGame(1, 1);\r
// set default config\r
memset(¤tConfig, 0, sizeof(currentConfig));\r
currentConfig.lastRomFile[0] = 0;\r
- currentConfig.EmuOpt = 0x1f | 0xc00; // | cd_leds | cd_cdda\r
- currentConfig.PicoOpt = 0x0f | 0x200; // | use_940\r
+ currentConfig.EmuOpt = 0x1f | 0x400; // | cd_leds\r
+ currentConfig.PicoOpt = 0x0f | 0xe00; // | use_940 | cd_pcm | cd_cdda\r
currentConfig.PsndRate = 44100;\r
currentConfig.PicoRegion = 0; // auto\r
currentConfig.PicoAutoRgnOrder = 0x184; // US, EU, JP\r
// 8-bit modes\r
unsigned int col_g = (old_reg & 2) ? 0xc0c0c0c0 : 0xe0e0e0e0;\r
unsigned int col_r = (old_reg & 1) ? 0xd0d0d0d0 : 0xe0e0e0e0;\r
- *(unsigned int *)((char *)gp2x_screen + 320*2+306) =\r
- *(unsigned int *)((char *)gp2x_screen + 320*3+306) =\r
- *(unsigned int *)((char *)gp2x_screen + 320*4+306) = col_g;\r
- *(unsigned int *)((char *)gp2x_screen + 320*2+312) =\r
- *(unsigned int *)((char *)gp2x_screen + 320*3+312) =\r
- *(unsigned int *)((char *)gp2x_screen + 320*4+312) = col_r;\r
+ *(unsigned int *)((char *)gp2x_screen + 320*2+ 4) =\r
+ *(unsigned int *)((char *)gp2x_screen + 320*3+ 4) =\r
+ *(unsigned int *)((char *)gp2x_screen + 320*4+ 4) = col_g;\r
+ *(unsigned int *)((char *)gp2x_screen + 320*2+12) =\r
+ *(unsigned int *)((char *)gp2x_screen + 320*3+12) =\r
+ *(unsigned int *)((char *)gp2x_screen + 320*4+12) = col_r;\r
} else {\r
// 16-bit modes\r
- unsigned int *p = (unsigned int *)((short *)gp2x_screen + 320*2+306);\r
+ unsigned int *p = (unsigned int *)((short *)gp2x_screen + 320*2+4);\r
unsigned int col_g = (old_reg & 2) ? 0x06000600 : 0;\r
unsigned int col_r = (old_reg & 1) ? 0xc000c000 : 0;\r
- *p++ = col_g; *p++ = col_g; p++; *p++ = col_r; *p++ = col_r; p += 320/2 - 10/2;\r
- *p++ = col_g; *p++ = col_g; p++; *p++ = col_r; *p++ = col_r; p += 320/2 - 10/2;\r
- *p++ = col_g; *p++ = col_g; p++; *p++ = col_r; *p++ = col_r; p += 320/2 - 10/2;\r
+ *p++ = col_g; *p++ = col_g; p+=2; *p++ = col_r; *p++ = col_r; p += 320/2 - 12/2;\r
+ *p++ = col_g; *p++ = col_g; p+=2; *p++ = col_r; *p++ = col_r; p += 320/2 - 12/2;\r
+ *p++ = col_g; *p++ = col_g; p+=2; *p++ = col_r; *p++ = col_r; p += 320/2 - 12/2;\r
}\r
}\r
\r
return gzwrite(file, p, _n);\r
}\r
\r
-typedef unsigned int (*STATE_SL_FUNC)(void *, unsigned int, unsigned int, void *);\r
\r
int emu_SaveLoadGame(int load, int sram)\r
{\r
areaRead = gzRead2;\r
areaWrite = gzWrite2;\r
areaEof = (areaeof *) gzeof;\r
+ areaSeek = (areaseek *) gzseek;\r
if(!load) gzsetparams(PmovFile, 9, Z_DEFAULT_STRATEGY);\r
} else\r
saveFname[strlen(saveFname)-3] = 0;\r
areaRead = (arearw *) fread;\r
areaWrite = (arearw *) fwrite;\r
areaEof = (areaeof *) feof;\r
+ areaSeek = (areaseek *) fseek;\r
}\r
}\r
if(PmovFile) {\r
- PmovState(load ? 6 : 5, PmovFile);\r
- strcpy(noticeMsg, load ? "GAME LOADED " : "GAME SAVED ");\r
+ ret = PmovState(load ? 6 : 5, PmovFile);\r
if(areaRead == gzRead2)\r
gzclose(PmovFile);\r
else fclose ((FILE *) PmovFile);\r
PmovFile = 0;\r
if (!load) sync();\r
else Pico.m.dirtyPal=1;\r
- } else {\r
+ }\r
+ else ret = -1;\r
+ if (!ret)\r
+ strcpy(noticeMsg, load ? "GAME LOADED " : "GAME SAVED ");\r
+ else\r
+ {\r
strcpy(noticeMsg, load ? "LOAD FAILED " : "SAVE FAILED ");\r
ret = -1;\r
}\r