public void Start(ushort overrideEntryPoint = 0x0, bool step = false, bool failOnInvalidOpcode = false) { this.Debugger.StepMode = step; this.Debugger.FailOnInvalidOpcode = failOnInvalidOpcode; this.Debugger.ConsoleView.Start(); if (Cart.Header.FileId == null) { throw new Exception("No cart loaded"); } if (overrideEntryPoint > 0) { Cpu.Debug_SetEntryPoint(overrideEntryPoint); } HardReset(); CpuThread = new Thread(new ThreadStart(Spin)); CpuThread.Name = "NES# CPU"; CpuThread.Start(); Gui.Spin(); }