void EmuExit() { //RomFree(); free(EmuScreen); EmuScreen=NULL; // Deallocate screen free(framebuff); EmuWidth=EmuHeight=0; PicoExit(); }
void retro_deinit(void) { #ifdef _3DS linearFree(vout_buf); #else free(vout_buf); #endif vout_buf = NULL; PicoExit(); }
void emu_Deinit(void) { // save SRAM if ((currentConfig.EmuOpt & 1) && SRam.changed) { emu_SaveLoadGame(0, 1); SRam.changed = 0; } if (!(currentConfig.EmuOpt & 0x20)) { FILE *f = fopen(PicoConfigFile, "r+b"); if (!f) emu_WriteConfig(0); else { // if we already have config, reload it, except last ROM fseek(f, sizeof(currentConfig.lastRomFile), SEEK_SET); fread(¤tConfig.EmuOpt, 1, sizeof(currentConfig) - sizeof(currentConfig.lastRomFile), f); fseek(f, 0, SEEK_SET); fwrite(¤tConfig, 1, sizeof(currentConfig), f); fflush(f); fclose(f); } } PicoExit(); }