The if-statement here is to prevent writes from occurring twice in a frame. If the same writes happen twice in a frame, there is a chance that the addresses will not get translated in MMU::WriteToHardware because m_ppc_state.msr.DR == 0. This can also happen for some reads. Not immediately sure how to handle this.