void PSP_Shutdown() { // Do nothing if we never inited. if (!pspIsInited && !pspIsIniting && !pspIsQuiting) { return; } #ifndef MOBILE_DEVICE if (g_Config.bFuncHashMap) { MIPSAnalyst::StoreHashMap(); } #endif // Make sure things know right away that PSP memory, etc. is going away. pspIsQuiting = true; if (coreState == CORE_RUNNING) Core_UpdateState(CORE_ERROR); Core_NotifyShutdown(); if (cpuThread != nullptr) { CPU_NextStateNot(CPU_THREAD_NOT_RUNNING, CPU_THREAD_SHUTDOWN); CPU_WaitStatus(cpuThreadReplyCond, &CPU_IsShutdown); delete cpuThread; cpuThread = 0; cpuThreadID = std::thread::id(); } else { CPU_Shutdown(); } GPU_Shutdown(); g_paramSFO.Clear(); host->SetWindowTitle(0); currentMIPS = 0; pspIsInited = false; pspIsIniting = false; pspIsQuiting = false; g_Config.unloadGameConfig(); }
void PSP_Shutdown() { // Do nothing if we never inited. if (!pspIsInited && !pspIsIniting) { return; } #ifndef MOBILE_DEVICE if (g_Config.bFuncHashMap) { MIPSAnalyst::StoreHashMap(); } #endif if (coreState == CORE_RUNNING) Core_UpdateState(CORE_ERROR); Core_NotifyShutdown(); if (cpuThread != NULL) { CPU_NextStateNot(CPU_THREAD_NOT_RUNNING, CPU_THREAD_SHUTDOWN); CPU_WaitStatus(cpuThreadReplyCond, &CPU_IsShutdown); delete cpuThread; cpuThread = 0; } else { CPU_Shutdown(); } GPU_Shutdown(); host->SetWindowTitle(0); currentMIPS = 0; pspIsInited = false; pspIsIniting = false; }
void PSP_Shutdown() { if (coreState == CORE_RUNNING) Core_UpdateState(CORE_ERROR); Core_NotifyShutdown(); if (cpuThread != NULL) { CPU_NextStateNot(CPU_THREAD_NOT_RUNNING, CPU_THREAD_SHUTDOWN); CPU_WaitStatus(cpuThreadReplyCond, &CPU_IsShutdown); delete cpuThread; cpuThread = 0; } else { CPU_Shutdown(); } GPU_Shutdown(); host->SetWindowTitle(0); }
void PSP_Shutdown() { #ifndef USING_GLES2 if (g_Config.bFuncHashMap) { MIPSAnalyst::StoreHashMap(); } #endif if (coreState == CORE_RUNNING) Core_UpdateState(CORE_ERROR); Core_NotifyShutdown(); if (cpuThread != NULL) { CPU_NextStateNot(CPU_THREAD_NOT_RUNNING, CPU_THREAD_SHUTDOWN); CPU_WaitStatus(cpuThreadReplyCond, &CPU_IsShutdown); delete cpuThread; cpuThread = 0; } else { CPU_Shutdown(); } GPU_Shutdown(); host->SetWindowTitle(0); currentMIPS = 0; pspIsInited = false; }
void Core_Stop() { Core_UpdateState(CORE_POWERDOWN); Core_NotifyShutdown(); m_hStepEvent.notify_one(); }