Esempio n. 1
0
        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());
            }
        }
Esempio n. 2
0
            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();
                }
            }
Esempio n. 3
0
        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();
            }
        }
Esempio n. 4
0
            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();
                }
            }