public void WriteWithRedundancyCheck(int offset, int value, out bool changed) { var shadowRamControl = _state.State.SetMmeShadowRamControlMode; if (shadowRamControl == SetMmeShadowRamControlMode.MethodPassthrough || offset < 0x200) { _state.WriteWithRedundancyCheck(offset, value, out changed); } else if (shadowRamControl == SetMmeShadowRamControlMode.MethodTrack || shadowRamControl == SetMmeShadowRamControlMode.MethodTrackWithFilter) { _shadowState.Write(offset, value); _state.WriteWithRedundancyCheck(offset, value, out changed); } else /* if (shadowRamControl == SetMmeShadowRamControlMode.MethodReplay) */ { Debug.Assert(shadowRamControl == SetMmeShadowRamControlMode.MethodReplay); _state.WriteWithRedundancyCheck(offset, _shadowState.Read(offset), out changed); } }
/// <summary> /// Writes data to the class registers. /// </summary> /// <param name="offset">Register byte offset</param> /// <param name="data">Data to be written</param> public void Write(int offset, int data) => _state.Write(offset, data);
/// <summary> /// Writes data to the class registers. /// </summary> /// <param name="offset">Register byte offset</param> /// <param name="data">Data to be written</param> public override void Write(int offset, int data) => _state.Write(offset, data);