using System.IO; namespace MyNes.Core { [BoardInfo("Unknown", 185)] internal class Mapper185 : Board { private bool lockchr; internal override void HardReset() { base.HardReset(); lockchr = false; } internal override void ReadCHR(ref ushort address, out byte data) { if (!lockchr) { base.ReadCHR(ref address, out data); } else { data = byte.MaxValue; } } internal override void WritePRG(ref ushort address, ref byte data) { lockchr = (data & 0xF) == 0 || data == 19; } internal override void WriteStateData(ref BinaryWriter stream) { base.WriteStateData(ref stream); stream.Write(lockchr); } internal override void ReadStateData(ref BinaryReader stream) { base.ReadStateData(ref stream); lockchr = stream.ReadBoolean(); } } }