コード例 #1
0
 public void OnDisconnect()
 {
     _dcpu16 = default(IDcpu16);
     _buffer.Clear();
     _pressedKeys.Clear();
     _interruptMessage = default(ushort);
     _isAttached       = default(bool);
 }
コード例 #2
0
 public void OnDisconnect()
 {
     _dcpu16           = default(IDcpu16);
     _screenMap        = default(ushort);
     _fontMap          = default(ushort);
     _paletteMap       = default(ushort);
     _borderColorValue = default(ushort);
     _blinkOn          = true;
 }
コード例 #3
0
ファイル: GenericClock.cs プロジェクト: MSylvia/Ketchup
 public void OnDisconnect()
 {
     _dcpu16            = default(IDcpu16);
     _isClockEnabled    = default(bool);
     _period            = default(float);
     _elapsedTicks      = default(ushort);
     _interruptMessage  = default(ushort);
     _timeUntilNextTick = default(float);
 }
コード例 #4
0
ファイル: GenericClock.cs プロジェクト: MSylvia/Ketchup
 public void OnDisconnect()
 {
     _dcpu16 = default(IDcpu16);
     _isClockEnabled = default(bool);
     _period = default(float);
     _elapsedTicks = default(ushort);
     _interruptMessage = default(ushort);
     _timeUntilNextTick = default(float);
 }
コード例 #5
0
 public void OnDisconnect()
 {
     _dcpu16            = default(IDcpu16);
     _lastDrawnVertices = new ushort[0];
     _state             = default(StateCode);
     _memoryMap         = default(ushort);
     _vertexCount       = default(ushort);
     _targetRotation    = default(ushort);
     _currentRotation   = default(float);
     ClearLines();
 }
コード例 #6
0
ファイル: Computer.cs プロジェクト: MSylvia/Ketchup
        private void TurnOn(bool useState)
        {
            _dcpu16             = new TomatoDcpu16Adapter(new DCPU());
            _dcpu16StateManager = new Dcpu16StateManager(_dcpu16);

            Firmware cpuFirmware = null;

            foreach (var device in vessel.Parts.SelectMany(i => i.Modules.OfType <IDevice>()))
            {
                var firmware = device as Firmware;
                if (firmware != null)
                {
                    if (firmware.part == part)
                    {
                        _devices.Add(firmware);
                        Connect(_dcpu16, firmware);

                        cpuFirmware = firmware;
                    }
                }
                else
                {
                    _devices.Add(device);
                    Connect(_dcpu16, device);
                }

                Debug.Log(String.Format("[Ketchup] Connected CPU to {0}", device.FriendlyName));
            }

            if (useState && !String.IsNullOrEmpty(_dcpu16State))
            {
                _dcpu16StateManager.Load(_dcpu16State);
            }
            else
            {
                if (cpuFirmware != null)
                {
                    cpuFirmware.OnInterrupt();
                }
            }

            _isPowerOn = true;
        }
コード例 #7
0
ファイル: Computer.cs プロジェクト: MSylvia/Ketchup
        private void TurnOff()
        {
            _isPowerOn = false;

            _isHalted = false;
            _pcAtHalt = 0;

            _dcpu16             = null;
            _dcpu16StateManager = null;

            foreach (var device in _devices)
            {
                device.OnDisconnect();
            }

            _devices.Clear();

            _clockRates.RemoveAll(i => true);
            _clockRateIndex = 0;
        }
コード例 #8
0
ファイル: Sped3.cs プロジェクト: MSylvia/Ketchup
 public void OnDisconnect()
 {
     _dcpu16 = default(IDcpu16);
     _lastDrawnVertices = new ushort[0];
     _state = default(StateCode);
     _memoryMap = default(ushort);
     _vertexCount = default(ushort);
     _targetRotation = default(ushort);
     _currentRotation = default(float);
     ClearLines();
 }
コード例 #9
0
ファイル: GenericClock.cs プロジェクト: MSylvia/Ketchup
 public void OnConnect(IDcpu16 dcpu16)
 {
     _dcpu16 = dcpu16;
 }
