MCPcopy Create free account
hub / github.com/dolphin-emu/dolphin / zeroWriteBackLog

Function zeroWriteBackLog

Source/Core/Core/DSP/DSPIntExtOps.cpp:536–546  ·  view source on GitHub ↗

This function is being called in the main op after all input regs were read and before it writes into any regs. This way we can always use bitwise or to apply the ext command output, because if the main op didn't change the value then 0 | ext output = ext output and if it did then bitwise or is still the right thing to do Only needed for cases when mainop and extended are modifying the same ACC Ga

Source from the content-addressed store, hash-verified

534// Only needed for cases when mainop and extended are modifying the same ACC
535// Games are not doing that + in motorola (similar DSP) dox this is forbidden to do.
536void zeroWriteBackLog()
537{
538#ifdef PRECISE_BACKLOG
539 // always make sure to have an extra entry at the end w/ -1 to avoid
540 // infinitive loops
541 for (int i = 0; writeBackLogIdx[i] != -1; i++)
542 {
543 dsp_op_write_reg(writeBackLogIdx[i], 0);
544 }
545#endif
546}
547
548void zeroWriteBackLogPreserveAcc(u8 acc)
549{

Callers 15

nxFunction · 0.85
srbithFunction · 0.85
clrFunction · 0.85
clrlFunction · 0.85
tstFunction · 0.85
tstaxhFunction · 0.85
cmpFunction · 0.85
cmparFunction · 0.85
addrFunction · 0.85
addaxFunction · 0.85
addFunction · 0.85
addpFunction · 0.85

Calls 1

dsp_op_write_regFunction · 0.70

Tested by

no test coverage detected