X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=common%2Femu.c;h=117ec6d2f0800ccfb88f82bd42a03d7fc8bcc6ca;hb=60a10527f24efc63bdca6815914a240d706236db;hp=c236778ffa0826c6051b3a0c0f92624c3ae9eb01;hpb=8ede36b95ea08e10f12e67a487c508a0c8993d6c;p=libpicofe.git diff --git a/common/emu.c b/common/emu.c index c236778..117ec6d 100644 --- a/common/emu.c +++ b/common/emu.c @@ -26,7 +26,11 @@ #elif defined(__GIZ__) #include "../gizmondo/giz.h" #define SCREEN_WIDTH 321 - #define SCREEN_BUFFER giz_screen // ? + #define SCREEN_BUFFER giz_screen +#elif defined(PSP) + #include "../psp/psp.h" + #define SCREEN_WIDTH 512 + #define SCREEN_BUFFER psp_screen #endif char *PicoConfigFile = "picoconfig.bin"; @@ -281,7 +285,7 @@ int emu_ReloadRom(void) return 0; } - menu_romload_prepare(used_rom_name); + menu_romload_prepare(used_rom_name); // also CD load if(rom_data) { free(rom_data); @@ -297,7 +301,6 @@ int emu_ReloadRom(void) return 0; } pm_close(rom); - menu_romload_end(); // detect wrong files (Pico crashes on very small files), also see if ROM EP is good if(rom_size <= 0x200 || strncmp((char *)rom_data, "Pico", 4) == 0 || @@ -305,6 +308,7 @@ int emu_ReloadRom(void) if (rom_data) free(rom_data); rom_data = 0; sprintf(menuErrorMsg, "Not a ROM selected."); + menu_romload_end(); return 0; } @@ -317,6 +321,7 @@ int emu_ReloadRom(void) lprintf("PicoCartInsert(%p, %d);\n", rom_data, rom_size); if(PicoCartInsert(rom_data, rom_size)) { sprintf(menuErrorMsg, "Failed to load ROM."); + menu_romload_end(); return 0; } @@ -328,10 +333,13 @@ int emu_ReloadRom(void) if (ret != 0) { sprintf(menuErrorMsg, "Insert_CD() failed, invalid CD image?"); lprintf("%s\n", menuErrorMsg); + menu_romload_end(); return 0; } } + menu_romload_end(); + // emu_ReadConfig() might have messed currentConfig.lastRomFile strncpy(currentConfig.lastRomFile, romFileName, sizeof(currentConfig.lastRomFile)-1); currentConfig.lastRomFile[sizeof(currentConfig.lastRomFile)-1] = 0; @@ -687,7 +695,8 @@ int emu_SaveLoadGame(int load, int sram) lprintf("saveLoad (%i, %i): %s\n", load, sram, saveFname); - if(sram) { + if (sram) + { FILE *sramFile; int sram_size; unsigned char *sram_data; @@ -740,10 +749,11 @@ int emu_SaveLoadGame(int load, int sram) else { void *PmovFile = NULL; - if (strcmp(saveFname + strlen(saveFname) - 3, ".gz") == 0) { + if (strcmp(saveFname + strlen(saveFname) - 3, ".gz") == 0) + { if( (PmovFile = gzopen(saveFname, load ? "rb" : "wb")) ) { emu_setSaveStateCbs(1); - if(!load) gzsetparams(PmovFile, 9, Z_DEFAULT_STRATEGY); + if (!load) gzsetparams(PmovFile, 9, Z_DEFAULT_STRATEGY); } } else