コード例 #10
0
ファイル: GenericKeyboard.cs プロジェクト: MSylvia/Ketchup
 public void OnDisconnect()
 {
     _dcpu16 = default(IDcpu16);
     _buffer.Clear();
     _pressedKeys.Clear();
     _interruptMessage = default(ushort);
     _isAttached = default(bool);
 }
コード例 #11
0
ファイル: M35fd.cs プロジェクト: MSylvia/Ketchup
 public void OnDisconnect()
 {
     _dcpu16 = null;
 }
コード例 #12
0
ファイル: Dcpu16StateManager.cs プロジェクト: MSylvia/Ketchup
 public Dcpu16StateManager(IDcpu16 dcpu16)
 {
     _dcpu16 = dcpu16;
 }
コード例 #13
0
 public void OnConnect(IDcpu16 dcpu16)
 {
     _dcpu16 = dcpu16;
 }
コード例 #14
0
ファイル: Computer.cs プロジェクト: MSylvia/Ketchup
 private static void Connect(IDcpu16 dcpu16, IDevice device)
 {
     dcpu16.OnConnect(device);
     device.OnConnect(dcpu16);
 }
コード例 #15
0
ファイル: Dcpu16StateManager.cs プロジェクト: MSylvia/Ketchup
 public Dcpu16StateManager(IDcpu16 dcpu16)
 {
     _dcpu16 = dcpu16;
 }
コード例 #16
0
 public static bool IsHalted(this IDcpu16 dcpu16)
 {
     return(dcpu16.Memory[dcpu16.PC] == 0x8382); // ADD PC, -1
 }
コード例 #17
0
ファイル: Firmware.cs プロジェクト: MSylvia/Ketchup
 public void OnDisconnect()
 {
     _dcpu16 = null;
 }
コード例 #18
0
ファイル: Computer.cs プロジェクト: MSylvia/Ketchup
 private static void Connect(IDcpu16 dcpu16, IDevice device)
 {
     dcpu16.OnConnect(device);
     device.OnConnect(dcpu16);
 }
コード例 #19
0
ファイル: Computer.cs プロジェクト: MSylvia/Ketchup
        private void TurnOff()
        {
            _isPowerOn = false;

            _isHalted = false;
            _pcAtHalt = 0;

            _dcpu16 = null;
            _dcpu16StateManager = null;

            foreach (var device in _devices)
            {
                device.OnDisconnect();
            }

            _devices.Clear();

            _clockRates.RemoveAll(i => true);
            _clockRateIndex = 0;
        }
コード例 #20
0
ファイル: Lem1802.cs プロジェクト: MSylvia/Ketchup
 public void OnDisconnect()
 {
     _dcpu16 = default(IDcpu16);
     _screenMap = default(ushort);
     _fontMap = default(ushort);
     _paletteMap = default(ushort);
     _borderColorValue = default(ushort);
     _blinkOn = true;
 }
コード例 #21
0
ファイル: Computer.cs プロジェクト: MSylvia/Ketchup
        private void TurnOn(bool useState)
        {
            _dcpu16 = new TomatoDcpu16Adapter(new DCPU());
            _dcpu16StateManager = new Dcpu16StateManager(_dcpu16);

            Firmware cpuFirmware = null;
            foreach (var device in vessel.Parts.SelectMany(i => i.Modules.OfType<IDevice>()))
            {
                var firmware = device as Firmware;
                if (firmware != null)
                {
                    if (firmware.part == part)
                    {
                        _devices.Add(firmware);
                        Connect(_dcpu16, firmware);

                        cpuFirmware = firmware;
                    }
                }
                else
                {
                    _devices.Add(device);
                    Connect(_dcpu16, device);
                }

                Debug.Log(String.Format("[Ketchup] Connected CPU to {0}", device.FriendlyName));
            }

            if (useState && !String.IsNullOrEmpty(_dcpu16State))
            {
                _dcpu16StateManager.Load(_dcpu16State);
            }
            else
            {
                if (cpuFirmware != null)
                {
                    cpuFirmware.OnInterrupt();
                }
            }

            _isPowerOn = true;
        }