public string Save() { using (var writer = new BinaryStateWriter()) { // Header writer.Write(MagicNumber); writer.Write(VersionNumber); // Registers writer.Write(_dcpu16.A); writer.Write(_dcpu16.B); writer.Write(_dcpu16.C); writer.Write(_dcpu16.X); writer.Write(_dcpu16.Y); writer.Write(_dcpu16.Z); writer.Write(_dcpu16.I); writer.Write(_dcpu16.J); writer.Write(_dcpu16.PC); writer.Write(_dcpu16.SP); writer.Write(_dcpu16.EX); writer.Write(_dcpu16.IA); // Memory for (var i = 0; i < MemorySize; i++) { writer.Write(_dcpu16.Memory[i]); } // Flags writer.Write(_dcpu16.IsOnFire); writer.Write(_dcpu16.IsInterruptQueueEnabled); // Interrupts writer.Write(_dcpu16.InterruptQueue.Count); foreach (var interrupt in _dcpu16.InterruptQueue) { writer.Write(interrupt); } return(writer.ToString()); } }
public string Serialize() { using (var writer = new BinaryStateWriter()) { // Header writer.Write(MagicNumber); writer.Write(VersionNumber); // Data writer.Write(_sectors.Count); foreach (var sectorKeyValue in _sectors) { var sectorNumber = sectorKeyValue.Key; var sectorData = sectorKeyValue.Value; writer.Write(sectorNumber); for (var i = 0; i < WordsPerSector; i++) { writer.Write(sectorData[i]); } } return writer.ToString(); } }
public string Save() { using (var writer = new BinaryStateWriter()) { // Header writer.Write(MagicNumber); writer.Write(VersionNumber); // Registers writer.Write(_dcpu16.A); writer.Write(_dcpu16.B); writer.Write(_dcpu16.C); writer.Write(_dcpu16.X); writer.Write(_dcpu16.Y); writer.Write(_dcpu16.Z); writer.Write(_dcpu16.I); writer.Write(_dcpu16.J); writer.Write(_dcpu16.PC); writer.Write(_dcpu16.SP); writer.Write(_dcpu16.EX); writer.Write(_dcpu16.IA); // Memory for (var i = 0; i < MemorySize; i++) { writer.Write(_dcpu16.Memory[i]); } // Flags writer.Write(_dcpu16.IsOnFire); writer.Write(_dcpu16.IsInterruptQueueEnabled); // Interrupts writer.Write(_dcpu16.InterruptQueue.Count); foreach (var interrupt in _dcpu16.InterruptQueue) { writer.Write(interrupt); } return writer.ToString(); } }
public string Serialize() { using (var writer = new BinaryStateWriter()) { // Header writer.Write(MagicNumber); writer.Write(VersionNumber); // Data writer.Write(Data.Length); foreach (var word in Data) { writer.Write(word); } return writer.ToString(); } }