public void OnDisconnect() { _dcpu16 = default(IDcpu16); _buffer.Clear(); _pressedKeys.Clear(); _interruptMessage = default(ushort); _isAttached = default(bool); }
public void OnDisconnect() { _dcpu16 = default(IDcpu16); _screenMap = default(ushort); _fontMap = default(ushort); _paletteMap = default(ushort); _borderColorValue = default(ushort); _blinkOn = true; }
public void OnDisconnect() { _dcpu16 = default(IDcpu16); _isClockEnabled = default(bool); _period = default(float); _elapsedTicks = default(ushort); _interruptMessage = default(ushort); _timeUntilNextTick = default(float); }
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(); }
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; }
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; }
public void OnConnect(IDcpu16 dcpu16) { _dcpu16 = dcpu16; }
public void OnDisconnect() { _dcpu16 = null; }
public Dcpu16StateManager(IDcpu16 dcpu16) { _dcpu16 = dcpu16; }
private static void Connect(IDcpu16 dcpu16, IDevice device) { dcpu16.OnConnect(device); device.OnConnect(dcpu16); }
public static bool IsHalted(this IDcpu16 dcpu16) { return(dcpu16.Memory[dcpu16.PC] == 0x8382); // ADD PC, -1 }
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; }