/// <summary> /// Logs an exception that stopped the virtual machine /// </summary> private static void MachineOnVmStoppedWithException(object sender, EventArgs eventArgs) { if (sender is SpectrumMachine machine) { var pane = OutputWindow.GetPane <SpectrumVmOutputPane>(); pane.WriteLine($"The ZX Spectrum virtual machine has stopped because of an exception\n{machine.ExecutionCycleException}"); } }
/// <summary> /// Result sent back by the controller /// </summary> /// <param name="result"></param> public void ResultSent(byte[] result) { var pane = OutputWindow.GetPane<SpectrumVmOutputPane>(); pane.Write("FDC result: "); foreach (var p in result) { pane.Write($"{p:X2} "); } pane.WriteLine(); }
/// <summary> /// Command parameters received by the controller /// </summary> /// <param name="pars"></param> public void CommandParamsReceived(byte[] pars) { var pane = OutputWindow.GetPane<SpectrumVmOutputPane>(); pane.Write("FDC pars: "); foreach (var p in pars) { pane.Write($"{p:X2} "); } pane.WriteLine(); }
/// <summary> /// Data sent back by the controller /// </summary> /// <param name="data"></param> public void DataSent(byte[] data) { var pane = OutputWindow.GetPane<SpectrumVmOutputPane>(); pane.WriteLine("FDC data sent back: "); var count = 1; foreach (var p in data) { pane.Write($"{p:X2} "); if (count % 16 == 0) { pane.WriteLine(); } count++; } pane.WriteLine(); }
/// <summary> /// A new command byte has been received /// </summary> /// <param name="cmd"></param> public void CommandReceived(byte cmd) { var pane = OutputWindow.GetPane <SpectrumVmOutputPane>(); pane.WriteLine($"FDC command: {cmd:X2}"); }
/// <summary> /// Allows to trace a floppy message /// </summary> /// <param name="message"></param> public void Trace(string message) { var pane = OutputWindow.GetPane <SpectrumVmOutputPane>(); pane.WriteLine($"Floppy event: {message}"); }
public void RegisterValueObtained(byte value) { var pane = OutputWindow.GetPane <SpectrumVmOutputPane>(); pane.WriteLine($"Next register value obtained: {value:X2}"); }
public void RegisterIndexSet(byte index) { var pane = OutputWindow.GetPane <SpectrumVmOutputPane>(); pane.WriteLine($"Next register index set: {index:X2}"); }
public void PortWritten(ushort addr, byte value, bool handled) { var pane = OutputWindow.GetPane <SpectrumVmOutputPane>(); pane.WriteLine($"Port {addr:X4} written. Value: {value:X2}. Handled: {handled}"); }
public void RegisterValueSet(byte value) { var pane = OutputWindow.GetPane <Z80BuildOutputPane>(); pane.WriteLine($"Next register value set: {value:X2}"); }
public void PortRead(ushort addr, byte value, bool handled) { var pane = OutputWindow.GetPane <Z80BuildOutputPane>(); pane.WriteLine($"Port {addr:X4} read. Value: {value:X2}. Handled: {handled}"); }