X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=common%2Femu.c;h=117ec6d2f0800ccfb88f82bd42a03d7fc8bcc6ca;hb=a6df06b7633a061862258ec47fa0f6b0efcbe26f;hp=723dfb74050e3d8c79a37a3c72353f694f117925;hpb=11f4e72292ab00c686f2a2288e4f1cda3a0f7abd;p=libpicofe.git diff --git a/common/emu.c b/common/emu.c index 723dfb7..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;