Пример #1
0
        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);
            }
        }
Пример #2
0
 /// <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);
Пример #3
0
 /// <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);