X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Fmisc.c;h=9486d23bbf546367c1232812c1ad21e08508d928;hb=f3746eea2d69d08948522600b99388618ec46f1b;hp=8997c0b5aef88f1cf89219647e71fba1d92c6364;hpb=b34d6a805a50ee4a897b0a53bbc0b89e3eb7f72e;p=pcsx_rearmed.git diff --git a/libpcsxcore/misc.c b/libpcsxcore/misc.c index 8997c0b5..9486d23b 100644 --- a/libpcsxcore/misc.c +++ b/libpcsxcore/misc.c @@ -738,6 +738,8 @@ int LoadState(const char *file) { SaveFuncs.read(f, &psxRegs, offsetof(psxRegisters, gteBusyCycle)); psxRegs.gteBusyCycle = psxRegs.cycle; psxRegs.biosBranchCheck = ~0; + psxRegs.gpuIdleAfter = psxRegs.cycle - 1; + HW_GPU_STATUS &= SWAP32(~PSXGPU_nBUSY); psxCpu->Notify(R3000ACPU_NOTIFY_AFTER_LOAD, NULL); @@ -750,8 +752,7 @@ int LoadState(const char *file) { SaveFuncs.read(f, gpufP, sizeof(GPUFreeze_t)); GPU_freeze(0, gpufP); free(gpufP); - if (HW_GPU_STATUS == 0) - HW_GPU_STATUS = SWAP32(GPU_readStatus()); + gpuSyncPluginSR(); // spu SaveFuncs.read(f, &Size, 4); @@ -769,6 +770,7 @@ int LoadState(const char *file) { new_dyna_freeze(f, 0); padFreeze(f, 0); + events_restore(); if (Config.HLE) psxBiosCheckExe(biosBranchCheckOld, 0x60, 1);