예제 #1
0
        public virtual void ReadDeviceState(C64Interfaces.IFile stateFile)
        {
            _state.A.Value = stateFile.ReadByte();
            _state.X.Value = stateFile.ReadByte();
            _state.Y.Value = stateFile.ReadByte();
            _state.PC.Value = stateFile.ReadWord();
            _state.S.Value = stateFile.ReadWord();
            _state.P.Value = stateFile.ReadByte();

            _opcode = stateFile.ReadByte();
            _result = stateFile.ReadByte();

            _target = TargetFactory.ReadTargetFromStateFile(this, stateFile);

            _irq.ReadDeviceState(stateFile);
            _nmi.ReadDeviceState(stateFile);
        }
예제 #2
0
 public ReadableTarget(MOS6502 cpu, C64Interfaces.IFile stateFile)
     : this(cpu, stateFile.ReadWord())
 {
     _part = stateFile.ReadByte();
 }
예제 #3
0
 public InterruptOp(MOS6502 cpu, C64Interfaces.IFile stateFile)
     : this(cpu, stateFile.ReadWord())
 {
     _readBuffer = stateFile.ReadByte();
 }
예제 #4
0
 public IndirectTarget(MOS6502 cpu, C64Interfaces.IFile stateFile)
     : base(cpu, stateFile)
 {
     _tempAddress = stateFile.ReadWord();
     _tempPart = stateFile.ReadByte();
 }
예제 #5
0
            public void ReadDeviceState(C64Interfaces.IFile stateFile)
            {
                _controlReg = stateFile.ReadByte();
                _active = stateFile.ReadBool();
                _mode = stateFile.ReadByte();
                _oneTime = stateFile.ReadBool();

                _output = stateFile.ReadBool();
                _pulsing = stateFile.ReadBool();
                _pulsed = stateFile.ReadBool();

                _current = stateFile.ReadWord();
                _latch = stateFile.ReadWord();
            }
예제 #6
0
        public void ReadDeviceState(C64Interfaces.IFile stateFile)
        {
            _portA.ReadDeviceState(stateFile);
            _portB.ReadDeviceState(stateFile);

            _latchPortA = stateFile.ReadBool();
            _latchedValueA = stateFile.ReadByte();
            _ca1 = stateFile.ReadBool();
            _ca2 = stateFile.ReadBool();
            _latchPortB = stateFile.ReadBool();
            _latchedValueB = stateFile.ReadByte();
            _cb1 = stateFile.ReadBool();
            _pulseCA2 = stateFile.ReadBool();
            _cb2 = stateFile.ReadBool();
            _pulseCB2 = stateFile.ReadBool();

            _t1Counter = stateFile.ReadWord();
            _t1Latch = stateFile.ReadWord();
            _t1Count = stateFile.ReadBool();
            _t1OutPB = stateFile.ReadBool();
            _t1FreeRun = stateFile.ReadBool();
            _t2Counter = stateFile.ReadWord();
            _t2Latch = stateFile.ReadByte();
            _t2Count = stateFile.ReadBool();
            _t2InPB = stateFile.ReadBool();

            _functionControlRegister = stateFile.ReadByte();
            _auxiliaryControlRegister = stateFile.ReadByte();
            _interruptFlagRegister = stateFile.ReadByte();
            _interruptEnabledRegister = stateFile.ReadByte();
        }
예제 #7
0
        public void ReadDeviceState(C64Interfaces.IFile stateFile)
        {
            byte trackCount = stateFile.ReadByte();

            for (int i = 0; i < _tracks.Length; i++)
            {
                ushort sectoirCount = stateFile.ReadWord();
                stateFile.ReadBytes(_tracks[i]);
            }
        }
예제 #8
0
 public void ReadDeviceState(C64Interfaces.IFile stateFile)
 {
     _headTrackPos = stateFile.ReadByte();
     _headSectorPos = stateFile.ReadWord();
     _lastHeadDirection = stateFile.ReadByte();
     _spinning = stateFile.ReadBool();
     _density = stateFile.ReadByte();
     _cycleCount = stateFile.ReadByte();
     _lastData = stateFile.ReadByte();
 }