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

Function UpdateBlockHeader

pcsx2/SPU2/Mixer.cpp:174–189  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

172}
173
174static __forceinline void UpdateBlockHeader(V_Core& thiscore, uint voiceidx)
175{
176 V_Voice& vc(thiscore.Voices[voiceidx]);
177
178 for (int i = 0; i < 2; i++)
179 if (Cores[i].IRQEnable && Cores[i].IRQA == (vc.NextA & 0xFFFF8))
180 SetIrqCall(i);
181
182 s16* memptr = GetMemPtr(vc.NextA & 0xFFFF8);
183 vc.LoopFlags = *memptr >> 8; // grab loop flags from the upper byte.
184
185 if ((vc.LoopFlags & XAFLAG_LOOP_START) && !vc.LoopMode)
186 {
187 vc.LoopStartA = vc.NextA & 0xFFFF8;
188 }
189}
190
191static __forceinline void DecodeSamples(uint coreidx, uint voiceidx)
192{

Callers 1

DecodeSamplesFunction · 0.85

Calls 2

SetIrqCallFunction · 0.85
GetMemPtrFunction · 0.85

Tested by

no test coverage detected