MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / FreezeInternals

Method FreezeInternals

pcsx2/SaveState.cpp:173–288  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

171}
172
173bool SaveStateBase::FreezeInternals(Error* error)
174{
175 // Print this until the MTVU problem in gifPathFreeze is taken care of (rama)
176 if (THREAD_VU1)
177 Console.Warning("MTVU speedhack is enabled, saved states may not be stable");
178
179 if (!vmFreeze())
180 return false;
181
182 // Second Block - Various CPU Registers and States
183 // -----------------------------------------------
184 if (!FreezeTag("cpuRegs"))
185 return false;
186
187 Freeze(cpuRegs); // cpu regs + COP0
188 Freeze(psxRegs); // iop regs
189 Freeze(fpuRegs);
190 Freeze(tlb); // tlbs
191 Freeze(cachedTlbs); // cached tlbs
192 Freeze(AllowParams1); //OSDConfig written (Fast Boot)
193 Freeze(AllowParams2);
194
195 // Third Block - Cycle Timers and Events
196 // -------------------------------------
197 if (!FreezeTag("Cycles"))
198 return false;
199
200 Freeze(EEsCycle);
201 Freeze(EEoCycle);
202 Freeze(nextDeltaCounter);
203 Freeze(nextStartCounter);
204 Freeze(psxNextStartCounter);
205 Freeze(psxNextDeltaCounter);
206
207 // Fourth Block - EE-related systems
208 // ---------------------------------
209 if (!FreezeTag("EE-Subsystems"))
210 return false;
211
212 bool okay = rcntFreeze();
213 okay = okay && memFreeze(error);
214 okay = okay && gsFreeze();
215 okay = okay && vuMicroFreeze();
216 okay = okay && vuJITFreeze();
217 okay = okay && vif0Freeze();
218 okay = okay && vif1Freeze();
219 okay = okay && sifFreeze();
220 okay = okay && ipuFreeze();
221 okay = okay && ipuDmaFreeze();
222 okay = okay && gifFreeze();
223 okay = okay && gifDmaFreeze();
224 okay = okay && sprFreeze();
225 okay = okay && mtvuFreeze();
226 if (!okay)
227 return false;
228
229 // Fifth Block - iop-related systems
230 // ---------------------------------

Callers 2

SaveState_DownloadStateFunction · 0.80

Calls 9

atMethod · 0.80
IsGoodMethod · 0.80
GetPositionMethod · 0.80
WarningMethod · 0.45
sizeMethod · 0.45
valueMethod · 0.45
DoStateMethod · 0.45
dataMethod · 0.45
GetBufferMethod · 0.45

Tested by

no test coverage detected