コード例 #1
0
 /// <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}");
     }
 }
コード例 #2
0
 /// <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();
 }
コード例 #3
0
 /// <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();
 }
コード例 #4
0
 /// <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();
 }
コード例 #5
0
            /// <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}");
            }
コード例 #6
0
            /// <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}");
            }
コード例 #7
0
            public void RegisterValueObtained(byte value)
            {
                var pane = OutputWindow.GetPane <SpectrumVmOutputPane>();

                pane.WriteLine($"Next register value obtained: {value:X2}");
            }
コード例 #8
0
            public void RegisterIndexSet(byte index)
            {
                var pane = OutputWindow.GetPane <SpectrumVmOutputPane>();

                pane.WriteLine($"Next register index set: {index:X2}");
            }
コード例 #9
0
            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}");
            }
コード例 #10
0
            public void RegisterValueSet(byte value)
            {
                var pane = OutputWindow.GetPane <Z80BuildOutputPane>();

                pane.WriteLine($"Next register value set: {value:X2}");
            }
コード例 #11
0
            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}");
            }